import asn1c-generated soruce and header files

This commit is contained in:
Harald Welte 2010-06-13 08:05:59 +02:00
commit 7f2b555196
63 changed files with 4712 additions and 0 deletions

43
include/Abort.h Normal file
View File

@ -0,0 +1,43 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "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_ */

45
include/Begin.h Normal file
View File

@ -0,0 +1,45 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Begin_H_
#define _Begin_H_
#include <asn_application.h>
/* Including external dependencies */
#include "OrigTransactionID.h"
#include "DialoguePortion.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct ComponentPortion;
/* Begin */
typedef struct Begin {
OrigTransactionID_t otid;
DialoguePortion_t *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 "ComponentPortion.h"
#endif /* _Begin_H_ */

56
include/Component.h Normal file
View File

@ -0,0 +1,56 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "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_ */

View File

@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "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_ */

47
include/Continue.h Normal file
View File

@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Continue_H_
#define _Continue_H_
#include <asn_application.h>
/* Including external dependencies */
#include "OrigTransactionID.h"
#include "DestTransactionID.h"
#include "DialoguePortion.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct ComponentPortion;
/* Continue */
typedef struct Continue {
OrigTransactionID_t otid;
DestTransactionID_t dtid;
DialoguePortion_t *dialoguePortion /* OPTIONAL */;
struct ComponentPortion *components /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Continue_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Continue;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "ComponentPortion.h"
#endif /* _Continue_H_ */

View File

@ -0,0 +1,37 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _DestTransactionID_H_
#define _DestTransactionID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OCTET_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* DestTransactionID */
typedef OCTET_STRING_t DestTransactionID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_DestTransactionID;
asn_struct_free_f DestTransactionID_free;
asn_struct_print_f DestTransactionID_print;
asn_constr_check_f DestTransactionID_constraint;
ber_type_decoder_f DestTransactionID_decode_ber;
der_type_encoder_f DestTransactionID_encode_der;
xer_type_decoder_f DestTransactionID_decode_xer;
xer_type_encoder_f DestTransactionID_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _DestTransactionID_H_ */

37
include/Dialog1.h Normal file
View File

@ -0,0 +1,37 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Dialog1_H_
#define _Dialog1_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OCTET_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dialog1 */
typedef OCTET_STRING_t Dialog1_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Dialog1;
asn_struct_free_f Dialog1_free;
asn_struct_print_f Dialog1_print;
asn_constr_check_f Dialog1_constraint;
ber_type_decoder_f Dialog1_decode_ber;
der_type_encoder_f Dialog1_encode_der;
xer_type_decoder_f Dialog1_decode_xer;
xer_type_encoder_f Dialog1_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _Dialog1_H_ */

37
include/DialogueOC.h Normal file
View File

@ -0,0 +1,37 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _DialogueOC_H_
#define _DialogueOC_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OCTET_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* DialogueOC */
typedef OCTET_STRING_t DialogueOC_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_DialogueOC;
asn_struct_free_f DialogueOC_free;
asn_struct_print_f DialogueOC_print;
asn_constr_check_f DialogueOC_constraint;
ber_type_decoder_f DialogueOC_decode_ber;
der_type_encoder_f DialogueOC_encode_der;
xer_type_decoder_f DialogueOC_decode_xer;
xer_type_encoder_f DialogueOC_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _DialogueOC_H_ */

37
include/DialoguePortion.h Normal file
View File

@ -0,0 +1,37 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _DialoguePortion_H_
#define _DialoguePortion_H_
#include <asn_application.h>
/* Including external dependencies */
#include "DialogueOC.h"
#ifdef __cplusplus
extern "C" {
#endif
/* DialoguePortion */
typedef DialogueOC_t DialoguePortion_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_DialoguePortion;
asn_struct_free_f DialoguePortion_free;
asn_struct_print_f DialoguePortion_print;
asn_constr_check_f DialoguePortion_constraint;
ber_type_decoder_f DialoguePortion_decode_ber;
der_type_encoder_f DialoguePortion_encode_der;
xer_type_decoder_f DialoguePortion_decode_xer;
xer_type_encoder_f DialoguePortion_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _DialoguePortion_H_ */

48
include/ERROR.h Normal file
View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _ERROR_H_
#define _ERROR_H_
#include <asn_application.h>
/* Including external dependencies */
#include <INTEGER.h>
#include <OBJECT_IDENTIFIER.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum ERROR_PR {
ERROR_PR_NOTHING, /* No components present */
ERROR_PR_localValue,
ERROR_PR_globalValue
} ERROR_PR;
/* ERROR */
typedef struct ERROR {
ERROR_PR present;
union ERROR_u {
INTEGER_t localValue;
OBJECT_IDENTIFIER_t globalValue;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ERROR_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ERROR;
#ifdef __cplusplus
}
#endif
#endif /* _ERROR_H_ */

45
include/End.h Normal file
View File

@ -0,0 +1,45 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _End_H_
#define _End_H_
#include <asn_application.h>
/* Including external dependencies */
#include "DestTransactionID.h"
#include "DialoguePortion.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct ComponentPortion;
/* End */
typedef struct End {
DestTransactionID_t dtid;
DialoguePortion_t *dialoguePortion /* OPTIONAL */;
struct ComponentPortion *components /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} End_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_End;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "ComponentPortion.h"
#endif /* _End_H_ */

48
include/ErrorCode.h Normal file
View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _ErrorCode_H_
#define _ErrorCode_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include <INTEGER.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum ErrorCode_PR {
ErrorCode_PR_NOTHING, /* No components present */
ErrorCode_PR_nationaler,
ErrorCode_PR_privateer
} ErrorCode_PR;
/* ErrorCode */
typedef struct ErrorCode {
ErrorCode_PR present;
union ErrorCode_u {
long nationaler;
INTEGER_t privateer;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ErrorCode_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ErrorCode;
#ifdef __cplusplus
}
#endif
#endif /* _ErrorCode_H_ */

38
include/ExternalPDU.h Normal file
View File

@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _ExternalPDU_H_
#define _ExternalPDU_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OBJECT_IDENTIFIER.h>
#include "Dialog1.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ExternalPDU */
typedef struct ExternalPDU {
OBJECT_IDENTIFIER_t oid;
Dialog1_t dialog;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ExternalPDU_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ExternalPDU;
#ifdef __cplusplus
}
#endif
#endif /* _ExternalPDU_H_ */

44
include/GeneralProblem.h Normal file
View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _GeneralProblem_H_
#define _GeneralProblem_H_
#include <asn_application.h>
/* Including external dependencies */
#include <INTEGER.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum GeneralProblem {
GeneralProblem_unrecognizedComponent = 0,
GeneralProblem_mistypedComponent = 1,
GeneralProblem_badlyStructuredComponent = 2
} e_GeneralProblem;
/* GeneralProblem */
typedef INTEGER_t GeneralProblem_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_GeneralProblem;
asn_struct_free_f GeneralProblem_free;
asn_struct_print_f GeneralProblem_print;
asn_constr_check_f GeneralProblem_constraint;
ber_type_decoder_f GeneralProblem_decode_ber;
der_type_encoder_f GeneralProblem_encode_der;
xer_type_decoder_f GeneralProblem_decode_xer;
xer_type_encoder_f GeneralProblem_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _GeneralProblem_H_ */

41
include/Invoke.h Normal file
View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Invoke_H_
#define _Invoke_H_
#include <asn_application.h>
/* Including external dependencies */
#include "InvokeIdType.h"
#include "OPERATION.h"
#include "Parameter.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Invoke */
typedef struct Invoke {
InvokeIdType_t invokeID;
InvokeIdType_t *linkedID /* OPTIONAL */;
OPERATION_t opCode;
Parameter_t *parameter /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Invoke_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Invoke;
#ifdef __cplusplus
}
#endif
#endif /* _Invoke_H_ */

37
include/InvokeIdType.h Normal file
View File

@ -0,0 +1,37 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _InvokeIdType_H_
#define _InvokeIdType_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* InvokeIdType */
typedef long InvokeIdType_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_InvokeIdType;
asn_struct_free_f InvokeIdType_free;
asn_struct_print_f InvokeIdType_print;
asn_constr_check_f InvokeIdType_constraint;
ber_type_decoder_f InvokeIdType_decode_ber;
der_type_encoder_f InvokeIdType_encode_der;
xer_type_decoder_f InvokeIdType_decode_xer;
xer_type_encoder_f InvokeIdType_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _InvokeIdType_H_ */

49
include/InvokeProblem.h Normal file
View File

@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _InvokeProblem_H_
#define _InvokeProblem_H_
#include <asn_application.h>
/* Including external dependencies */
#include <INTEGER.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum InvokeProblem {
InvokeProblem_duplicateInvokeID = 0,
InvokeProblem_unrecognizedOperation = 1,
InvokeProblem_mistypedParameter = 2,
InvokeProblem_resourceLimitation = 3,
InvokeProblem_initiatingRelease = 4,
InvokeProblem_unrecognizedLinkedID = 5,
InvokeProblem_linkedResponseUnexpected = 6,
InvokeProblem_unexpectedLinkedOperation = 7
} e_InvokeProblem;
/* InvokeProblem */
typedef INTEGER_t InvokeProblem_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_InvokeProblem;
asn_struct_free_f InvokeProblem_free;
asn_struct_print_f InvokeProblem_print;
asn_constr_check_f InvokeProblem_constraint;
ber_type_decoder_f InvokeProblem_decode_ber;
der_type_encoder_f InvokeProblem_encode_der;
xer_type_decoder_f InvokeProblem_decode_xer;
xer_type_encoder_f InvokeProblem_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _InvokeProblem_H_ */

48
include/OPERATION.h Normal file
View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _OPERATION_H_
#define _OPERATION_H_
#include <asn_application.h>
/* Including external dependencies */
#include <INTEGER.h>
#include <OBJECT_IDENTIFIER.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum OPERATION_PR {
OPERATION_PR_NOTHING, /* No components present */
OPERATION_PR_localValue,
OPERATION_PR_globalValue
} OPERATION_PR;
/* OPERATION */
typedef struct OPERATION {
OPERATION_PR present;
union OPERATION_u {
INTEGER_t localValue;
OBJECT_IDENTIFIER_t globalValue;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} OPERATION_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_OPERATION;
#ifdef __cplusplus
}
#endif
#endif /* _OPERATION_H_ */

