sbcap: Update asn1c skeleton files
Update skeleton files using newest asn1c with APER support [1], commit 08b293e8aa342d465d26805d1d66f3595b2ce261. This contains among others, fix to automatically disable stack overflow checks [2] when using ASan, in order to avoid failing during unit test run. [1] https://github.com/mouse07410/asn1c/tree/vlm_master [2] https://github.com/mouse07410/asn1c/pull/128 Related: OS#6025 Change-Id: I385d14d4be308b991a48ce1033087f07bd1f47ea
This commit is contained in:
parent
a7aca0333b
commit
292b2e895b
|
@ -29,12 +29,12 @@ typedef long SBcAP_Concurrent_Warning_Message_Indicator_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_Concurrent_Warning_Message_Indicator_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_Concurrent_Warning_Message_Indicator_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Concurrent_Warning_Message_Indicator;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Concurrent_Warning_Message_Indicator;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_Concurrent_Warning_Message_Indicator_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_Concurrent_Warning_Message_Indicator_specs_1;
|
||||||
asn_struct_free_f Concurrent_Warning_Message_Indicator_free;
|
asn_struct_free_f SBcAP_Concurrent_Warning_Message_Indicator_free;
|
||||||
asn_struct_print_f Concurrent_Warning_Message_Indicator_print;
|
asn_struct_print_f SBcAP_Concurrent_Warning_Message_Indicator_print;
|
||||||
asn_constr_check_f Concurrent_Warning_Message_Indicator_constraint;
|
asn_constr_check_f SBcAP_Concurrent_Warning_Message_Indicator_constraint;
|
||||||
per_type_decoder_f Concurrent_Warning_Message_Indicator_decode_aper;
|
per_type_decoder_f SBcAP_Concurrent_Warning_Message_Indicator_decode_aper;
|
||||||
per_type_encoder_f Concurrent_Warning_Message_Indicator_encode_aper;
|
per_type_encoder_f SBcAP_Concurrent_Warning_Message_Indicator_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,12 +31,12 @@ typedef long SBcAP_Criticality_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_Criticality_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_Criticality_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Criticality;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Criticality;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_Criticality_specs_1;
|
||||||
asn_struct_free_f Criticality_free;
|
asn_struct_free_f SBcAP_Criticality_free;
|
||||||
asn_struct_print_f Criticality_print;
|
asn_struct_print_f SBcAP_Criticality_print;
|
||||||
asn_constr_check_f Criticality_constraint;
|
asn_constr_check_f SBcAP_Criticality_constraint;
|
||||||
per_type_decoder_f Criticality_decode_aper;
|
per_type_decoder_f SBcAP_Criticality_decode_aper;
|
||||||
per_type_encoder_f Criticality_encode_aper;
|
per_type_encoder_f SBcAP_Criticality_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,8 @@ typedef struct SBcAP_Error_Indication {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Error_Indication;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Error_Indication;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Error_Indication_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_Error_Indication_1[1];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_PWS_Failure_Indication {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Failure_Indication;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Failure_Indication;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Failure_Indication_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_PWS_Failure_Indication_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_PWS_Restart_Indication {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Restart_Indication;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Restart_Indication;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Restart_Indication_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_PWS_Restart_Indication_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,12 +31,12 @@ typedef long SBcAP_Presence_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_Presence_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_Presence_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Presence;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Presence;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_Presence_specs_1;
|
||||||
asn_struct_free_f Presence_free;
|
asn_struct_free_f SBcAP_Presence_free;
|
||||||
asn_struct_print_f Presence_print;
|
asn_struct_print_f SBcAP_Presence_print;
|
||||||
asn_constr_check_f Presence_constraint;
|
asn_constr_check_f SBcAP_Presence_constraint;
|
||||||
per_type_decoder_f Presence_decode_aper;
|
per_type_decoder_f SBcAP_Presence_decode_aper;
|
||||||
per_type_encoder_f Presence_encode_aper;
|
per_type_encoder_f SBcAP_Presence_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,12 +29,12 @@ typedef long SBcAP_RAT_Selector_5GS_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_RAT_Selector_5GS_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_RAT_Selector_5GS_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_RAT_Selector_5GS;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_RAT_Selector_5GS;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_RAT_Selector_5GS_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_RAT_Selector_5GS_specs_1;
|
||||||
asn_struct_free_f RAT_Selector_5GS_free;
|
asn_struct_free_f SBcAP_RAT_Selector_5GS_free;
|
||||||
asn_struct_print_f RAT_Selector_5GS_print;
|
asn_struct_print_f SBcAP_RAT_Selector_5GS_print;
|
||||||
asn_constr_check_f RAT_Selector_5GS_constraint;
|
asn_constr_check_f SBcAP_RAT_Selector_5GS_constraint;
|
||||||
per_type_decoder_f RAT_Selector_5GS_decode_aper;
|
per_type_decoder_f SBcAP_RAT_Selector_5GS_decode_aper;
|
||||||
per_type_encoder_f RAT_Selector_5GS_encode_aper;
|
per_type_encoder_f SBcAP_RAT_Selector_5GS_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,12 +29,12 @@ typedef long SBcAP_Send_Stop_Warning_Indication_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_Send_Stop_Warning_Indication_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_Send_Stop_Warning_Indication_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Send_Stop_Warning_Indication;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Send_Stop_Warning_Indication;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_Send_Stop_Warning_Indication_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_Send_Stop_Warning_Indication_specs_1;
|
||||||
asn_struct_free_f Send_Stop_Warning_Indication_free;
|
asn_struct_free_f SBcAP_Send_Stop_Warning_Indication_free;
|
||||||
asn_struct_print_f Send_Stop_Warning_Indication_print;
|
asn_struct_print_f SBcAP_Send_Stop_Warning_Indication_print;
|
||||||
asn_constr_check_f Send_Stop_Warning_Indication_constraint;
|
asn_constr_check_f SBcAP_Send_Stop_Warning_Indication_constraint;
|
||||||
per_type_decoder_f Send_Stop_Warning_Indication_decode_aper;
|
per_type_decoder_f SBcAP_Send_Stop_Warning_Indication_decode_aper;
|
||||||
per_type_encoder_f Send_Stop_Warning_Indication_encode_aper;
|
per_type_encoder_f SBcAP_Send_Stop_Warning_Indication_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,12 +29,12 @@ typedef long SBcAP_Send_Write_Replace_Warning_Indication_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_Send_Write_Replace_Warning_Indication_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_Send_Write_Replace_Warning_Indication_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Send_Write_Replace_Warning_Indication;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Send_Write_Replace_Warning_Indication;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_Send_Write_Replace_Warning_Indication_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_Send_Write_Replace_Warning_Indication_specs_1;
|
||||||
asn_struct_free_f Send_Write_Replace_Warning_Indication_free;
|
asn_struct_free_f SBcAP_Send_Write_Replace_Warning_Indication_free;
|
||||||
asn_struct_print_f Send_Write_Replace_Warning_Indication_print;
|
asn_struct_print_f SBcAP_Send_Write_Replace_Warning_Indication_print;
|
||||||
asn_constr_check_f Send_Write_Replace_Warning_Indication_constraint;
|
asn_constr_check_f SBcAP_Send_Write_Replace_Warning_Indication_constraint;
|
||||||
per_type_decoder_f Send_Write_Replace_Warning_Indication_decode_aper;
|
per_type_decoder_f SBcAP_Send_Write_Replace_Warning_Indication_decode_aper;
|
||||||
per_type_encoder_f Send_Write_Replace_Warning_Indication_encode_aper;
|
per_type_encoder_f SBcAP_Send_Write_Replace_Warning_Indication_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,12 +29,12 @@ typedef long SBcAP_Stop_All_Indicator_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_Stop_All_Indicator_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_Stop_All_Indicator_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_All_Indicator;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_All_Indicator;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_Stop_All_Indicator_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_Stop_All_Indicator_specs_1;
|
||||||
asn_struct_free_f Stop_All_Indicator_free;
|
asn_struct_free_f SBcAP_Stop_All_Indicator_free;
|
||||||
asn_struct_print_f Stop_All_Indicator_print;
|
asn_struct_print_f SBcAP_Stop_All_Indicator_print;
|
||||||
asn_constr_check_f Stop_All_Indicator_constraint;
|
asn_constr_check_f SBcAP_Stop_All_Indicator_constraint;
|
||||||
per_type_decoder_f Stop_All_Indicator_decode_aper;
|
per_type_decoder_f SBcAP_Stop_All_Indicator_decode_aper;
|
||||||
per_type_encoder_f Stop_All_Indicator_encode_aper;
|
per_type_encoder_f SBcAP_Stop_All_Indicator_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_Stop_Warning_Indication {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Indication;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Indication;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Indication_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Indication_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_Stop_Warning_Request {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Request;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Request;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Request_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Request_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_Stop_Warning_Response {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Response;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Response;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Response_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Response_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,12 +32,12 @@ typedef long SBcAP_TriggeringMessage_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_TriggeringMessage_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_TriggeringMessage_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TriggeringMessage;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TriggeringMessage;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_TriggeringMessage_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_TriggeringMessage_specs_1;
|
||||||
asn_struct_free_f TriggeringMessage_free;
|
asn_struct_free_f SBcAP_TriggeringMessage_free;
|
||||||
asn_struct_print_f TriggeringMessage_print;
|
asn_struct_print_f SBcAP_TriggeringMessage_print;
|
||||||
asn_constr_check_f TriggeringMessage_constraint;
|
asn_constr_check_f SBcAP_TriggeringMessage_constraint;
|
||||||
per_type_decoder_f TriggeringMessage_decode_aper;
|
per_type_decoder_f SBcAP_TriggeringMessage_decode_aper;
|
||||||
per_type_encoder_f TriggeringMessage_encode_aper;
|
per_type_encoder_f SBcAP_TriggeringMessage_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,12 +33,12 @@ typedef long SBcAP_TypeOfError_t;
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_per_constraints_t asn_PER_type_SBcAP_TypeOfError_constr_1;
|
extern asn_per_constraints_t asn_PER_type_SBcAP_TypeOfError_constr_1;
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TypeOfError;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TypeOfError;
|
||||||
extern const asn_INTEGER_specifics_t asn_SPC_TypeOfError_specs_1;
|
extern const asn_INTEGER_specifics_t asn_SPC_SBcAP_TypeOfError_specs_1;
|
||||||
asn_struct_free_f TypeOfError_free;
|
asn_struct_free_f SBcAP_TypeOfError_free;
|
||||||
asn_struct_print_f TypeOfError_print;
|
asn_struct_print_f SBcAP_TypeOfError_print;
|
||||||
asn_constr_check_f TypeOfError_constraint;
|
asn_constr_check_f SBcAP_TypeOfError_constraint;
|
||||||
per_type_decoder_f TypeOfError_decode_aper;
|
per_type_decoder_f SBcAP_TypeOfError_decode_aper;
|
||||||
per_type_encoder_f TypeOfError_encode_aper;
|
per_type_encoder_f SBcAP_TypeOfError_encode_aper;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_Write_Replace_Warning_Indication {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Indication;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Indication;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Indication_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Indication_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_Write_Replace_Warning_Request {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Request;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Request;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Request_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Request_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ typedef struct SBcAP_Write_Replace_Warning_Response {
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Response;
|
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Response;
|
||||||
|
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Response_specs_1;
|
||||||
|
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Response_1[2];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_Error-Indication.h>
|
#include <osmocom/sbcap/SBcAP_Error-Indication.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_Error_Indication_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_Error_Indication_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Error_Indication, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Error_Indication, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -32,7 +32,7 @@ static const ber_tlv_tag_t asn_DEF_SBcAP_Error_Indication_tags_1[] = {
|
||||||
static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Error_Indication_tag2el_1[] = {
|
static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Error_Indication_tag2el_1[] = {
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Error_Indication_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Error_Indication_specs_1 = {
|
||||||
sizeof(struct SBcAP_Error_Indication),
|
sizeof(struct SBcAP_Error_Indication),
|
||||||
offsetof(struct SBcAP_Error_Indication, _asn_ctx),
|
offsetof(struct SBcAP_Error_Indication, _asn_ctx),
|
||||||
asn_MAP_SBcAP_Error_Indication_tag2el_1,
|
asn_MAP_SBcAP_Error_Indication_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_PWS-Failure-Indication.h>
|
#include <osmocom/sbcap/SBcAP_PWS-Failure-Indication.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_PWS_Failure_Indication_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_PWS_Failure_Indication_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_PWS_Failure_Indication, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_PWS_Failure_Indication, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_PWS_Failure_Indication_tag2el_1
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Failure_Indication_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Failure_Indication_specs_1 = {
|
||||||
sizeof(struct SBcAP_PWS_Failure_Indication),
|
sizeof(struct SBcAP_PWS_Failure_Indication),
|
||||||
offsetof(struct SBcAP_PWS_Failure_Indication, _asn_ctx),
|
offsetof(struct SBcAP_PWS_Failure_Indication, _asn_ctx),
|
||||||
asn_MAP_SBcAP_PWS_Failure_Indication_tag2el_1,
|
asn_MAP_SBcAP_PWS_Failure_Indication_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_PWS-Restart-Indication.h>
|
#include <osmocom/sbcap/SBcAP_PWS-Restart-Indication.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_PWS_Restart_Indication_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_PWS_Restart_Indication_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_PWS_Restart_Indication, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_PWS_Restart_Indication, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_PWS_Restart_Indication_tag2el_1
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Restart_Indication_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Restart_Indication_specs_1 = {
|
||||||
sizeof(struct SBcAP_PWS_Restart_Indication),
|
sizeof(struct SBcAP_PWS_Restart_Indication),
|
||||||
offsetof(struct SBcAP_PWS_Restart_Indication, _asn_ctx),
|
offsetof(struct SBcAP_PWS_Restart_Indication, _asn_ctx),
|
||||||
asn_MAP_SBcAP_PWS_Restart_Indication_tag2el_1,
|
asn_MAP_SBcAP_PWS_Restart_Indication_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_Stop-Warning-Indication.h>
|
#include <osmocom/sbcap/SBcAP_Stop-Warning-Indication.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Indication_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Indication_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Stop_Warning_Indication, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Stop_Warning_Indication, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Stop_Warning_Indication_tag2el_
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Indication_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Indication_specs_1 = {
|
||||||
sizeof(struct SBcAP_Stop_Warning_Indication),
|
sizeof(struct SBcAP_Stop_Warning_Indication),
|
||||||
offsetof(struct SBcAP_Stop_Warning_Indication, _asn_ctx),
|
offsetof(struct SBcAP_Stop_Warning_Indication, _asn_ctx),
|
||||||
asn_MAP_SBcAP_Stop_Warning_Indication_tag2el_1,
|
asn_MAP_SBcAP_Stop_Warning_Indication_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_Stop-Warning-Request.h>
|
#include <osmocom/sbcap/SBcAP_Stop-Warning-Request.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Request_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Request_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Stop_Warning_Request, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Stop_Warning_Request, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Stop_Warning_Request_tag2el_1[]
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Request_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Request_specs_1 = {
|
||||||
sizeof(struct SBcAP_Stop_Warning_Request),
|
sizeof(struct SBcAP_Stop_Warning_Request),
|
||||||
offsetof(struct SBcAP_Stop_Warning_Request, _asn_ctx),
|
offsetof(struct SBcAP_Stop_Warning_Request, _asn_ctx),
|
||||||
asn_MAP_SBcAP_Stop_Warning_Request_tag2el_1,
|
asn_MAP_SBcAP_Stop_Warning_Request_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_Stop-Warning-Response.h>
|
#include <osmocom/sbcap/SBcAP_Stop-Warning-Response.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Response_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Response_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Stop_Warning_Response, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Stop_Warning_Response, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Stop_Warning_Response_tag2el_1[
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Response_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Response_specs_1 = {
|
||||||
sizeof(struct SBcAP_Stop_Warning_Response),
|
sizeof(struct SBcAP_Stop_Warning_Response),
|
||||||
offsetof(struct SBcAP_Stop_Warning_Response, _asn_ctx),
|
offsetof(struct SBcAP_Stop_Warning_Response, _asn_ctx),
|
||||||
asn_MAP_SBcAP_Stop_Warning_Response_tag2el_1,
|
asn_MAP_SBcAP_Stop_Warning_Response_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Indication.h>
|
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Indication.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Indication_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Indication_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Write_Replace_Warning_Indication, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Write_Replace_Warning_Indication, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Write_Replace_Warning_Indicatio
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Indication_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Indication_specs_1 = {
|
||||||
sizeof(struct SBcAP_Write_Replace_Warning_Indication),
|
sizeof(struct SBcAP_Write_Replace_Warning_Indication),
|
||||||
offsetof(struct SBcAP_Write_Replace_Warning_Indication, _asn_ctx),
|
offsetof(struct SBcAP_Write_Replace_Warning_Indication, _asn_ctx),
|
||||||
asn_MAP_SBcAP_Write_Replace_Warning_Indication_tag2el_1,
|
asn_MAP_SBcAP_Write_Replace_Warning_Indication_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Request.h>
|
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Request.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Request_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Request_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Write_Replace_Warning_Request, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Write_Replace_Warning_Request, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Write_Replace_Warning_Request_t
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Request_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Request_specs_1 = {
|
||||||
sizeof(struct SBcAP_Write_Replace_Warning_Request),
|
sizeof(struct SBcAP_Write_Replace_Warning_Request),
|
||||||
offsetof(struct SBcAP_Write_Replace_Warning_Request, _asn_ctx),
|
offsetof(struct SBcAP_Write_Replace_Warning_Request, _asn_ctx),
|
||||||
asn_MAP_SBcAP_Write_Replace_Warning_Request_tag2el_1,
|
asn_MAP_SBcAP_Write_Replace_Warning_Request_tag2el_1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Response.h>
|
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Response.h>
|
||||||
|
|
||||||
static asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Response_1[] = {
|
asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Response_1[] = {
|
||||||
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Write_Replace_Warning_Response, protocolIEs),
|
{ ATF_NOFLAGS, 0, offsetof(struct SBcAP_Write_Replace_Warning_Response, protocolIEs),
|
||||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
-1, /* IMPLICIT tag at current level */
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
@ -51,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SBcAP_Write_Replace_Warning_Response_
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolIEs */
|
||||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* protocolExtensions */
|
||||||
};
|
};
|
||||||
static asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Response_specs_1 = {
|
asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Response_specs_1 = {
|
||||||
sizeof(struct SBcAP_Write_Replace_Warning_Response),
|
sizeof(struct SBcAP_Write_Replace_Warning_Response),
|
||||||
offsetof(struct SBcAP_Write_Replace_Warning_Response, _asn_ctx),
|
offsetof(struct SBcAP_Write_Replace_Warning_Response, _asn_ctx),
|
||||||
asn_MAP_SBcAP_Write_Replace_Warning_Response_tag2el_1,
|
asn_MAP_SBcAP_Write_Replace_Warning_Response_tag2el_1,
|
||||||
|
|
|
@ -432,7 +432,7 @@ asn_encode_internal(const asn_codec_ctx_t *opt_codec_ctx,
|
||||||
#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
|
#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
|
||||||
|
|
||||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||||
case ATS_BASIC_JER:
|
case ATS_JER:
|
||||||
if(td->op->jer_encoder) {
|
if(td->op->jer_encoder) {
|
||||||
er = jer_encode(td, sptr, callback, callback_key);
|
er = jer_encode(td, sptr, callback, callback_key);
|
||||||
if(er.encoded == -1) {
|
if(er.encoded == -1) {
|
||||||
|
|
|
@ -53,8 +53,8 @@ CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
|
||||||
if(specs->ext_start == -1)
|
if(specs->ext_start == -1)
|
||||||
ASN__DECODE_FAILED;
|
ASN__DECODE_FAILED;
|
||||||
|
|
||||||
if (ct && ct->upper_bound >= ct->lower_bound) {
|
if(specs && specs->tag2el_count > specs->ext_start) {
|
||||||
value = aper_get_nsnnwn(pd, ct->upper_bound - ct->lower_bound + 1);
|
value = aper_get_nsnnwn(pd, specs->tag2el_count - specs->ext_start); /* extension elements range */
|
||||||
if(value < 0) ASN__DECODE_STARVED;
|
if(value < 0) ASN__DECODE_STARVED;
|
||||||
value += specs->ext_start;
|
value += specs->ext_start;
|
||||||
if((unsigned)value >= td->elements_count)
|
if((unsigned)value >= td->elements_count)
|
||||||
|
|
|
@ -124,6 +124,8 @@ SEQUENCE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||||
for(edx = 0; edx < td->elements_count; edx++) {
|
for(edx = 0; edx < td->elements_count; edx++) {
|
||||||
asn_TYPE_member_t *elm = &td->elements[edx];
|
asn_TYPE_member_t *elm = &td->elements[edx];
|
||||||
const void *memb_ptr;
|
const void *memb_ptr;
|
||||||
|
asn_constr_check_f *constr;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if(elm->flags & ATF_POINTER) {
|
if(elm->flags & ATF_POINTER) {
|
||||||
memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset);
|
memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset);
|
||||||
|
@ -139,14 +141,12 @@ SEQUENCE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||||
memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
|
memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(elm->encoding_constraints.general_constraints) {
|
constr = elm->encoding_constraints.general_constraints;
|
||||||
int ret = elm->encoding_constraints.general_constraints(elm->type, memb_ptr,
|
if(!constr)
|
||||||
ctfailcb, app_key);
|
constr = elm->type->encoding_constraints.general_constraints;
|
||||||
if(ret) return ret;
|
|
||||||
} else {
|
ret = constr(elm->type, memb_ptr, ctfailcb, app_key);
|
||||||
return elm->type->encoding_constraints.general_constraints(elm->type,
|
if(ret) return ret;
|
||||||
memb_ptr, ctfailcb, app_key);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -61,7 +61,7 @@ enum asn_transfer_syntax {
|
||||||
*/
|
*/
|
||||||
ATS_BASIC_XER,
|
ATS_BASIC_XER,
|
||||||
ATS_CANONICAL_XER,
|
ATS_CANONICAL_XER,
|
||||||
ATS_BASIC_JER,
|
ATS_JER,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -137,8 +137,25 @@ asn__format_to_callback(
|
||||||
/*
|
/*
|
||||||
* Check stack against overflow, if limit is set.
|
* Check stack against overflow, if limit is set.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Since GCC 13, AddressSanitizer started defaulting to
|
||||||
|
* ASAN_OPTIONS="detect_stack_use_after_return=1", which makes this check
|
||||||
|
* fail due to apparently jumping stack pointers.
|
||||||
|
* Hence, disable this check if building with ASan, as documented in:
|
||||||
|
* GCC: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
|
||||||
|
* Clang: https://clang.llvm.org/docs/AddressSanitizer.html#conditional-compilation-with-has-feature-address-sanitizer
|
||||||
|
*/
|
||||||
|
#if defined(__SANITIZE_ADDRESS__)
|
||||||
|
#define ASN__SANITIZE_ENABLED 1
|
||||||
|
#elif defined(__has_feature)
|
||||||
|
#if __has_feature(address_sanitizer)
|
||||||
|
#define ASN__SANITIZE_ENABLED 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define ASN__DEFAULT_STACK_MAX (30000)
|
#define ASN__DEFAULT_STACK_MAX (30000)
|
||||||
#ifdef ASN_DISABLE_STACK_OVERFLOW_CHECK
|
|
||||||
|
#if defined(ASN__SANITIZE_ENABLED) || defined(ASN_DISABLE_STACK_OVERFLOW_CHECK)
|
||||||
static int CC_NOTUSED
|
static int CC_NOTUSED
|
||||||
ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx) {
|
ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx) {
|
||||||
(void)ctx;
|
(void)ctx;
|
||||||
|
|
|
@ -13,15 +13,20 @@ extern "C" {
|
||||||
|
|
||||||
struct asn_TYPE_descriptor_s; /* Forward declaration */
|
struct asn_TYPE_descriptor_s; /* Forward declaration */
|
||||||
|
|
||||||
/* Flags used by the jer_encode() and (*jer_type_encoder_f), defined below */
|
/* Flags used by the jer_encode() and (*jer_type_encoder_f), defined below
|
||||||
|
*
|
||||||
|
* This isn't actually used, it might be used in the future to support
|
||||||
|
* both normal JSON and prettified JSON output or removed.
|
||||||
|
* It came from XER
|
||||||
|
*/
|
||||||
enum jer_encoder_flags_e {
|
enum jer_encoder_flags_e {
|
||||||
/* Mode of encoding */
|
/* Mode of encoding */
|
||||||
JER_F_BASIC = 0x01, /* BASIC-JER (pretty-printing) */
|
JER_F = 0x01, /* JER (pretty-printing) */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The JER encoder of any type. May be invoked by the application.
|
* The JER encoder of any type. May be invoked by the application.
|
||||||
* Produces CANONICAL-JER and BASIC-JER depending on the (jer_flags).
|
* Produces JER output.
|
||||||
*/
|
*/
|
||||||
asn_enc_rval_t jer_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
|
asn_enc_rval_t jer_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
|
||||||
const void *struct_ptr, /* Structure to be encoded */
|
const void *struct_ptr, /* Structure to be encoded */
|
||||||
|
@ -30,7 +35,7 @@ asn_enc_rval_t jer_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The variant of the above function which dumps the BASIC-JER (JER_F_BASIC)
|
* The variant of the above function which dumps the JER
|
||||||
* output into the chosen file pointer.
|
* output into the chosen file pointer.
|
||||||
* RETURN VALUES:
|
* RETURN VALUES:
|
||||||
* 0: The structure is printed.
|
* 0: The structure is printed.
|
||||||
|
@ -42,9 +47,9 @@ int jer_fprint(FILE *stream, const struct asn_TYPE_descriptor_s *td,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A helper function that uses JER encoding/decoding to verify that:
|
* A helper function that uses JER encoding/decoding to verify that:
|
||||||
* - Both structures encode into the same BASIC JER.
|
* - Both structures encode into the same JER.
|
||||||
* - Both resulting JER byte streams can be decoded back.
|
* - Both resulting JER byte streams can be decoded back.
|
||||||
* - Both decoded structures encode into the same BASIC JER (round-trip).
|
* - Both decoded structures encode into the same JER (round-trip).
|
||||||
* All of this verifies equivalence between structures and a round-trip.
|
* All of this verifies equivalence between structures and a round-trip.
|
||||||
* ARGUMENTS:
|
* ARGUMENTS:
|
||||||
* (opt_debug_stream) - If specified, prints ongoing details.
|
* (opt_debug_stream) - If specified, prints ongoing details.
|
||||||
|
|
Loading…
Reference in New Issue