]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/snmp/asn1/constr_CHOICE.h
SNMP Agent plugin added
[stg.git] / projects / stargazer / plugins / other / snmp / asn1 / constr_CHOICE.h
diff --git a/projects/stargazer/plugins/other/snmp/asn1/constr_CHOICE.h b/projects/stargazer/plugins/other/snmp/asn1/constr_CHOICE.h
new file mode 100644 (file)
index 0000000..83404e6
--- /dev/null
@@ -0,0 +1,57 @@
+/*-
+ * Copyright (c) 2003, 2004, 2005 Lev Walkin <vlm@lionet.info>.
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef        _CONSTR_CHOICE_H_
+#define        _CONSTR_CHOICE_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct asn_CHOICE_specifics_s {
+       /*
+        * Target structure description.
+        */
+       int struct_size;        /* Size of the target structure. */
+       int ctx_offset;         /* Offset of the asn_codec_ctx_t member */
+       int pres_offset;        /* Identifier of the present member */
+       int pres_size;          /* Size of the identifier (enum) */
+
+       /*
+        * Tags to members mapping table.
+        */
+       asn_TYPE_tag2member_t *tag2el;
+       int tag2el_count;
+
+       /* Canonical ordering of CHOICE elements, for PER */
+       int *canonical_order;
+
+       /*
+        * Extensions-related stuff.
+        */
+       int ext_start;          /* First member of extensions, or -1 */
+} asn_CHOICE_specifics_t;
+
+/*
+ * A set specialized functions dealing with the CHOICE type.
+ */
+asn_struct_free_f CHOICE_free;
+asn_struct_print_f CHOICE_print;
+asn_constr_check_f CHOICE_constraint;
+ber_type_decoder_f CHOICE_decode_ber;
+der_type_encoder_f CHOICE_encode_der;
+xer_type_decoder_f CHOICE_decode_xer;
+xer_type_encoder_f CHOICE_encode_xer;
+per_type_decoder_f CHOICE_decode_uper;
+per_type_encoder_f CHOICE_encode_uper;
+asn_outmost_tag_f CHOICE_outmost_tag;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CONSTR_CHOICE_H_ */