aboutsummaryrefslogtreecommitdiffstats
path: root/skeletons/asn_application.h
diff options
context:
space:
mode:
Diffstat (limited to 'skeletons/asn_application.h')
-rw-r--r--skeletons/asn_application.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/skeletons/asn_application.h b/skeletons/asn_application.h
index d6393416..3f2a4504 100644
--- a/skeletons/asn_application.h
+++ b/skeletons/asn_application.h
@@ -1,15 +1,15 @@
/*-
- * Copyright (c) 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Copyright (c) 2004, 2006 Lev Walkin <vlm@lionet.info>. All rights reserved.
* Redistribution and modifications are permitted subject to BSD license.
*/
/*
- * Application-level ASN.1 API.
+ * Application-level ASN.1 callbacks.
*/
#ifndef _ASN_APPLICATION_H_
#define _ASN_APPLICATION_H_
-#include <asn_system.h> /* for platform-dependent types */
-#include <asn_codecs.h> /* for ASN.1 codecs specifics */
+#include "asn_system.h" /* for platform-dependent types */
+#include "asn_codecs.h" /* for ASN.1 codecs specifics */
#ifdef __cplusplus
extern "C" {
@@ -25,10 +25,24 @@ extern "C" {
typedef int (asn_app_consume_bytes_f)(const void *buffer, size_t size,
void *application_specific_key);
-#include <constr_TYPE.h> /* for asn_TYPE_descriptor_t */
+/*
+ * A callback of this type is called whenever constraint validation fails
+ * on some ASN.1 type. See "constraints.h" for more details on constraint
+ * validation.
+ * This callback specifies a descriptor of the ASN.1 type which failed
+ * the constraint check, as well as human readable message on what
+ * particular constraint has failed.
+ */
+typedef void (asn_app_constraint_failed_f)(void *application_specific_key,
+ struct asn_TYPE_descriptor_s *type_descriptor_which_failed,
+ const void *structure_which_failed_ptr,
+ const char *error_message_format, ...)
+ __attribute__((format(printf, 4, 5)));
#ifdef __cplusplus
}
#endif
+#include "constr_TYPE.h" /* for asn_TYPE_descriptor_t */
+
#endif /* _ASN_APPLICATION_H_ */