constr_SEQUENCE.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*-
  2. * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
  3. * Redistribution and modifications are permitted subject to BSD license.
  4. */
  5. #ifndef _CONSTR_SEQUENCE_H_
  6. #define _CONSTR_SEQUENCE_H_
  7. #include <asn_application.h>
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. typedef struct asn_SEQUENCE_specifics_s {
  12. /*
  13. * Target structure description.
  14. */
  15. unsigned struct_size; /* Size of the target structure. */
  16. unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */
  17. /*
  18. * Tags to members mapping table (sorted).
  19. */
  20. const asn_TYPE_tag2member_t *tag2el;
  21. unsigned tag2el_count;
  22. /*
  23. * Optional members of the extensions root (roms) or additions (aoms).
  24. * Meaningful for PER.
  25. */
  26. const int *oms; /* Optional MemberS */
  27. unsigned roms_count; /* Root optional members count */
  28. unsigned aoms_count; /* Additions optional members count */
  29. /*
  30. * Description of an extensions group.
  31. * Root components are clustered at the beginning of the structure,
  32. * whereas extensions are clustered at the end. -1 means not extensible.
  33. */
  34. signed first_extension; /* First extension addition */
  35. } asn_SEQUENCE_specifics_t;
  36. /*
  37. * A set specialized functions dealing with the SEQUENCE type.
  38. */
  39. asn_struct_free_f SEQUENCE_free;
  40. asn_struct_print_f SEQUENCE_print;
  41. asn_struct_compare_f SEQUENCE_compare;
  42. asn_constr_check_f SEQUENCE_constraint;
  43. ber_type_decoder_f SEQUENCE_decode_ber;
  44. der_type_encoder_f SEQUENCE_encode_der;
  45. xer_type_decoder_f SEQUENCE_decode_xer;
  46. xer_type_encoder_f SEQUENCE_encode_xer;
  47. oer_type_decoder_f SEQUENCE_decode_oer;
  48. oer_type_encoder_f SEQUENCE_encode_oer;
  49. per_type_decoder_f SEQUENCE_decode_uper;
  50. per_type_encoder_f SEQUENCE_encode_uper;
  51. asn_random_fill_f SEQUENCE_random_fill;
  52. extern asn_TYPE_operation_t asn_OP_SEQUENCE;
  53. #ifdef __cplusplus
  54. }
  55. #endif
  56. #endif /* _CONSTR_SEQUENCE_H_ */