From 0f0814d43dd898d1981c4dccc7732e74fb9782fa Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 18 Jul 2010 11:55:07 +0200 Subject: apply some fixes that are required to make the asn1c-constructed headers work --- asn1c-fixup.patch | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ include/AARE-apdu.h | 7 +++- include/AARQ-apdu.h | 7 +++- include/ABRT-apdu.h | 2 +- include/AUDT-apdu.h | 6 ++- 5 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 asn1c-fixup.patch diff --git a/asn1c-fixup.patch b/asn1c-fixup.patch new file mode 100644 index 0000000..f110747 --- /dev/null +++ b/asn1c-fixup.patch @@ -0,0 +1,105 @@ +This patch needs to be applied to the asn1c output in order to +make sure we don't re-define the 'user_information' for every different +Dialogue portion PDU type and to make the EXTERNAL magic work +diff -Nru /usr/local/include/osmocom/tcap//AARE-apdu.h ./AARE-apdu.h +--- /usr/local/include/osmocom/tcap//AARE-apdu.h 2010-07-16 12:50:01.000000000 +0200 ++++ ./AARE-apdu.h 2010-07-09 15:40:49.000000000 +0200 +@@ -15,7 +15,7 @@ + #include + #include "Associate-result.h" + #include "Associate-source-diagnostic.h" +-#include "EXTERNAL.h" ++#include + #include + #include + #include +@@ -35,17 +35,12 @@ + OBJECT_IDENTIFIER_t application_context_name; + Associate_result_t result; + Associate_source_diagnostic_t result_source_diagnostic; +-#if 0 + struct AARE_user_information { + A_SEQUENCE_OF(EXTERNAL_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *user_information; +-#else +- /* use the definition from ABRT-apdu.h */ +- struct user_information *user_information; +-#endif + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +diff -Nru /usr/local/include/osmocom/tcap//AARQ-apdu.h ./AARQ-apdu.h +--- /usr/local/include/osmocom/tcap//AARQ-apdu.h 2010-07-16 12:50:00.000000000 +0200 ++++ ./AARQ-apdu.h 2010-07-09 15:40:49.000000000 +0200 +@@ -13,7 +13,7 @@ + /* Including external dependencies */ + #include + #include +-#include "EXTERNAL.h" ++#include + #include + #include + #include +@@ -26,17 +26,12 @@ + typedef struct AARQ_apdu { + BIT_STRING_t *protocol_version /* DEFAULT {version1} */; + OBJECT_IDENTIFIER_t application_context_name; +-#if 0 + struct AARQ_user_information { + A_SEQUENCE_OF(EXTERNAL_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *user_information; +-#else +- /* use the definition from ABRT-apdu.h */ +- struct user_information *user_information; +-#endif + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +diff -Nru /usr/local/include/osmocom/tcap//ABRT-apdu.h ./ABRT-apdu.h +--- /usr/local/include/osmocom/tcap//ABRT-apdu.h 2010-07-16 12:50:02.000000000 +0200 ++++ ./ABRT-apdu.h 2010-07-09 15:40:49.000000000 +0200 +@@ -12,7 +12,7 @@ + + /* Including external dependencies */ + #include "ABRT-source.h" +-#include "EXTERNAL.h" ++#include + #include + #include + #include +diff -Nru /usr/local/include/osmocom/tcap//AUDT-apdu.h ./AUDT-apdu.h +--- /usr/local/include/osmocom/tcap//AUDT-apdu.h 2010-07-17 00:09:36.000000000 +0200 ++++ ./AUDT-apdu.h 2010-07-09 15:40:49.000000000 +0200 +@@ -13,7 +13,7 @@ + /* Including external dependencies */ + #include + #include +-#include "EXTERNAL.h" ++#include + #include + #include + #include +@@ -26,16 +26,12 @@ + typedef struct AUDT_apdu { + BIT_STRING_t *protocol_version /* DEFAULT {version1} */; + OBJECT_IDENTIFIER_t application_context_name; +-#if 0 + struct user_information { + A_SEQUENCE_OF(EXTERNAL_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *user_information; +-#else +- struct user_information *user_information; +-#endif + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + diff --git a/include/AARE-apdu.h b/include/AARE-apdu.h index 3f9eb34..ae10fda 100644 --- a/include/AARE-apdu.h +++ b/include/AARE-apdu.h @@ -15,7 +15,7 @@ #include #include "Associate-result.h" #include "Associate-source-diagnostic.h" -#include +#include "EXTERNAL.h" #include #include #include @@ -35,12 +35,17 @@ typedef struct AARE_apdu { OBJECT_IDENTIFIER_t application_context_name; Associate_result_t result; Associate_source_diagnostic_t result_source_diagnostic; +#if 0 struct AARE_user_information { A_SEQUENCE_OF(EXTERNAL_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } *user_information; +#else + /* use the definition from ABRT-apdu.h */ + struct user_information *user_information; +#endif /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; diff --git a/include/AARQ-apdu.h b/include/AARQ-apdu.h index 999bc66..747bd3e 100644 --- a/include/AARQ-apdu.h +++ b/include/AARQ-apdu.h @@ -13,7 +13,7 @@ /* Including external dependencies */ #include #include -#include +#include "EXTERNAL.h" #include #include #include @@ -26,12 +26,17 @@ extern "C" { typedef struct AARQ_apdu { BIT_STRING_t *protocol_version /* DEFAULT {version1} */; OBJECT_IDENTIFIER_t application_context_name; +#if 0 struct AARQ_user_information { A_SEQUENCE_OF(EXTERNAL_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } *user_information; +#else + /* use the definition from ABRT-apdu.h */ + struct user_information *user_information; +#endif /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; diff --git a/include/ABRT-apdu.h b/include/ABRT-apdu.h index 7ee4c1b..dcaa403 100644 --- a/include/ABRT-apdu.h +++ b/include/ABRT-apdu.h @@ -12,7 +12,7 @@ /* Including external dependencies */ #include "ABRT-source.h" -#include +#include "EXTERNAL.h" #include #include #include diff --git a/include/AUDT-apdu.h b/include/AUDT-apdu.h index 4bf29f2..8604496 100644 --- a/include/AUDT-apdu.h +++ b/include/AUDT-apdu.h @@ -13,7 +13,7 @@ /* Including external dependencies */ #include #include -#include +#include "EXTERNAL.h" #include #include #include @@ -26,12 +26,16 @@ extern "C" { typedef struct AUDT_apdu { BIT_STRING_t *protocol_version /* DEFAULT {version1} */; OBJECT_IDENTIFIER_t application_context_name; +#if 0 struct user_information { A_SEQUENCE_OF(EXTERNAL_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } *user_information; +#else + struct user_information *user_information; +#endif /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; -- cgit v1.2.3