TOC PREV NEXT INDEX


OBJECT IDENTIFIER



The ASN.1 OBJECT IDENTIFIER type is converted into a C or C++ structured type to hold the subidentifier values that make up the object identifier.

	ASN.1 production:   <name> ::= OBJECT IDENTIFIER
 

 
	Generated C code:    typedef ASN1OBJID <name>;
 

 
	Generated C++ code:  typedef ASN1TObjId ASN1T_<name>;
 

In this case, different base types are used for C and C++. The difference between the two is the C++ version includes constructors and assignment operators that make setting the value a bit easier.

The ASN1OBJID type (i.e., the type used in the C mapping) is defined in asn1type.h to be the following:

typedef struct {
 
   OSUINT32 numids;		  	/* number of subidentifiers */
 
   OSUINT32 subid[ASN_K_MAXSUBIDS];	/* subidentifier values */
 
} ASN1OBJID;
 

The constant ASN_K_MAXSUBIDS specifies the maximum number of sub-identifiers that can be assigned to a value of the type. This constant is set to 128 as per the ASN.1 standard.

The ASN1TObjId type used in the C++ mapping is defined in ASN1TObjId.h. This class extends the C ASN1OBJID structure and adds many additional constructors and helper methods. See the ASN1C C/C++ Common Run-time Reference Manual for more details.


Objective Systems, Inc.

102 Pickering Way, Suite #506
Exton, Pennsylvania 19341
http://www.obj-sys.com
Phone: (484) 875-9841
Toll-free: (877) 307-6855 (US only)
Fax: (484) 875-9830
info@obj-sys.com
TOC PREV NEXT INDEX