View File

@ -0,0 +1,37 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _OrigTransactionID_H_
#define _OrigTransactionID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OCTET_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* OrigTransactionID */
typedef OCTET_STRING_t OrigTransactionID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_OrigTransactionID;
asn_struct_free_f OrigTransactionID_free;
asn_struct_print_f OrigTransactionID_print;
asn_constr_check_f OrigTransactionID_constraint;
ber_type_decoder_f OrigTransactionID_decode_ber;
der_type_encoder_f OrigTransactionID_encode_der;
xer_type_decoder_f OrigTransactionID_decode_xer;
xer_type_encoder_f OrigTransactionID_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _OrigTransactionID_H_ */

46
include/P-AbortCause.h Normal file
View File

@ -0,0 +1,46 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _P_AbortCause_H_
#define _P_AbortCause_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum P_AbortCause {
P_AbortCause_unrecognizedMessageType = 0,
P_AbortCause_unrecognizedTransactionID = 1,
P_AbortCause_badlyFormattedTransactionPortion = 2,
P_AbortCause_incorrectTransactionPortion = 3,
P_AbortCause_resourceLimitation = 4
} e_P_AbortCause;
/* P-AbortCause */
typedef long P_AbortCause_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_P_AbortCause;
asn_struct_free_f P_AbortCause_free;
asn_struct_print_f P_AbortCause_print;
asn_constr_check_f P_AbortCause_constraint;
ber_type_decoder_f P_AbortCause_decode_ber;
der_type_encoder_f P_AbortCause_encode_der;
xer_type_decoder_f P_AbortCause_decode_xer;
xer_type_encoder_f P_AbortCause_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _P_AbortCause_H_ */

37
include/Parameter.h Normal file
View File

@ -0,0 +1,37 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Parameter_H_
#define _Parameter_H_
#include <asn_application.h>
/* Including external dependencies */
#include <ANY.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Parameter */
typedef ANY_t Parameter_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Parameter;
asn_struct_free_f Parameter_free;
asn_struct_print_f Parameter_print;
asn_constr_check_f Parameter_constraint;
ber_type_decoder_f Parameter_decode_ber;
der_type_encoder_f Parameter_encode_der;
xer_type_decoder_f Parameter_decode_xer;
xer_type_encoder_f Parameter_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _Parameter_H_ */

48
include/Reason.h Normal file
View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Reason_H_
#define _Reason_H_
#include <asn_application.h>
/* Including external dependencies */
#include "P-AbortCause.h"
#include "DialoguePortion.h"
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Reason_PR {
Reason_PR_NOTHING, /* No components present */
Reason_PR_p_abortCause,
Reason_PR_u_abortCause
} Reason_PR;
/* Reason */
typedef struct Reason {
Reason_PR present;
union Reason_u {
P_AbortCause_t p_abortCause;
DialoguePortion_t u_abortCause;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Reason_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Reason;
#ifdef __cplusplus
}
#endif
#endif /* _Reason_H_ */

77
include/Reject.h Normal file
View File

@ -0,0 +1,77 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Reject_H_
#define _Reject_H_
#include <asn_application.h>
/* Including external dependencies */
#include "InvokeIdType.h"
#include <NULL.h>
#include <constr_CHOICE.h>
#include "GeneralProblem.h"
#include "InvokeProblem.h"
#include "ReturnResultProblem.h"
#include "ReturnErrorProblem.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum invokeIDRej_PR {
invokeIDRej_PR_NOTHING, /* No components present */
invokeIDRej_PR_derivable,
invokeIDRej_PR_not_derivable
} invokeIDRej_PR;
typedef enum problem_PR {
problem_PR_NOTHING, /* No components present */
problem_PR_generalProblem,
problem_PR_invokeProblem,
problem_PR_returnResultProblem,
problem_PR_returnErrorProblem
} problem_PR;
/* Reject */
typedef struct Reject {
struct invokeIDRej {
invokeIDRej_PR present;
union Reject__invokeIDRej_u {
InvokeIdType_t derivable;
NULL_t not_derivable;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} invokeIDRej;
struct problem {
problem_PR present;
union Reject__problem_u {
GeneralProblem_t generalProblem;
InvokeProblem_t invokeProblem;
ReturnResultProblem_t returnResultProblem;
ReturnErrorProblem_t returnErrorProblem;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} problem;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Reject_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Reject;
#ifdef __cplusplus
}
#endif
#endif /* _Reject_H_ */

40
include/ReturnError.h Normal file
View File

@ -0,0 +1,40 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _ReturnError_H_
#define _ReturnError_H_
#include <asn_application.h>
/* Including external dependencies */
#include "InvokeIdType.h"
#include "ErrorCode.h"
#include "Parameter.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ReturnError */
typedef struct ReturnError {
InvokeIdType_t invokeID;
ErrorCode_t errorCode;
Parameter_t *parameter /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ReturnError_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ReturnError;
#ifdef __cplusplus
}
#endif
#endif /* _ReturnError_H_ */

View File

@ -0,0 +1,46 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _ReturnErrorProblem_H_
#define _ReturnErrorProblem_H_
#include <asn_application.h>
/* Including external dependencies */
#include <INTEGER.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum ReturnErrorProblem {
ReturnErrorProblem_unrecognizedInvokeID = 0,
ReturnErrorProblem_returnErrorUnexpected = 1,
ReturnErrorProblem_unrecognizedError = 2,
ReturnErrorProblem_unexpectedError = 3,
ReturnErrorProblem_mistypedParameter = 4
} e_ReturnErrorProblem;
/* ReturnErrorProblem */
typedef INTEGER_t ReturnErrorProblem_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ReturnErrorProblem;
asn_struct_free_f ReturnErrorProblem_free;
asn_struct_print_f ReturnErrorProblem_print;
asn_constr_check_f ReturnErrorProblem_constraint;
ber_type_decoder_f ReturnErrorProblem_decode_ber;
der_type_encoder_f ReturnErrorProblem_encode_der;
xer_type_decoder_f ReturnErrorProblem_decode_xer;
xer_type_encoder_f ReturnErrorProblem_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _ReturnErrorProblem_H_ */

45
include/ReturnResult.h Normal file
View File

@ -0,0 +1,45 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _ReturnResult_H_
#define _ReturnResult_H_
#include <asn_application.h>
/* Including external dependencies */
#include "InvokeIdType.h"
#include "OPERATION.h"
#include "Parameter.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ReturnResult */
typedef struct ReturnResult {
InvokeIdType_t invokeID;
struct resultretres {
OPERATION_t opCode;
Parameter_t *parameter /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} *resultretres;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ReturnResult_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ReturnResult;
#ifdef __cplusplus
}
#endif
#endif /* _ReturnResult_H_ */

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _ReturnResultProblem_H_
#define _ReturnResultProblem_H_
#include <asn_application.h>
/* Including external dependencies */
#include <INTEGER.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum ReturnResultProblem {
ReturnResultProblem_unrecognizedInvokeID = 0,
ReturnResultProblem_returnResultUnexpected = 1,
ReturnResultProblem_mistypedParameter = 2
} e_ReturnResultProblem;
/* ReturnResultProblem */
typedef INTEGER_t ReturnResultProblem_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ReturnResultProblem;
asn_struct_free_f ReturnResultProblem_free;
asn_struct_print_f ReturnResultProblem_print;
asn_constr_check_f ReturnResultProblem_constraint;
ber_type_decoder_f ReturnResultProblem_decode_ber;
der_type_encoder_f ReturnResultProblem_encode_der;
xer_type_decoder_f ReturnResultProblem_decode_xer;
xer_type_encoder_f ReturnResultProblem_encode_xer;
#ifdef __cplusplus
}
#endif
#endif /* _ReturnResultProblem_H_ */

57
include/TCMessage.h Normal file
View File

