blob: 0c65be092aa493556609100ad2ff968f8b2ea260 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001/*
2 * Imports and exports structure.
3 */
4#ifndef ASN1_PARSE_XPORTS_H
5#define ASN1_PARSE_XPORTS_H
6
7
8typedef struct asn1p_xports_s {
9 /*
10 * Type of the xports structure.
11 */
12 enum asn1p_xports {
13 XPT_IMPORTS,
14 XPT_EXPORTS,
15 } xports_type;
16
17 /*
18 * Module name and optional OID, occur after FROM.
19 */
Lev Walkinb36317c2005-08-12 10:09:10 +000020 char *fromModuleName; /* Name of the module */
21 struct AssignedIdentifier {
22 asn1p_oid_t *oid; /* Optional OID of the module */
23 asn1p_value_t *value; /* DefinedValue */
24 } identifier;
Lev Walkinf15320b2004-06-03 03:38:44 +000025
26 /*
27 * Number of entities to import.
28 */
Lev Walkin1a49ced2017-11-06 00:07:00 -080029 TQ_HEAD(struct asn1p_expr_s) xp_members;
Lev Walkinf15320b2004-06-03 03:38:44 +000030
31 /*
32 * Pointer to the next xports structure in whatever list.
33 */
34 TQ_ENTRY(struct asn1p_xports_s) xp_next;
35} asn1p_xports_t;
36
37/*
38 * Constructor and destructor.
39 */
40asn1p_xports_t *asn1p_xports_new(void);
41void asn1p_xports_free(asn1p_xports_t *);
42
43#endif /* ASN1_PARSE_XPORTS_H */