From f15320bf6b50a0c02636405561ac8323ae901abd Mon Sep 17 00:00:00 2001 From: Lev Walkin Date: Thu, 3 Jun 2004 03:38:44 +0000 Subject: Initial revision --- skeletons/constr_SEQUENCE.h | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 skeletons/constr_SEQUENCE.h (limited to 'skeletons/constr_SEQUENCE.h') diff --git a/skeletons/constr_SEQUENCE.h b/skeletons/constr_SEQUENCE.h new file mode 100644 index 00000000..c15729ca --- /dev/null +++ b/skeletons/constr_SEQUENCE.h @@ -0,0 +1,53 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _CONSTR_SEQUENCE_H_ +#define _CONSTR_SEQUENCE_H_ + +#include + +/* + * A single element of the SEQUENCE type. + */ +typedef struct asn1_SEQUENCE_element_s { + int memb_offset; /* Offset of the element */ + int optional; /* Whether the element is optional */ + ber_tlv_tag_t tag; /* Outmost (most immediate) tag */ + int tag_mode; /* IMPLICIT/no/EXPLICIT tag at current level */ + asn1_TYPE_descriptor_t + *type; /* Member type descriptor */ + char *name; /* ASN.1 identifier of the element */ +} asn1_SEQUENCE_element_t; + +typedef struct asn1_SEQUENCE_specifics_s { + /* + * Target structure description. + */ + int struct_size; /* Size of the target structure. */ + int ctx_offset; /* Offset of the ber_dec_ctx_t member */ + + /* + * Members of the SEQUENCE structure. + */ + asn1_SEQUENCE_element_t *elements; + int elements_count; + + /* + * Description of an extensions group. + */ + int ext_after; /* Extensions start after this member */ + int ext_before; /* Extensions stop before this member */ +} asn1_SEQUENCE_specifics_t; + + +/* + * A set specialized functions dealing with the SEQUENCE type. + */ +asn_constr_check_f SEQUENCE_constraint; +ber_type_decoder_f SEQUENCE_decode_ber; +der_type_encoder_f SEQUENCE_encode_der; +asn_struct_print_f SEQUENCE_print; +asn_struct_free_f SEQUENCE_free; + +#endif /* _CONSTR_SEQUENCE_H_ */ -- cgit v1.2.3