1 #ifndef _GPXE_ASN1_H
2 #define _GPXE_ASN1_H
3 
4 /** @file
5  *
6  * ASN.1 encoding
7  *
8  */
9 
10 FILE_LICENCE ( GPL2_OR_LATER );
11 
12 #define ASN1_INTEGER 0x02
13 #define ASN1_BIT_STRING 0x03
14 #define ASN1_OCTET_STRING 0x04
15 #define ASN1_NULL 0x05
16 #define ASN1_OID 0x06
17 #define ASN1_SEQUENCE 0x30
18 #define ASN1_IP_ADDRESS 0x40
19 #define ASN1_EXPLICIT_TAG 0xa0
20 
21 /**
22  * A DER-encoded ASN.1 object cursor
23  */
24 struct asn1_cursor {
25 	/** Start of data */
26 	void *data;
27 	/** Length of data */
28 	size_t len;
29 };
30 
31 extern int asn1_enter ( struct asn1_cursor *cursor, unsigned int type );
32 extern int asn1_skip ( struct asn1_cursor *cursor, unsigned int type );
33 
34 #endif /* _GPXE_ASN1_H */
35