From 95206577a7fe82317e669c022d809838fe6ae023 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sat, 21 Apr 2007 18:53:26 +0000 Subject: Trivial ASN.1 decoding functions. --- src/include/gpxe/asn1.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/include/gpxe/asn1.h (limited to 'src/include') diff --git a/src/include/gpxe/asn1.h b/src/include/gpxe/asn1.h new file mode 100644 index 000000000..1ad90050e --- /dev/null +++ b/src/include/gpxe/asn1.h @@ -0,0 +1,32 @@ +#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 */ -- cgit v1.2.3-55-g7522