Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Imports and exports structure. |
| 3 | */ |
| 4 | #ifndef ASN1_PARSE_XPORTS_H |
| 5 | #define ASN1_PARSE_XPORTS_H |
| 6 | |
| 7 | |
| 8 | typedef 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 Walkin | b36317c | 2005-08-12 10:09:10 +0000 | [diff] [blame] | 20 | 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 Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 25 | |
| 26 | /* |
| 27 | * Number of entities to import. |
| 28 | */ |
| 29 | TQ_HEAD(struct asn1p_expr_s) members; |
| 30 | |
| 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 | */ |
| 40 | asn1p_xports_t *asn1p_xports_new(void); |
| 41 | void asn1p_xports_free(asn1p_xports_t *); |
| 42 | |
| 43 | #endif /* ASN1_PARSE_XPORTS_H */ |