diff options
Diffstat (limited to 'skeletons/asn_application.h')
-rw-r--r-- | skeletons/asn_application.h | 24 |
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_ */ |