@ -0,0 +1,57 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _TCMessage_H_
#define _TCMessage_H_
#include <asn_application.h>
/* Including external dependencies */
#include "Unidirectional.h"
#include "Begin.h"
#include "End.h"
#include "Continue.h"
#include "Abort.h"
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum TCMessage_PR {
TCMessage_PR_NOTHING, /* No components present */
TCMessage_PR_unidirectional,
TCMessage_PR_begin,
TCMessage_PR_end,
TCMessage_PR_continue,
TCMessage_PR_abort
} TCMessage_PR;
/* TCMessage */
typedef struct TCMessage {
TCMessage_PR present;
union TCMessage_u {
Unidirectional_t unidirectional;
Begin_t begin;
End_t end;
Continue_t Continue;
Abort_t abort;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} TCMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_TCMessage;
#ifdef __cplusplus
}
#endif
#endif /* _TCMessage_H_ */

38
include/Unidirectional.h Normal file
View File

@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#ifndef _Unidirectional_H_
#define _Unidirectional_H_
#include <asn_application.h>
/* Including external dependencies */
#include "DialoguePortion.h"
#include "ComponentPortion.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Unidirectional */
typedef struct Unidirectional {
DialoguePortion_t *dialoguePortion /* OPTIONAL */;
ComponentPortion_t components;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Unidirectional_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Unidirectional;
#ifdef __cplusplus
}
#endif
#endif /* _Unidirectional_H_ */

71
src/Abort.c Normal file
View File

@ -0,0 +1,71 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#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 55 */
{ (ASN_TAG_CLASS_APPLICATION | (10 << 2)), 1, 0, 0 }, /* p-abortCause at 60 */
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 1, 0, 0 } /* u-abortCause at 62 */
};
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 */
};

80
src/Begin.c Normal file
View File

@ -0,0 +1,80 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#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 35 */
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 1, 0, 0 }, /* dialoguePortion at 36 */
{ (ASN_TAG_CLASS_APPLICATION | (12 << 2)), 2, 0, 0 } /* components at 37 */
};
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 */
};

96
src/Component.c Normal file
View File

@ -0,0 +1,96 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#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 103 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* returnResultLast at 104 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* returnError at 105 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 }, /* reject at 106 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 4, 0, 0 } /* returnResultNotLast at 108 */
};
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 */
};

54
src/ComponentPortion.c Normal file
View File

@ -0,0 +1,54 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#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 */
};

90
src/Continue.c Normal file
View File

