Blame src/asn1c/asn_application.h

Packit 728676
/*-
Packit 728676
 * Copyright (c) 2004, 2006 Lev Walkin <vlm@lionet.info>. All rights reserved.
Packit 728676
 * Redistribution and modifications are permitted subject to BSD license.
Packit 728676
 */
Packit 728676
/*
Packit 728676
 * Application-level ASN.1 callbacks.
Packit 728676
 */
Packit 728676
#ifndef	_ASN_APPLICATION_H_
Packit 728676
#define	_ASN_APPLICATION_H_
Packit 728676
Packit 728676
#include "asn_system.h"		/* for platform-dependent types */
Packit 728676
#include "asn_codecs.h"		/* for ASN.1 codecs specifics */
Packit 728676
Packit 728676
#ifdef __cplusplus
Packit 728676
extern "C" {
Packit 728676
#endif
Packit 728676
Packit 728676
/*
Packit 728676
 * Generic type of an application-defined callback to return various
Packit 728676
 * types of data to the application.
Packit 728676
 * EXPECTED RETURN VALUES:
Packit 728676
 *  -1: Failed to consume bytes. Abort the mission.
Packit 728676
 * Non-negative return values indicate success, and ignored.
Packit 728676
 */
Packit 728676
typedef int (asn_app_consume_bytes_f)(const void *buffer, size_t size,
Packit 728676
	void *application_specific_key);
Packit 728676
Packit 728676
/*
Packit 728676
 * A callback of this type is called whenever constraint validation fails
Packit 728676
 * on some ASN.1 type. See "constraints.h" for more details on constraint
Packit 728676
 * validation.
Packit 728676
 * This callback specifies a descriptor of the ASN.1 type which failed
Packit 728676
 * the constraint check, as well as human readable message on what
Packit 728676
 * particular constraint has failed.
Packit 728676
 */
Packit 728676
typedef void (asn_app_constraint_failed_f)(void *application_specific_key,
Packit 728676
	struct asn_TYPE_descriptor_s *type_descriptor_which_failed,
Packit 728676
	const void *structure_which_failed_ptr,
Packit 728676
	const char *error_message_format, ...) GCC_PRINTFLIKE(4, 5);
Packit 728676
Packit 728676
#ifdef __cplusplus
Packit 728676
}
Packit 728676
#endif
Packit 728676
Packit 728676
#include "constr_TYPE.h"	/* for asn_TYPE_descriptor_t */
Packit 728676
Packit 728676
#endif	/* _ASN_APPLICATION_H_ */