38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
-
+
-
+
-
+
-
+
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
|
} of_asn1_tag_class_t;
/*!
* @brief ASN.1 tag number.
*/
typedef enum {
/*! Boolean */
OF_ASN1_TAG_NUMBER_BOOLEAN = 0x01,
OF_ASN1_TAG_NUMBER_BOOLEAN = 0x01,
/*! Integer */
OF_ASN1_TAG_NUMBER_INTEGER = 0x02,
OF_ASN1_TAG_NUMBER_INTEGER = 0x02,
/*! Bit string */
OF_ASN1_TAG_NUMBER_BIT_STRING = 0x03,
OF_ASN1_TAG_NUMBER_BIT_STRING = 0x03,
/*! Octet string */
OF_ASN1_TAG_NUMBER_OCTET_STRING = 0x04,
OF_ASN1_TAG_NUMBER_OCTET_STRING = 0x04,
/*! Null */
OF_ASN1_TAG_NUMBER_NULL = 0x05,
OF_ASN1_TAG_NUMBER_NULL = 0x05,
/*! Object Identifier */
OF_ASN1_TAG_NUMBER_OBJECT_IDENTIFIER = 0x06,
/*! Enumerated */
OF_ASN1_TAG_NUMBER_ENUMERATED = 0x0A,
OF_ASN1_TAG_NUMBER_ENUMERATED = 0x0A,
/*! UTF-8 string */
OF_ASN1_TAG_NUMBER_UTF8_STRING = 0x0C,
OF_ASN1_TAG_NUMBER_UTF8_STRING = 0x0C,
/*! Sequence */
OF_ASN1_TAG_NUMBER_SEQUENCE = 0x10,
OF_ASN1_TAG_NUMBER_SEQUENCE = 0x10,
/*! Set */
OF_ASN1_TAG_NUMBER_SET = 0x11,
OF_ASN1_TAG_NUMBER_SET = 0x11,
/*! NumericString */
OF_ASN1_TAG_NUMBER_NUMERIC_STRING = 0x12,
OF_ASN1_TAG_NUMBER_NUMERIC_STRING = 0x12,
/*! PrintableString */
OF_ASN1_TAG_NUMBER_PRINTABLE_STRING = 0x13,
OF_ASN1_TAG_NUMBER_PRINTABLE_STRING = 0x13,
/*! IA5String */
OF_ASN1_TAG_NUMBER_IA5_STRING = 0x16
OF_ASN1_TAG_NUMBER_IA5_STRING = 0x16
} of_asn1_tag_number_t;
/*!
* @brief A class representing an ASN.1 value.
*/
@interface OFASN1Value: OFObject <OFCopying>
{
|