@ -0,0 +1,90 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "Continue.h"
static asn_TYPE_member_t asn_MBR_Continue_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Continue, 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_NOFLAGS, 0, offsetof(struct Continue, 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, 2, offsetof(struct Continue, 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 Continue, 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_Continue_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_Continue_tag2el_1[] = {
{ (ASN_TAG_CLASS_APPLICATION | (8 << 2)), 0, 0, 0 }, /* otid at 48 */
{ (ASN_TAG_CLASS_APPLICATION | (9 << 2)), 1, 0, 0 }, /* dtid at 49 */
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 2, 0, 0 }, /* dialoguePortion at 50 */
{ (ASN_TAG_CLASS_APPLICATION | (12 << 2)), 3, 0, 0 } /* components at 51 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Continue_specs_1 = {
sizeof(struct Continue),
offsetof(struct Continue, _asn_ctx),
asn_MAP_Continue_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_Continue = {
"Continue",
"Continue",
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_Continue_tags_1,
sizeof(asn_DEF_Continue_tags_1)
/sizeof(asn_DEF_Continue_tags_1[0]), /* 1 */
asn_DEF_Continue_tags_1, /* Same as above */
sizeof(asn_DEF_Continue_tags_1)
/sizeof(asn_DEF_Continue_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Continue_1,
4, /* Elements count */
&asn_SPC_Continue_specs_1 /* Additional specs */
};

128
src/DestTransactionID.c Normal file
View File

@ -0,0 +1,128 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "DestTransactionID.h"
int
DestTransactionID_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 <= 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
DestTransactionID_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
DestTransactionID_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
DestTransactionID_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
DestTransactionID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
DestTransactionID_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
DestTransactionID_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) {
DestTransactionID_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
DestTransactionID_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) {
DestTransactionID_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
DestTransactionID_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) {
DestTransactionID_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
DestTransactionID_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) {
DestTransactionID_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_DestTransactionID_tags_1[] = {
(ASN_TAG_CLASS_APPLICATION | (9 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_DestTransactionID = {
"DestTransactionID",
"DestTransactionID",
DestTransactionID_free,
DestTransactionID_print,
DestTransactionID_constraint,
DestTransactionID_decode_ber,
DestTransactionID_encode_der,
DestTransactionID_decode_xer,
DestTransactionID_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_DestTransactionID_tags_1,
sizeof(asn_DEF_DestTransactionID_tags_1)
/sizeof(asn_DEF_DestTransactionID_tags_1[0]) - 1, /* 1 */
asn_DEF_DestTransactionID_tags_1, /* Same as above */
sizeof(asn_DEF_DestTransactionID_tags_1)
/sizeof(asn_DEF_DestTransactionID_tags_1[0]), /* 2 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

109
src/Dialog1.c Normal file
View File

@ -0,0 +1,109 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "Dialog1.h"
int
Dialog1_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
Dialog1_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
Dialog1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Dialog1_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Dialog1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Dialog1_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Dialog1_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) {
Dialog1_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Dialog1_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) {
Dialog1_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Dialog1_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) {
Dialog1_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Dialog1_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) {
Dialog1_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_Dialog1_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Dialog1 = {
"Dialog1",
"Dialog1",
Dialog1_free,
Dialog1_print,
Dialog1_constraint,
Dialog1_decode_ber,
Dialog1_encode_der,
Dialog1_decode_xer,
Dialog1_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Dialog1_tags_1,
sizeof(asn_DEF_Dialog1_tags_1)
/sizeof(asn_DEF_Dialog1_tags_1[0]), /* 1 */
asn_DEF_Dialog1_tags_1, /* Same as above */
sizeof(asn_DEF_Dialog1_tags_1)
/sizeof(asn_DEF_Dialog1_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

109
src/DialogueOC.c Normal file
View File

@ -0,0 +1,109 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "DialogueOC.h"
int
DialogueOC_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
DialogueOC_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
DialogueOC_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
DialogueOC_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
DialogueOC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
DialogueOC_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
DialogueOC_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) {
DialogueOC_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
DialogueOC_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) {
DialogueOC_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
DialogueOC_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) {
DialogueOC_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
DialogueOC_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) {
DialogueOC_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_DialogueOC_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_DialogueOC = {
"DialogueOC",
"DialogueOC",
DialogueOC_free,
DialogueOC_print,
DialogueOC_constraint,
DialogueOC_decode_ber,
DialogueOC_encode_der,
DialogueOC_decode_xer,
DialogueOC_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_DialogueOC_tags_1,
sizeof(asn_DEF_DialogueOC_tags_1)
/sizeof(asn_DEF_DialogueOC_tags_1[0]), /* 1 */
asn_DEF_DialogueOC_tags_1, /* Same as above */
sizeof(asn_DEF_DialogueOC_tags_1)
/sizeof(asn_DEF_DialogueOC_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

80
src/DialoguePDUs.asn Normal file
View File

@ -0,0 +1,80 @@
-- $Id: DialoguePDUs.asn 26186 2008-09-13 11:44:33Z etxrab $
-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) version1(1)
} DEFINITIONS ::=
BEGIN
EXPORTS dialogue-as-id, DialoguePDU;
-- abstract syntax name for structured dialogue APDUs
dialogue-as-id OBJECT IDENTIFIER ::=
{itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)}
DialoguePDU ::= CHOICE {
dialogueRequest AARQ-apdu,
dialogueResponse AARE-apdu,
dialogueAbort ABRT-apdu
}
AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
protocol-version
[0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
application-context-name [1] OBJECT IDENTIFIER,
user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
}
AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
protocol-version
[0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
application-context-name [1] OBJECT IDENTIFIER,
result [2] Associate-result,
result-source-diagnostic [3] Associate-source-diagnostic,
user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
}
-- RLRQ PDU is currently not used.
-- It is included for completeness only.
RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
reason [0] IMPLICIT Release-request-reason OPTIONAL,
user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
}
-- RLRE PDU is currently not used.
-- It is included for completeness only
RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
reason [0] IMPLICIT Release-response-reason OPTIONAL,
user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
}
ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
abort-source [0] IMPLICIT ABRT-source,
user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
}
ABRT-source ::= INTEGER {dialogue-service-user(0), dialogue-service-provider(1)
}
Associate-result ::= INTEGER {accepted(0), reject-permanent(1)}
Associate-source-diagnostic ::= CHOICE {
dialogue-service-user
[1] INTEGER {null(0), no-reason-given(1),
application-context-name-not-supported(2)},
dialogue-service-provider
[2] INTEGER {null(0), no-reason-given(1), no-common-dialogue-portion(2)}
}
-- Release-request-reason is currently not used.
-- It is included for completeness only.
Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
}
-- Release-response-reason is currently not used.
-- It is included for completeness only.
Release-response-reason ::= INTEGER {
normal(0), not-finished(1), user-defined(30)}
END -- DialoguePDUs
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

110
src/DialoguePortion.c Normal file
View File

@ -0,0 +1,110 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "DialoguePortion.h"
int
DialoguePortion_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_DialogueOC.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using DialogueOC,
* so here we adjust the DEF accordingly.
*/
static void
DialoguePortion_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_DialogueOC.free_struct;
td->print_struct = asn_DEF_DialogueOC.print_struct;
td->ber_decoder = asn_DEF_DialogueOC.ber_decoder;
td->der_encoder = asn_DEF_DialogueOC.der_encoder;
td->xer_decoder = asn_DEF_DialogueOC.xer_decoder;
td->xer_encoder = asn_DEF_DialogueOC.xer_encoder;
td->uper_decoder = asn_DEF_DialogueOC.uper_decoder;
td->uper_encoder = asn_DEF_DialogueOC.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_DialogueOC.per_constraints;
td->elements = asn_DEF_DialogueOC.elements;
td->elements_count = asn_DEF_DialogueOC.elements_count;
td->specifics = asn_DEF_DialogueOC.specifics;
}
void
DialoguePortion_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
DialoguePortion_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
DialoguePortion_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
DialoguePortion_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
DialoguePortion_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) {
DialoguePortion_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
DialoguePortion_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) {
DialoguePortion_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
DialoguePortion_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) {
DialoguePortion_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
DialoguePortion_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) {
DialoguePortion_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_DialoguePortion_tags_1[] = {
(ASN_TAG_CLASS_APPLICATION | (11 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_DialoguePortion = {
"DialoguePortion",
"DialoguePortion",
DialoguePortion_free,
DialoguePortion_print,
DialoguePortion_constraint,
DialoguePortion_decode_ber,
DialoguePortion_encode_der,
DialoguePortion_decode_xer,
DialoguePortion_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_DialoguePortion_tags_1,
sizeof(asn_DEF_DialoguePortion_tags_1)
/sizeof(asn_DEF_DialoguePortion_tags_1[0]) - 1, /* 1 */
asn_DEF_DialoguePortion_tags_1, /* Same as above */
sizeof(asn_DEF_DialoguePortion_tags_1)
/sizeof(asn_DEF_DialoguePortion_tags_1[0]), /* 2 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

66
src/ERROR.c Normal file
View File

@ -0,0 +1,66 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "ERROR.h"
static asn_TYPE_member_t asn_MBR_ERROR_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ERROR, choice.localValue),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_INTEGER,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"localValue"
},
{ ATF_NOFLAGS, 0, offsetof(struct ERROR, choice.globalValue),
(ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
0,
&asn_DEF_OBJECT_IDENTIFIER,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"globalValue"
},
};
static asn_TYPE_tag2member_t asn_MAP_ERROR_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* localValue at 160 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 } /* globalValue at 161 */
};
static asn_CHOICE_specifics_t asn_SPC_ERROR_specs_1 = {
sizeof(struct ERROR),
offsetof(struct ERROR, _asn_ctx),
offsetof(struct ERROR, present),
sizeof(((struct ERROR *)0)->present),
asn_MAP_ERROR_tag2el_1,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_ERROR = {
"ERROR",
"ERROR",
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_ERROR_1,
2, /* Elements count */
&asn_SPC_ERROR_specs_1 /* Additional specs */
};

80
src/End.c Normal file
View File

@ -0,0 +1,80 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "End.h"
static asn_TYPE_member_t asn_MBR_End_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct End, 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, 2, offsetof(struct End, 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 End, 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_End_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_End_tag2el_1[] = {
{ (ASN_TAG_CLASS_APPLICATION | (9 << 2)), 0, 0, 0 }, /* dtid at 41 */
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 1, 0, 0 }, /* dialoguePortion at 42 */
{ (ASN_TAG_CLASS_APPLICATION | (12 << 2)), 2, 0, 0 } /* components at 43 */
};
static asn_SEQUENCE_specifics_t asn_SPC_End_specs_1 = {
sizeof(struct End),
offsetof(struct End, _asn_ctx),
asn_MAP_End_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_End = {
"End",
"End",
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_End_tags_1,
sizeof(asn_DEF_End_tags_1)
/sizeof(asn_DEF_End_tags_1[0]), /* 1 */
asn_DEF_End_tags_1, /* Same as above */
sizeof(asn_DEF_End_tags_1)
/sizeof(asn_DEF_End_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_End_1,
3, /* Elements count */
&asn_SPC_End_specs_1 /* Additional specs */
};

91
src/ErrorCode.c Normal file
View File

@ -0,0 +1,91 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "ErrorCode.h"
static int
memb_nationaler_constraint_1(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 >= -32768 && value <= 32767)) {
/* 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_ErrorCode_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ErrorCode, choice.nationaler),
(ASN_TAG_CLASS_PRIVATE | (19 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_nationaler_constraint_1,
0, /* PER is not compiled, use -gen-PER */
0,
"nationaler"
},
{ ATF_NOFLAGS, 0, offsetof(struct ErrorCode, choice.privateer),
(ASN_TAG_CLASS_PRIVATE | (20 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_INTEGER,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"privateer"
},
};
static asn_TYPE_tag2member_t asn_MAP_ErrorCode_tag2el_1[] = {
{ (ASN_TAG_CLASS_PRIVATE | (19 << 2)), 0, 0, 0 }, /* nationaler at 243 */
{ (ASN_TAG_CLASS_PRIVATE | (20 << 2)), 1, 0, 0 } /* privateer at 245 */
};
static asn_CHOICE_specifics_t asn_SPC_ErrorCode_specs_1 = {
sizeof(struct ErrorCode),
offsetof(struct ErrorCode, _asn_ctx),
offsetof(struct ErrorCode, present),
sizeof(((struct ErrorCode *)0)->present),
asn_MAP_ErrorCode_tag2el_1,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_ErrorCode = {
"ErrorCode",
"ErrorCode",
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_ErrorCode_1,
2, /* Elements count */
&asn_SPC_ErrorCode_specs_1 /* Additional specs */
};

71
src/ExternalPDU.c Normal file
View File

@ -0,0 +1,71 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "ExternalPDU.h"
static asn_TYPE_member_t asn_MBR_ExternalPDU_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ExternalPDU, oid),
(ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
0,
&asn_DEF_OBJECT_IDENTIFIER,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"oid"
},
{ ATF_NOFLAGS, 0, offsetof(struct ExternalPDU, dialog),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Dialog1,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"dialog"
},
};
static ber_tlv_tag_t asn_DEF_ExternalPDU_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (8 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_ExternalPDU_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 }, /* oid at 12 */
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 } /* dialog at 14 */
};
static asn_SEQUENCE_specifics_t asn_SPC_ExternalPDU_specs_1 = {
sizeof(struct ExternalPDU),
offsetof(struct ExternalPDU, _asn_ctx),
asn_MAP_ExternalPDU_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_ExternalPDU = {
"ExternalPDU",
"ExternalPDU",
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_ExternalPDU_tags_1,
sizeof(asn_DEF_ExternalPDU_tags_1)
/sizeof(asn_DEF_ExternalPDU_tags_1[0]) - 1, /* 1 */
asn_DEF_ExternalPDU_tags_1, /* Same as above */
sizeof(asn_DEF_ExternalPDU_tags_1)
/sizeof(asn_DEF_ExternalPDU_tags_1[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_ExternalPDU_1,
2, /* Elements count */
&asn_SPC_ExternalPDU_specs_1 /* Additional specs */
};

109
src/GeneralProblem.c Normal file
View File

@ -0,0 +1,109 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "GeneralProblem.h"
int
GeneralProblem_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
GeneralProblem_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
GeneralProblem_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
GeneralProblem_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
GeneralProblem_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
GeneralProblem_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
GeneralProblem_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) {
GeneralProblem_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
GeneralProblem_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) {
GeneralProblem_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
GeneralProblem_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) {
GeneralProblem_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
GeneralProblem_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) {
GeneralProblem_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_GeneralProblem_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_GeneralProblem = {
"GeneralProblem",
"GeneralProblem",
GeneralProblem_free,
GeneralProblem_print,
GeneralProblem_constraint,
GeneralProblem_decode_ber,
GeneralProblem_encode_der,
GeneralProblem_decode_xer,
GeneralProblem_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_GeneralProblem_tags_1,
sizeof(asn_DEF_GeneralProblem_tags_1)
/sizeof(asn_DEF_GeneralProblem_tags_1[0]), /* 1 */
asn_DEF_GeneralProblem_tags_1, /* Same as above */
sizeof(asn_DEF_GeneralProblem_tags_1)
/sizeof(asn_DEF_GeneralProblem_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

90
src/Invoke.c Normal file
View File

@ -0,0 +1,90 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "Invoke.h"
static asn_TYPE_member_t asn_MBR_Invoke_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Invoke, invokeID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_InvokeIdType,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"invokeID"
},
{ ATF_POINTER, 1, offsetof(struct Invoke, linkedID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_InvokeIdType,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"linkedID"
},
{ ATF_NOFLAGS, 0, offsetof(struct Invoke, opCode),
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_OPERATION,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"opCode"
},
{ ATF_OPEN_TYPE | ATF_POINTER, 1, offsetof(struct Invoke, parameter),
-1 /* Ambiguous tag (ANY?) */,
0,
&asn_DEF_Parameter,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"parameter"
},
};
static ber_tlv_tag_t asn_DEF_Invoke_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_Invoke_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* invokeID at 113 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* localValue at 156 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 2, 0, 0 }, /* globalValue at 157 */
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 } /* linkedID at 114 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Invoke_specs_1 = {
sizeof(struct Invoke),
offsetof(struct Invoke, _asn_ctx),
asn_MAP_Invoke_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_Invoke = {
"Invoke",
"Invoke",
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_Invoke_tags_1,
sizeof(asn_DEF_Invoke_tags_1)
/sizeof(asn_DEF_Invoke_tags_1[0]), /* 1 */
asn_DEF_Invoke_tags_1, /* Same as above */
sizeof(asn_DEF_Invoke_tags_1)
/sizeof(asn_DEF_Invoke_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Invoke_1,
4, /* Elements count */
&asn_SPC_Invoke_specs_1 /* Additional specs */
};

126
src/InvokeIdType.c Normal file
View File

@ -0,0 +1,126 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "InvokeIdType.h"
int
InvokeIdType_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 >= -128 && 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
InvokeIdType_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
InvokeIdType_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
InvokeIdType_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
InvokeIdType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
InvokeIdType_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
InvokeIdType_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) {
InvokeIdType_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
InvokeIdType_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) {
InvokeIdType_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
InvokeIdType_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) {
InvokeIdType_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
InvokeIdType_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) {
InvokeIdType_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_InvokeIdType_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_InvokeIdType = {
"InvokeIdType",
"InvokeIdType",
InvokeIdType_free,
InvokeIdType_print,
InvokeIdType_constraint,
InvokeIdType_decode_ber,
InvokeIdType_encode_der,
InvokeIdType_decode_xer,
InvokeIdType_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_InvokeIdType_tags_1,
sizeof(asn_DEF_InvokeIdType_tags_1)
/sizeof(asn_DEF_InvokeIdType_tags_1[0]), /* 1 */
asn_DEF_InvokeIdType_tags_1, /* Same as above */
sizeof(asn_DEF_InvokeIdType_tags_1)
/sizeof(asn_DEF_InvokeIdType_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

109
src/InvokeProblem.c Normal file
View File

@ -0,0 +1,109 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "InvokeProblem.h"
int
InvokeProblem_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
InvokeProblem_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
InvokeProblem_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
InvokeProblem_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
InvokeProblem_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
InvokeProblem_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
InvokeProblem_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) {
InvokeProblem_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
InvokeProblem_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) {
InvokeProblem_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
InvokeProblem_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) {
InvokeProblem_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
InvokeProblem_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) {
InvokeProblem_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_InvokeProblem_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_InvokeProblem = {
"InvokeProblem",
"InvokeProblem",
InvokeProblem_free,
InvokeProblem_print,
InvokeProblem_constraint,
InvokeProblem_decode_ber,
InvokeProblem_encode_der,
InvokeProblem_decode_xer,
InvokeProblem_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_InvokeProblem_tags_1,
sizeof(asn_DEF_InvokeProblem_tags_1)
/sizeof(asn_DEF_InvokeProblem_tags_1[0]), /* 1 */
asn_DEF_InvokeProblem_tags_1, /* Same as above */
sizeof(asn_DEF_InvokeProblem_tags_1)
/sizeof(asn_DEF_InvokeProblem_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

66
src/OPERATION.c Normal file
View File

@ -0,0 +1,66 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "OPERATION.h"
static asn_TYPE_member_t asn_MBR_OPERATION_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct OPERATION, choice.localValue),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_INTEGER,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"localValue"
},
{ ATF_NOFLAGS, 0, offsetof(struct OPERATION, choice.globalValue),
(ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
0,
&asn_DEF_OBJECT_IDENTIFIER,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"globalValue"
},
};
static asn_TYPE_tag2member_t asn_MAP_OPERATION_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* localValue at 156 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 } /* globalValue at 157 */
};
static asn_CHOICE_specifics_t asn_SPC_OPERATION_specs_1 = {
sizeof(struct OPERATION),
offsetof(struct OPERATION, _asn_ctx),
offsetof(struct OPERATION, present),
sizeof(((struct OPERATION *)0)->present),
asn_MAP_OPERATION_tag2el_1,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_OPERATION = {
"OPERATION",
"OPERATION",
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_OPERATION_1,
2, /* Elements count */
&asn_SPC_OPERATION_specs_1 /* Additional specs */
};

128
src/OrigTransactionID.c Normal file
View File

@ -0,0 +1,128 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "OrigTransactionID.h"
int
OrigTransactionID_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 <= 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
OrigTransactionID_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
OrigTransactionID_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
OrigTransactionID_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
OrigTransactionID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
OrigTransactionID_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
OrigTransactionID_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) {
OrigTransactionID_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
OrigTransactionID_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) {
OrigTransactionID_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
OrigTransactionID_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) {
OrigTransactionID_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
OrigTransactionID_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) {
OrigTransactionID_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_OrigTransactionID_tags_1[] = {
(ASN_TAG_CLASS_APPLICATION | (8 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_OrigTransactionID = {
"OrigTransactionID",
"OrigTransactionID",
OrigTransactionID_free,
OrigTransactionID_print,
OrigTransactionID_constraint,
OrigTransactionID_decode_ber,
OrigTransactionID_encode_der,
OrigTransactionID_decode_xer,
OrigTransactionID_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_OrigTransactionID_tags_1,
sizeof(asn_DEF_OrigTransactionID_tags_1)
/sizeof(asn_DEF_OrigTransactionID_tags_1[0]) - 1, /* 1 */
asn_DEF_OrigTransactionID_tags_1, /* Same as above */
sizeof(asn_DEF_OrigTransactionID_tags_1)
/sizeof(asn_DEF_OrigTransactionID_tags_1[0]), /* 2 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

127
src/P-AbortCause.c Normal file
View File

@ -0,0 +1,127 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "P-AbortCause.h"
int
P_AbortCause_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 >= 0 && 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
P_AbortCause_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
P_AbortCause_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
P_AbortCause_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
P_AbortCause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
P_AbortCause_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
P_AbortCause_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) {
P_AbortCause_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
P_AbortCause_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) {
P_AbortCause_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
P_AbortCause_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) {
P_AbortCause_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
P_AbortCause_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) {
P_AbortCause_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_P_AbortCause_tags_1[] = {
(ASN_TAG_CLASS_APPLICATION | (10 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_P_AbortCause = {
"P-AbortCause",
"P-AbortCause",
P_AbortCause_free,
P_AbortCause_print,
P_AbortCause_constraint,
P_AbortCause_decode_ber,
P_AbortCause_encode_der,
P_AbortCause_decode_xer,
P_AbortCause_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_P_AbortCause_tags_1,
sizeof(asn_DEF_P_AbortCause_tags_1)
/sizeof(asn_DEF_P_AbortCause_tags_1[0]) - 1, /* 1 */
asn_DEF_P_AbortCause_tags_1, /* Same as above */
sizeof(asn_DEF_P_AbortCause_tags_1)
/sizeof(asn_DEF_P_AbortCause_tags_1[0]), /* 2 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

104
src/Parameter.c Normal file
View File

@ -0,0 +1,104 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "Parameter.h"
int
Parameter_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_ANY.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ANY,
* so here we adjust the DEF accordingly.
*/
static void
Parameter_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ANY.free_struct;
td->print_struct = asn_DEF_ANY.print_struct;
td->ber_decoder = asn_DEF_ANY.ber_decoder;
td->der_encoder = asn_DEF_ANY.der_encoder;
td->xer_decoder = asn_DEF_ANY.xer_decoder;
td->xer_encoder = asn_DEF_ANY.xer_encoder;
td->uper_decoder = asn_DEF_ANY.uper_decoder;
td->uper_encoder = asn_DEF_ANY.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ANY.per_constraints;
td->elements = asn_DEF_ANY.elements;
td->elements_count = asn_DEF_ANY.elements_count;
td->specifics = asn_DEF_ANY.specifics;
}
void
Parameter_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Parameter_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Parameter_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Parameter_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Parameter_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) {
Parameter_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Parameter_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) {
Parameter_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Parameter_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) {
Parameter_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Parameter_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) {
Parameter_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_TYPE_descriptor_t asn_DEF_Parameter = {
"Parameter",
"Parameter",
Parameter_free,
Parameter_print,
Parameter_constraint,
Parameter_decode_ber,
Parameter_encode_der,
Parameter_decode_xer,
Parameter_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

66
src/Reason.c Normal file
View File

@ -0,0 +1,66 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "Reason.h"
static asn_TYPE_member_t asn_MBR_Reason_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Reason, choice.p_abortCause),
(ASN_TAG_CLASS_APPLICATION | (10 << 2)),
0,
&asn_DEF_P_AbortCause,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"p-abortCause"
},
{ ATF_NOFLAGS, 0, offsetof(struct Reason, choice.u_abortCause),
(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,
"u-abortCause"
},
};
static asn_TYPE_tag2member_t asn_MAP_Reason_tag2el_1[] = {
{ (ASN_TAG_CLASS_APPLICATION | (10 << 2)), 0, 0, 0 }, /* p-abortCause at 60 */
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 1, 0, 0 } /* u-abortCause at 62 */
};
static asn_CHOICE_specifics_t asn_SPC_Reason_specs_1 = {
sizeof(struct Reason),
offsetof(struct Reason, _asn_ctx),
offsetof(struct Reason, present),
sizeof(((struct Reason *)0)->present),
asn_MAP_Reason_tag2el_1,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Reason = {
"Reason",
"Reason",
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_Reason_1,
2, /* Elements count */
&asn_SPC_Reason_specs_1 /* Additional specs */
};

208
src/Reject.c Normal file
View File

@ -0,0 +1,208 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "Reject.h"
static asn_TYPE_member_t asn_MBR_invokeIDRej_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct invokeIDRej, choice.derivable),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_InvokeIdType,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"derivable"
},
{ ATF_NOFLAGS, 0, offsetof(struct invokeIDRej, choice.not_derivable),
(ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
0,
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"not-derivable"
},
};
static asn_TYPE_tag2member_t asn_MAP_invokeIDRej_tag2el_2[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* derivable at 144 */
{ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 1, 0, 0 } /* not-derivable at 145 */
};
static asn_CHOICE_specifics_t asn_SPC_invokeIDRej_specs_2 = {
sizeof(struct invokeIDRej),
offsetof(struct invokeIDRej, _asn_ctx),
offsetof(struct invokeIDRej, present),
sizeof(((struct invokeIDRej *)0)->present),
asn_MAP_invokeIDRej_tag2el_2,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_invokeIDRej_2 = {
"invokeIDRej",
"invokeIDRej",
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_invokeIDRej_2,
2, /* Elements count */
&asn_SPC_invokeIDRej_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_problem_5[] = {
{ ATF_NOFLAGS, 0, offsetof(struct problem, choice.generalProblem),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_GeneralProblem,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"generalProblem"
},
{ ATF_NOFLAGS, 0, offsetof(struct problem, choice.invokeProblem),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_InvokeProblem,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"invokeProblem"
},
{ ATF_NOFLAGS, 0, offsetof(struct problem, choice.returnResultProblem),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReturnResultProblem,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"returnResultProblem"
},
{ ATF_NOFLAGS, 0, offsetof(struct problem, choice.returnErrorProblem),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReturnErrorProblem,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"returnErrorProblem"
},
};
static asn_TYPE_tag2member_t asn_MAP_problem_tag2el_5[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* generalProblem at 147 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* invokeProblem at 148 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* returnResultProblem at 149 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* returnErrorProblem at 150 */
};
static asn_CHOICE_specifics_t asn_SPC_problem_specs_5 = {
sizeof(struct problem),
offsetof(struct problem, _asn_ctx),
offsetof(struct problem, present),
sizeof(((struct problem *)0)->present),
asn_MAP_problem_tag2el_5,
4, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_problem_5 = {
"problem",
"problem",
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_problem_5,
4, /* Elements count */
&asn_SPC_problem_specs_5 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Reject_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Reject, invokeIDRej),
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_invokeIDRej_2,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"invokeIDRej"
},
{ ATF_NOFLAGS, 0, offsetof(struct Reject, problem),
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_problem_5,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"problem"
},
};
static ber_tlv_tag_t asn_DEF_Reject_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_Reject_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* derivable at 144 */
{ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 0, 0, 0 }, /* not-derivable at 145 */
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* generalProblem at 147 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* invokeProblem at 148 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* returnResultProblem at 149 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* returnErrorProblem at 150 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Reject_specs_1 = {
sizeof(struct Reject),
offsetof(struct Reject, _asn_ctx),
asn_MAP_Reject_tag2el_1,
6, /* 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_Reject = {
"Reject",
"Reject",
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_Reject_tags_1,
sizeof(asn_DEF_Reject_tags_1)
/sizeof(asn_DEF_Reject_tags_1[0]), /* 1 */
asn_DEF_Reject_tags_1, /* Same as above */
sizeof(asn_DEF_Reject_tags_1)
/sizeof(asn_DEF_Reject_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Reject_1,
2, /* Elements count */
&asn_SPC_Reject_specs_1 /* Additional specs */
};

80
src/ReturnError.c Normal file
View File

@ -0,0 +1,80 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "ReturnError.h"
static asn_TYPE_member_t asn_MBR_ReturnError_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ReturnError, invokeID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_InvokeIdType,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"invokeID"
},
{ ATF_NOFLAGS, 0, offsetof(struct ReturnError, errorCode),
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_ErrorCode,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"errorCode"
},
{ ATF_OPEN_TYPE | ATF_POINTER, 1, offsetof(struct ReturnError, parameter),
-1 /* Ambiguous tag (ANY?) */,
0,
&asn_DEF_Parameter,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"parameter"
},
};
static ber_tlv_tag_t asn_DEF_ReturnError_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_ReturnError_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* invokeID at 135 */
{ (ASN_TAG_CLASS_PRIVATE | (19 << 2)), 1, 0, 0 }, /* nationaler at 243 */
{ (ASN_TAG_CLASS_PRIVATE | (20 << 2)), 1, 0, 0 } /* privateer at 245 */
};
static asn_SEQUENCE_specifics_t asn_SPC_ReturnError_specs_1 = {
sizeof(struct ReturnError),
offsetof(struct ReturnError, _asn_ctx),
asn_MAP_ReturnError_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_ReturnError = {
"ReturnError",
"ReturnError",
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_ReturnError_tags_1,
sizeof(asn_DEF_ReturnError_tags_1)
/sizeof(asn_DEF_ReturnError_tags_1[0]), /* 1 */
asn_DEF_ReturnError_tags_1, /* Same as above */
sizeof(asn_DEF_ReturnError_tags_1)
/sizeof(asn_DEF_ReturnError_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_ReturnError_1,
3, /* Elements count */
&asn_SPC_ReturnError_specs_1 /* Additional specs */
};

109
src/ReturnErrorProblem.c Normal file
View File

@ -0,0 +1,109 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "ReturnErrorProblem.h"
int
ReturnErrorProblem_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
ReturnErrorProblem_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
ReturnErrorProblem_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ReturnErrorProblem_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ReturnErrorProblem_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ReturnErrorProblem_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ReturnErrorProblem_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) {
ReturnErrorProblem_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ReturnErrorProblem_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) {
ReturnErrorProblem_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ReturnErrorProblem_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) {
ReturnErrorProblem_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ReturnErrorProblem_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) {
ReturnErrorProblem_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_ReturnErrorProblem_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_ReturnErrorProblem = {
"ReturnErrorProblem",
"ReturnErrorProblem",
ReturnErrorProblem_free,
ReturnErrorProblem_print,
ReturnErrorProblem_constraint,
ReturnErrorProblem_decode_ber,
ReturnErrorProblem_encode_der,
ReturnErrorProblem_decode_xer,
ReturnErrorProblem_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_ReturnErrorProblem_tags_1,
sizeof(asn_DEF_ReturnErrorProblem_tags_1)
/sizeof(asn_DEF_ReturnErrorProblem_tags_1[0]), /* 1 */
asn_DEF_ReturnErrorProblem_tags_1, /* Same as above */
sizeof(asn_DEF_ReturnErrorProblem_tags_1)
/sizeof(asn_DEF_ReturnErrorProblem_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

131
src/ReturnResult.c Normal file
View File

@ -0,0 +1,131 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "ReturnResult.h"
static asn_TYPE_member_t asn_MBR_resultretres_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct resultretres, opCode),
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_OPERATION,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"opCode"
},
{ ATF_OPEN_TYPE | ATF_POINTER, 1, offsetof(struct resultretres, parameter),
-1 /* Ambiguous tag (ANY?) */,
0,
&asn_DEF_Parameter,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"parameter"
},
};
static ber_tlv_tag_t asn_DEF_resultretres_tags_3[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_resultretres_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* localValue at 156 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 } /* globalValue at 157 */
};
static asn_SEQUENCE_specifics_t asn_SPC_resultretres_specs_3 = {
sizeof(struct resultretres),
offsetof(struct resultretres, _asn_ctx),
asn_MAP_resultretres_tag2el_3,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_resultretres_3 = {
"resultretres",
"resultretres",
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_resultretres_tags_3,
sizeof(asn_DEF_resultretres_tags_3)
/sizeof(asn_DEF_resultretres_tags_3[0]), /* 1 */
asn_DEF_resultretres_tags_3, /* Same as above */
sizeof(asn_DEF_resultretres_tags_3)
/sizeof(asn_DEF_resultretres_tags_3[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_resultretres_3,
2, /* Elements count */
&asn_SPC_resultretres_specs_3 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_ReturnResult_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ReturnResult, invokeID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_InvokeIdType,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"invokeID"
},
{ ATF_POINTER, 1, offsetof(struct ReturnResult, resultretres),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_resultretres_3,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"resultretres"
},
};
static ber_tlv_tag_t asn_DEF_ReturnResult_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_ReturnResult_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* invokeID at 124 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* resultretres at 126 */
};
static asn_SEQUENCE_specifics_t asn_SPC_ReturnResult_specs_1 = {
sizeof(struct ReturnResult),
offsetof(struct ReturnResult, _asn_ctx),
asn_MAP_ReturnResult_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_ReturnResult = {
"ReturnResult",
"ReturnResult",
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_ReturnResult_tags_1,
sizeof(asn_DEF_ReturnResult_tags_1)
/sizeof(asn_DEF_ReturnResult_tags_1[0]), /* 1 */
asn_DEF_ReturnResult_tags_1, /* Same as above */
sizeof(asn_DEF_ReturnResult_tags_1)
/sizeof(asn_DEF_ReturnResult_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_ReturnResult_1,
2, /* Elements count */
&asn_SPC_ReturnResult_specs_1 /* Additional specs */
};

109
src/ReturnResultProblem.c Normal file
View File

@ -0,0 +1,109 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "ReturnResultProblem.h"
int
ReturnResultProblem_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
ReturnResultProblem_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
ReturnResultProblem_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ReturnResultProblem_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ReturnResultProblem_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ReturnResultProblem_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ReturnResultProblem_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) {
ReturnResultProblem_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ReturnResultProblem_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) {
ReturnResultProblem_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ReturnResultProblem_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) {
ReturnResultProblem_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ReturnResultProblem_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) {
ReturnResultProblem_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static ber_tlv_tag_t asn_DEF_ReturnResultProblem_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_ReturnResultProblem = {
"ReturnResultProblem",
"ReturnResultProblem",
ReturnResultProblem_free,
ReturnResultProblem_print,
ReturnResultProblem_constraint,
ReturnResultProblem_decode_ber,
ReturnResultProblem_encode_der,
ReturnResultProblem_decode_xer,
ReturnResultProblem_encode_xer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_ReturnResultProblem_tags_1,
sizeof(asn_DEF_ReturnResultProblem_tags_1)
/sizeof(asn_DEF_ReturnResultProblem_tags_1[0]), /* 1 */
asn_DEF_ReturnResultProblem_tags_1, /* Same as above */
sizeof(asn_DEF_ReturnResultProblem_tags_1)
/sizeof(asn_DEF_ReturnResultProblem_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

View File

@ -0,0 +1,87 @@
-- Module TC-Notation-Extensions (Q.775:06/1997)
TC-Notation-Extensions {itu-t recommendation q 775 modules(2)
notation-extension(4) version1(1)} DEFINITIONS ::=
BEGIN
IMPORTS
TCMessage{}
FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
version3(3)}
Bind{}, Unbind{}
FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
remote-operations(4) generic-ROS-PDUs(6) version1(0)}
AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}, combine{}
FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
remote-operations(4) useful-definitions(7) version1(0)}
CONTRACT, OPERATION-PACKAGE
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
remote-operations(4) informationObjects(5) version1(0)}
UniDialoguePDU, uniDialogue-as-id
FROM UnidialoguePDUs {itu-t recommendation q 773 modules(2)
unidialoguePDUs(3) version1(1)}
DialoguePDU, dialogue-as-id
FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2)
version1(1)};
APPLICATION-CONTEXT ::= CLASS {
&associationContract CONTRACT,
&dialogueMode DialogueMode,
&termination Termination OPTIONAL,
&componentGrouping BOOLEAN DEFAULT TRUE,
&dialogueAndComponentGrouping BOOLEAN DEFAULT TRUE,
&AdditionalASEs OBJECT IDENTIFIER OPTIONAL,
&AbstractSyntaxes ABSTRACT-SYNTAX,
&applicationContextName OBJECT IDENTIFIER UNIQUE
}
WITH SYNTAX {
CONTRACT &associationContract
DIALOGUE MODE &dialogueMode
[TERMINATION &termination]
[COMPONENT GROUPING ALLOWED &componentGrouping]
[DIALOGUE WITH COMPONENTS ALLOWED &dialogueAndComponentGrouping]
[ADDITIONAL ASES &AdditionalASEs]
ABSTRACT SYNTAXES &AbstractSyntaxes
APPLICATION CONTEXT NAME &applicationContextName
}
DialogueMode ::= ENUMERATED {structured(1), unstructured(2)}
Termination ::= ENUMERATED {basic(1), prearranged(2)}
dialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
DialoguePDU
IDENTIFIED BY dialogue-as-id
}
uniDialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
UniDialoguePDU
IDENTIFIED BY uniDialogue-as-id
}
TCSingleAS{OPERATION-PACKAGE:package} ::=
TCMessage{{AllOperations {package}}, {AllOperations {package}}}
TCConsumerAS{OPERATION-PACKAGE:package} ::=
TCMessage{{ConsumerPerforms {package}}, {ConsumerPerforms {package}}}
TCSupplierAS{OPERATION-PACKAGE:package} ::=
TCMessage{{SupplierPerforms {package}}, {SupplierPerforms {package}}}
AllPackagesAS{APPLICATION-CONTEXT:ac} ::=
TCSingleAS
{combine{{ac.&associationContract.&OperationsOf |
ac.&associationContract.&InitiatorConsumerOf |
ac.&associationContract.&InitiatorSupplierOf},
{...}, --was illegaly empty, needs to be changed
{ -- Information Object of class OPERATION-PACKAGE to be defined --}}}
ConnectionAS{APPLICATION-CONTEXT:ac} ::= CHOICE {
bind Bind{ac.&associationContract.&connection.&bind},
unbind Unbind{ac.&associationContract.&connection.&unbind}
}
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

96
src/TCAPMessages.asn Normal file
View File

@ -0,0 +1,96 @@
-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- EXPORTS everything
-- Transaction Portion fields.
IMPORTS
ROS{}, InvokeId
FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
remote-operations(4) generic-ROS-PDUs(6) version1(0)}
OPERATION
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
remote-operations(4) informationObjects(5) version1(0)};
TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}},
begin [APPLICATION 2] Begin{{Invokable}, {Returnable}},
end [APPLICATION 4] End{{Invokable}, {Returnable}},
continue [APPLICATION 5] Continue{{Invokable}, {Returnable}},
abort [APPLICATION 7] Abort
}
Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion{{Invokable}, {Returnable}}
}
Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
otid OrigTransactionID,
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
}
End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
dtid DestTransactionID,
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
}
Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
otid OrigTransactionID,
dtid DestTransactionID,
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
}
Abort ::= SEQUENCE {
dtid DestTransactionID,
reason CHOICE {p-abortCause P-AbortCause,
u-abortCause DialoguePortion} OPTIONAL
}
-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
-- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
-- abstract syntax.
DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
-- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct
-- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured
-- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured
-- dialogue is used.
OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4))
DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4))
P-AbortCause ::= [APPLICATION 10] INTEGER {
unrecognizedMessageType(0), unrecognizedTransactionID(1),
badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3),
resourceLimitation(4)}(0..127)
-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the
-- component portion. The component portion may be absent.
ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::=
[APPLICATION 12]
SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}}
-- Component Portion fields
-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
-- operations, returning results or error, and for the rejection of invalid PDUs.
-- TCAP adds returnResultNotLast to allow for the segmentation of a result.
Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}},
returnResultNotLast
[7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}
}
TCInvokeIdSet ::= InvokeId(WITH COMPONENTS {
present (-128..127)
})
END -- TCAPMessages
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

