mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-cbc.git
synced 2025-10-23 00:12:21 +00:00
This commit adds initial support to encode/decode SBc-AP messages in the form of a library, under src/sbcap/ (includes in include/osmocom/sbcap/). asn1c is used to generate all suport code and structures for ASN.1 APER encoding/decoding, based on asn files obtained from 3GPP TS 29.168 and stored under src/sbcap/asn1/. Currently, mainstream asn1c doesn't yet support ASN.1 APER encoding/decoding, hence mouse07410 's fork is used [1]. Furthermore, several encdoing/decoding bugs where found during the process and fixed, which means asn1.c git >= 30219de2d3da888b4f1eea0dd79f2a505000401a must be used to generate proper code. A new "make -C src/ gen" target is added which can be used to regenerate all C code from the available ASN.1 files in src/sbcap/asn1/*.asn (after properly setting configure.ac ASN_* variables if needed). [1] https://github.com/mouse07410/asn1c Related: OS#4945 Change-Id: If76f8619a9b2d46af6d94b8ae49348b8514e53aa
83 lines
3.0 KiB
C
83 lines
3.0 KiB
C
/*
|
|
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
|
* From ASN.1 module "SBC-AP-PDU-Descriptions"
|
|
* found in "../../src/sbcap/asn1/SBC_AP_PDU_Descriptions.asn"
|
|
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
|
|
*/
|
|
|
|
#ifndef _SBcAP_InitiatingMessage_H_
|
|
#define _SBcAP_InitiatingMessage_H_
|
|
|
|
|
|
#include <asn_application.h>
|
|
|
|
/* Including external dependencies */
|
|
#include <osmocom/sbcap/SBcAP_ProcedureCode.h>
|
|
#include <osmocom/sbcap/SBcAP_Criticality.h>
|
|
#include <ANY.h>
|
|
#include <asn_ioc.h>
|
|
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Request.h>
|
|
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Response.h>
|
|
#include <osmocom/sbcap/SBcAP_Stop-Warning-Request.h>
|
|
#include <osmocom/sbcap/SBcAP_Stop-Warning-Response.h>
|
|
#include <osmocom/sbcap/SBcAP_Error-Indication.h>
|
|
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Indication.h>
|
|
#include <osmocom/sbcap/SBcAP_Stop-Warning-Indication.h>
|
|
#include <osmocom/sbcap/SBcAP_PWS-Restart-Indication.h>
|
|
#include <osmocom/sbcap/SBcAP_PWS-Failure-Indication.h>
|
|
#include <OPEN_TYPE.h>
|
|
#include <constr_CHOICE.h>
|
|
#include <constr_SEQUENCE.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Dependencies */
|
|
typedef enum SBcAP_InitiatingMessage__value_PR {
|
|
SBcAP_InitiatingMessage__value_PR_NOTHING, /* No components present */
|
|
SBcAP_InitiatingMessage__value_PR_Write_Replace_Warning_Request,
|
|
SBcAP_InitiatingMessage__value_PR_Stop_Warning_Request,
|
|
SBcAP_InitiatingMessage__value_PR_Error_Indication,
|
|
SBcAP_InitiatingMessage__value_PR_Write_Replace_Warning_Indication,
|
|
SBcAP_InitiatingMessage__value_PR_Stop_Warning_Indication,
|
|
SBcAP_InitiatingMessage__value_PR_PWS_Restart_Indication,
|
|
SBcAP_InitiatingMessage__value_PR_PWS_Failure_Indication
|
|
} SBcAP_InitiatingMessage__value_PR;
|
|
|
|
/* SBcAP_InitiatingMessage */
|
|
typedef struct SBcAP_InitiatingMessage {
|
|
SBcAP_ProcedureCode_t procedureCode;
|
|
SBcAP_Criticality_t criticality;
|
|
struct SBcAP_InitiatingMessage__value {
|
|
SBcAP_InitiatingMessage__value_PR present;
|
|
union SBcAP_InitiatingMessage__SBcAP_value_u {
|
|
SBcAP_Write_Replace_Warning_Request_t Write_Replace_Warning_Request;
|
|
SBcAP_Stop_Warning_Request_t Stop_Warning_Request;
|
|
SBcAP_Error_Indication_t Error_Indication;
|
|
SBcAP_Write_Replace_Warning_Indication_t Write_Replace_Warning_Indication;
|
|
SBcAP_Stop_Warning_Indication_t Stop_Warning_Indication;
|
|
SBcAP_PWS_Restart_Indication_t PWS_Restart_Indication;
|
|
SBcAP_PWS_Failure_Indication_t PWS_Failure_Indication;
|
|
} choice;
|
|
|
|
/* Context for parsing across buffer boundaries */
|
|
asn_struct_ctx_t _asn_ctx;
|
|
} value;
|
|
|
|
/* Context for parsing across buffer boundaries */
|
|
asn_struct_ctx_t _asn_ctx;
|
|
} SBcAP_InitiatingMessage_t;
|
|
|
|
/* Implementation */
|
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_InitiatingMessage;
|
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_InitiatingMessage_specs_1;
|
|
extern asn_TYPE_member_t asn_MBR_SBcAP_InitiatingMessage_1[3];
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _SBcAP_InitiatingMessage_H_ */
|
|
#include <asn_internal.h>
|