aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1fix/asn1fix_value.h
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2004-06-03 03:38:44 +0000
committerLev Walkin <vlm@lionet.info>2004-06-03 03:38:44 +0000
commitf15320bf6b50a0c02636405561ac8323ae901abd (patch)
tree33461d45122896c6dde35f82f5c7d19b62004a6b /libasn1fix/asn1fix_value.h
parent746cb60bbccf47019563665f4aec4b6c462c4163 (diff)
Initial revision
Diffstat (limited to 'libasn1fix/asn1fix_value.h')
-rw-r--r--libasn1fix/asn1fix_value.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/libasn1fix/asn1fix_value.h b/libasn1fix/asn1fix_value.h
new file mode 100644
index 00000000..7234035e
--- /dev/null
+++ b/libasn1fix/asn1fix_value.h
@@ -0,0 +1,28 @@
+/*
+ * Functions related with processing values.
+ */
+#ifndef _ASN1FIX_VALUE_H_
+#define _ASN1FIX_VALUE_H_
+
+/*
+ * 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.
+ */
+int asn1f_value_resolve(arg_t *arg, asn1p_expr_t *tc);
+
+/*
+ * 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);
+
+#endif /* _ASN1FIX_VALUE_H_ */