The following table describes status messages that may arise during the course of encoding or decoding an ASN.1 message. The errors below indicate that while the system was able to read the data successfully, it was unable to decode it properly.
Error Code | Error Name | Description |
---|---|---|
2 | ASN_OK_FRAG | Fragment decode success status. This is returned when decoding is successful but only a fragment of the item was decoded. User should repeat the decode operation in order to fully decode message. |
-100 | ASN_E_BASE | Error base. ASN.1 specific errors start at this base number to distinguish them from common and other error types. |
-100 | ASN_E_INVOBJID | Invalid object identifier. This error code is returned when an object identifier is encountered that is not valid. Possible reasons for being invalid include invalid first and second arc identifiers (first must be 0, 1, or 2; second must be less than 40), not enough subidentifier values (must be 2 or more), or too many arc values (maximum number is 128). |
-101 | ASN_E_INVLEN | Invalid length. This error code is returned when a length value is parsed that is not consistent with other lengths in a BER or DER message. This typically happens when an inner length within a constructed type is larger than the outer length value. |
-102 | ASN_E_BADTAG | Bad tag value. This error code is returned when a tag value is parsed with an identifier code that is too large to fit in a 32-bit integer variable. |
-103 | ASN_E_INVBINS | Invalid binary string. This error code is returned when decoding XER data and a bit string value is received that contains something other than '1' or '0' characters. |
-104 | ASN_E_INVINDEX | Invalid table constraint index. This error code is returned when a value is provided to index into a table and the value does not match any of the defined indexes. |
-105 | ASN_E_INVTCVAL | Invalid table constraint value. This error code is returned when a the value for an element in a table-constrained message instance does not match the value for the element defined in the table. |
-106 | ASN_E_CONCMODF | Concurrent list modification error. This error is returned from within a list iterator when it is detected that the list was modified outside the control of the iterator. |
-107 | ASN_E_ILLSTATE | Illegal state for operation. This error is returned in places where an operation is attempted but the object is not in a state that would allow the operation to be completed. One example is in a list iterator class when an attempt is made to remove a node but the node does not exist. |
-108 | ASN_E_NOTPDU | This error is returned when a control class Encode or Decode method is called on a non-PDU. Only PDUs have implementations of these methods. |
-109 | ASN_E_UNDEFTYP | Element type could not be resolved at run-time. This error is returned when the run-time parser module is used (Asn1RTProd) to decode a type at run-time and the type of the element could not be resolved. |
-110 | ASN_E_INVPERENC | Invalid PER encoding. This occurs when a given element within an ASN.1 specification is configured to have an expected PER encoding and the decoded value does not match this encoding. |
-111 | ASN_E_NOTINSEQ | Element not in sequence. This occurs when an element is parsed within a SEQUENCE but is found to not match any of the elements defined for that SEQUENCE. |
-112 | ASN_E_BAD_ALIGN | Encoding has bad alignment. This occurs when an encoding is expected to align with a byte boundary and does not. It may happen with reference to the start of the message or with reference to the start of a length-constrained container. Typically this means some bit string element has too few bits, where the encoding of that element is supposed to end the encoding (which means padding cannot be used to acheive the desired alignment). |
-113 | ASN_E_UNKNOWNPDU | Unknown PDU type. This error occurs in interpreted BER decoders when the PDU type for the message can't be automatically determined. The user in this case must manually specify the PDU type by some external means. For example, if the application has a command-line interface, it may have a '-pdu' option for specifying the PDU type. |