mirror of https://github.com/sipwise/libtcap.git
commit
6ef1885716
@ -0,0 +1,11 @@
|
||||
# stub
|
||||
|
||||
|
||||
.PHONY: all regenerate-asn1
|
||||
|
||||
all:
|
||||
exit 1
|
||||
|
||||
regenerate-asn1:
|
||||
rm -f asn1-compiled/*
|
||||
(cd asn1-compiled && asn1c -fskeletons-copy ../asn1/tcap.asn)
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AALParameters.h"
|
||||
|
||||
int
|
||||
AALParameters_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
AALParameters_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
AALParameters_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
AALParameters_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
AALParameters_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AALParameters_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AALParameters_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
AALParameters_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AALParameters_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AALParameters_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AALParameters_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
AALParameters_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AALParameters_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AALParameters_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_AALParameters_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AALParameters = {
|
||||
"AALParameters",
|
||||
"AALParameters",
|
||||
AALParameters_free,
|
||||
AALParameters_print,
|
||||
AALParameters_constraint,
|
||||
AALParameters_decode_ber,
|
||||
AALParameters_encode_der,
|
||||
AALParameters_decode_xer,
|
||||
AALParameters_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AALParameters_tags_1,
|
||||
sizeof(asn_DEF_AALParameters_tags_1)
|
||||
/sizeof(asn_DEF_AALParameters_tags_1[0]), /* 1 */
|
||||
asn_DEF_AALParameters_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AALParameters_tags_1)
|
||||
/sizeof(asn_DEF_AALParameters_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AALParameters_H_
|
||||
#define _AALParameters_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AALParameters */
|
||||
typedef OCTET_STRING_t AALParameters_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AALParameters;
|
||||
asn_struct_free_f AALParameters_free;
|
||||
asn_struct_print_f AALParameters_print;
|
||||
asn_constr_check_f AALParameters_constraint;
|
||||
ber_type_decoder_f AALParameters_decode_ber;
|
||||
der_type_encoder_f AALParameters_encode_der;
|
||||
xer_type_decoder_f AALParameters_decode_xer;
|
||||
xer_type_encoder_f AALParameters_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AALParameters_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AARE-apdu.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_AARE_apdu_1[] = {
|
||||
{ ATF_POINTER, 1, offsetof(struct AARE_apdu, protocol_versionRE),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_BIT_STRING,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"protocol-versionRE"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AARE_apdu, application_context_name),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OBJECT_IDENTIFIER,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"application-context-name"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AARE_apdu, result),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_Associate_result,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"result"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AARE_apdu, result_source_diagnostic),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_Associate_source_diagnostic,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"result-source-diagnostic"
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_AARE_apdu_tags_1[] = {
|
||||
(ASN_TAG_CLASS_APPLICATION | (1 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_AARE_apdu_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocol-versionRE at 29 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* application-context-name at 30 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* result at 31 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* result-source-diagnostic at 33 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_AARE_apdu_specs_1 = {
|
||||
sizeof(struct AARE_apdu),
|
||||
offsetof(struct AARE_apdu, _asn_ctx),
|
||||
asn_MAP_AARE_apdu_tag2el_1,
|
||||
4, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* Start extensions */
|
||||
-1 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AARE_apdu = {
|
||||
"AARE-apdu",
|
||||
"AARE-apdu",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AARE_apdu_tags_1,
|
||||
sizeof(asn_DEF_AARE_apdu_tags_1)
|
||||
/sizeof(asn_DEF_AARE_apdu_tags_1[0]) - 1, /* 1 */
|
||||
asn_DEF_AARE_apdu_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AARE_apdu_tags_1)
|
||||
/sizeof(asn_DEF_AARE_apdu_tags_1[0]), /* 2 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_AARE_apdu_1,
|
||||
4, /* Elements count */
|
||||
&asn_SPC_AARE_apdu_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AARE_apdu_H_
|
||||
#define _AARE_apdu_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <BIT_STRING.h>
|
||||
#include <OBJECT_IDENTIFIER.h>
|
||||
#include "Associate-result.h"
|
||||
#include "Associate-source-diagnostic.h"
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum protocol_versionRE {
|
||||
protocol_versionRE_version1 = 0
|
||||
} e_protocol_versionRE;
|
||||
|
||||
/* AARE-apdu */
|
||||
typedef struct AARE_apdu {
|
||||
BIT_STRING_t *protocol_versionRE /* DEFAULT {version1} */;
|
||||
OBJECT_IDENTIFIER_t application_context_name;
|
||||
Associate_result_t result;
|
||||
Associate_source_diagnostic_t result_source_diagnostic;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AARE_apdu_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AARE_apdu;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AARE_apdu_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,69 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AARQ-apdu.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_AARQ_apdu_1[] = {
|
||||
{ ATF_POINTER, 1, offsetof(struct AARQ_apdu, protocol_versionRQ),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_BIT_STRING,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"protocol-versionRQ"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AARQ_apdu, application_context_name),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OBJECT_IDENTIFIER,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"application-context-name"
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_AARQ_apdu_tags_1[] = {
|
||||
(ASN_TAG_CLASS_APPLICATION | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_AARQ_apdu_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocol-versionRQ at 23 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* application-context-name at 24 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_AARQ_apdu_specs_1 = {
|
||||
sizeof(struct AARQ_apdu),
|
||||
offsetof(struct AARQ_apdu, _asn_ctx),
|
||||
asn_MAP_AARQ_apdu_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* Start extensions */
|
||||
-1 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AARQ_apdu = {
|
||||
"AARQ-apdu",
|
||||
"AARQ-apdu",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AARQ_apdu_tags_1,
|
||||
sizeof(asn_DEF_AARQ_apdu_tags_1)
|
||||
/sizeof(asn_DEF_AARQ_apdu_tags_1[0]) - 1, /* 1 */
|
||||
asn_DEF_AARQ_apdu_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AARQ_apdu_tags_1)
|
||||
/sizeof(asn_DEF_AARQ_apdu_tags_1[0]), /* 2 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_AARQ_apdu_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_AARQ_apdu_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AARQ_apdu_H_
|
||||
#define _AARQ_apdu_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <BIT_STRING.h>
|
||||
#include <OBJECT_IDENTIFIER.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum protocol_versionRQ {
|
||||
protocol_versionRQ_version1 = 0
|
||||
} e_protocol_versionRQ;
|
||||
|
||||
/* AARQ-apdu */
|
||||
typedef struct AARQ_apdu {
|
||||
BIT_STRING_t *protocol_versionRQ /* DEFAULT {version1} */;
|
||||
OBJECT_IDENTIFIER_t application_context_name;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AARQ_apdu_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AARQ_apdu;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AARQ_apdu_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "ABRT-apdu.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_ABRT_apdu_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABRT_apdu, abort_source),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ABRT_source,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"abort-source"
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_ABRT_apdu_tags_1[] = {
|
||||
(ASN_TAG_CLASS_APPLICATION | (4 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_ABRT_apdu_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* abort-source at 36 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_ABRT_apdu_specs_1 = {
|
||||
sizeof(struct ABRT_apdu),
|
||||
offsetof(struct ABRT_apdu, _asn_ctx),
|
||||
asn_MAP_ABRT_apdu_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* Start extensions */
|
||||
-1 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ABRT_apdu = {
|
||||
"ABRT-apdu",
|
||||
"ABRT-apdu",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_ABRT_apdu_tags_1,
|
||||
sizeof(asn_DEF_ABRT_apdu_tags_1)
|
||||
/sizeof(asn_DEF_ABRT_apdu_tags_1[0]) - 1, /* 1 */
|
||||
asn_DEF_ABRT_apdu_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ABRT_apdu_tags_1)
|
||||
/sizeof(asn_DEF_ABRT_apdu_tags_1[0]), /* 2 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_ABRT_apdu_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_ABRT_apdu_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _ABRT_apdu_H_
|
||||
#define _ABRT_apdu_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "ABRT-source.h"
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ABRT-apdu */
|
||||
typedef struct ABRT_apdu {
|
||||
ABRT_source_t abort_source;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} ABRT_apdu_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ABRT_apdu;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABRT_apdu_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "ABRT-source.h"
|
||||
|
||||
int
|
||||
ABRT_source_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_INTEGER.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using INTEGER,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
ABRT_source_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_INTEGER.free_struct;
|
||||
td->print_struct = asn_DEF_INTEGER.print_struct;
|
||||
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
|
||||
td->der_encoder = asn_DEF_INTEGER.der_encoder;
|
||||
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_INTEGER.per_constraints;
|
||||
td->elements = asn_DEF_INTEGER.elements;
|
||||
td->elements_count = asn_DEF_INTEGER.elements_count;
|
||||
td->specifics = asn_DEF_INTEGER.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
ABRT_source_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
ABRT_source_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
ABRT_source_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ABRT_source_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ABRT_source_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
ABRT_source_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ABRT_source_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ABRT_source_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ABRT_source_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
ABRT_source_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ABRT_source_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ABRT_source_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_ABRT_source_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ABRT_source = {
|
||||
"ABRT-source",
|
||||
"ABRT-source",
|
||||
ABRT_source_free,
|
||||
ABRT_source_print,
|
||||
ABRT_source_constraint,
|
||||
ABRT_source_decode_ber,
|
||||
ABRT_source_encode_der,
|
||||
ABRT_source_decode_xer,
|
||||
ABRT_source_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_ABRT_source_tags_1,
|
||||
sizeof(asn_DEF_ABRT_source_tags_1)
|
||||
/sizeof(asn_DEF_ABRT_source_tags_1[0]), /* 1 */
|
||||
asn_DEF_ABRT_source_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ABRT_source_tags_1)
|
||||
/sizeof(asn_DEF_ABRT_source_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _ABRT_source_H_
|
||||
#define _ABRT_source_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <INTEGER.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum ABRT_source {
|
||||
ABRT_source_dialogue_service_user = 0,
|
||||
ABRT_source_dialogue_service_provider = 1
|
||||
} e_ABRT_source;
|
||||
|
||||
/* ABRT-source */
|
||||
typedef INTEGER_t ABRT_source_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ABRT_source;
|
||||
asn_struct_free_f ABRT_source_free;
|
||||
asn_struct_print_f ABRT_source_print;
|
||||
asn_constr_check_f ABRT_source_constraint;
|
||||
ber_type_decoder_f ABRT_source_decode_ber;
|
||||
der_type_encoder_f ABRT_source_encode_der;
|
||||
xer_type_decoder_f ABRT_source_decode_xer;
|
||||
xer_type_encoder_f ABRT_source_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABRT_source_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AESACalledParty.h"
|
||||
|
||||
int
|
||||
AESACalledParty_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
AESACalledParty_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
AESACalledParty_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
AESACalledParty_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
AESACalledParty_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AESACalledParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AESACalledParty_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
AESACalledParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AESACalledParty_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AESACalledParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AESACalledParty_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
AESACalledParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AESACalledParty_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AESACalledParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_AESACalledParty_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AESACalledParty = {
|
||||
"AESACalledParty",
|
||||
"AESACalledParty",
|
||||
AESACalledParty_free,
|
||||
AESACalledParty_print,
|
||||
AESACalledParty_constraint,
|
||||
AESACalledParty_decode_ber,
|
||||
AESACalledParty_encode_der,
|
||||
AESACalledParty_decode_xer,
|
||||
AESACalledParty_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AESACalledParty_tags_1,
|
||||
sizeof(asn_DEF_AESACalledParty_tags_1)
|
||||
/sizeof(asn_DEF_AESACalledParty_tags_1[0]), /* 1 */
|
||||
asn_DEF_AESACalledParty_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AESACalledParty_tags_1)
|
||||
/sizeof(asn_DEF_AESACalledParty_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AESACalledParty_H_
|
||||
#define _AESACalledParty_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AESACalledParty */
|
||||
typedef OCTET_STRING_t AESACalledParty_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AESACalledParty;
|
||||
asn_struct_free_f AESACalledParty_free;
|
||||
asn_struct_print_f AESACalledParty_print;
|
||||
asn_constr_check_f AESACalledParty_constraint;
|
||||
ber_type_decoder_f AESACalledParty_decode_ber;
|
||||
der_type_encoder_f AESACalledParty_encode_der;
|
||||
xer_type_decoder_f AESACalledParty_decode_xer;
|
||||
xer_type_encoder_f AESACalledParty_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AESACalledParty_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AESACallingParty.h"
|
||||
|
||||
int
|
||||
AESACallingParty_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
AESACallingParty_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
AESACallingParty_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
AESACallingParty_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
AESACallingParty_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AESACallingParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AESACallingParty_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
AESACallingParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AESACallingParty_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AESACallingParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AESACallingParty_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
AESACallingParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AESACallingParty_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AESACallingParty_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_AESACallingParty_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AESACallingParty = {
|
||||
"AESACallingParty",
|
||||
"AESACallingParty",
|
||||
AESACallingParty_free,
|
||||
AESACallingParty_print,
|
||||
AESACallingParty_constraint,
|
||||
AESACallingParty_decode_ber,
|
||||
AESACallingParty_encode_der,
|
||||
AESACallingParty_decode_xer,
|
||||
AESACallingParty_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AESACallingParty_tags_1,
|
||||
sizeof(asn_DEF_AESACallingParty_tags_1)
|
||||
/sizeof(asn_DEF_AESACallingParty_tags_1[0]), /* 1 */
|
||||
asn_DEF_AESACallingParty_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AESACallingParty_tags_1)
|
||||
/sizeof(asn_DEF_AESACallingParty_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AESACallingParty_H_
|
||||
#define _AESACallingParty_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AESACallingParty */
|
||||
typedef OCTET_STRING_t AESACallingParty_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AESACallingParty;
|
||||
asn_struct_free_f AESACallingParty_free;
|
||||
asn_struct_print_f AESACallingParty_print;
|
||||
asn_constr_check_f AESACallingParty_constraint;
|
||||
ber_type_decoder_f AESACallingParty_decode_ber;
|
||||
der_type_encoder_f AESACallingParty_encode_der;
|
||||
xer_type_decoder_f AESACallingParty_decode_xer;
|
||||
xer_type_encoder_f AESACallingParty_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AESACallingParty_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,158 @@
|
||||
/*-
|
||||
* Copyright (c) 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <ANY.h>
|
||||
#include <errno.h>
|
||||
|
||||
static asn_OCTET_STRING_specifics_t asn_DEF_ANY_specs = {
|
||||
sizeof(ANY_t),
|
||||
offsetof(ANY_t, _asn_ctx),
|
||||
ASN_OSUBV_ANY
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ANY = {
|
||||
"ANY",
|
||||
"ANY",
|
||||
OCTET_STRING_free,
|
||||
OCTET_STRING_print,
|
||||
asn_generic_no_constraint,
|
||||
OCTET_STRING_decode_ber,
|
||||
OCTET_STRING_encode_der,
|
||||
OCTET_STRING_decode_xer_hex,
|
||||
ANY_encode_xer,
|
||||
0, 0,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
0, 0, 0, 0,
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
&asn_DEF_ANY_specs,
|
||||
};
|
||||
|
||||
|
||||
asn_enc_rval_t
|
||||
ANY_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
|
||||
if(flags & XER_F_CANONICAL) {
|
||||
/*
|
||||
* Canonical XER-encoding of ANY type is not supported.
|
||||
*/
|
||||
_ASN_ENCODE_FAILED;
|
||||
}
|
||||
|
||||
/* Dump as binary */
|
||||
return OCTET_STRING_encode_xer(td, sptr, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
struct _callback_arg {
|
||||
uint8_t *buffer;
|
||||
size_t offset;
|
||||
size_t size;
|
||||
};
|
||||
|
||||
static int ANY__consume_bytes(const void *buffer, size_t size, void *key);
|
||||
|
||||
int
|
||||
ANY_fromType(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) {
|
||||
struct _callback_arg arg;
|
||||
asn_enc_rval_t erval;
|
||||
|
||||
if(!st || !td) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!sptr) {
|
||||
if(st->buf) FREEMEM(st->buf);
|
||||
st->size = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
arg.offset = arg.size = 0;
|
||||
arg.buffer = 0;
|
||||
|
||||
erval = der_encode(td, sptr, ANY__consume_bytes, &arg);
|
||||
if(erval.encoded == -1) {
|
||||
if(arg.buffer) FREEMEM(arg.buffer);
|
||||
return -1;
|
||||
}
|
||||
assert((size_t)erval.encoded == arg.offset);
|
||||
|
||||
if(st->buf) FREEMEM(st->buf);
|
||||
st->buf = arg.buffer;
|
||||
st->size = arg.offset;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
ANY_t *
|
||||
ANY_new_fromType(asn_TYPE_descriptor_t *td, void *sptr) {
|
||||
ANY_t tmp;
|
||||
ANY_t *st;
|
||||
|
||||
if(!td || !sptr) {
|
||||
errno = EINVAL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
memset(&tmp, 0, sizeof(tmp));
|
||||
|
||||
if(ANY_fromType(&tmp, td, sptr)) return 0;
|
||||
|
||||
st = (ANY_t *)CALLOC(1, sizeof(ANY_t));
|
||||
if(st) {
|
||||
*st = tmp;
|
||||
return st;
|
||||
} else {
|
||||
FREEMEM(tmp.buf);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
ANY_to_type(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) {
|
||||
asn_dec_rval_t rval;
|
||||
void *newst = 0;
|
||||
|
||||
if(!st || !td || !struct_ptr) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->buf == 0) {
|
||||
/* Nothing to convert, make it empty. */
|
||||
*struct_ptr = (void *)0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
rval = ber_decode(0, td, (void **)&newst, st->buf, st->size);
|
||||
if(rval.code == RC_OK) {
|
||||
*struct_ptr = newst;
|
||||
return 0;
|
||||
} else {
|
||||
/* Remove possibly partially decoded data. */
|
||||
ASN_STRUCT_FREE(*td, newst);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int ANY__consume_bytes(const void *buffer, size_t size, void *key) {
|
||||
struct _callback_arg *arg = (struct _callback_arg *)key;
|
||||
|
||||
if((arg->offset + size) >= arg->size) {
|
||||
size_t nsize = (arg->size ? arg->size << 2 : 16) + size;
|
||||
void *p = REALLOC(arg->buffer, nsize);
|
||||
if(!p) return -1;
|
||||
arg->buffer = (uint8_t *)p;
|
||||
arg->size = nsize;
|
||||
}
|
||||
|
||||
memcpy(arg->buffer + arg->offset, buffer, size);
|
||||
arg->offset += size;
|
||||
assert(arg->offset < arg->size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -0,0 +1,48 @@
|
||||
/*-
|
||||
* Copyright (c) 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#ifndef ASN_TYPE_ANY_H
|
||||
#define ASN_TYPE_ANY_H
|
||||
|
||||
#include <OCTET_STRING.h> /* Implemented via OCTET STRING type */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct ANY {
|
||||
uint8_t *buf; /* BER-encoded ANY contents */
|
||||
int size; /* Size of the above buffer */
|
||||
|
||||
asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
|
||||
} ANY_t;
|
||||
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ANY;
|
||||
|
||||
asn_struct_free_f ANY_free;
|
||||
asn_struct_print_f ANY_print;
|
||||
ber_type_decoder_f ANY_decode_ber;
|
||||
der_type_encoder_f ANY_encode_der;
|
||||
xer_type_encoder_f ANY_encode_xer;
|
||||
|
||||
/******************************
|
||||
* Handy conversion routines. *
|
||||
******************************/
|
||||
|
||||
/* Convert another ASN.1 type into the ANY. This implies DER encoding. */
|
||||
int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr);
|
||||
ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr);
|
||||
|
||||
/* Convert the contents of the ANY type into the specified type. */
|
||||
int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
|
||||
|
||||
#define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size))
|
||||
#define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \
|
||||
&asn_DEF_ANY, (buf), (size))
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ASN_TYPE_ANY_H */
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "ATMCellRate.h"
|
||||
|
||||
int
|
||||
ATMCellRate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
ATMCellRate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
ATMCellRate_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
ATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
ATMCellRate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ATMCellRate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
ATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ATMCellRate_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ATMCellRate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
ATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ATMCellRate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_ATMCellRate_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ATMCellRate = {
|
||||
"ATMCellRate",
|
||||
"ATMCellRate",
|
||||
ATMCellRate_free,
|
||||
ATMCellRate_print,
|
||||
ATMCellRate_constraint,
|
||||
ATMCellRate_decode_ber,
|
||||
ATMCellRate_encode_der,
|
||||
ATMCellRate_decode_xer,
|
||||
ATMCellRate_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_ATMCellRate_tags_1,
|
||||
sizeof(asn_DEF_ATMCellRate_tags_1)
|
||||
/sizeof(asn_DEF_ATMCellRate_tags_1[0]), /* 1 */
|
||||
asn_DEF_ATMCellRate_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ATMCellRate_tags_1)
|
||||
/sizeof(asn_DEF_ATMCellRate_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _ATMCellRate_H_
|
||||
#define _ATMCellRate_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ATMCellRate */
|
||||
typedef OCTET_STRING_t ATMCellRate_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ATMCellRate;
|
||||
asn_struct_free_f ATMCellRate_free;
|
||||
asn_struct_print_f ATMCellRate_print;
|
||||
asn_constr_check_f ATMCellRate_constraint;
|
||||
ber_type_decoder_f ATMCellRate_decode_ber;
|
||||
der_type_encoder_f ATMCellRate_encode_der;
|
||||
xer_type_decoder_f ATMCellRate_decode_xer;
|
||||
xer_type_encoder_f ATMCellRate_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ATMCellRate_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,69 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "Abort.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_Abort_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Abort, dtid),
|
||||
(ASN_TAG_CLASS_APPLICATION | (9 << 2)),
|
||||
0,
|
||||
&asn_DEF_DestTransactionID,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"dtid"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct Abort, reason),
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_Reason,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"reason"
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_Abort_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_Abort_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_APPLICATION | (9 << 2)), 0, 0, 0 }, /* dtid at 87 */
|
||||
{ (ASN_TAG_CLASS_APPLICATION | (10 << 2)), 1, 0, 0 }, /* p-abortCause at 92 */
|
||||
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 1, 0, 0 } /* u-abortCause at 94 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_Abort_specs_1 = {
|
||||
sizeof(struct Abort),
|
||||
offsetof(struct Abort, _asn_ctx),
|
||||
asn_MAP_Abort_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* Start extensions */
|
||||
-1 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Abort = {
|
||||
"Abort",
|
||||
"Abort",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_Abort_tags_1,
|
||||
sizeof(asn_DEF_Abort_tags_1)
|
||||
/sizeof(asn_DEF_Abort_tags_1[0]), /* 1 */
|
||||
asn_DEF_Abort_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_Abort_tags_1)
|
||||
/sizeof(asn_DEF_Abort_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_Abort_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_Abort_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _Abort_H_
|
||||
#define _Abort_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "DestTransactionID.h"
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct Reason;
|
||||
|
||||
/* Abort */
|
||||
typedef struct Abort {
|
||||
DestTransactionID_t dtid;
|
||||
struct Reason *reason /* OPTIONAL */;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} Abort_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Abort;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "Reason.h"
|
||||
|
||||
#endif /* _Abort_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AdditionalATMCellRate.h"
|
||||
|
||||
int
|
||||
AdditionalATMCellRate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
AdditionalATMCellRate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
AdditionalATMCellRate_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
AdditionalATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
AdditionalATMCellRate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AdditionalATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AdditionalATMCellRate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
AdditionalATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AdditionalATMCellRate_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AdditionalATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AdditionalATMCellRate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
AdditionalATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AdditionalATMCellRate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AdditionalATMCellRate_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_AdditionalATMCellRate_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdditionalATMCellRate = {
|
||||
"AdditionalATMCellRate",
|
||||
"AdditionalATMCellRate",
|
||||
AdditionalATMCellRate_free,
|
||||
AdditionalATMCellRate_print,
|
||||
AdditionalATMCellRate_constraint,
|
||||
AdditionalATMCellRate_decode_ber,
|
||||
AdditionalATMCellRate_encode_der,
|
||||
AdditionalATMCellRate_decode_xer,
|
||||
AdditionalATMCellRate_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AdditionalATMCellRate_tags_1,
|
||||
sizeof(asn_DEF_AdditionalATMCellRate_tags_1)
|
||||
/sizeof(asn_DEF_AdditionalATMCellRate_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdditionalATMCellRate_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdditionalATMCellRate_tags_1)
|
||||
/sizeof(asn_DEF_AdditionalATMCellRate_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AdditionalATMCellRate_H_
|
||||
#define _AdditionalATMCellRate_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AdditionalATMCellRate */
|
||||
typedef OCTET_STRING_t AdditionalATMCellRate_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdditionalATMCellRate;
|
||||
asn_struct_free_f AdditionalATMCellRate_free;
|
||||
asn_struct_print_f AdditionalATMCellRate_print;
|
||||
asn_constr_check_f AdditionalATMCellRate_constraint;
|
||||
ber_type_decoder_f AdditionalATMCellRate_decode_ber;
|
||||
der_type_encoder_f AdditionalATMCellRate_encode_der;
|
||||
xer_type_decoder_f AdditionalATMCellRate_decode_xer;
|
||||
xer_type_encoder_f AdditionalATMCellRate_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AdditionalATMCellRate_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AdditionalCallingPartyNumber.h"
|
||||
|
||||
int
|
||||
AdditionalCallingPartyNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const Digits_t *st = (const Digits_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 2 && size <= 16)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using Digits,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
AdditionalCallingPartyNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_Digits.free_struct;
|
||||
td->print_struct = asn_DEF_Digits.print_struct;
|
||||
td->ber_decoder = asn_DEF_Digits.ber_decoder;
|
||||
td->der_encoder = asn_DEF_Digits.der_encoder;
|
||||
td->xer_decoder = asn_DEF_Digits.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_Digits.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_Digits.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_Digits.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_Digits.per_constraints;
|
||||
td->elements = asn_DEF_Digits.elements;
|
||||
td->elements_count = asn_DEF_Digits.elements_count;
|
||||
td->specifics = asn_DEF_Digits.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
AdditionalCallingPartyNumber_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
AdditionalCallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
AdditionalCallingPartyNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AdditionalCallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AdditionalCallingPartyNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
AdditionalCallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AdditionalCallingPartyNumber_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AdditionalCallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AdditionalCallingPartyNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
AdditionalCallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AdditionalCallingPartyNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AdditionalCallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_AdditionalCallingPartyNumber_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdditionalCallingPartyNumber = {
|
||||
"AdditionalCallingPartyNumber",
|
||||
"AdditionalCallingPartyNumber",
|
||||
AdditionalCallingPartyNumber_free,
|
||||
AdditionalCallingPartyNumber_print,
|
||||
AdditionalCallingPartyNumber_constraint,
|
||||
AdditionalCallingPartyNumber_decode_ber,
|
||||
AdditionalCallingPartyNumber_encode_der,
|
||||
AdditionalCallingPartyNumber_decode_xer,
|
||||
AdditionalCallingPartyNumber_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AdditionalCallingPartyNumber_tags_1,
|
||||
sizeof(asn_DEF_AdditionalCallingPartyNumber_tags_1)
|
||||
/sizeof(asn_DEF_AdditionalCallingPartyNumber_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdditionalCallingPartyNumber_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdditionalCallingPartyNumber_tags_1)
|
||||
/sizeof(asn_DEF_AdditionalCallingPartyNumber_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AdditionalCallingPartyNumber_H_
|
||||
#define _AdditionalCallingPartyNumber_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Digits.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AdditionalCallingPartyNumber */
|
||||
typedef Digits_t AdditionalCallingPartyNumber_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdditionalCallingPartyNumber;
|
||||
asn_struct_free_f AdditionalCallingPartyNumber_free;
|
||||
asn_struct_print_f AdditionalCallingPartyNumber_print;
|
||||
asn_constr_check_f AdditionalCallingPartyNumber_constraint;
|
||||
ber_type_decoder_f AdditionalCallingPartyNumber_decode_ber;
|
||||
der_type_encoder_f AdditionalCallingPartyNumber_encode_der;
|
||||
xer_type_decoder_f AdditionalCallingPartyNumber_decode_xer;
|
||||
xer_type_encoder_f AdditionalCallingPartyNumber_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AdditionalCallingPartyNumber_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AlertingPattern.h"
|
||||
|
||||
int
|
||||
AlertingPattern_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 3)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
AlertingPattern_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
AlertingPattern_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
AlertingPattern_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
AlertingPattern_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AlertingPattern_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AlertingPattern_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
AlertingPattern_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AlertingPattern_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AlertingPattern_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AlertingPattern_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
AlertingPattern_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AlertingPattern_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AlertingPattern_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_AlertingPattern_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AlertingPattern = {
|
||||
"AlertingPattern",
|
||||
"AlertingPattern",
|
||||
AlertingPattern_free,
|
||||
AlertingPattern_print,
|
||||
AlertingPattern_constraint,
|
||||
AlertingPattern_decode_ber,
|
||||
AlertingPattern_encode_der,
|
||||
AlertingPattern_decode_xer,
|
||||
AlertingPattern_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AlertingPattern_tags_1,
|
||||
sizeof(asn_DEF_AlertingPattern_tags_1)
|
||||
/sizeof(asn_DEF_AlertingPattern_tags_1[0]), /* 1 */
|
||||
asn_DEF_AlertingPattern_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AlertingPattern_tags_1)
|
||||
/sizeof(asn_DEF_AlertingPattern_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AlertingPattern_H_
|
||||
#define _AlertingPattern_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AlertingPattern */
|
||||
typedef OCTET_STRING_t AlertingPattern_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AlertingPattern;
|
||||
asn_struct_free_f AlertingPattern_free;
|
||||
asn_struct_print_f AlertingPattern_print;
|
||||
asn_constr_check_f AlertingPattern_constraint;
|
||||
ber_type_decoder_f AlertingPattern_decode_ber;
|
||||
der_type_encoder_f AlertingPattern_encode_der;
|
||||
xer_type_decoder_f AlertingPattern_decode_xer;
|
||||
xer_type_encoder_f AlertingPattern_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AlertingPattern_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AlternativeATMTrafficDescriptor.h"
|
||||
|
||||
int
|
||||
AlternativeATMTrafficDescriptor_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
AlternativeATMTrafficDescriptor_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
AlternativeATMTrafficDescriptor_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
AlternativeATMTrafficDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
AlternativeATMTrafficDescriptor_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AlternativeATMTrafficDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AlternativeATMTrafficDescriptor_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
AlternativeATMTrafficDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AlternativeATMTrafficDescriptor_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AlternativeATMTrafficDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
AlternativeATMTrafficDescriptor_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
AlternativeATMTrafficDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
AlternativeATMTrafficDescriptor_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
AlternativeATMTrafficDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_AlternativeATMTrafficDescriptor_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AlternativeATMTrafficDescriptor = {
|
||||
"AlternativeATMTrafficDescriptor",
|
||||
"AlternativeATMTrafficDescriptor",
|
||||
AlternativeATMTrafficDescriptor_free,
|
||||
AlternativeATMTrafficDescriptor_print,
|
||||
AlternativeATMTrafficDescriptor_constraint,
|
||||
AlternativeATMTrafficDescriptor_decode_ber,
|
||||
AlternativeATMTrafficDescriptor_encode_der,
|
||||
AlternativeATMTrafficDescriptor_decode_xer,
|
||||
AlternativeATMTrafficDescriptor_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AlternativeATMTrafficDescriptor_tags_1,
|
||||
sizeof(asn_DEF_AlternativeATMTrafficDescriptor_tags_1)
|
||||
/sizeof(asn_DEF_AlternativeATMTrafficDescriptor_tags_1[0]), /* 1 */
|
||||
asn_DEF_AlternativeATMTrafficDescriptor_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AlternativeATMTrafficDescriptor_tags_1)
|
||||
/sizeof(asn_DEF_AlternativeATMTrafficDescriptor_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AlternativeATMTrafficDescriptor_H_
|
||||
#define _AlternativeATMTrafficDescriptor_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AlternativeATMTrafficDescriptor */
|
||||
typedef OCTET_STRING_t AlternativeATMTrafficDescriptor_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AlternativeATMTrafficDescriptor;
|
||||
asn_struct_free_f AlternativeATMTrafficDescriptor_free;
|
||||
asn_struct_print_f AlternativeATMTrafficDescriptor_print;
|
||||
asn_constr_check_f AlternativeATMTrafficDescriptor_constraint;
|
||||
ber_type_decoder_f AlternativeATMTrafficDescriptor_decode_ber;
|
||||
der_type_encoder_f AlternativeATMTrafficDescriptor_encode_der;
|
||||
xer_type_decoder_f AlternativeATMTrafficDescriptor_decode_xer;
|
||||
xer_type_encoder_f AlternativeATMTrafficDescriptor_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AlternativeATMTrafficDescriptor_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AlternativeIdentities.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_AlternativeIdentities_1[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_AlternativeIdentity,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_AlternativeIdentities_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_AlternativeIdentities_specs_1 = {
|
||||
sizeof(struct AlternativeIdentities),
|
||||
offsetof(struct AlternativeIdentities, _asn_ctx),
|
||||
2, /* XER encoding is XMLValueList */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AlternativeIdentities = {
|
||||
"AlternativeIdentities",
|
||||
"AlternativeIdentities",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_AlternativeIdentities_tags_1,
|
||||
sizeof(asn_DEF_AlternativeIdentities_tags_1)
|
||||
/sizeof(asn_DEF_AlternativeIdentities_tags_1[0]), /* 1 */
|
||||
asn_DEF_AlternativeIdentities_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AlternativeIdentities_tags_1)
|
||||
/sizeof(asn_DEF_AlternativeIdentities_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_AlternativeIdentities_1,
|
||||
1, /* Single element */
|
||||
&asn_SPC_AlternativeIdentities_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AlternativeIdentities_H_
|
||||
#define _AlternativeIdentities_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct AlternativeIdentity;
|
||||
|
||||
/* AlternativeIdentities */
|
||||
typedef struct AlternativeIdentities {
|
||||
A_SEQUENCE_OF(struct AlternativeIdentity) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AlternativeIdentities_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AlternativeIdentities;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "AlternativeIdentity.h"
|
||||
|
||||
#endif /* _AlternativeIdentities_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "AlternativeIdentity.h"
|
||||
|
||||
static int check_permitted_alphabet_2(const void *sptr) {
|
||||
/* The underlying type is IA5String */
|
||||
const IA5String_t *st = (const IA5String_t *)sptr;
|
||||
const uint8_t *ch = st->buf;
|
||||
const uint8_t *end = ch + st->size;
|
||||
|
||||
for(; ch < end; ch++) {
|
||||
uint8_t cv = *ch;
|
||||
if(!(cv <= 127)) return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
memb_url_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const IA5String_t *st = (const IA5String_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 1 && size <= 512)
|
||||
&& !check_permitted_alphabet_2(st)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_AlternativeIdentity_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AlternativeIdentity, choice.url),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_IA5String,
|
||||
memb_url_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"url"
|
||||
},
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_AlternativeIdentity_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* url at 526 */
|
||||
};
|
||||
static asn_CHOICE_specifics_t asn_SPC_AlternativeIdentity_specs_1 = {
|
||||
sizeof(struct AlternativeIdentity),
|
||||
offsetof(struct AlternativeIdentity, _asn_ctx),
|
||||
offsetof(struct AlternativeIdentity, present),
|
||||
sizeof(((struct AlternativeIdentity *)0)->present),
|
||||
asn_MAP_AlternativeIdentity_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0,
|
||||
-1 /* Extensions start */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AlternativeIdentity = {
|
||||
"AlternativeIdentity",
|
||||
"AlternativeIdentity",
|
||||
CHOICE_free,
|
||||
CHOICE_print,
|
||||
CHOICE_constraint,
|
||||
CHOICE_decode_ber,
|
||||
CHOICE_encode_der,
|
||||
CHOICE_decode_xer,
|
||||
CHOICE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
CHOICE_outmost_tag,
|
||||
0, /* No effective tags (pointer) */
|
||||
0, /* No effective tags (count) */
|
||||
0, /* No tags (pointer) */
|
||||
0, /* No tags (count) */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_AlternativeIdentity_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_AlternativeIdentity_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _AlternativeIdentity_H_
|
||||
#define _AlternativeIdentity_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <IA5String.h>
|
||||
#include <constr_CHOICE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AlternativeIdentity_PR {
|
||||
AlternativeIdentity_PR_NOTHING, /* No components present */
|
||||
AlternativeIdentity_PR_url
|
||||
} AlternativeIdentity_PR;
|
||||
|
||||
/* AlternativeIdentity */
|
||||
typedef struct AlternativeIdentity {
|
||||
AlternativeIdentity_PR present;
|
||||
union AlternativeIdentity_u {
|
||||
IA5String_t url;
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AlternativeIdentity_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AlternativeIdentity;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AlternativeIdentity_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "Associate-result.h"
|
||||
|
||||
int
|
||||
Associate_result_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_INTEGER.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using INTEGER,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
Associate_result_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_INTEGER.free_struct;
|
||||
td->print_struct = asn_DEF_INTEGER.print_struct;
|
||||
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
|
||||
td->der_encoder = asn_DEF_INTEGER.der_encoder;
|
||||
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_INTEGER.per_constraints;
|
||||
td->elements = asn_DEF_INTEGER.elements;
|
||||
td->elements_count = asn_DEF_INTEGER.elements_count;
|
||||
td->specifics = asn_DEF_INTEGER.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
Associate_result_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
Associate_result_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
Associate_result_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Associate_result_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
Associate_result_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
Associate_result_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
Associate_result_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Associate_result_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
Associate_result_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
Associate_result_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
Associate_result_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Associate_result_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_Associate_result_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Associate_result = {
|
||||
"Associate-result",
|
||||
"Associate-result",
|
||||
Associate_result_free,
|
||||
Associate_result_print,
|
||||
Associate_result_constraint,
|
||||
Associate_result_decode_ber,
|
||||
Associate_result_encode_der,
|
||||
Associate_result_decode_xer,
|
||||
Associate_result_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_Associate_result_tags_1,
|
||||
sizeof(asn_DEF_Associate_result_tags_1)
|
||||
/sizeof(asn_DEF_Associate_result_tags_1[0]), /* 1 */
|
||||
asn_DEF_Associate_result_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_Associate_result_tags_1)
|
||||
/sizeof(asn_DEF_Associate_result_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _Associate_result_H_
|
||||
#define _Associate_result_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <INTEGER.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum Associate_result {
|
||||
Associate_result_accepted = 0,
|
||||
Associate_result_reject_permanent = 1
|
||||
} e_Associate_result;
|
||||
|
||||
/* Associate-result */
|
||||
typedef INTEGER_t Associate_result_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Associate_result;
|
||||
asn_struct_free_f Associate_result_free;
|
||||
asn_struct_print_f Associate_result_print;
|
||||
asn_constr_check_f Associate_result_constraint;
|
||||
ber_type_decoder_f Associate_result_decode_ber;
|
||||
der_type_encoder_f Associate_result_encode_der;
|
||||
xer_type_decoder_f Associate_result_decode_xer;
|
||||
xer_type_encoder_f Associate_result_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Associate_result_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "Associate-source-diagnostic.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_Associate_source_diagnostic_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Associate_source_diagnostic, choice.dialogue_service_user),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_INTEGER,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"dialogue-service-user"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Associate_source_diagnostic, choice.dialogue_service_provider),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_INTEGER,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"dialogue-service-provider"
|
||||
},
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_Associate_source_diagnostic_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* dialogue-service-user at 42 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 } /* dialogue-service-provider at 45 */
|
||||
};
|
||||
static asn_CHOICE_specifics_t asn_SPC_Associate_source_diagnostic_specs_1 = {
|
||||
sizeof(struct Associate_source_diagnostic),
|
||||
offsetof(struct Associate_source_diagnostic, _asn_ctx),
|
||||
offsetof(struct Associate_source_diagnostic, present),
|
||||
sizeof(((struct Associate_source_diagnostic *)0)->present),
|
||||
asn_MAP_Associate_source_diagnostic_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
0,
|
||||
-1 /* Extensions start */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Associate_source_diagnostic = {
|
||||
"Associate-source-diagnostic",
|
||||
"Associate-source-diagnostic",
|
||||
CHOICE_free,
|
||||
CHOICE_print,
|
||||
CHOICE_constraint,
|
||||
CHOICE_decode_ber,
|
||||
CHOICE_encode_der,
|
||||
CHOICE_decode_xer,
|
||||
CHOICE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
CHOICE_outmost_tag,
|
||||
0, /* No effective tags (pointer) */
|
||||
0, /* No effective tags (count) */
|
||||
0, /* No tags (pointer) */
|
||||
0, /* No tags (count) */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_Associate_source_diagnostic_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_Associate_source_diagnostic_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _Associate_source_diagnostic_H_
|
||||
#define _Associate_source_diagnostic_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <INTEGER.h>
|
||||
#include <constr_CHOICE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum Associate_source_diagnostic_PR {
|
||||
Associate_source_diagnostic_PR_NOTHING, /* No components present */
|
||||
Associate_source_diagnostic_PR_dialogue_service_user,
|
||||
Associate_source_diagnostic_PR_dialogue_service_provider
|
||||
} Associate_source_diagnostic_PR;
|
||||
typedef enum dialogue_service_user {
|
||||
dialogue_service_user_null = 0,
|
||||
dialogue_service_user_no_reason_given = 1,
|
||||
dialogue_service_user_application_context_name_not_supported = 2
|
||||
} e_dialogue_service_user;
|
||||
typedef enum dialogue_service_provider {
|
||||
dialogue_service_provider_null = 0,
|
||||
dialogue_service_provider_no_reason_given = 1,
|
||||
dialogue_service_provider_no_common_dialogue_portion = 2
|
||||
} e_dialogue_service_provider;
|
||||
|
||||
/* Associate-source-diagnostic */
|
||||
typedef struct Associate_source_diagnostic {
|
||||
Associate_source_diagnostic_PR present;
|
||||
union Associate_source_diagnostic_u {
|
||||
INTEGER_t dialogue_service_user;
|
||||
INTEGER_t dialogue_service_provider;
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} Associate_source_diagnostic_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Associate_source_diagnostic;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Associate_source_diagnostic_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,148 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "BISDNParameters.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_BISDNParameters_1[] = {
|
||||
{ ATF_POINTER, 10, offsetof(struct BISDNParameters, aALParameters),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_AALParameters,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"aALParameters"
|
||||
},
|
||||
{ ATF_POINTER, 9, offsetof(struct BISDNParameters, additionalATMCellRate),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_AdditionalATMCellRate,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"additionalATMCellRate"
|
||||
},
|
||||
{ ATF_POINTER, 8, offsetof(struct BISDNParameters, aESACalledParty),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_AESACalledParty,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"aESACalledParty"
|
||||
},
|
||||
{ ATF_POINTER, 7, offsetof(struct BISDNParameters, aESACallingParty),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_AESACallingParty,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"aESACallingParty"
|
||||
},
|
||||
{ ATF_POINTER, 6, offsetof(struct BISDNParameters, alternativeATMTrafficDescriptor),
|
||||
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_AlternativeATMTrafficDescriptor,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"alternativeATMTrafficDescriptor"
|
||||
},
|
||||
{ ATF_POINTER, 5, offsetof(struct BISDNParameters, aTMCellRate),
|
||||
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_ATMCellRate,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"aTMCellRate"
|
||||
},
|
||||
{ ATF_POINTER, 4, offsetof(struct BISDNParameters, cDVTDescriptor),
|
||||
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_CDVTDescriptor,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"cDVTDescriptor"
|
||||
},
|
||||
{ ATF_POINTER, 3, offsetof(struct BISDNParameters, cumulativeTransitDelay),
|
||||
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_CumulativeTransitDelay,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"cumulativeTransitDelay"
|
||||
},
|
||||
{ ATF_POINTER, 2, offsetof(struct BISDNParameters, endToEndTransitDelay),
|
||||
(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_EndToEndTransitDelay,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"endToEndTransitDelay"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct BISDNParameters, minAcceptableATMTrafficDescriptor),
|
||||
(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_MinAcceptableATMTrafficDescriptor,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"minAcceptableATMTrafficDescriptor"
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_BISDNParameters_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_BISDNParameters_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aALParameters at 501 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* additionalATMCellRate at 502 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* aESACalledParty at 503 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* aESACallingParty at 504 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* alternativeATMTrafficDescriptor at 506 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* aTMCellRate at 507 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* cDVTDescriptor at 508 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* cumulativeTransitDelay at 509 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* endToEndTransitDelay at 510 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* minAcceptableATMTrafficDescriptor at 512 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_BISDNParameters_specs_1 = {
|
||||
sizeof(struct BISDNParameters),
|
||||
offsetof(struct BISDNParameters, _asn_ctx),
|
||||
asn_MAP_BISDNParameters_tag2el_1,
|
||||
10, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
9, /* Start extensions */
|
||||
11 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_BISDNParameters = {
|
||||
"BISDNParameters",
|
||||
"BISDNParameters",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_BISDNParameters_tags_1,
|
||||
sizeof(asn_DEF_BISDNParameters_tags_1)
|
||||
/sizeof(asn_DEF_BISDNParameters_tags_1[0]), /* 1 */
|
||||
asn_DEF_BISDNParameters_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_BISDNParameters_tags_1)
|
||||
/sizeof(asn_DEF_BISDNParameters_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_BISDNParameters_1,
|
||||
10, /* Elements count */
|
||||
&asn_SPC_BISDNParameters_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _BISDNParameters_H_
|
||||
#define _BISDNParameters_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "AALParameters.h"
|
||||
#include "AdditionalATMCellRate.h"
|
||||
#include "AESACalledParty.h"
|
||||
#include "AESACallingParty.h"
|
||||
#include "AlternativeATMTrafficDescriptor.h"
|
||||
#include "ATMCellRate.h"
|
||||
#include "CDVTDescriptor.h"
|
||||
#include "CumulativeTransitDelay.h"
|
||||
#include "EndToEndTransitDelay.h"
|
||||
#include "MinAcceptableATMTrafficDescriptor.h"
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* BISDNParameters */
|
||||
typedef struct BISDNParameters {
|
||||
AALParameters_t *aALParameters /* OPTIONAL */;
|
||||
AdditionalATMCellRate_t *additionalATMCellRate /* OPTIONAL */;
|
||||
AESACalledParty_t *aESACalledParty /* OPTIONAL */;
|
||||
AESACallingParty_t *aESACallingParty /* OPTIONAL */;
|
||||
AlternativeATMTrafficDescriptor_t *alternativeATMTrafficDescriptor /* OPTIONAL */;
|
||||
ATMCellRate_t *aTMCellRate /* OPTIONAL */;
|
||||
CDVTDescriptor_t *cDVTDescriptor /* OPTIONAL */;
|
||||
CumulativeTransitDelay_t *cumulativeTransitDelay /* OPTIONAL */;
|
||||
EndToEndTransitDelay_t *endToEndTransitDelay /* OPTIONAL */;
|
||||
MinAcceptableATMTrafficDescriptor_t *minAcceptableATMTrafficDescriptor /* OPTIONAL */;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} BISDNParameters_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_BISDNParameters;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BISDNParameters_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,189 @@
|
||||
/*-
|
||||
* Copyright (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <BIT_STRING.h>
|
||||
#include <asn_internal.h>
|
||||
|
||||
/*
|
||||
* BIT STRING basic type description.
|
||||
*/
|
||||
static ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
|
||||
};
|
||||
static asn_OCTET_STRING_specifics_t asn_DEF_BIT_STRING_specs = {
|
||||
sizeof(BIT_STRING_t),
|
||||
offsetof(BIT_STRING_t, _asn_ctx),
|
||||
ASN_OSUBV_BIT
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_BIT_STRING = {
|
||||
"BIT STRING",
|
||||
"BIT_STRING",
|
||||
OCTET_STRING_free, /* Implemented in terms of OCTET STRING */
|
||||
BIT_STRING_print,
|
||||
BIT_STRING_constraint,
|
||||
OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */
|
||||
OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */
|
||||
OCTET_STRING_decode_xer_binary,
|
||||
BIT_STRING_encode_xer,
|
||||
OCTET_STRING_decode_uper, /* Unaligned PER decoder */
|
||||
OCTET_STRING_encode_uper, /* Unaligned PER encoder */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_BIT_STRING_tags,
|
||||
sizeof(asn_DEF_BIT_STRING_tags)
|
||||
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
|
||||
asn_DEF_BIT_STRING_tags, /* Same as above */
|
||||
sizeof(asn_DEF_BIT_STRING_tags)
|
||||
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
&asn_DEF_BIT_STRING_specs
|
||||
};
|
||||
|
||||
/*
|
||||
* BIT STRING generic constraint.
|
||||
*/
|
||||
int
|
||||
BIT_STRING_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
|
||||
if(st && st->buf) {
|
||||
if((st->size == 0 && st->bits_unused)
|
||||
|| st->bits_unused < 0 || st->bits_unused > 7) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: invalid padding byte (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char *_bit_pattern[16] = {
|
||||
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
|
||||
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
|
||||
};
|
||||
|
||||
asn_enc_rval_t
|
||||
BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
asn_enc_rval_t er;
|
||||
char scratch[128];
|
||||
char *p = scratch;
|
||||
char *scend = scratch + (sizeof(scratch) - 10);
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
int xcan = (flags & XER_F_CANONICAL);
|
||||
uint8_t *buf;
|
||||
uint8_t *end;
|
||||
|
||||
if(!st || !st->buf)
|
||||
_ASN_ENCODE_FAILED;
|
||||
|
||||
er.encoded = 0;
|
||||
|
||||
buf = st->buf;
|
||||
end = buf + st->size - 1; /* Last byte is special */
|
||||
|
||||
/*
|
||||
* Binary dump
|
||||
*/
|
||||
for(; buf < end; buf++) {
|
||||
int v = *buf;
|
||||
int nline = xcan?0:(((buf - st->buf) % 8) == 0);
|
||||
if(p >= scend || nline) {
|
||||
er.encoded += p - scratch;
|
||||
_ASN_CALLBACK(scratch, p - scratch);
|
||||
p = scratch;
|
||||
if(nline) _i_ASN_TEXT_INDENT(1, ilevel);
|
||||
}
|
||||
memcpy(p + 0, _bit_pattern[v >> 4], 4);
|
||||
memcpy(p + 4, _bit_pattern[v & 0x0f], 4);
|
||||
p += 8;
|
||||
}
|
||||
|
||||
if(!xcan && ((buf - st->buf) % 8) == 0)
|
||||
_i_ASN_TEXT_INDENT(1, ilevel);
|
||||
er.encoded += p - scratch;
|
||||
_ASN_CALLBACK(scratch, p - scratch);
|
||||
p = scratch;
|
||||
|
||||
if(buf == end) {
|
||||
int v = *buf;
|
||||
int ubits = st->bits_unused;
|
||||
int i;
|
||||
for(i = 7; i >= ubits; i--)
|
||||
*p++ = (v & (1 << i)) ? 0x31 : 0x30;
|
||||
er.encoded += p - scratch;
|
||||
_ASN_CALLBACK(scratch, p - scratch);
|
||||
}
|
||||
|
||||
if(!xcan) _i_ASN_TEXT_INDENT(1, ilevel - 1);
|
||||
|
||||
_ASN_ENCODED_OK(er);
|
||||
cb_failed:
|
||||
_ASN_ENCODE_FAILED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* BIT STRING specific contents printer.
|
||||
*/
|
||||
int
|
||||
BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
static const char *h2c = "0123456789ABCDEF";
|
||||
char scratch[64];
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
uint8_t *buf;
|
||||
uint8_t *end;
|
||||
char *p = scratch;
|
||||
|
||||
(void)td; /* Unused argument */
|
||||
|
||||
if(!st || !st->buf)
|
||||
return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
|
||||
|
||||
ilevel++;
|
||||
buf = st->buf;
|
||||
end = buf + st->size;
|
||||
|
||||
/*
|
||||
* Hexadecimal dump.
|
||||
*/
|
||||
for(; buf < end; buf++) {
|
||||
if((buf - st->buf) % 16 == 0 && (st->size > 16)
|
||||
&& buf != st->buf) {
|
||||
_i_INDENT(1);
|
||||
/* Dump the string */
|
||||
if(cb(scratch, p - scratch, app_key) < 0) return -1;
|
||||
p = scratch;
|
||||
}
|
||||
*p++ = h2c[*buf >> 4];
|
||||
*p++ = h2c[*buf & 0x0F];
|
||||
*p++ = 0x20;
|
||||
}
|
||||
|
||||
if(p > scratch) {
|
||||
p--; /* Eat the tailing space */
|
||||
|
||||
if((st->size > 16)) {
|
||||
_i_INDENT(1);
|
||||
}
|
||||
|
||||
/* Dump the incomplete 16-bytes row */
|
||||
if(cb(scratch, p - scratch, app_key) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -0,0 +1,33 @@
|
||||
/*-
|
||||
* Copyright (c) 2003 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#ifndef _BIT_STRING_H_
|
||||
#define _BIT_STRING_H_
|
||||
|
||||
#include <OCTET_STRING.h> /* Some help from OCTET STRING */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct BIT_STRING_s {
|
||||
uint8_t *buf; /* BIT STRING body */
|
||||
int size; /* Size of the above buffer */
|
||||
|
||||
int bits_unused;/* Unused trailing bits in the last octet (0..7) */
|
||||
|
||||
asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
|
||||
} BIT_STRING_t;
|
||||
|
||||
extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING;
|
||||
|
||||
asn_struct_print_f BIT_STRING_print; /* Human-readable output */
|
||||
asn_constr_check_f BIT_STRING_constraint;
|
||||
xer_type_encoder_f BIT_STRING_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BIT_STRING_H_ */
|
@ -0,0 +1,282 @@
|
||||
/*-
|
||||
* Copyright (c) 2003, 2005 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <asn_codecs_prim.h>
|
||||
#include <BOOLEAN.h>
|
||||
|
||||
/*
|
||||
* BOOLEAN basic type description.
|
||||
*/
|
||||
static ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (1 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
|
||||
"BOOLEAN",
|
||||
"BOOLEAN",
|
||||
BOOLEAN_free,
|
||||
BOOLEAN_print,
|
||||
asn_generic_no_constraint,
|
||||
BOOLEAN_decode_ber,
|
||||
BOOLEAN_encode_der,
|
||||
BOOLEAN_decode_xer,
|
||||
BOOLEAN_encode_xer,
|
||||
BOOLEAN_decode_uper, /* Unaligned PER decoder */
|
||||
BOOLEAN_encode_uper, /* Unaligned PER encoder */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_BOOLEAN_tags,
|
||||
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
|
||||
asn_DEF_BOOLEAN_tags, /* Same as above */
|
||||
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
/*
|
||||
* Decode BOOLEAN type.
|
||||
*/
|
||||
asn_dec_rval_t
|
||||
BOOLEAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void **bool_value, const void *buf_ptr, size_t size,
|
||||
int tag_mode) {
|
||||
BOOLEAN_t *st = (BOOLEAN_t *)*bool_value;
|
||||
asn_dec_rval_t rval;
|
||||
ber_tlv_len_t length;
|
||||
ber_tlv_len_t lidx;
|
||||
|
||||
if(st == NULL) {
|
||||
st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st)));
|
||||
if(st == NULL) {
|
||||
rval.code = RC_FAIL;
|
||||
rval.consumed = 0;
|
||||
return rval;
|
||||
}
|
||||
}
|
||||
|
||||
ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)",
|
||||
td->name, tag_mode);
|
||||
|
||||
/*
|
||||
* Check tags.
|
||||
*/
|
||||
rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size,
|
||||
tag_mode, 0, &length, 0);
|
||||
if(rval.code != RC_OK)
|
||||
return rval;
|
||||
|
||||
ASN_DEBUG("Boolean length is %d bytes", (int)length);
|
||||
|
||||
buf_ptr = ((const char *)buf_ptr) + rval.consumed;
|
||||
size -= rval.consumed;
|
||||
if(length > (ber_tlv_len_t)size) {
|
||||
rval.code = RC_WMORE;
|
||||
rval.consumed = 0;
|
||||
return rval;
|
||||
}
|
||||
|
||||
/*
|
||||
* Compute boolean value.
|
||||
*/
|
||||
for(*st = 0, lidx = 0;
|
||||
(lidx < length) && *st == 0; lidx++) {
|
||||
/*
|
||||
* Very simple approach: read bytes until the end or
|
||||
* value is already TRUE.
|
||||
* BOOLEAN is not supposed to contain meaningful data anyway.
|
||||
*/
|
||||
*st |= ((const uint8_t *)buf_ptr)[lidx];
|
||||
}
|
||||
|
||||
rval.code = RC_OK;
|
||||
rval.consumed += length;
|
||||
|
||||
ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d",
|
||||
(long)rval.consumed, (long)length,
|
||||
td->name, *st);
|
||||
|
||||
return rval;
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
BOOLEAN_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
|
||||
int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
asn_enc_rval_t erval;
|
||||
BOOLEAN_t *st = (BOOLEAN_t *)sptr;
|
||||
|
||||
erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key);
|
||||
if(erval.encoded == -1) {
|
||||
erval.failed_type = td;
|
||||
erval.structure_ptr = sptr;
|
||||
return erval;
|
||||
}
|
||||
|
||||
if(cb) {
|
||||
uint8_t bool_value;
|
||||
|
||||
bool_value = *st ? 0xff : 0; /* 0xff mandated by DER */
|
||||
|
||||
if(cb(&bool_value, 1, app_key) < 0) {
|
||||
erval.encoded = -1;
|
||||
erval.failed_type = td;
|
||||
erval.structure_ptr = sptr;
|
||||
return erval;
|
||||
}
|
||||
}
|
||||
|
||||
erval.encoded += 1;
|
||||
|
||||
_ASN_ENCODED_OK(erval);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Decode the chunk of XML text encoding INTEGER.
|
||||
*/
|
||||
static enum xer_pbd_rval
|
||||
BOOLEAN__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chunk_buf, size_t chunk_size) {
|
||||
BOOLEAN_t *st = (BOOLEAN_t *)sptr;
|
||||
const char *p = (const char *)chunk_buf;
|
||||
|
||||
(void)td;
|
||||
|
||||
if(chunk_size && p[0] == 0x3c /* '<' */) {
|
||||
switch(xer_check_tag(chunk_buf, chunk_size, "false")) {
|
||||
case XCT_BOTH:
|
||||
/* "<false/>" */
|
||||
*st = 0;
|
||||
break;
|
||||
case XCT_UNKNOWN_BO:
|
||||
if(xer_check_tag(chunk_buf, chunk_size, "true")
|
||||
!= XCT_BOTH)
|
||||
return XPBD_BROKEN_ENCODING;
|
||||
/* "<true/>" */
|
||||
*st = 1; /* Or 0xff as in DER?.. */
|
||||
break;
|
||||
default:
|
||||
return XPBD_BROKEN_ENCODING;
|
||||
}
|
||||
return XPBD_BODY_CONSUMED;
|
||||
} else {
|
||||
return XPBD_BROKEN_ENCODING;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
asn_dec_rval_t
|
||||
BOOLEAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
|
||||
asn_TYPE_descriptor_t *td, void **sptr, const char *opt_mname,
|
||||
const void *buf_ptr, size_t size) {
|
||||
|
||||
return xer_decode_primitive(opt_codec_ctx, td,
|
||||
sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size,
|
||||
BOOLEAN__xer_body_decode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
BOOLEAN_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
|
||||
asn_enc_rval_t er;
|
||||
|
||||
(void)ilevel;
|
||||
(void)flags;
|
||||
|
||||
if(!st) _ASN_ENCODE_FAILED;
|
||||
|
||||
if(*st) {
|
||||
_ASN_CALLBACK("<true/>", 7);
|
||||
er.encoded = 7;
|
||||
} else {
|
||||
_ASN_CALLBACK("<false/>", 8);
|
||||
er.encoded = 8;
|
||||
}
|
||||
|
||||
_ASN_ENCODED_OK(er);
|
||||
cb_failed:
|
||||
_ASN_ENCODE_FAILED;
|
||||
}
|
||||
|
||||
int
|
||||
BOOLEAN_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
|
||||
const char *buf;
|
||||
size_t buflen;
|
||||
|
||||
(void)td; /* Unused argument */
|
||||
(void)ilevel; /* Unused argument */
|
||||
|
||||
if(st) {
|
||||
if(*st) {
|
||||
buf = "TRUE";
|
||||
buflen = 4;
|
||||
} else {
|
||||
buf = "FALSE";
|
||||
buflen = 5;
|
||||
}
|
||||
} else {
|
||||
buf = "<absent>";
|
||||
buflen = 8;
|
||||
}
|
||||
|
||||
return (cb(buf, buflen, app_key) < 0) ? -1 : 0;
|
||||
}
|
||||
|
||||
void
|
||||
BOOLEAN_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only) {
|
||||
if(td && ptr && !contents_only) {
|
||||
FREEMEM(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
BOOLEAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
|
||||
asn_dec_rval_t rv;
|
||||
BOOLEAN_t *st = (BOOLEAN_t *)*sptr;
|
||||
|
||||
(void)opt_codec_ctx;
|
||||
(void)constraints;
|
||||
|
||||
if(!st) {
|
||||
st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st)));
|
||||
if(!st) _ASN_DECODE_FAILED;
|
||||
}
|
||||
|
||||
/*
|
||||
* Extract a single bit
|
||||
*/
|
||||
switch(per_get_few_bits(pd, 1)) {
|
||||
case 1: *st = 1; break;
|
||||
case 0: *st = 0; break;
|
||||
case -1: default: _ASN_DECODE_STARVED;
|
||||
}
|
||||
|
||||
ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE");
|
||||
|
||||
rv.code = RC_OK;
|
||||
rv.consumed = 1;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
asn_enc_rval_t
|
||||
BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td,
|
||||
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
|
||||
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
|
||||
asn_enc_rval_t er = { 0, 0, 0 };
|
||||
|
||||
(void)constraints;
|
||||
|
||||
if(!st) _ASN_ENCODE_FAILED;
|
||||
|
||||
if(per_put_few_bits(po, *st ? 1 : 0, 1))
|
||||
_ASN_ENCODE_FAILED;
|
||||
|
||||
_ASN_ENCODED_OK(er);
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
/*-
|
||||
* Copyright (c) 2003 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#ifndef _BOOLEAN_H_
|
||||
#define _BOOLEAN_H_
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The underlying integer may contain various values, but everything
|
||||
* non-zero is capped to 0xff by the DER encoder. The BER decoder may
|
||||
* yield non-zero values different from 1, beware.
|
||||
*/
|
||||
typedef int BOOLEAN_t;
|
||||
|
||||
extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN;
|
||||
|
||||
asn_struct_free_f BOOLEAN_free;
|
||||
asn_struct_print_f BOOLEAN_print;
|
||||
ber_type_decoder_f BOOLEAN_decode_ber;
|
||||
der_type_encoder_f BOOLEAN_encode_der;
|
||||
xer_type_decoder_f BOOLEAN_decode_xer;
|
||||
xer_type_encoder_f BOOLEAN_encode_xer;
|
||||
per_type_decoder_f BOOLEAN_decode_uper;
|
||||
per_type_encoder_f BOOLEAN_encode_uper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BOOLEAN_H_ */
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "BackwardGVNS.h"
|
||||
|
||||
int
|
||||
BackwardGVNS_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
BackwardGVNS_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
BackwardGVNS_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
BackwardGVNS_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
BackwardGVNS_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
BackwardGVNS_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
BackwardGVNS_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
BackwardGVNS_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
BackwardGVNS_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
BackwardGVNS_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
BackwardGVNS_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
BackwardGVNS_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
BackwardGVNS_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
BackwardGVNS_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_BackwardGVNS_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_BackwardGVNS = {
|
||||
"BackwardGVNS",
|
||||
"BackwardGVNS",
|
||||
BackwardGVNS_free,
|
||||
BackwardGVNS_print,
|
||||
BackwardGVNS_constraint,
|
||||
BackwardGVNS_decode_ber,
|
||||
BackwardGVNS_encode_der,
|
||||
BackwardGVNS_decode_xer,
|
||||
BackwardGVNS_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_BackwardGVNS_tags_1,
|
||||
sizeof(asn_DEF_BackwardGVNS_tags_1)
|
||||
/sizeof(asn_DEF_BackwardGVNS_tags_1[0]), /* 1 */
|
||||
asn_DEF_BackwardGVNS_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_BackwardGVNS_tags_1)
|
||||
/sizeof(asn_DEF_BackwardGVNS_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _BackwardGVNS_H_
|
||||
#define _BackwardGVNS_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* BackwardGVNS */
|
||||
typedef OCTET_STRING_t BackwardGVNS_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_BackwardGVNS;
|
||||
asn_struct_free_f BackwardGVNS_free;
|
||||
asn_struct_print_f BackwardGVNS_print;
|
||||
asn_constr_check_f BackwardGVNS_constraint;
|
||||
ber_type_decoder_f BackwardGVNS_decode_ber;
|
||||
der_type_encoder_f BackwardGVNS_encode_der;
|
||||
xer_type_decoder_f BackwardGVNS_decode_xer;
|
||||
xer_type_encoder_f BackwardGVNS_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BackwardGVNS_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,192 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "BackwardServiceInteractionInd.h"
|
||||
|
||||
static int
|
||||
memb_conferenceTreatmentIndicator_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 1)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
memb_callCompletionTreatmentIndicator_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 1)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
memb_holdTreatmentIndicator_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 1)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
memb_ectTreatmentIndicator_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 1)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_BackwardServiceInteractionInd_1[] = {
|
||||
{ ATF_POINTER, 4, offsetof(struct BackwardServiceInteractionInd, conferenceTreatmentIndicator),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OCTET_STRING,
|
||||
memb_conferenceTreatmentIndicator_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"conferenceTreatmentIndicator"
|
||||
},
|
||||
{ ATF_POINTER, 3, offsetof(struct BackwardServiceInteractionInd, callCompletionTreatmentIndicator),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OCTET_STRING,
|
||||
memb_callCompletionTreatmentIndicator_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"callCompletionTreatmentIndicator"
|
||||
},
|
||||
{ ATF_POINTER, 2, offsetof(struct BackwardServiceInteractionInd, holdTreatmentIndicator),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OCTET_STRING,
|
||||
memb_holdTreatmentIndicator_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"holdTreatmentIndicator"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct BackwardServiceInteractionInd, ectTreatmentIndicator),
|
||||
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OCTET_STRING,
|
||||
memb_ectTreatmentIndicator_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"ectTreatmentIndicator"
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_BackwardServiceInteractionInd_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_BackwardServiceInteractionInd_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* conferenceTreatmentIndicator at 359 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* callCompletionTreatmentIndicator at 363 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* holdTreatmentIndicator at 367 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* ectTreatmentIndicator at 371 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_BackwardServiceInteractionInd_specs_1 = {
|
||||
sizeof(struct BackwardServiceInteractionInd),
|
||||
offsetof(struct BackwardServiceInteractionInd, _asn_ctx),
|
||||
asn_MAP_BackwardServiceInteractionInd_tag2el_1,
|
||||
4, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
3, /* Start extensions */
|
||||
5 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_BackwardServiceInteractionInd = {
|
||||
"BackwardServiceInteractionInd",
|
||||
"BackwardServiceInteractionInd",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_BackwardServiceInteractionInd_tags_1,
|
||||
sizeof(asn_DEF_BackwardServiceInteractionInd_tags_1)
|
||||
/sizeof(asn_DEF_BackwardServiceInteractionInd_tags_1[0]), /* 1 */
|
||||
asn_DEF_BackwardServiceInteractionInd_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_BackwardServiceInteractionInd_tags_1)
|
||||
/sizeof(asn_DEF_BackwardServiceInteractionInd_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_BackwardServiceInteractionInd_1,
|
||||
4, /* Elements count */
|
||||
&asn_SPC_BackwardServiceInteractionInd_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _BackwardServiceInteractionInd_H_
|
||||
#define _BackwardServiceInteractionInd_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* BackwardServiceInteractionInd */
|
||||
typedef struct BackwardServiceInteractionInd {
|
||||
OCTET_STRING_t *conferenceTreatmentIndicator /* OPTIONAL */;
|
||||
OCTET_STRING_t *callCompletionTreatmentIndicator /* OPTIONAL */;
|
||||
OCTET_STRING_t *holdTreatmentIndicator /* OPTIONAL */;
|
||||
OCTET_STRING_t *ectTreatmentIndicator /* OPTIONAL */;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} BackwardServiceInteractionInd_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_BackwardServiceInteractionInd;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BackwardServiceInteractionInd_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,152 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "BearerCapability.h"
|
||||
|
||||
static int
|
||||
memb_bearerCap_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 2 && size <= 14)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
memb_tmr_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 1)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
memb_broadbandBearerCap_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 14)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_BearerCapability_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct BearerCapability, choice.bearerCap),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OCTET_STRING,
|
||||
memb_bearerCap_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"bearerCap"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct BearerCapability, choice.tmr),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OCTET_STRING,
|
||||
memb_tmr_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"tmr"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct BearerCapability, choice.broadbandBearerCap),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_OCTET_STRING,
|
||||
memb_broadbandBearerCap_constraint_1,
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"broadbandBearerCap"
|
||||
},
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_BearerCapability_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bearerCap at 483 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tmr at 484 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* broadbandBearerCap at 486 */
|
||||
};
|
||||
static asn_CHOICE_specifics_t asn_SPC_BearerCapability_specs_1 = {
|
||||
sizeof(struct BearerCapability),
|
||||
offsetof(struct BearerCapability, _asn_ctx),
|
||||
offsetof(struct BearerCapability, present),
|
||||
sizeof(((struct BearerCapability *)0)->present),
|
||||
asn_MAP_BearerCapability_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
0,
|
||||
-1 /* Extensions start */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_BearerCapability = {
|
||||
"BearerCapability",
|
||||
"BearerCapability",
|
||||
CHOICE_free,
|
||||
CHOICE_print,
|
||||
CHOICE_constraint,
|
||||
CHOICE_decode_ber,
|
||||
CHOICE_encode_der,
|
||||
CHOICE_decode_xer,
|
||||
CHOICE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
CHOICE_outmost_tag,
|
||||
0, /* No effective tags (pointer) */
|
||||
0, /* No effective tags (count) */
|
||||
0, /* No tags (pointer) */
|
||||
0, /* No tags (count) */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_BearerCapability_1,
|
||||
3, /* Elements count */
|
||||
&asn_SPC_BearerCapability_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _BearerCapability_H_
|
||||
#define _BearerCapability_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
#include <constr_CHOICE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum BearerCapability_PR {
|
||||
BearerCapability_PR_NOTHING, /* No components present */
|
||||
BearerCapability_PR_bearerCap,
|
||||
BearerCapability_PR_tmr,
|
||||
BearerCapability_PR_broadbandBearerCap
|
||||
} BearerCapability_PR;
|
||||
|
||||
/* BearerCapability */
|
||||
typedef struct BearerCapability {
|
||||
BearerCapability_PR present;
|
||||
union BearerCapability_u {
|
||||
OCTET_STRING_t bearerCap;
|
||||
OCTET_STRING_t tmr;
|
||||
OCTET_STRING_t broadbandBearerCap;
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} BearerCapability_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_BearerCapability;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BearerCapability_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "Begin.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_Begin_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Begin, otid),
|
||||
(ASN_TAG_CLASS_APPLICATION | (8 << 2)),
|
||||
0,
|
||||
&asn_DEF_OrigTransactionID,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"otid"
|
||||
},
|
||||
{ ATF_POINTER, 2, offsetof(struct Begin, dialoguePortion),
|
||||
(ASN_TAG_CLASS_APPLICATION | (11 << 2)),
|
||||
0,
|
||||
&asn_DEF_DialoguePortion,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"dialoguePortion"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct Begin, components),
|
||||
(ASN_TAG_CLASS_APPLICATION | (12 << 2)),
|
||||
0,
|
||||
&asn_DEF_ComponentPortion,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"components"
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_Begin_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_Begin_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_APPLICATION | (8 << 2)), 0, 0, 0 }, /* otid at 67 */
|
||||
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 1, 0, 0 }, /* dialoguePortion at 68 */
|
||||
{ (ASN_TAG_CLASS_APPLICATION | (12 << 2)), 2, 0, 0 } /* components at 69 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_Begin_specs_1 = {
|
||||
sizeof(struct Begin),
|
||||
offsetof(struct Begin, _asn_ctx),
|
||||
asn_MAP_Begin_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* Start extensions */
|
||||
-1 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Begin = {
|
||||
"Begin",
|
||||
"Begin",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_Begin_tags_1,
|
||||
sizeof(asn_DEF_Begin_tags_1)
|
||||
/sizeof(asn_DEF_Begin_tags_1[0]), /* 1 */
|
||||
asn_DEF_Begin_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_Begin_tags_1)
|
||||
/sizeof(asn_DEF_Begin_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_Begin_1,
|
||||
3, /* Elements count */
|
||||
&asn_SPC_Begin_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _Begin_H_
|
||||
#define _Begin_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "OrigTransactionID.h"
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct ExternalPDU;
|
||||
struct ComponentPortion;
|
||||
|
||||
/* Begin */
|
||||
typedef struct Begin {
|
||||
OrigTransactionID_t otid;
|
||||
struct ExternalPDU *dialoguePortion /* OPTIONAL */;
|
||||
struct ComponentPortion *components /* OPTIONAL */;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} Begin_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Begin;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "DialoguePortion.h"
|
||||
#include "ComponentPortion.h"
|
||||
|
||||
#endif /* _Begin_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,124 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "BothwayThroughConnectionInd.h"
|
||||
|
||||
int
|
||||
BothwayThroughConnectionInd_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using ENUMERATED,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
BothwayThroughConnectionInd_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_ENUMERATED.free_struct;
|
||||
td->print_struct = asn_DEF_ENUMERATED.print_struct;
|
||||
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
|
||||
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
|
||||
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
|
||||
td->elements = asn_DEF_ENUMERATED.elements;
|
||||
td->elements_count = asn_DEF_ENUMERATED.elements_count;
|
||||
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
|
||||
}
|
||||
|
||||
void
|
||||
BothwayThroughConnectionInd_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
BothwayThroughConnectionInd_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
BothwayThroughConnectionInd_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
BothwayThroughConnectionInd_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
BothwayThroughConnectionInd_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
BothwayThroughConnectionInd_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
BothwayThroughConnectionInd_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
BothwayThroughConnectionInd_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
BothwayThroughConnectionInd_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
BothwayThroughConnectionInd_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
BothwayThroughConnectionInd_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
BothwayThroughConnectionInd_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static asn_INTEGER_enum_map_t asn_MAP_BothwayThroughConnectionInd_value2enum_1[] = {
|
||||
{ 0, 19, "bothwayPathRequired" },
|
||||
{ 1, 22, "bothwayPathNotRequired" }
|
||||
};
|
||||
static unsigned int asn_MAP_BothwayThroughConnectionInd_enum2value_1[] = {
|
||||
1, /* bothwayPathNotRequired(1) */
|
||||
0 /* bothwayPathRequired(0) */
|
||||
};
|
||||
static asn_INTEGER_specifics_t asn_SPC_BothwayThroughConnectionInd_specs_1 = {
|
||||
asn_MAP_BothwayThroughConnectionInd_value2enum_1, /* "tag" => N; sorted by tag */
|
||||
asn_MAP_BothwayThroughConnectionInd_enum2value_1, /* N => "tag"; sorted by N */
|
||||
2, /* Number of elements in the maps */
|
||||
0, /* Enumeration is not extensible */
|
||||
1, /* Strict enumeration */
|
||||
0, /* Native long size */
|
||||
0
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_BothwayThroughConnectionInd_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_BothwayThroughConnectionInd = {
|
||||
"BothwayThroughConnectionInd",
|
||||
"BothwayThroughConnectionInd",
|
||||
BothwayThroughConnectionInd_free,
|
||||
BothwayThroughConnectionInd_print,
|
||||
BothwayThroughConnectionInd_constraint,
|
||||
BothwayThroughConnectionInd_decode_ber,
|
||||
BothwayThroughConnectionInd_encode_der,
|
||||
BothwayThroughConnectionInd_decode_xer,
|
||||
BothwayThroughConnectionInd_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_BothwayThroughConnectionInd_tags_1,
|
||||
sizeof(asn_DEF_BothwayThroughConnectionInd_tags_1)
|
||||
/sizeof(asn_DEF_BothwayThroughConnectionInd_tags_1[0]), /* 1 */
|
||||
asn_DEF_BothwayThroughConnectionInd_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_BothwayThroughConnectionInd_tags_1)
|
||||
/sizeof(asn_DEF_BothwayThroughConnectionInd_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_BothwayThroughConnectionInd_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _BothwayThroughConnectionInd_H_
|
||||
#define _BothwayThroughConnectionInd_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <ENUMERATED.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum BothwayThroughConnectionInd {
|
||||
BothwayThroughConnectionInd_bothwayPathRequired = 0,
|
||||
BothwayThroughConnectionInd_bothwayPathNotRequired = 1
|
||||
} e_BothwayThroughConnectionInd;
|
||||
|
||||
/* BothwayThroughConnectionInd */
|
||||
typedef ENUMERATED_t BothwayThroughConnectionInd_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_BothwayThroughConnectionInd;
|
||||
asn_struct_free_f BothwayThroughConnectionInd_free;
|
||||
asn_struct_print_f BothwayThroughConnectionInd_print;
|
||||
asn_constr_check_f BothwayThroughConnectionInd_constraint;
|
||||
ber_type_decoder_f BothwayThroughConnectionInd_decode_ber;
|
||||
der_type_encoder_f BothwayThroughConnectionInd_encode_der;
|
||||
xer_type_decoder_f BothwayThroughConnectionInd_decode_xer;
|
||||
xer_type_encoder_f BothwayThroughConnectionInd_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BothwayThroughConnectionInd_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CCSS.h"
|
||||
|
||||
int
|
||||
CCSS_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_BOOLEAN.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using BOOLEAN,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CCSS_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_BOOLEAN.free_struct;
|
||||
td->print_struct = asn_DEF_BOOLEAN.print_struct;
|
||||
td->ber_decoder = asn_DEF_BOOLEAN.ber_decoder;
|
||||
td->der_encoder = asn_DEF_BOOLEAN.der_encoder;
|
||||
td->xer_decoder = asn_DEF_BOOLEAN.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_BOOLEAN.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_BOOLEAN.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_BOOLEAN.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_BOOLEAN.per_constraints;
|
||||
td->elements = asn_DEF_BOOLEAN.elements;
|
||||
td->elements_count = asn_DEF_BOOLEAN.elements_count;
|
||||
td->specifics = asn_DEF_BOOLEAN.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CCSS_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CCSS_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CCSS_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CCSS_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CCSS_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CCSS_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CCSS_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CCSS_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CCSS_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CCSS_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CCSS_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CCSS_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CCSS_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (1 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CCSS = {
|
||||
"CCSS",
|
||||
"CCSS",
|
||||
CCSS_free,
|
||||
CCSS_print,
|
||||
CCSS_constraint,
|
||||
CCSS_decode_ber,
|
||||
CCSS_encode_der,
|
||||
CCSS_decode_xer,
|
||||
CCSS_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CCSS_tags_1,
|
||||
sizeof(asn_DEF_CCSS_tags_1)
|
||||
/sizeof(asn_DEF_CCSS_tags_1[0]), /* 1 */
|
||||
asn_DEF_CCSS_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CCSS_tags_1)
|
||||
/sizeof(asn_DEF_CCSS_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CCSS_H_
|
||||
#define _CCSS_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <BOOLEAN.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CCSS */
|
||||
typedef BOOLEAN_t CCSS_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CCSS;
|
||||
asn_struct_free_f CCSS_free;
|
||||
asn_struct_print_f CCSS_print;
|
||||
asn_constr_check_f CCSS_constraint;
|
||||
ber_type_decoder_f CCSS_decode_ber;
|
||||
der_type_encoder_f CCSS_encode_der;
|
||||
xer_type_decoder_f CCSS_decode_xer;
|
||||
xer_type_encoder_f CCSS_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CCSS_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CDVTDescriptor.h"
|
||||
|
||||
int
|
||||
CDVTDescriptor_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CDVTDescriptor_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CDVTDescriptor_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CDVTDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CDVTDescriptor_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CDVTDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CDVTDescriptor_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CDVTDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CDVTDescriptor_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CDVTDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CDVTDescriptor_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CDVTDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CDVTDescriptor_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CDVTDescriptor_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CDVTDescriptor_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CDVTDescriptor = {
|
||||
"CDVTDescriptor",
|
||||
"CDVTDescriptor",
|
||||
CDVTDescriptor_free,
|
||||
CDVTDescriptor_print,
|
||||
CDVTDescriptor_constraint,
|
||||
CDVTDescriptor_decode_ber,
|
||||
CDVTDescriptor_encode_der,
|
||||
CDVTDescriptor_decode_xer,
|
||||
CDVTDescriptor_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CDVTDescriptor_tags_1,
|
||||
sizeof(asn_DEF_CDVTDescriptor_tags_1)
|
||||
/sizeof(asn_DEF_CDVTDescriptor_tags_1[0]), /* 1 */
|
||||
asn_DEF_CDVTDescriptor_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CDVTDescriptor_tags_1)
|
||||
/sizeof(asn_DEF_CDVTDescriptor_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CDVTDescriptor_H_
|
||||
#define _CDVTDescriptor_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CDVTDescriptor */
|
||||
typedef OCTET_STRING_t CDVTDescriptor_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CDVTDescriptor;
|
||||
asn_struct_free_f CDVTDescriptor_free;
|
||||
asn_struct_print_f CDVTDescriptor_print;
|
||||
asn_constr_check_f CDVTDescriptor_constraint;
|
||||
ber_type_decoder_f CDVTDescriptor_decode_ber;
|
||||
der_type_encoder_f CDVTDescriptor_encode_der;
|
||||
xer_type_decoder_f CDVTDescriptor_decode_xer;
|
||||
xer_type_encoder_f CDVTDescriptor_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CDVTDescriptor_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,126 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CGEncountered.h"
|
||||
|
||||
int
|
||||
CGEncountered_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using ENUMERATED,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CGEncountered_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_ENUMERATED.free_struct;
|
||||
td->print_struct = asn_DEF_ENUMERATED.print_struct;
|
||||
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
|
||||
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
|
||||
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
|
||||
td->elements = asn_DEF_ENUMERATED.elements;
|
||||
td->elements_count = asn_DEF_ENUMERATED.elements_count;
|
||||
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
|
||||
}
|
||||
|
||||
void
|
||||
CGEncountered_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CGEncountered_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CGEncountered_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CGEncountered_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CGEncountered_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CGEncountered_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CGEncountered_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CGEncountered_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CGEncountered_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CGEncountered_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CGEncountered_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CGEncountered_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static asn_INTEGER_enum_map_t asn_MAP_CGEncountered_value2enum_1[] = {
|
||||
{ 0, 15, "noCGencountered" },
|
||||
{ 1, 19, "manualCGencountered" },
|
||||
{ 2, 11, "sCPOverload" }
|
||||
};
|
||||
static unsigned int asn_MAP_CGEncountered_enum2value_1[] = {
|
||||
1, /* manualCGencountered(1) */
|
||||
0, /* noCGencountered(0) */
|
||||
2 /* sCPOverload(2) */
|
||||
};
|
||||
static asn_INTEGER_specifics_t asn_SPC_CGEncountered_specs_1 = {
|
||||
asn_MAP_CGEncountered_value2enum_1, /* "tag" => N; sorted by tag */
|
||||
asn_MAP_CGEncountered_enum2value_1, /* N => "tag"; sorted by N */
|
||||
3, /* Number of elements in the maps */
|
||||
0, /* Enumeration is not extensible */
|
||||
1, /* Strict enumeration */
|
||||
0, /* Native long size */
|
||||
0
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_CGEncountered_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CGEncountered = {
|
||||
"CGEncountered",
|
||||
"CGEncountered",
|
||||
CGEncountered_free,
|
||||
CGEncountered_print,
|
||||
CGEncountered_constraint,
|
||||
CGEncountered_decode_ber,
|
||||
CGEncountered_encode_der,
|
||||
CGEncountered_decode_xer,
|
||||
CGEncountered_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CGEncountered_tags_1,
|
||||
sizeof(asn_DEF_CGEncountered_tags_1)
|
||||
/sizeof(asn_DEF_CGEncountered_tags_1[0]), /* 1 */
|
||||
asn_DEF_CGEncountered_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CGEncountered_tags_1)
|
||||
/sizeof(asn_DEF_CGEncountered_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_CGEncountered_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CGEncountered_H_
|
||||
#define _CGEncountered_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <ENUMERATED.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum CGEncountered {
|
||||
CGEncountered_noCGencountered = 0,
|
||||
CGEncountered_manualCGencountered = 1,
|
||||
CGEncountered_sCPOverload = 2
|
||||
} e_CGEncountered;
|
||||
|
||||
/* CGEncountered */
|
||||
typedef ENUMERATED_t CGEncountered_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CGEncountered;
|
||||
asn_struct_free_f CGEncountered_free;
|
||||
asn_struct_print_f CGEncountered_print;
|
||||
asn_constr_check_f CGEncountered_constraint;
|
||||
ber_type_decoder_f CGEncountered_decode_ber;
|
||||
der_type_encoder_f CGEncountered_encode_der;
|
||||
xer_type_decoder_f CGEncountered_decode_xer;
|
||||
xer_type_encoder_f CGEncountered_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CGEncountered_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CNInfo.h"
|
||||
|
||||
int
|
||||
CNInfo_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 1 && size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CNInfo_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CNInfo_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CNInfo_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CNInfo_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CNInfo_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CNInfo_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CNInfo_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CNInfo_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CNInfo_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CNInfo_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CNInfo_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CNInfo_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CNInfo_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CNInfo_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CNInfo = {
|
||||
"CNInfo",
|
||||
"CNInfo",
|
||||
CNInfo_free,
|
||||
CNInfo_print,
|
||||
CNInfo_constraint,
|
||||
CNInfo_decode_ber,
|
||||
CNInfo_encode_der,
|
||||
CNInfo_decode_xer,
|
||||
CNInfo_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CNInfo_tags_1,
|
||||
sizeof(asn_DEF_CNInfo_tags_1)
|
||||
/sizeof(asn_DEF_CNInfo_tags_1[0]), /* 1 */
|
||||
asn_DEF_CNInfo_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CNInfo_tags_1)
|
||||
/sizeof(asn_DEF_CNInfo_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CNInfo_H_
|
||||
#define _CNInfo_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CNInfo */
|
||||
typedef OCTET_STRING_t CNInfo_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CNInfo;
|
||||
asn_struct_free_f CNInfo_free;
|
||||
asn_struct_print_f CNInfo_print;
|
||||
asn_constr_check_f CNInfo_constraint;
|
||||
ber_type_decoder_f CNInfo_decode_ber;
|
||||
der_type_encoder_f CNInfo_encode_der;
|
||||
xer_type_decoder_f CNInfo_decode_xer;
|
||||
xer_type_encoder_f CNInfo_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CNInfo_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,124 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CSAID.h"
|
||||
|
||||
int
|
||||
CSAID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 1 && value <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using NativeInteger,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CSAID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_NativeInteger.free_struct;
|
||||
td->print_struct = asn_DEF_NativeInteger.print_struct;
|
||||
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
|
||||
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
|
||||
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
|
||||
td->elements = asn_DEF_NativeInteger.elements;
|
||||
td->elements_count = asn_DEF_NativeInteger.elements_count;
|
||||
td->specifics = asn_DEF_NativeInteger.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CSAID_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CSAID_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CSAID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CSAID_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CSAID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CSAID_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CSAID_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CSAID_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CSAID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CSAID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CSAID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CSAID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CSAID_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CSAID = {
|
||||
"CSAID",
|
||||
"CSAID",
|
||||
CSAID_free,
|
||||
CSAID_print,
|
||||
CSAID_constraint,
|
||||
CSAID_decode_ber,
|
||||
CSAID_encode_der,
|
||||
CSAID_decode_xer,
|
||||
CSAID_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CSAID_tags_1,
|
||||
sizeof(asn_DEF_CSAID_tags_1)
|
||||
/sizeof(asn_DEF_CSAID_tags_1[0]), /* 1 */
|
||||
asn_DEF_CSAID_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CSAID_tags_1)
|
||||
/sizeof(asn_DEF_CSAID_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CSAID_H_
|
||||
#define _CSAID_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CSAID */
|
||||
typedef long CSAID_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CSAID;
|
||||
asn_struct_free_f CSAID_free;
|
||||
asn_struct_print_f CSAID_print;
|
||||
asn_constr_check_f CSAID_constraint;
|
||||
ber_type_decoder_f CSAID_decode_ber;
|
||||
der_type_encoder_f CSAID_encode_der;
|
||||
xer_type_decoder_f CSAID_decode_xer;
|
||||
xer_type_encoder_f CSAID_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CSAID_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,139 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CUG-Index.h"
|
||||
|
||||
static int check_permitted_alphabet_1(const void *sptr) {
|
||||
/* The underlying type is IA5String */
|
||||
const IA5String_t *st = (const IA5String_t *)sptr;
|
||||
const uint8_t *ch = st->buf;
|
||||
const uint8_t *end = ch + st->size;
|
||||
|
||||
for(; ch < end; ch++) {
|
||||
uint8_t cv = *ch;
|
||||
if(!(cv >= 48 && cv <= 57)) return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
CUG_Index_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const IA5String_t *st = (const IA5String_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 1 && size <= 4)
|
||||
&& !check_permitted_alphabet_1(st)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using IA5String,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CUG_Index_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_IA5String.free_struct;
|
||||
td->print_struct = asn_DEF_IA5String.print_struct;
|
||||
td->ber_decoder = asn_DEF_IA5String.ber_decoder;
|
||||
td->der_encoder = asn_DEF_IA5String.der_encoder;
|
||||
td->xer_decoder = asn_DEF_IA5String.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_IA5String.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_IA5String.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_IA5String.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_IA5String.per_constraints;
|
||||
td->elements = asn_DEF_IA5String.elements;
|
||||
td->elements_count = asn_DEF_IA5String.elements_count;
|
||||
td->specifics = asn_DEF_IA5String.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CUG_Index_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CUG_Index_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CUG_Index_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CUG_Index_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CUG_Index_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CUG_Index_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CUG_Index_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CUG_Index_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CUG_Index_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CUG_Index_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CUG_Index_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CUG_Index_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CUG_Index_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CUG_Index = {
|
||||
"CUG-Index",
|
||||
"CUG-Index",
|
||||
CUG_Index_free,
|
||||
CUG_Index_print,
|
||||
CUG_Index_constraint,
|
||||
CUG_Index_decode_ber,
|
||||
CUG_Index_encode_der,
|
||||
CUG_Index_decode_xer,
|
||||
CUG_Index_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CUG_Index_tags_1,
|
||||
sizeof(asn_DEF_CUG_Index_tags_1)
|
||||
/sizeof(asn_DEF_CUG_Index_tags_1[0]), /* 1 */
|
||||
asn_DEF_CUG_Index_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CUG_Index_tags_1)
|
||||
/sizeof(asn_DEF_CUG_Index_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CUG_Index_H_
|
||||
#define _CUG_Index_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <IA5String.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CUG-Index */
|
||||
typedef IA5String_t CUG_Index_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CUG_Index;
|
||||
asn_struct_free_f CUG_Index_free;
|
||||
asn_struct_print_f CUG_Index_print;
|
||||
asn_constr_check_f CUG_Index_constraint;
|
||||
ber_type_decoder_f CUG_Index_decode_ber;
|
||||
der_type_encoder_f CUG_Index_encode_der;
|
||||
xer_type_decoder_f CUG_Index_decode_xer;
|
||||
xer_type_encoder_f CUG_Index_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CUG_Index_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CUG-Interlock.h"
|
||||
|
||||
int
|
||||
CUG_Interlock_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 4)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CUG_Interlock_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CUG_Interlock_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CUG_Interlock_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CUG_Interlock_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CUG_Interlock_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CUG_Interlock_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CUG_Interlock_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CUG_Interlock_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CUG_Interlock_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CUG_Interlock_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CUG_Interlock_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CUG_Interlock_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CUG_Interlock_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CUG_Interlock_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CUG_Interlock = {
|
||||
"CUG-Interlock",
|
||||
"CUG-Interlock",
|
||||
CUG_Interlock_free,
|
||||
CUG_Interlock_print,
|
||||
CUG_Interlock_constraint,
|
||||
CUG_Interlock_decode_ber,
|
||||
CUG_Interlock_encode_der,
|
||||
CUG_Interlock_decode_xer,
|
||||
CUG_Interlock_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CUG_Interlock_tags_1,
|
||||
sizeof(asn_DEF_CUG_Interlock_tags_1)
|
||||
/sizeof(asn_DEF_CUG_Interlock_tags_1[0]), /* 1 */
|
||||
asn_DEF_CUG_Interlock_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CUG_Interlock_tags_1)
|
||||
/sizeof(asn_DEF_CUG_Interlock_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CUG_Interlock_H_
|
||||
#define _CUG_Interlock_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CUG-Interlock */
|
||||
typedef OCTET_STRING_t CUG_Interlock_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CUG_Interlock;
|
||||
asn_struct_free_f CUG_Interlock_free;
|
||||
asn_struct_print_f CUG_Interlock_print;
|
||||
asn_constr_check_f CUG_Interlock_constraint;
|
||||
ber_type_decoder_f CUG_Interlock_decode_ber;
|
||||
der_type_encoder_f CUG_Interlock_encode_der;
|
||||
xer_type_decoder_f CUG_Interlock_decode_xer;
|
||||
xer_type_encoder_f CUG_Interlock_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CUG_Interlock_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CallReference.h"
|
||||
|
||||
int
|
||||
CallReference_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 1 && size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CallReference_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CallReference_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CallReference_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CallReference_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallReference_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallReference_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CallReference_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallReference_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallReference_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallReference_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CallReference_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallReference_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallReference_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CallReference_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CallReference = {
|
||||
"CallReference",
|
||||
"CallReference",
|
||||
CallReference_free,
|
||||
CallReference_print,
|
||||
CallReference_constraint,
|
||||
CallReference_decode_ber,
|
||||
CallReference_encode_der,
|
||||
CallReference_decode_xer,
|
||||
CallReference_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CallReference_tags_1,
|
||||
sizeof(asn_DEF_CallReference_tags_1)
|
||||
/sizeof(asn_DEF_CallReference_tags_1[0]), /* 1 */
|
||||
asn_DEF_CallReference_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CallReference_tags_1)
|
||||
/sizeof(asn_DEF_CallReference_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CallReference_H_
|
||||
#define _CallReference_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CallReference */
|
||||
typedef OCTET_STRING_t CallReference_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CallReference;
|
||||
asn_struct_free_f CallReference_free;
|
||||
asn_struct_print_f CallReference_print;
|
||||
asn_constr_check_f CallReference_constraint;
|
||||
ber_type_decoder_f CallReference_decode_ber;
|
||||
der_type_encoder_f CallReference_encode_der;
|
||||
xer_type_decoder_f CallReference_decode_xer;
|
||||
xer_type_encoder_f CallReference_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CallReference_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,124 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CallSegmentID.h"
|
||||
|
||||
int
|
||||
CallSegmentID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 1 && value <= 127)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using NativeInteger,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CallSegmentID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_NativeInteger.free_struct;
|
||||
td->print_struct = asn_DEF_NativeInteger.print_struct;
|
||||
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
|
||||
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
|
||||
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
|
||||
td->elements = asn_DEF_NativeInteger.elements;
|
||||
td->elements_count = asn_DEF_NativeInteger.elements_count;
|
||||
td->specifics = asn_DEF_NativeInteger.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CallSegmentID_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CallSegmentID_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CallSegmentID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallSegmentID_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallSegmentID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CallSegmentID_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallSegmentID_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallSegmentID_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallSegmentID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CallSegmentID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallSegmentID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallSegmentID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CallSegmentID_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CallSegmentID = {
|
||||
"CallSegmentID",
|
||||
"CallSegmentID",
|
||||
CallSegmentID_free,
|
||||
CallSegmentID_print,
|
||||
CallSegmentID_constraint,
|
||||
CallSegmentID_decode_ber,
|
||||
CallSegmentID_encode_der,
|
||||
CallSegmentID_decode_xer,
|
||||
CallSegmentID_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CallSegmentID_tags_1,
|
||||
sizeof(asn_DEF_CallSegmentID_tags_1)
|
||||
/sizeof(asn_DEF_CallSegmentID_tags_1[0]), /* 1 */
|
||||
asn_DEF_CallSegmentID_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CallSegmentID_tags_1)
|
||||
/sizeof(asn_DEF_CallSegmentID_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CallSegmentID_H_
|
||||
#define _CallSegmentID_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CallSegmentID */
|
||||
typedef long CallSegmentID_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CallSegmentID;
|
||||
asn_struct_free_f CallSegmentID_free;
|
||||
asn_struct_print_f CallSegmentID_print;
|
||||
asn_constr_check_f CallSegmentID_constraint;
|
||||
ber_type_decoder_f CallSegmentID_decode_ber;
|
||||
der_type_encoder_f CallSegmentID_encode_der;
|
||||
xer_type_decoder_f CallSegmentID_decode_xer;
|
||||
xer_type_encoder_f CallSegmentID_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CallSegmentID_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CalledDirectoryNumber.h"
|
||||
|
||||
int
|
||||
CalledDirectoryNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 2 && size <= 14)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CalledDirectoryNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CalledDirectoryNumber_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CalledDirectoryNumber_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CalledDirectoryNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledDirectoryNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CalledDirectoryNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CalledDirectoryNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CalledDirectoryNumber_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledDirectoryNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CalledDirectoryNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CalledDirectoryNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CalledDirectoryNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledDirectoryNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CalledDirectoryNumber_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CalledDirectoryNumber = {
|
||||
"CalledDirectoryNumber",
|
||||
"CalledDirectoryNumber",
|
||||
CalledDirectoryNumber_free,
|
||||
CalledDirectoryNumber_print,
|
||||
CalledDirectoryNumber_constraint,
|
||||
CalledDirectoryNumber_decode_ber,
|
||||
CalledDirectoryNumber_encode_der,
|
||||
CalledDirectoryNumber_decode_xer,
|
||||
CalledDirectoryNumber_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CalledDirectoryNumber_tags_1,
|
||||
sizeof(asn_DEF_CalledDirectoryNumber_tags_1)
|
||||
/sizeof(asn_DEF_CalledDirectoryNumber_tags_1[0]), /* 1 */
|
||||
asn_DEF_CalledDirectoryNumber_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CalledDirectoryNumber_tags_1)
|
||||
/sizeof(asn_DEF_CalledDirectoryNumber_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CalledDirectoryNumber_H_
|
||||
#define _CalledDirectoryNumber_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CalledDirectoryNumber */
|
||||
typedef OCTET_STRING_t CalledDirectoryNumber_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CalledDirectoryNumber;
|
||||
asn_struct_free_f CalledDirectoryNumber_free;
|
||||
asn_struct_print_f CalledDirectoryNumber_print;
|
||||
asn_constr_check_f CalledDirectoryNumber_constraint;
|
||||
ber_type_decoder_f CalledDirectoryNumber_decode_ber;
|
||||
der_type_encoder_f CalledDirectoryNumber_encode_der;
|
||||
xer_type_decoder_f CalledDirectoryNumber_decode_xer;
|
||||
xer_type_encoder_f CalledDirectoryNumber_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CalledDirectoryNumber_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CalledPartyNumber.h"
|
||||
|
||||
int
|
||||
CalledPartyNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 2 && size <= 18)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CalledPartyNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CalledPartyNumber_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CalledPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CalledPartyNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CalledPartyNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CalledPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CalledPartyNumber_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CalledPartyNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CalledPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CalledPartyNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CalledPartyNumber_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CalledPartyNumber = {
|
||||
"CalledPartyNumber",
|
||||
"CalledPartyNumber",
|
||||
CalledPartyNumber_free,
|
||||
CalledPartyNumber_print,
|
||||
CalledPartyNumber_constraint,
|
||||
CalledPartyNumber_decode_ber,
|
||||
CalledPartyNumber_encode_der,
|
||||
CalledPartyNumber_decode_xer,
|
||||
CalledPartyNumber_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CalledPartyNumber_tags_1,
|
||||
sizeof(asn_DEF_CalledPartyNumber_tags_1)
|
||||
/sizeof(asn_DEF_CalledPartyNumber_tags_1[0]), /* 1 */
|
||||
asn_DEF_CalledPartyNumber_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CalledPartyNumber_tags_1)
|
||||
/sizeof(asn_DEF_CalledPartyNumber_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CalledPartyNumber_H_
|
||||
#define _CalledPartyNumber_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CalledPartyNumber */
|
||||
typedef OCTET_STRING_t CalledPartyNumber_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CalledPartyNumber;
|
||||
asn_struct_free_f CalledPartyNumber_free;
|
||||
asn_struct_print_f CalledPartyNumber_print;
|
||||
asn_constr_check_f CalledPartyNumber_constraint;
|
||||
ber_type_decoder_f CalledPartyNumber_decode_ber;
|
||||
der_type_encoder_f CalledPartyNumber_encode_der;
|
||||
xer_type_decoder_f CalledPartyNumber_decode_xer;
|
||||
xer_type_encoder_f CalledPartyNumber_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CalledPartyNumber_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CalledPartySubaddress.h"
|
||||
|
||||
int
|
||||
CalledPartySubaddress_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CalledPartySubaddress_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CalledPartySubaddress_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CalledPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CalledPartySubaddress_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CalledPartySubaddress_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CalledPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CalledPartySubaddress_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CalledPartySubaddress_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CalledPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CalledPartySubaddress_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CalledPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CalledPartySubaddress_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CalledPartySubaddress = {
|
||||
"CalledPartySubaddress",
|
||||
"CalledPartySubaddress",
|
||||
CalledPartySubaddress_free,
|
||||
CalledPartySubaddress_print,
|
||||
CalledPartySubaddress_constraint,
|
||||
CalledPartySubaddress_decode_ber,
|
||||
CalledPartySubaddress_encode_der,
|
||||
CalledPartySubaddress_decode_xer,
|
||||
CalledPartySubaddress_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CalledPartySubaddress_tags_1,
|
||||
sizeof(asn_DEF_CalledPartySubaddress_tags_1)
|
||||
/sizeof(asn_DEF_CalledPartySubaddress_tags_1[0]), /* 1 */
|
||||
asn_DEF_CalledPartySubaddress_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CalledPartySubaddress_tags_1)
|
||||
/sizeof(asn_DEF_CalledPartySubaddress_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CalledPartySubaddress_H_
|
||||
#define _CalledPartySubaddress_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CalledPartySubaddress */
|
||||
typedef OCTET_STRING_t CalledPartySubaddress_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CalledPartySubaddress;
|
||||
asn_struct_free_f CalledPartySubaddress_free;
|
||||
asn_struct_print_f CalledPartySubaddress_print;
|
||||
asn_constr_check_f CalledPartySubaddress_constraint;
|
||||
ber_type_decoder_f CalledPartySubaddress_decode_ber;
|
||||
der_type_encoder_f CalledPartySubaddress_encode_der;
|
||||
xer_type_decoder_f CalledPartySubaddress_decode_xer;
|
||||
xer_type_encoder_f CalledPartySubaddress_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CalledPartySubaddress_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CallingGeodeticLocation.h"
|
||||
|
||||
int
|
||||
CallingGeodeticLocation_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CallingGeodeticLocation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CallingGeodeticLocation_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CallingGeodeticLocation_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CallingGeodeticLocation_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingGeodeticLocation_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingGeodeticLocation_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CallingGeodeticLocation_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingGeodeticLocation_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingGeodeticLocation_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingGeodeticLocation_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CallingGeodeticLocation_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingGeodeticLocation_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingGeodeticLocation_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CallingGeodeticLocation_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CallingGeodeticLocation = {
|
||||
"CallingGeodeticLocation",
|
||||
"CallingGeodeticLocation",
|
||||
CallingGeodeticLocation_free,
|
||||
CallingGeodeticLocation_print,
|
||||
CallingGeodeticLocation_constraint,
|
||||
CallingGeodeticLocation_decode_ber,
|
||||
CallingGeodeticLocation_encode_der,
|
||||
CallingGeodeticLocation_decode_xer,
|
||||
CallingGeodeticLocation_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CallingGeodeticLocation_tags_1,
|
||||
sizeof(asn_DEF_CallingGeodeticLocation_tags_1)
|
||||
/sizeof(asn_DEF_CallingGeodeticLocation_tags_1[0]), /* 1 */
|
||||
asn_DEF_CallingGeodeticLocation_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CallingGeodeticLocation_tags_1)
|
||||
/sizeof(asn_DEF_CallingGeodeticLocation_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CallingGeodeticLocation_H_
|
||||
#define _CallingGeodeticLocation_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CallingGeodeticLocation */
|
||||
typedef OCTET_STRING_t CallingGeodeticLocation_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CallingGeodeticLocation;
|
||||
asn_struct_free_f CallingGeodeticLocation_free;
|
||||
asn_struct_print_f CallingGeodeticLocation_print;
|
||||
asn_constr_check_f CallingGeodeticLocation_constraint;
|
||||
ber_type_decoder_f CallingGeodeticLocation_decode_ber;
|
||||
der_type_encoder_f CallingGeodeticLocation_encode_der;
|
||||
xer_type_decoder_f CallingGeodeticLocation_decode_xer;
|
||||
xer_type_encoder_f CallingGeodeticLocation_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CallingGeodeticLocation_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CallingPartyBusinessGroupID.h"
|
||||
|
||||
int
|
||||
CallingPartyBusinessGroupID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CallingPartyBusinessGroupID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CallingPartyBusinessGroupID_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CallingPartyBusinessGroupID_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CallingPartyBusinessGroupID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartyBusinessGroupID_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartyBusinessGroupID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CallingPartyBusinessGroupID_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartyBusinessGroupID_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartyBusinessGroupID_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartyBusinessGroupID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CallingPartyBusinessGroupID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartyBusinessGroupID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartyBusinessGroupID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CallingPartyBusinessGroupID_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CallingPartyBusinessGroupID = {
|
||||
"CallingPartyBusinessGroupID",
|
||||
"CallingPartyBusinessGroupID",
|
||||
CallingPartyBusinessGroupID_free,
|
||||
CallingPartyBusinessGroupID_print,
|
||||
CallingPartyBusinessGroupID_constraint,
|
||||
CallingPartyBusinessGroupID_decode_ber,
|
||||
CallingPartyBusinessGroupID_encode_der,
|
||||
CallingPartyBusinessGroupID_decode_xer,
|
||||
CallingPartyBusinessGroupID_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CallingPartyBusinessGroupID_tags_1,
|
||||
sizeof(asn_DEF_CallingPartyBusinessGroupID_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartyBusinessGroupID_tags_1[0]), /* 1 */
|
||||
asn_DEF_CallingPartyBusinessGroupID_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CallingPartyBusinessGroupID_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartyBusinessGroupID_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CallingPartyBusinessGroupID_H_
|
||||
#define _CallingPartyBusinessGroupID_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CallingPartyBusinessGroupID */
|
||||
typedef OCTET_STRING_t CallingPartyBusinessGroupID_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CallingPartyBusinessGroupID;
|
||||
asn_struct_free_f CallingPartyBusinessGroupID_free;
|
||||
asn_struct_print_f CallingPartyBusinessGroupID_print;
|
||||
asn_constr_check_f CallingPartyBusinessGroupID_constraint;
|
||||
ber_type_decoder_f CallingPartyBusinessGroupID_decode_ber;
|
||||
der_type_encoder_f CallingPartyBusinessGroupID_encode_der;
|
||||
xer_type_decoder_f CallingPartyBusinessGroupID_decode_xer;
|
||||
xer_type_encoder_f CallingPartyBusinessGroupID_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CallingPartyBusinessGroupID_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CallingPartyNumber.h"
|
||||
|
||||
int
|
||||
CallingPartyNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 2 && size <= 10)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CallingPartyNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CallingPartyNumber_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CallingPartyNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartyNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartyNumber_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartyNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartyNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartyNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CallingPartyNumber_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CallingPartyNumber = {
|
||||
"CallingPartyNumber",
|
||||
"CallingPartyNumber",
|
||||
CallingPartyNumber_free,
|
||||
CallingPartyNumber_print,
|
||||
CallingPartyNumber_constraint,
|
||||
CallingPartyNumber_decode_ber,
|
||||
CallingPartyNumber_encode_der,
|
||||
CallingPartyNumber_decode_xer,
|
||||
CallingPartyNumber_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CallingPartyNumber_tags_1,
|
||||
sizeof(asn_DEF_CallingPartyNumber_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartyNumber_tags_1[0]), /* 1 */
|
||||
asn_DEF_CallingPartyNumber_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CallingPartyNumber_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartyNumber_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CallingPartyNumber_H_
|
||||
#define _CallingPartyNumber_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CallingPartyNumber */
|
||||
typedef OCTET_STRING_t CallingPartyNumber_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CallingPartyNumber;
|
||||
asn_struct_free_f CallingPartyNumber_free;
|
||||
asn_struct_print_f CallingPartyNumber_print;
|
||||
asn_constr_check_f CallingPartyNumber_constraint;
|
||||
ber_type_decoder_f CallingPartyNumber_decode_ber;
|
||||
der_type_encoder_f CallingPartyNumber_encode_der;
|
||||
xer_type_decoder_f CallingPartyNumber_decode_xer;
|
||||
xer_type_encoder_f CallingPartyNumber_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CallingPartyNumber_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CallingPartySubaddress.h"
|
||||
|
||||
int
|
||||
CallingPartySubaddress_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 16)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CallingPartySubaddress_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CallingPartySubaddress_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CallingPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CallingPartySubaddress_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartySubaddress_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CallingPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartySubaddress_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartySubaddress_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CallingPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartySubaddress_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartySubaddress_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CallingPartySubaddress_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CallingPartySubaddress = {
|
||||
"CallingPartySubaddress",
|
||||
"CallingPartySubaddress",
|
||||
CallingPartySubaddress_free,
|
||||
CallingPartySubaddress_print,
|
||||
CallingPartySubaddress_constraint,
|
||||
CallingPartySubaddress_decode_ber,
|
||||
CallingPartySubaddress_encode_der,
|
||||
CallingPartySubaddress_decode_xer,
|
||||
CallingPartySubaddress_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CallingPartySubaddress_tags_1,
|
||||
sizeof(asn_DEF_CallingPartySubaddress_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartySubaddress_tags_1[0]), /* 1 */
|
||||
asn_DEF_CallingPartySubaddress_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CallingPartySubaddress_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartySubaddress_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CallingPartySubaddress_H_
|
||||
#define _CallingPartySubaddress_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CallingPartySubaddress */
|
||||
typedef OCTET_STRING_t CallingPartySubaddress_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CallingPartySubaddress;
|
||||
asn_struct_free_f CallingPartySubaddress_free;
|
||||
asn_struct_print_f CallingPartySubaddress_print;
|
||||
asn_constr_check_f CallingPartySubaddress_constraint;
|
||||
ber_type_decoder_f CallingPartySubaddress_decode_ber;
|
||||
der_type_encoder_f CallingPartySubaddress_encode_der;
|
||||
xer_type_decoder_f CallingPartySubaddress_decode_xer;
|
||||
xer_type_encoder_f CallingPartySubaddress_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CallingPartySubaddress_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "CallingPartysCategory.h"
|
||||
|
||||
int
|
||||
CallingPartysCategory_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 1)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
CallingPartysCategory_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
CallingPartysCategory_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
CallingPartysCategory_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
CallingPartysCategory_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartysCategory_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartysCategory_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
CallingPartysCategory_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartysCategory_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartysCategory_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
CallingPartysCategory_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
CallingPartysCategory_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
CallingPartysCategory_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
CallingPartysCategory_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_CallingPartysCategory_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_CallingPartysCategory = {
|
||||
"CallingPartysCategory",
|
||||
"CallingPartysCategory",
|
||||
CallingPartysCategory_free,
|
||||
CallingPartysCategory_print,
|
||||
CallingPartysCategory_constraint,
|
||||
CallingPartysCategory_decode_ber,
|
||||
CallingPartysCategory_encode_der,
|
||||
CallingPartysCategory_decode_xer,
|
||||
CallingPartysCategory_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_CallingPartysCategory_tags_1,
|
||||
sizeof(asn_DEF_CallingPartysCategory_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartysCategory_tags_1[0]), /* 1 */
|
||||
asn_DEF_CallingPartysCategory_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_CallingPartysCategory_tags_1)
|
||||
/sizeof(asn_DEF_CallingPartysCategory_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _CallingPartysCategory_H_
|
||||
#define _CallingPartysCategory_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* CallingPartysCategory */
|
||||
typedef OCTET_STRING_t CallingPartysCategory_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_CallingPartysCategory;
|
||||
asn_struct_free_f CallingPartysCategory_free;
|
||||
asn_struct_print_f CallingPartysCategory_print;
|
||||
asn_constr_check_f CallingPartysCategory_constraint;
|
||||
ber_type_decoder_f CallingPartysCategory_decode_ber;
|
||||
der_type_encoder_f CallingPartysCategory_encode_der;
|
||||
xer_type_decoder_f CallingPartysCategory_decode_xer;
|
||||
xer_type_encoder_f CallingPartysCategory_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CallingPartysCategory_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "Carrier.h"
|
||||
|
||||
int
|
||||
Carrier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size == 4)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
Carrier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
Carrier_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
Carrier_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
Carrier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Carrier_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
Carrier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
Carrier_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
Carrier_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Carrier_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
Carrier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
Carrier_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
Carrier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Carrier_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_Carrier_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Carrier = {
|
||||
"Carrier",
|
||||
"Carrier",
|
||||
Carrier_free,
|
||||
Carrier_print,
|
||||
Carrier_constraint,
|
||||
Carrier_decode_ber,
|
||||
Carrier_encode_der,
|
||||
Carrier_decode_xer,
|
||||
Carrier_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_Carrier_tags_1,
|
||||
sizeof(asn_DEF_Carrier_tags_1)
|
||||
/sizeof(asn_DEF_Carrier_tags_1[0]), /* 1 */
|
||||
asn_DEF_Carrier_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_Carrier_tags_1)
|
||||
/sizeof(asn_DEF_Carrier_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _Carrier_H_
|
||||
#define _Carrier_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Carrier */
|
||||
typedef OCTET_STRING_t Carrier_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Carrier;
|
||||
asn_struct_free_f Carrier_free;
|
||||
asn_struct_print_f Carrier_print;
|
||||
asn_constr_check_f Carrier_constraint;
|
||||
ber_type_decoder_f Carrier_decode_ber;
|
||||
der_type_encoder_f Carrier_encode_der;
|
||||
xer_type_decoder_f Carrier_decode_xer;
|
||||
xer_type_encoder_f Carrier_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Carrier_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "Cause.h"
|
||||
|
||||
int
|
||||
Cause_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size <= 255)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using OCTET_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
Cause_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
|
||||
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
|
||||
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
|
||||
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
|
||||
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
|
||||
td->elements = asn_DEF_OCTET_STRING.elements;
|
||||
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
|
||||
td->specifics = asn_DEF_OCTET_STRING.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
Cause_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
Cause_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
Cause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Cause_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
Cause_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
Cause_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
Cause_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Cause_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
Cause_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
Cause_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
Cause_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
Cause_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_Cause_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Cause = {
|
||||
"Cause",
|
||||
"Cause",
|
||||
Cause_free,
|
||||
Cause_print,
|
||||
Cause_constraint,
|
||||
Cause_decode_ber,
|
||||
Cause_encode_der,
|
||||
Cause_decode_xer,
|
||||
Cause_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_Cause_tags_1,
|
||||
sizeof(asn_DEF_Cause_tags_1)
|
||||
/sizeof(asn_DEF_Cause_tags_1[0]), /* 1 */
|
||||
asn_DEF_Cause_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_Cause_tags_1)
|
||||
/sizeof(asn_DEF_Cause_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _Cause_H_
|
||||
#define _Cause_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Cause */
|
||||
typedef OCTET_STRING_t Cause_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Cause;
|
||||
asn_struct_free_f Cause_free;
|
||||
asn_struct_print_f Cause_print;
|
||||
asn_constr_check_f Cause_constraint;
|
||||
ber_type_decoder_f Cause_decode_ber;
|
||||
der_type_encoder_f Cause_encode_der;
|
||||
xer_type_decoder_f Cause_decode_xer;
|
||||
xer_type_encoder_f Cause_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Cause_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,125 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "ChargeNumber.h"
|
||||
|
||||
int
|
||||
ChargeNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const LocationNumber_t *st = (const LocationNumber_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size = st->size;
|
||||
|
||||
if((size >= 2 && size <= 10)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using LocationNumber,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
ChargeNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_LocationNumber.free_struct;
|
||||
td->print_struct = asn_DEF_LocationNumber.print_struct;
|
||||
td->ber_decoder = asn_DEF_LocationNumber.ber_decoder;
|
||||
td->der_encoder = asn_DEF_LocationNumber.der_encoder;
|
||||
td->xer_decoder = asn_DEF_LocationNumber.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_LocationNumber.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_LocationNumber.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_LocationNumber.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_LocationNumber.per_constraints;
|
||||
td->elements = asn_DEF_LocationNumber.elements;
|
||||
td->elements_count = asn_DEF_LocationNumber.elements_count;
|
||||
td->specifics = asn_DEF_LocationNumber.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
ChargeNumber_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
ChargeNumber_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
ChargeNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ChargeNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ChargeNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
ChargeNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ChargeNumber_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ChargeNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ChargeNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
ChargeNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ChargeNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ChargeNumber_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_ChargeNumber_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ChargeNumber = {
|
||||
"ChargeNumber",
|
||||
"ChargeNumber",
|
||||
ChargeNumber_free,
|
||||
ChargeNumber_print,
|
||||
ChargeNumber_constraint,
|
||||
ChargeNumber_decode_ber,
|
||||
ChargeNumber_encode_der,
|
||||
ChargeNumber_decode_xer,
|
||||
ChargeNumber_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_ChargeNumber_tags_1,
|
||||
sizeof(asn_DEF_ChargeNumber_tags_1)
|
||||
/sizeof(asn_DEF_ChargeNumber_tags_1[0]), /* 1 */
|
||||
asn_DEF_ChargeNumber_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ChargeNumber_tags_1)
|
||||
/sizeof(asn_DEF_ChargeNumber_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _ChargeNumber_H_
|
||||
#define _ChargeNumber_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "LocationNumber.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ChargeNumber */
|
||||
typedef LocationNumber_t ChargeNumber_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ChargeNumber;
|
||||
asn_struct_free_f ChargeNumber_free;
|
||||
asn_struct_print_f ChargeNumber_print;
|
||||
asn_constr_check_f ChargeNumber_constraint;
|
||||
ber_type_decoder_f ChargeNumber_decode_ber;
|
||||
der_type_encoder_f ChargeNumber_encode_der;
|
||||
xer_type_decoder_f ChargeNumber_decode_xer;
|
||||
xer_type_encoder_f ChargeNumber_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ChargeNumber_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "Component.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_Component_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Component, choice.invoke),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Invoke,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"invoke"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Component, choice.returnResultLast),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ReturnResult,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"returnResultLast"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Component, choice.returnError),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ReturnError,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"returnError"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Component, choice.reject),
|
||||
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Reject,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"reject"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Component, choice.returnResultNotLast),
|
||||
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ReturnResult,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"returnResultNotLast"
|
||||
},
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_Component_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* invoke at 135 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* returnResultLast at 136 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* returnError at 137 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 }, /* reject at 138 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 4, 0, 0 } /* returnResultNotLast at 140 */
|
||||
};
|
||||
static asn_CHOICE_specifics_t asn_SPC_Component_specs_1 = {
|
||||
sizeof(struct Component),
|
||||
offsetof(struct Component, _asn_ctx),
|
||||
offsetof(struct Component, present),
|
||||
sizeof(((struct Component *)0)->present),
|
||||
asn_MAP_Component_tag2el_1,
|
||||
5, /* Count of tags in the map */
|
||||
0,
|
||||
-1 /* Extensions start */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Component = {
|
||||
"Component",
|
||||
"Component",
|
||||
CHOICE_free,
|
||||
CHOICE_print,
|
||||
CHOICE_constraint,
|
||||
CHOICE_decode_ber,
|
||||
CHOICE_encode_der,
|
||||
CHOICE_decode_xer,
|
||||
CHOICE_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
CHOICE_outmost_tag,
|
||||
0, /* No effective tags (pointer) */
|
||||
0, /* No effective tags (count) */
|
||||
0, /* No tags (pointer) */
|
||||
0, /* No tags (count) */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_Component_1,
|
||||
5, /* Elements count */
|
||||
&asn_SPC_Component_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _Component_H_
|
||||
#define _Component_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Invoke.h"
|
||||
#include "ReturnResult.h"
|
||||
#include "ReturnError.h"
|
||||
#include "Reject.h"
|
||||
#include <constr_CHOICE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum Component_PR {
|
||||
Component_PR_NOTHING, /* No components present */
|
||||
Component_PR_invoke,
|
||||
Component_PR_returnResultLast,
|
||||
Component_PR_returnError,
|
||||
Component_PR_reject,
|
||||
Component_PR_returnResultNotLast
|
||||
} Component_PR;
|
||||
|
||||
/* Component */
|
||||
typedef struct Component {
|
||||
Component_PR present;
|
||||
union Component_u {
|
||||
Invoke_t invoke;
|
||||
ReturnResult_t returnResultLast;
|
||||
ReturnError_t returnError;
|
||||
Reject_t reject;
|
||||
ReturnResult_t returnResultNotLast;
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} Component_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Component;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Component_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "ComponentCorrelationID.h"
|
||||
|
||||
int
|
||||
ComponentCorrelationID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_INTEGER.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using INTEGER,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
ComponentCorrelationID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_INTEGER.free_struct;
|
||||
td->print_struct = asn_DEF_INTEGER.print_struct;
|
||||
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
|
||||
td->der_encoder = asn_DEF_INTEGER.der_encoder;
|
||||
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_INTEGER.per_constraints;
|
||||
td->elements = asn_DEF_INTEGER.elements;
|
||||
td->elements_count = asn_DEF_INTEGER.elements_count;
|
||||
td->specifics = asn_DEF_INTEGER.specifics;
|
||||
}
|
||||
|
||||
void
|
||||
ComponentCorrelationID_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
ComponentCorrelationID_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
ComponentCorrelationID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ComponentCorrelationID_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ComponentCorrelationID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
ComponentCorrelationID_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ComponentCorrelationID_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ComponentCorrelationID_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ComponentCorrelationID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
ComponentCorrelationID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ComponentCorrelationID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ComponentCorrelationID_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static ber_tlv_tag_t asn_DEF_ComponentCorrelationID_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ComponentCorrelationID = {
|
||||
"ComponentCorrelationID",
|
||||
"ComponentCorrelationID",
|
||||
ComponentCorrelationID_free,
|
||||
ComponentCorrelationID_print,
|
||||
ComponentCorrelationID_constraint,
|
||||
ComponentCorrelationID_decode_ber,
|
||||
ComponentCorrelationID_encode_der,
|
||||
ComponentCorrelationID_decode_xer,
|
||||
ComponentCorrelationID_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_ComponentCorrelationID_tags_1,
|
||||
sizeof(asn_DEF_ComponentCorrelationID_tags_1)
|
||||
/sizeof(asn_DEF_ComponentCorrelationID_tags_1[0]), /* 1 */
|
||||
asn_DEF_ComponentCorrelationID_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ComponentCorrelationID_tags_1)
|
||||
/sizeof(asn_DEF_ComponentCorrelationID_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _ComponentCorrelationID_H_
|
||||
#define _ComponentCorrelationID_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <INTEGER.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ComponentCorrelationID */
|
||||
typedef INTEGER_t ComponentCorrelationID_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ComponentCorrelationID;
|
||||
asn_struct_free_f ComponentCorrelationID_free;
|
||||
asn_struct_print_f ComponentCorrelationID_print;
|
||||
asn_constr_check_f ComponentCorrelationID_constraint;
|
||||
ber_type_decoder_f ComponentCorrelationID_decode_ber;
|
||||
der_type_encoder_f ComponentCorrelationID_encode_der;
|
||||
xer_type_decoder_f ComponentCorrelationID_decode_xer;
|
||||
xer_type_encoder_f ComponentCorrelationID_encode_xer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ComponentCorrelationID_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "ComponentPortion.h"
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_ComponentPortion_1[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_Component,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_ComponentPortion_tags_1[] = {
|
||||
(ASN_TAG_CLASS_APPLICATION | (12 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_ComponentPortion_specs_1 = {
|
||||
sizeof(struct ComponentPortion),
|
||||
offsetof(struct ComponentPortion, _asn_ctx),
|
||||
2, /* XER encoding is XMLValueList */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ComponentPortion = {
|
||||
"ComponentPortion",
|
||||
"ComponentPortion",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_ComponentPortion_tags_1,
|
||||
sizeof(asn_DEF_ComponentPortion_tags_1)
|
||||
/sizeof(asn_DEF_ComponentPortion_tags_1[0]) - 1, /* 1 */
|
||||
asn_DEF_ComponentPortion_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ComponentPortion_tags_1)
|
||||
/sizeof(asn_DEF_ComponentPortion_tags_1[0]), /* 2 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_ComponentPortion_1,
|
||||
1, /* Single element */
|
||||
&asn_SPC_ComponentPortion_specs_1 /* Additional specs */
|
||||
};
|
||||
|
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#ifndef _ComponentPortion_H_
|
||||
#define _ComponentPortion_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct Component;
|
||||
|
||||
/* ComponentPortion */
|
||||
typedef struct ComponentPortion {
|
||||
A_SEQUENCE_OF(struct Component) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} ComponentPortion_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ComponentPortion;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "Component.h"
|
||||
|
||||
#endif /* _ComponentPortion_H_ */
|
||||
#include <asn_internal.h>
|
@ -0,0 +1,130 @@
|
||||
/*
|
||||
* Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "TCAPMessages"
|
||||
* found in "../asn1/tcap.asn"
|
||||
*/
|
||||
|
||||
#include "ComponentType.h"
|
||||
|
||||
int
|
||||
ComponentType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
/* Replace with underlying type checker */
|
||||
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using ENUMERATED,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static void
|
||||
ComponentType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||
td->free_struct = asn_DEF_ENUMERATED.free_struct;
|
||||
td->print_struct = asn_DEF_ENUMERATED.print_struct;
|
||||
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
|
||||
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
|
||||
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
|
||||
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
|
||||
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
|
||||
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
|
||||
if(!td->per_constraints)
|
||||
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
|
||||
td->elements = asn_DEF_ENUMERATED.elements;
|
||||
td->elements_count = asn_DEF_ENUMERATED.elements_count;
|
||||
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
|
||||
}
|
||||
|
||||
void
|
||||
ComponentType_free(asn_TYPE_descriptor_t *td,
|
||||
void *struct_ptr, int contents_only) {
|
||||
ComponentType_1_inherit_TYPE_descriptor(td);
|
||||
td->free_struct(td, struct_ptr, contents_only);
|
||||
}
|
||||
|
||||
int
|
||||
ComponentType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ComponentType_1_inherit_TYPE_descriptor(td);
|
||||
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ComponentType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const void *bufptr, size_t size, int tag_mode) {
|
||||
ComponentType_1_inherit_TYPE_descriptor(td);
|
||||
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ComponentType_encode_der(asn_TYPE_descriptor_t *td,
|
||||
void *structure, int tag_mode, ber_tlv_tag_t tag,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ComponentType_1_inherit_TYPE_descriptor(td);
|
||||
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ComponentType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
|
||||
ComponentType_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ComponentType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
|
||||
int ilevel, enum xer_encoder_flags_e flags,
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
ComponentType_1_inherit_TYPE_descriptor(td);
|
||||
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
static asn_INTEGER_enum_map_t asn_MAP_ComponentType_value2enum_1[] = {
|
||||
{ 0, 3, "any" },
|
||||
{ 1, 6, "invoke" },
|
||||
{ 2, 7, "rResult" },
|
||||
{ 3, 6, "rError" },
|
||||
{ 4, 7, "rReject" }
|
||||
};
|
||||
static unsigned int asn_MAP_ComponentType_enum2value_1[] = {
|
||||
0, /* any(0) */
|
||||
1, /* invoke(1) */
|
||||
3, /* rError(3) */
|
||||
4, /* rReject(4) */
|
||||
2 /* rResult(2) */
|
||||
};
|
||||
static asn_INTEGER_specifics_t asn_SPC_ComponentType_specs_1 = {
|
||||
asn_MAP_ComponentType_value2enum_1, /* "tag" => N; sorted by tag */
|
||||
asn_MAP_ComponentType_enum2value_1, /* N => "tag"; sorted by N */
|
||||
5, /* Number of elements in the maps */
|
||||
0, /* Enumeration is not extensible */
|
||||
1, /* Strict enumeration */
|
||||
0, /* Native long size */
|
||||
0
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_ComponentType_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ComponentType = {
|
||||
"ComponentType",
|
||||
"ComponentType",
|
||||
ComponentType_free,
|
||||
ComponentType_print,
|
||||
ComponentType_constraint,
|
||||
ComponentType_decode_ber,
|
||||
ComponentType_encode_der,
|
||||
ComponentType_decode_xer,
|
||||
ComponentType_encode_xer,
|
||||
0, 0, /* No PER support, use "-gen-PER" to enable */
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_ComponentType_tags_1,
|
||||
sizeof(asn_DEF_ComponentType_tags_1)
|
||||
/sizeof(asn_DEF_ComponentType_tags_1[0]), /* 1 */
|
||||
asn_DEF_ComponentType_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ComponentType_tags_1)
|
||||
/sizeof(asn_DEF_ComponentType_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_ComponentType_specs_1 /* Additional specs */
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue