blob: 067894a96982fafdaaae2c0cf38559fad8a04066 [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001/*
2 * Functions related with processing values.
3 */
4#ifndef _ASN1FIX_VALUE_H_
5#define _ASN1FIX_VALUE_H_
6
7/*
8 * Resolve the value given by reference.
9 * This function also takes a parameter which specifies the desired
10 * value's type.
11 *
12 * RETURN VALUES:
13 * 0: Value resolved successfully.
14 * -1/EPERM: Recursive looping detected.
15 * -1/EEXIST: Reference is not compatible with the desired type.
16 * -1/ESRCH: Cannot find the terminal reference.
17 */
vlm8fba2572005-03-10 11:27:13 +000018int asn1f_value_resolve(arg_t *arg, asn1p_expr_t *tc,
19 const enum asn1p_constraint_type_e *opt_constr_type);
vlmfa67ddc2004-06-03 03:38:44 +000020
21/*
22 * Check if a value in value_expr refers to the enumeration or integer element
23 * within the type provided. If yes, it will replace referenced value with
24 * the appropriate inline value.
25 */
26int asn1f_look_value_in_type(arg_t *arg,
27 asn1p_expr_t *type_expr, asn1p_expr_t *value_expr);
28
29#endif /* _ASN1FIX_VALUE_H_ */