48 lines
1.5 KiB
C
48 lines
1.5 KiB
C
|
/*-
|
||
|
* 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 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 */
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* Generic type of an application-defined callback to return various
|
||
|
* types of data to the application.
|
||
|
* EXPECTED RETURN VALUES:
|
||
|
* -1: Failed to consume bytes. Abort the mission.
|
||
|
* Non-negative return values indicate success, and ignored.
|
||
|
*/
|
||
|
typedef int (asn_app_consume_bytes_f)(const void *buffer, size_t size,
|
||
|
void *application_specific_key);
|
||
|
|
||
|
/*
|
||
|
* 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, ...) GCC_PRINTFLIKE(4, 5);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#include "constr_TYPE.h" /* for asn_TYPE_descriptor_t */
|
||
|
|
||
|
#endif /* _ASN_APPLICATION_H_ */
|