Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 1 | /* |
| 2 | * This header exports fixer procedures that are common enough to be used |
| 3 | * in other modules. |
| 4 | */ |
Lev Walkin | c6cac8e | 2016-03-14 02:57:07 -0700 | [diff] [blame] | 5 | #ifndef ASN1FIX_EXPORT_H |
| 6 | #define ASN1FIX_EXPORT_H |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 7 | |
Lev Walkin | 4efbfb7 | 2005-02-25 14:20:30 +0000 | [diff] [blame] | 8 | #include "asn1fix_tags.h" |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 9 | |
Lev Walkin | c0e03b9 | 2017-08-22 01:48:23 -0700 | [diff] [blame] | 10 | struct asn1_namespace_s; /* Forward declaration. */ |
| 11 | |
| 12 | void asn1f_use_standard_namespaces(asn1p_t *asn); |
| 13 | |
| 14 | /* |
| 15 | * Lookup the module by its oid. oid is mandatory. |
| 16 | */ |
| 17 | asn1p_module_t *asn1f_lookup_module_ex(asn1p_t *asn, const char *module_name, |
| 18 | const asn1p_oid_t *oid); |
| 19 | |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 20 | /* |
Lev Walkin | b45e067 | 2004-08-18 05:42:05 +0000 | [diff] [blame] | 21 | * Create a human-readable representation of a reference and value. |
| 22 | */ |
Lev Walkin | ea6635b | 2017-08-06 23:23:04 -0700 | [diff] [blame] | 23 | char const *asn1f_printable_reference(const asn1p_ref_t *ref); |
Lev Walkin | b45e067 | 2004-08-18 05:42:05 +0000 | [diff] [blame] | 24 | char const *asn1f_printable_value(asn1p_value_t *value); |
| 25 | |
| 26 | /* |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 27 | * Exportable version of an asn1f_lookup_symbol(). |
| 28 | */ |
| 29 | asn1p_expr_t *asn1f_lookup_symbol_ex( |
| 30 | asn1p_t *asn, |
Lev Walkin | c0e03b9 | 2017-08-22 01:48:23 -0700 | [diff] [blame] | 31 | struct asn1_namespace_s *ns, |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 32 | asn1p_expr_t *expr, |
Lev Walkin | ea6635b | 2017-08-06 23:23:04 -0700 | [diff] [blame] | 33 | const asn1p_ref_t *ref); |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 34 | |
| 35 | /* |
| 36 | * Exportable version of an asn1f_class_access(). |
| 37 | */ |
| 38 | asn1p_expr_t *asn1f_class_access_ex(asn1p_t *asn, asn1p_module_t *mod, |
Lev Walkin | c0e03b9 | 2017-08-22 01:48:23 -0700 | [diff] [blame] | 39 | struct asn1_namespace_s *ns, |
| 40 | asn1p_expr_t *expr, |
| 41 | asn1p_expr_t *rhs_rspecs, |
| 42 | const asn1p_ref_t *); |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 43 | |
| 44 | /* |
| 45 | * Exportable version of asn1f_find_terminal_type(). |
| 46 | */ |
Lev Walkin | c0e03b9 | 2017-08-22 01:48:23 -0700 | [diff] [blame] | 47 | asn1p_expr_t *asn1f_find_terminal_type_ex(asn1p_t *asn, |
| 48 | struct asn1_namespace_s *ns, |
| 49 | asn1p_expr_t *tc); |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 50 | |
Lev Walkin | b45e067 | 2004-08-18 05:42:05 +0000 | [diff] [blame] | 51 | /* |
| 52 | * Exportable version of asn1f_fix_dereference_values(); |
| 53 | */ |
| 54 | int asn1f_fix_dereference_values_ex(asn1p_t *asn, asn1p_module_t *mod, |
| 55 | asn1p_expr_t *expr); |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 56 | |
Bi-Ruei, Chiu | 1fa31c9 | 2016-05-16 13:50:09 +0800 | [diff] [blame] | 57 | /* |
| 58 | * Exportable version of asn1f_find_ancestor_type_with_PER_constraint(). |
| 59 | */ |
| 60 | asn1p_expr_t *asn1f_find_ancestor_type_with_PER_constraint_ex(asn1p_t *asn, |
| 61 | asn1p_expr_t *expr); |
| 62 | |
Lev Walkin | c6cac8e | 2016-03-14 02:57:07 -0700 | [diff] [blame] | 63 | #endif /* ASN1FIX_EXPORT_H */ |