blob: d6393416fa1aee643a2405d953ae9a4188ed4a78 [file] [log] [blame]
Lev Walkin52559a22004-09-24 20:58:37 +00001/*-
2 * Copyright (c) 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
3 * Redistribution and modifications are permitted subject to BSD license.
4 */
5/*
6 * Application-level ASN.1 API.
7 */
8#ifndef _ASN_APPLICATION_H_
9#define _ASN_APPLICATION_H_
10
Lev Walkindc06f6b2004-10-20 15:50:55 +000011#include <asn_system.h> /* for platform-dependent types */
12#include <asn_codecs.h> /* for ASN.1 codecs specifics */
Lev Walkin52559a22004-09-24 20:58:37 +000013
Lev Walkin21b41ac2005-07-24 09:03:44 +000014#ifdef __cplusplus
15extern "C" {
16#endif
17
Lev Walkin52559a22004-09-24 20:58:37 +000018/*
19 * Generic type of an application-defined callback to return various
20 * types of data to the application.
21 * EXPECTED RETURN VALUES:
22 * -1: Failed to consume bytes. Abort the mission.
23 * Non-negative return values indicate success, and ignored.
24 */
25typedef int (asn_app_consume_bytes_f)(const void *buffer, size_t size,
26 void *application_specific_key);
27
Lev Walkin5e033762004-09-29 13:26:15 +000028#include <constr_TYPE.h> /* for asn_TYPE_descriptor_t */
Lev Walkin52559a22004-09-24 20:58:37 +000029
Lev Walkin21b41ac2005-07-24 09:03:44 +000030#ifdef __cplusplus
31}
32#endif
33
Lev Walkin52559a22004-09-24 20:58:37 +000034#endif /* _ASN_APPLICATION_H_ */