2004-06-03 03:38:44 +00:00
|
|
|
/*
|
|
|
|
* Functions related with processing values.
|
|
|
|
*/
|
2016-03-14 09:57:07 +00:00
|
|
|
#ifndef ASN1FIX_VALUE_H
|
|
|
|
#define ASN1FIX_VALUE_H
|
2004-06-03 03:38:44 +00:00
|
|
|
|
2017-08-22 08:48:23 +00:00
|
|
|
struct asn1p_namespace_s; /* Forward declaration */
|
|
|
|
|
2004-06-03 03:38:44 +00:00
|
|
|
/*
|
|
|
|
* Resolve the value given by reference.
|
|
|
|
* This function also takes a parameter which specifies the desired
|
|
|
|
* value's type.
|
|
|
|
*
|
|
|
|
* RETURN VALUES:
|
|
|
|
* 0: Value resolved successfully.
|
|
|
|
* -1/EPERM: Recursive looping detected.
|
|
|
|
* -1/EEXIST: Reference is not compatible with the desired type.
|
|
|
|
* -1/ESRCH: Cannot find the terminal reference.
|
|
|
|
*/
|
2005-03-10 11:27:13 +00:00
|
|
|
int asn1f_value_resolve(arg_t *arg, asn1p_expr_t *tc,
|
2017-08-22 08:48:23 +00:00
|
|
|
const enum asn1p_constraint_type_e *opt_constr_type);
|
2004-06-03 03:38:44 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Check if a value in value_expr refers to the enumeration or integer element
|
|
|
|
* within the type provided. If yes, it will replace referenced value with
|
|
|
|
* the appropriate inline value.
|
|
|
|
*/
|
|
|
|
int asn1f_look_value_in_type(arg_t *arg,
|
|
|
|
asn1p_expr_t *type_expr, asn1p_expr_t *value_expr);
|
|
|
|
|
2016-03-14 09:57:07 +00:00
|
|
|
#endif /* ASN1FIX_VALUE_H */
|