From abd7c2e0ce5bd17997fb4c05eb2c7453060c0a3a Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 9 Jun 2015 13:30:57 -0400 Subject: Use a compiler to marshall/unmarshall the sessions This way changes are easier, all is needed is to change the session.asn1 file to add or remove elements, and different session types can also be supported at the same time. --- src/asn1c/GSSSessionData.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/asn1c/GSSSessionData.c (limited to 'src/asn1c/GSSSessionData.c') diff --git a/src/asn1c/GSSSessionData.c b/src/asn1c/GSSSessionData.c new file mode 100644 index 0000000..5c8ec17 --- /dev/null +++ b/src/asn1c/GSSSessionData.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.27 (http://lionet.info/asn1c) + * From ASN.1 module "GssapiSessionModule" + * found in "session.asn1" + * `asn1c -fskeletons-copy` + */ + +#include "GSSSessionData.h" + +static asn_TYPE_member_t asn_MBR_GSSSessionData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GSSSessionData, expiration), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Uint32, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "expiration" + }, + { ATF_NOFLAGS, 0, offsetof(struct GSSSessionData, username), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "username" + }, + { ATF_NOFLAGS, 0, offsetof(struct GSSSessionData, gssname), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "gssname" + }, +}; +static ber_tlv_tag_t asn_DEF_GSSSessionData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_TYPE_tag2member_t asn_MAP_GSSSessionData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* expiration */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* username */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gssname */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_GSSSessionData_specs_1 = { + sizeof(struct GSSSessionData), + offsetof(struct GSSSessionData, _asn_ctx), + asn_MAP_GSSSessionData_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_GSSSessionData = { + "GSSSessionData", + "GSSSessionData", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + 0, /* Use generic outmost tag fetcher */ + asn_DEF_GSSSessionData_tags_1, + sizeof(asn_DEF_GSSSessionData_tags_1) + /sizeof(asn_DEF_GSSSessionData_tags_1[0]), /* 1 */ + asn_DEF_GSSSessionData_tags_1, /* Same as above */ + sizeof(asn_DEF_GSSSessionData_tags_1) + /sizeof(asn_DEF_GSSSessionData_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_GSSSessionData_1, + 3, /* Elements count */ + &asn_SPC_GSSSessionData_specs_1 /* Additional specs */ +}; + -- cgit