33 lines
631 B
C
33 lines
631 B
C
#ifndef _GPXE_ASN1_H
|
|
#define _GPXE_ASN1_H
|
|
|
|
/** @file
|
|
*
|
|
* ASN.1 encoding
|
|
*
|
|
*/
|
|
|
|
#define ASN1_INTEGER 0x02
|
|
#define ASN1_BIT_STRING 0x03
|
|
#define ASN1_OCTET_STRING 0x04
|
|
#define ASN1_NULL 0x05
|
|
#define ASN1_OID 0x06
|
|
#define ASN1_SEQUENCE 0x30
|
|
#define ASN1_IP_ADDRESS 0x40
|
|
#define ASN1_EXPLICIT_TAG 0xa0
|
|
|
|
/**
|
|
* A DER-encoded ASN.1 object cursor
|
|
*/
|
|
struct asn1_cursor {
|
|
/** Start of data */
|
|
uint8_t *data;
|
|
/** Length of data */
|
|
size_t len;
|
|
};
|
|
|
|
extern int asn1_enter_object ( struct asn1_cursor *cursor, unsigned int type );
|
|
extern int asn1_skip_object ( struct asn1_cursor *cursor, unsigned int type );
|
|
|
|
#endif /* _GPXE_ASN1_H */
|