96
src/TCMessage.c Normal file
View File

@ -0,0 +1,96 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "TCMessage.h"
static asn_TYPE_member_t asn_MBR_TCMessage_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct TCMessage, choice.unidirectional),
(ASN_TAG_CLASS_APPLICATION | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Unidirectional,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"unidirectional"
},
{ ATF_NOFLAGS, 0, offsetof(struct TCMessage, choice.begin),
(ASN_TAG_CLASS_APPLICATION | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Begin,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"begin"
},
{ ATF_NOFLAGS, 0, offsetof(struct TCMessage, choice.end),
(ASN_TAG_CLASS_APPLICATION | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_End,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"end"
},
{ ATF_NOFLAGS, 0, offsetof(struct TCMessage, choice.Continue),
(ASN_TAG_CLASS_APPLICATION | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Continue,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"continue"
},
{ ATF_NOFLAGS, 0, offsetof(struct TCMessage, choice.abort),
(ASN_TAG_CLASS_APPLICATION | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Abort,
0, /* Defer constraints checking to the member type */
0, /* PER is not compiled, use -gen-PER */
0,
"abort"
},
};
static asn_TYPE_tag2member_t asn_MAP_TCMessage_tag2el_1[] = {
{ (ASN_TAG_CLASS_APPLICATION | (1 << 2)), 0, 0, 0 }, /* unidirectional at 22 */
{ (ASN_TAG_CLASS_APPLICATION | (2 << 2)), 1, 0, 0 }, /* begin at 23 */
{ (ASN_TAG_CLASS_APPLICATION | (4 << 2)), 2, 0, 0 }, /* end at 24 */
{ (ASN_TAG_CLASS_APPLICATION | (5 << 2)), 3, 0, 0 }, /* continue at 25 */
{ (ASN_TAG_CLASS_APPLICATION | (7 << 2)), 4, 0, 0 } /* abort at 27 */
};
static asn_CHOICE_specifics_t asn_SPC_TCMessage_specs_1 = {
sizeof(struct TCMessage),
offsetof(struct TCMessage, _asn_ctx),
offsetof(struct TCMessage, present),
sizeof(((struct TCMessage *)0)->present),
asn_MAP_TCMessage_tag2el_1,
5, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_TCMessage = {
"TCMessage",
"TCMessage",
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_TCMessage_1,
5, /* Elements count */
&asn_SPC_TCMessage_specs_1 /* Additional specs */
};

25
src/UnidialoguePDUs.asn Normal file
View File

@ -0,0 +1,25 @@
-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
UnidialoguePDUs {itu-t recommendation q 773 modules(2) unidialoguePDUs(3)
version1(1)} DEFINITIONS ::=
BEGIN
EXPORTS uniDialogue-as-id, UniDialoguePDU;
-- Abstract syntax name for unstructured dialogue APDUs
uniDialogue-as-id OBJECT IDENTIFIER ::=
{itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)}
UniDialoguePDU ::= CHOICE {unidialoguePDU AUDT-apdu
}
AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
protocol-version
[0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
application-context-name [1] OBJECT IDENTIFIER,
user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
}
END -- UNIDialoguePDU
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

70
src/Unidirectional.c Normal file
View File

@ -0,0 +1,70 @@
/*
* Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
* From ASN.1 module "TCAPMessages"
* found in "tcap.asn"
*/
#include <asn_internal.h>
#include "Unidirectional.h"
static asn_TYPE_member_t asn_MBR_Unidirectional_1[] = {
{ ATF_POINTER, 1, offsetof(struct Unidirectional, 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_NOFLAGS, 0, offsetof(struct Unidirectional, 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_Unidirectional_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_Unidirectional_tag2el_1[] = {
{ (ASN_TAG_CLASS_APPLICATION | (11 << 2)), 0, 0, 0 }, /* dialoguePortion at 30 */
{ (ASN_TAG_CLASS_APPLICATION | (12 << 2)), 1, 0, 0 } /* components at 32 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Unidirectional_specs_1 = {
sizeof(struct Unidirectional),
offsetof(struct Unidirectional, _asn_ctx),
asn_MAP_Unidirectional_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_Unidirectional = {
"Unidirectional",
"Unidirectional",
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_Unidirectional_tags_1,
sizeof(asn_DEF_Unidirectional_tags_1)
/sizeof(asn_DEF_Unidirectional_tags_1[0]), /* 1 */
asn_DEF_Unidirectional_tags_1, /* Same as above */
sizeof(asn_DEF_Unidirectional_tags_1)
/sizeof(asn_DEF_Unidirectional_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Unidirectional_1,
2, /* Elements count */
&asn_SPC_Unidirectional_specs_1 /* Additional specs */
};

247
src/tcap.asn Normal file
View File

@ -0,0 +1,247 @@
-- $Id: tcap.asn 26192 2008-09-14 14:42:39Z etxrab $
TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
DEFINITIONS ::=
BEGIN
--EXPORTS OPERATION, ERROR, Component, InvokeId Type;
-- WS stuff
ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
{
oid OBJECT IDENTIFIER,
dialog [0] IMPLICIT Dialog1
}
Dialog1 ::= OCTET STRING
-- End WS
-- Transaction Portion fields
TCMessage ::= CHOICE {
unidirectional [APPLICATION 1] IMPLICIT Unidirectional,
begin [APPLICATION 2] IMPLICIT Begin,
end [APPLICATION 4] IMPLICIT End,
continue [APPLICATION 5] IMPLICIT Continue,
abort [APPLICATION 7] IMPLICIT Abort
}
Unidirectional ::= SEQUENCE{
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion
}
Begin ::= SEQUENCE{
otid OrigTransactionID,
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion OPTIONAL
}
End ::= SEQUENCE{
dtid DestTransactionID,
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion OPTIONAL
}
Continue ::= SEQUENCE {
otid OrigTransactionID,
dtid DestTransactionID,
dialoguePortion DialoguePortion OPTIONAL,
components ComponentPortion OPTIONAL
}
Abort ::= SEQUENCE{
dtid DestTransactionID,
reason Reason OPTIONAL
}
Reason ::= CHOICE{
p-abortCause P-AbortCause,
u-abortCause DialoguePortion
}
-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
-- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
-- abstract syntax.
--DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
-- WS adaptation
DialoguePortion ::= [APPLICATION 11] IMPLICIT DialogueOC
DialogueOC ::= OCTET STRING
-- The dialogue portion carries the dialogue control PDUs as value of the external data type.
-- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) }
-- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) }
-- if unstructured dialogue is used or any user defined abstract syntax name when only user information
-- is carried (e.g. when user information is sent in a 1988 Abort message).
OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )
P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER {
unrecognizedMessageType (0),
unrecognizedTransactionID (1),
badlyFormattedTransactionPortion (2),
incorrectTransactionPortion (3),
resourceLimitation (4)}(0..127)
-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion.
-- The Component Portion may be absent.
ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component
-- Component Portion fields
-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
-- operations, returning results or error, and for the rejection of invalid PDUs.
-- TCAP adds returnResultNotLast to allow for the segmentation of a result.
Component ::= CHOICE {
invoke [1] IMPLICIT Invoke,
returnResultLast [2] IMPLICIT ReturnResult,
returnError [3] IMPLICIT ReturnError,
reject [4] IMPLICIT Reject,
returnResultNotLast [7] IMPLICIT ReturnResult
}
-- The Components are sequences of data elements.
Invoke ::= SEQUENCE {
invokeID InvokeIdType,
linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
opCode OPERATION,
parameter Parameter OPTIONAL }
Parameter ::= ANY
-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
-- in the type definition of a particular operation.
ReturnResult ::= SEQUENCE {
invokeID InvokeIdType,
resultretres SEQUENCE {
opCode OPERATION,
parameter Parameter OPTIONAL
} OPTIONAL
}
-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
-- of a particular operation.
ReturnError ::= SEQUENCE {
invokeID InvokeIdType,
errorCode ErrorCode,
parameter Parameter OPTIONAL }
-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
-- of a particular error.
Reject ::= SEQUENCE {
invokeIDRej CHOICE {
derivable InvokeIdType,
not-derivable NULL },
problem CHOICE {
generalProblem [0] IMPLICIT GeneralProblem,
invokeProblem [1] IMPLICIT InvokeProblem,
returnResultProblem [2] IMPLICIT ReturnResultProblem,
returnErrorProblem [3] IMPLICIT ReturnErrorProblem } }
InvokeIdType ::= INTEGER (-128..127)
OPERATION ::= CHOICE {
localValue INTEGER,
globalValue OBJECT IDENTIFIER }
ERROR ::= CHOICE {
localValue INTEGER,
globalValue OBJECT IDENTIFIER }
-- OPERATIONS
-- Operations are specified with the OPERATION MACRO.
-- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated.
-- Default values and optional parameters are permitted.
--OPERATION MACRO ::=
--BEGIN
-- TYPE NOTATION ::= Parameter Result Errors LinkedOperations
-- VALUE NOTATION ::= value (VALUE CHOICE {
-- localValue INTEGER,
-- globalValue OBJECT IDENTIFIER } )
-- Parameter ::= ArgKeyword NamedType | empty
-- ArgKeyword ::= "ARGUMENT" | "PARAMETER"
-- Result ::= "RESULT" ResultType | empty
-- Errors ::= "ERRORS" "{"ErrorNames"}" | empty
-- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty
-- ResultType ::= NamedType | empty
-- ErrorNames ::= ErrorList | empty
-- ErrorList ::= Error | ErrorList "," Error
-- Error ::= value (ERROR)
-- shall reference an error value
--| type shall reference an error type
-- if no error value is specified
-- LinkedOperationNames ::= OperationList | empty
-- OperationList ::= Operation | OperationList "," Operation
-- Operation ::= value (OPERATION)
-- shall reference an operation value
-- | type shall reference an operation type if
-- no operation value is specified
-- NamedType ::= identifier type | type
--END
-- ERRORS
-- Errors are specified with the ERROR MACRO.
-- When an error is specified, the valid parameters for that error are indicated.
-- Default values and optional parameters are permitted.
--ERROR MACRO ::=
--
--BEGIN
-- TYPE NOTATION ::= Parameter
-- VALUE NOTATION ::= value (VALUE CHOICE {
-- localValue INTEGER,
-- globalValue OBJECT IDENTIFIER } )
-- Parameter ::= "PARAMETER" NamedType | empty
-- NamedType ::= identifier type | type
--END
-- PROBLEMS
GeneralProblem ::= INTEGER { unrecognizedComponent (0),
mistypedComponent (1),
badlyStructuredComponent (2) }
InvokeProblem ::= INTEGER { duplicateInvokeID (0),
unrecognizedOperation (1),
mistypedParameter (2),
resourceLimitation (3),
initiatingRelease (4),
unrecognizedLinkedID (5),
linkedResponseUnexpected (6),
unexpectedLinkedOperation (7) }
ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
returnResultUnexpected (1),
mistypedParameter (2) }
ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
returnErrorUnexpected (1),
unrecognizedError (2),
unexpectedError (3),
mistypedParameter (4) }
ErrorCode ::= CHOICE
{
nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767),
privateer [PRIVATE 20] IMPLICIT INTEGER
}
END -- end of the TCAP Package Module