forked from acouzens/open5gs
struct name update
This commit is contained in:
parent
7c1c320141
commit
581f4feb97
|
@ -23,10 +23,10 @@
|
|||
#include "ogs-core.h"
|
||||
|
||||
typedef struct ogs_sockaddr_s ogs_sockaddr_t;
|
||||
typedef struct _tlv_bearer_context_t tlv_bearer_context_t;
|
||||
typedef struct _gtp_create_indirect_data_forwarding_tunnel_request_t gtp_create_indirect_data_forwarding_tunnel_request_t;
|
||||
typedef struct _gtp_create_indirect_data_forwarding_tunnel_response_t gtp_create_indirect_data_forwarding_tunnel_response_t;
|
||||
typedef struct _gtp_f_teid_t gtp_f_teid_t;
|
||||
typedef struct tlv_bearer_context_s tlv_bearer_context_t;
|
||||
typedef struct gtp_create_indirect_data_forwarding_tunnel_request_s gtp_create_indirect_data_forwarding_tunnel_request_t;
|
||||
typedef struct gtp_create_indirect_data_forwarding_tunnel_response_s gtp_create_indirect_data_forwarding_tunnel_response_t;
|
||||
typedef struct gtp_f_teid_s gtp_f_teid_t;
|
||||
typedef struct ip_s ip_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*******************************************************************************
|
||||
* This file had been created by gtp_tlv.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2019-03-06 12:20:52.446761 by acetcom
|
||||
* Created on: 2019-05-28 16:37:12.779763 by acetcom
|
||||
* from 29274-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*******************************************************************************
|
||||
* This file had been created by gtp_tlv.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2019-03-06 12:20:52.420255 by acetcom
|
||||
* Created on: 2019-05-28 16:37:12.761642 by acetcom
|
||||
* from 29274-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
|
@ -37,7 +37,7 @@ extern "C" {
|
|||
#define GTPV1U_HEADER_LEN 8
|
||||
#define GTPV2C_HEADER_LEN 12
|
||||
#define GTP_TEID_LEN 4
|
||||
typedef struct _gtp_header_t {
|
||||
typedef struct gtp_header_s {
|
||||
union {
|
||||
struct {
|
||||
ED4(uint8_t version:3;,
|
||||
|
@ -590,7 +590,7 @@ typedef tlv_octet_t tlv_serving_plmn_rate_control_t;
|
|||
typedef tlv_octet_t tlv_counter_t;
|
||||
|
||||
/* Structure for Group Infomration Element */
|
||||
typedef struct _tlv_bearer_context_t {
|
||||
typedef struct tlv_bearer_context_s {
|
||||
tlv_presence_t presence;
|
||||
tlv_ebi_t eps_bearer_id;
|
||||
tlv_bearer_tft_t tft;
|
||||
|
@ -619,11 +619,11 @@ typedef struct _tlv_bearer_context_t {
|
|||
tlv_packet_flow_id_t packet_flow_id;
|
||||
} tlv_bearer_context_t;
|
||||
|
||||
typedef struct _tlv_pdn_connection_t {
|
||||
typedef struct tlv_pdn_connection_s {
|
||||
tlv_presence_t presence;
|
||||
} tlv_pdn_connection_t;
|
||||
|
||||
typedef struct _tlv_overload_control_information_t {
|
||||
typedef struct tlv_overload_control_information_s {
|
||||
tlv_presence_t presence;
|
||||
tlv_sequence_number_t overload_control_sequence_number;
|
||||
tlv_metric_t overload_reduction_metric;
|
||||
|
@ -631,20 +631,20 @@ typedef struct _tlv_overload_control_information_t {
|
|||
tlv_apn_t list_of_access_point_name;
|
||||
} tlv_overload_control_information_t;
|
||||
|
||||
typedef struct _tlv_load_control_information_t {
|
||||
typedef struct tlv_load_control_information_s {
|
||||
tlv_presence_t presence;
|
||||
tlv_sequence_number_t load_control_sequence_number;
|
||||
tlv_metric_t load_metric;
|
||||
tlv_apn_and_relative_capacity_t list_of_apn_and_relative_capacity;
|
||||
} tlv_load_control_information_t;
|
||||
|
||||
typedef struct _tlv_remote_ue_context_t {
|
||||
typedef struct tlv_remote_ue_context_s {
|
||||
tlv_presence_t presence;
|
||||
tlv_remote_user_id_t remote_user_id;
|
||||
tlv_remote_ue_ip_information_t remote_ue_ip_information;
|
||||
} tlv_remote_ue_context_t;
|
||||
|
||||
typedef struct _tlv_scef_pdn_connection_t {
|
||||
typedef struct tlv_scef_pdn_connection_s {
|
||||
tlv_presence_t presence;
|
||||
tlv_apn_t apn;
|
||||
tlv_ebi_t default_eps_bearer_id;
|
||||
|
@ -652,17 +652,17 @@ typedef struct _tlv_scef_pdn_connection_t {
|
|||
} tlv_scef_pdn_connection_t;
|
||||
|
||||
/* Structure for Message */
|
||||
typedef struct _gtp_echo_request_t {
|
||||
typedef struct gtp_echo_request_s {
|
||||
tlv_recovery_t recovery;
|
||||
tlv_node_features_t sending_node_features;
|
||||
} gtp_echo_request_t;
|
||||
|
||||
typedef struct _gtp_echo_response_t {
|
||||
typedef struct gtp_echo_response_s {
|
||||
tlv_recovery_t recovery;
|
||||
tlv_node_features_t sending_node_features;
|
||||
} gtp_echo_response_t;
|
||||
|
||||
typedef struct _gtp_create_session_request_t {
|
||||
typedef struct gtp_create_session_request_s {
|
||||
tlv_imsi_t imsi;
|
||||
tlv_msisdn_t msisdn;
|
||||
tlv_mei_t me_identity;
|
||||
|
@ -723,7 +723,7 @@ typedef struct _gtp_create_session_request_t {
|
|||
tlv_port_number_t ue_tcp_port;
|
||||
} gtp_create_session_request_t;
|
||||
|
||||
typedef struct _gtp_create_session_response_t {
|
||||
typedef struct gtp_create_session_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_change_reporting_action_t change_reporting_action_;
|
||||
tlv_csg_information_reporting_action_t csg_information_reporting_action;
|
||||
|
@ -759,7 +759,7 @@ typedef struct _gtp_create_session_response_t {
|
|||
tlv_epco_t extended_protocol_configuration_options;
|
||||
} gtp_create_session_response_t;
|
||||
|
||||
typedef struct _gtp_modify_bearer_request_t {
|
||||
typedef struct gtp_modify_bearer_request_s {
|
||||
tlv_mei_t me_identity;
|
||||
tlv_uli_t user_location_information;
|
||||
tlv_serving_network_t serving_network;
|
||||
|
@ -790,7 +790,7 @@ typedef struct _gtp_modify_bearer_request_t {
|
|||
tlv_counter_t mo_exception_data_counter;
|
||||
} gtp_modify_bearer_request_t;
|
||||
|
||||
typedef struct _gtp_modify_bearer_response_t {
|
||||
typedef struct gtp_modify_bearer_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_msisdn_t msisdn;
|
||||
tlv_ebi_t linked_eps_bearer_id;
|
||||
|
@ -818,7 +818,7 @@ typedef struct _gtp_modify_bearer_response_t {
|
|||
tlv_charging_id_t pdn_connection_charging_id;
|
||||
} gtp_modify_bearer_response_t;
|
||||
|
||||
typedef struct _gtp_delete_session_request_t {
|
||||
typedef struct gtp_delete_session_request_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_ebi_t linked_eps_bearer_id;
|
||||
tlv_uli_t user_location_information;
|
||||
|
@ -842,7 +842,7 @@ typedef struct _gtp_delete_session_request_t {
|
|||
tlv_port_number_t ue_tcp_port;
|
||||
} gtp_delete_session_request_t;
|
||||
|
||||
typedef struct _gtp_delete_session_response_t {
|
||||
typedef struct gtp_delete_session_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_recovery_t recovery;
|
||||
tlv_pco_t protocol_configuration_options;
|
||||
|
@ -855,7 +855,7 @@ typedef struct _gtp_delete_session_response_t {
|
|||
tlv_epco_t extended_protocol_configuration_options;
|
||||
} gtp_delete_session_response_t;
|
||||
|
||||
typedef struct _gtp_modify_bearer_command_t {
|
||||
typedef struct gtp_modify_bearer_command_s {
|
||||
tlv_ambr_t apn_aggregate_maximum_bit_rate;
|
||||
tlv_bearer_context_t bearer_context;
|
||||
tlv_overload_control_information_t mme_s4_sgsn_s_overload_control_information;
|
||||
|
@ -864,7 +864,7 @@ typedef struct _gtp_modify_bearer_command_t {
|
|||
tlv_f_teid_t sender_f_teid_for_control_plane;
|
||||
} gtp_modify_bearer_command_t;
|
||||
|
||||
typedef struct _gtp_modify_bearer_failure_indication_t {
|
||||
typedef struct gtp_modify_bearer_failure_indication_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_recovery_t recovery;
|
||||
tlv_indication_t indication_flags;
|
||||
|
@ -872,7 +872,7 @@ typedef struct _gtp_modify_bearer_failure_indication_t {
|
|||
tlv_overload_control_information_t sgw_s_overload_control_information;
|
||||
} gtp_modify_bearer_failure_indication_t;
|
||||
|
||||
typedef struct _gtp_delete_bearer_command_t {
|
||||
typedef struct gtp_delete_bearer_command_s {
|
||||
tlv_bearer_context_t bearer_contexts;
|
||||
tlv_uli_t user_location_information;
|
||||
tlv_uli_timestamp_t uli_timestamp;
|
||||
|
@ -882,7 +882,7 @@ typedef struct _gtp_delete_bearer_command_t {
|
|||
tlv_f_teid_t sender_f_teid_for_control_plane;
|
||||
} gtp_delete_bearer_command_t;
|
||||
|
||||
typedef struct _gtp_delete_bearer_failure_indication_t {
|
||||
typedef struct gtp_delete_bearer_failure_indication_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_bearer_context_t bearer_context;
|
||||
tlv_recovery_t recovery;
|
||||
|
@ -891,13 +891,13 @@ typedef struct _gtp_delete_bearer_failure_indication_t {
|
|||
tlv_overload_control_information_t sgw_s_overload_control_information;
|
||||
} gtp_delete_bearer_failure_indication_t;
|
||||
|
||||
typedef struct _gtp_downlink_data_notification_failure_indication_t {
|
||||
typedef struct gtp_downlink_data_notification_failure_indication_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_node_type_t originating_node;
|
||||
tlv_imsi_t imsi;
|
||||
} gtp_downlink_data_notification_failure_indication_t;
|
||||
|
||||
typedef struct _gtp_create_bearer_request_t {
|
||||
typedef struct gtp_create_bearer_request_s {
|
||||
tlv_pti_t procedure_transaction_id;
|
||||
tlv_ebi_t linked_eps_bearer_id;
|
||||
tlv_pco_t protocol_configuration_options;
|
||||
|
@ -917,7 +917,7 @@ typedef struct _gtp_create_bearer_request_t {
|
|||
tlv_f_container_t nbifom_container;
|
||||
} gtp_create_bearer_request_t;
|
||||
|
||||
typedef struct _gtp_create_bearer_response_t {
|
||||
typedef struct gtp_create_bearer_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_bearer_context_t bearer_contexts;
|
||||
tlv_recovery_t recovery;
|
||||
|
@ -940,7 +940,7 @@ typedef struct _gtp_create_bearer_response_t {
|
|||
tlv_port_number_t ue_tcp_port;
|
||||
} gtp_create_bearer_response_t;
|
||||
|
||||
typedef struct _gtp_update_bearer_request_t {
|
||||
typedef struct gtp_update_bearer_request_s {
|
||||
tlv_bearer_context_t bearer_contexts;
|
||||
tlv_pti_t procedure_transaction_id;
|
||||
tlv_pco_t protocol_configuration_options;
|
||||
|
@ -960,7 +960,7 @@ typedef struct _gtp_update_bearer_request_t {
|
|||
tlv_f_container_t nbifom_container;
|
||||
} gtp_update_bearer_request_t;
|
||||
|
||||
typedef struct _gtp_update_bearer_response_t {
|
||||
typedef struct gtp_update_bearer_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_bearer_context_t bearer_contexts;
|
||||
tlv_pco_t protocol_configuration_options;
|
||||
|
@ -985,7 +985,7 @@ typedef struct _gtp_update_bearer_response_t {
|
|||
tlv_port_number_t ue_tcp_port;
|
||||
} gtp_update_bearer_response_t;
|
||||
|
||||
typedef struct _gtp_delete_bearer_request_t {
|
||||
typedef struct gtp_delete_bearer_request_s {
|
||||
tlv_ebi_t linked_eps_bearer_id;
|
||||
tlv_ebi_t eps_bearer_ids;
|
||||
tlv_bearer_context_t failed_bearer_contexts;
|
||||
|
@ -1004,7 +1004,7 @@ typedef struct _gtp_delete_bearer_request_t {
|
|||
tlv_epco_t extended_protocol_configuration_options;
|
||||
} gtp_delete_bearer_request_t;
|
||||
|
||||
typedef struct _gtp_delete_bearer_response_t {
|
||||
typedef struct gtp_delete_bearer_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_ebi_t linked_eps_bearer_id;
|
||||
tlv_bearer_context_t bearer_contexts;
|
||||
|
@ -1030,7 +1030,7 @@ typedef struct _gtp_delete_bearer_response_t {
|
|||
tlv_port_number_t ue_tcp_port ;
|
||||
} gtp_delete_bearer_response_t;
|
||||
|
||||
typedef struct _gtp_create_indirect_data_forwarding_tunnel_request_t {
|
||||
typedef struct gtp_create_indirect_data_forwarding_tunnel_request_s {
|
||||
tlv_imsi_t imsi;
|
||||
tlv_mei_t me_identity;
|
||||
tlv_indication_t indication_flags;
|
||||
|
@ -1049,7 +1049,7 @@ typedef struct _gtp_create_indirect_data_forwarding_tunnel_request_t {
|
|||
tlv_recovery_t recovery;
|
||||
} gtp_create_indirect_data_forwarding_tunnel_request_t;
|
||||
|
||||
typedef struct _gtp_create_indirect_data_forwarding_tunnel_response_t {
|
||||
typedef struct gtp_create_indirect_data_forwarding_tunnel_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_f_teid_t sender_f_teid_for_control_plane;
|
||||
tlv_bearer_context_t bearer_context_0;
|
||||
|
@ -1066,21 +1066,21 @@ typedef struct _gtp_create_indirect_data_forwarding_tunnel_response_t {
|
|||
tlv_recovery_t recovery;
|
||||
} gtp_create_indirect_data_forwarding_tunnel_response_t;
|
||||
|
||||
typedef struct _gtp_delete_indirect_data_forwarding_tunnel_request_t {
|
||||
typedef struct gtp_delete_indirect_data_forwarding_tunnel_request_s {
|
||||
} gtp_delete_indirect_data_forwarding_tunnel_request_t;
|
||||
|
||||
typedef struct _gtp_delete_indirect_data_forwarding_tunnel_response_t {
|
||||
typedef struct gtp_delete_indirect_data_forwarding_tunnel_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_recovery_t recovery;
|
||||
} gtp_delete_indirect_data_forwarding_tunnel_response_t;
|
||||
|
||||
typedef struct _gtp_release_access_bearers_request_t {
|
||||
typedef struct gtp_release_access_bearers_request_s {
|
||||
tlv_ebi_t list_of_rabs;
|
||||
tlv_node_type_t originating_node;
|
||||
tlv_indication_t indication_flags;
|
||||
} gtp_release_access_bearers_request_t;
|
||||
|
||||
typedef struct _gtp_release_access_bearers_response_t {
|
||||
typedef struct gtp_release_access_bearers_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_recovery_t recovery;
|
||||
tlv_indication_t indication_flags;
|
||||
|
@ -1088,7 +1088,7 @@ typedef struct _gtp_release_access_bearers_response_t {
|
|||
tlv_overload_control_information_t sgw_s_overload_control_information;
|
||||
} gtp_release_access_bearers_response_t;
|
||||
|
||||
typedef struct _gtp_downlink_data_notification_t {
|
||||
typedef struct gtp_downlink_data_notification_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_ebi_t eps_bearer_id;
|
||||
tlv_arp_t allocation_retention_priority;
|
||||
|
@ -1100,7 +1100,7 @@ typedef struct _gtp_downlink_data_notification_t {
|
|||
tlv_paging_and_service_information_t paging_and_service_information;
|
||||
} gtp_downlink_data_notification_t;
|
||||
|
||||
typedef struct _gtp_downlink_data_notification_acknowledge_t {
|
||||
typedef struct gtp_downlink_data_notification_acknowledge_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_delay_value_t data_notification_delay;
|
||||
tlv_recovery_t recovery;
|
||||
|
@ -1110,7 +1110,7 @@ typedef struct _gtp_downlink_data_notification_acknowledge_t {
|
|||
tlv_integer_number_t dl_buffering_suggested_packet_count;
|
||||
} gtp_downlink_data_notification_acknowledge_t;
|
||||
|
||||
typedef struct _gtp_modify_access_bearers_request_t {
|
||||
typedef struct gtp_modify_access_bearers_request_s {
|
||||
tlv_indication_t indication_flags;
|
||||
tlv_f_teid_t sender_f_teid_for_control_plane;
|
||||
tlv_delay_value_t delay_downlink_packet_notification_request;
|
||||
|
@ -1119,7 +1119,7 @@ typedef struct _gtp_modify_access_bearers_request_t {
|
|||
tlv_recovery_t recovery;
|
||||
} gtp_modify_access_bearers_request_t;
|
||||
|
||||
typedef struct _gtp_modify_access_bearers_response_t {
|
||||
typedef struct gtp_modify_access_bearers_response_s {
|
||||
tlv_cause_t cause;
|
||||
tlv_bearer_context_t bearer_contexts_modified;
|
||||
tlv_bearer_context_t bearer_contexts_marked_for_removal;
|
||||
|
@ -1129,7 +1129,7 @@ typedef struct _gtp_modify_access_bearers_response_t {
|
|||
tlv_overload_control_information_t sgw_s_overload_control_information;
|
||||
} gtp_modify_access_bearers_response_t;
|
||||
|
||||
typedef struct _gtp_message_t {
|
||||
typedef struct gtp_message_s {
|
||||
gtp_header_t h;
|
||||
union {
|
||||
gtp_echo_request_t echo_request;
|
||||
|
|
|
@ -27,8 +27,6 @@
|
|||
#undef OGS_LOG_DOMAIN
|
||||
#define OGS_LOG_DOMAIN __base_gtp_domain
|
||||
|
||||
typedef struct c_sockaddr_t c_sockaddr_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
@ -112,7 +110,7 @@ extern "C" {
|
|||
#define GTP_CAUSE_MULTIPLE_ACCESSES_TO_A_PDN_CONNECTION_NOT_ALLOWED 126
|
||||
#define GTP_CAUSE_REQUEST_REJECTED_DUE_TO_UE_CAPABILITY 127
|
||||
|
||||
typedef struct _gtp_cause_t {
|
||||
typedef struct gtp_cause_s {
|
||||
uint8_t value;
|
||||
ED4(uint8_t spare:5;,
|
||||
uint8_t pce:1;,
|
||||
|
@ -121,13 +119,13 @@ ED4(uint8_t spare:5;,
|
|||
} __attribute__ ((packed)) gtp_cause_t;
|
||||
|
||||
/* 8.7 Aggregate Maximum Bit Rate (AMBR) */
|
||||
typedef struct _gtp_ambr_t {
|
||||
typedef struct gtp_ambr_s {
|
||||
uint32_t uplink;
|
||||
uint32_t downlink;
|
||||
} __attribute__ ((packed)) gtp_ambr_t;
|
||||
|
||||
/* 8.12 Indication */
|
||||
typedef struct _gtp_indication_t {
|
||||
typedef struct gtp_indication_s {
|
||||
ED8(uint8_t daf:1;,
|
||||
uint8_t dtf:1;,
|
||||
uint8_t hi:1;,
|
||||
|
@ -172,7 +170,7 @@ ED8(uint8_t spare1:1;,
|
|||
|
||||
/* 8.15 Bearer Quality of Service (Bearer QoS) */
|
||||
#define GTP_BEARER_QOS_LEN 22
|
||||
typedef struct _gtp_bearer_qos_t {
|
||||
typedef struct gtp_bearer_qos_s {
|
||||
ED5(uint8_t spare1:1;,
|
||||
/* See 3GPP TS 29.212[29], clause 5.3.46 Pre-emption-Capability AVP. */
|
||||
uint8_t pre_emption_capability:1;,
|
||||
|
@ -215,7 +213,7 @@ int16_t gtp_build_bearer_qos(
|
|||
#define GTP_MAX_TRAFFIC_FLOW_TEMPLATE 255
|
||||
|
||||
#define GTP_MAX_NUM_OF_PACKET_FILTER_COMPONENT 16
|
||||
typedef struct _gtp_tft_t {
|
||||
typedef struct gtp_tft_s {
|
||||
union {
|
||||
struct {
|
||||
#define GTP_TFT_CODE_IGNORE_THIS_IE 0
|
||||
|
@ -287,30 +285,30 @@ int16_t gtp_build_tft(
|
|||
|
||||
/* 8.21 User Location Information (ULI) */
|
||||
#define GTP_MAX_ULI_LEN sizeof(gtp_uli_t)
|
||||
typedef struct _gtp_uli_cgi_t {
|
||||
typedef struct gtp_uli_cgi_s {
|
||||
plmn_id_t plmn_id;
|
||||
uint16_t lac;
|
||||
uint16_t ci;
|
||||
} __attribute__ ((packed)) gtp_uli_cgi_t;
|
||||
|
||||
typedef struct _gtp_uli_sai_t {
|
||||
typedef struct gtp_uli_sai_s {
|
||||
plmn_id_t plmn_id;
|
||||
uint16_t lac;
|
||||
uint16_t sac;
|
||||
} __attribute__ ((packed)) gtp_uli_sai_t;
|
||||
|
||||
typedef struct _gtp_uli_rai_t {
|
||||
typedef struct gtp_uli_rai_s {
|
||||
plmn_id_t plmn_id;
|
||||
uint16_t lac;
|
||||
uint16_t rac;
|
||||
} __attribute__ ((packed)) gtp_uli_rai_t;
|
||||
|
||||
typedef struct _gtp_uli_lai_t {
|
||||
typedef struct gtp_uli_lai_s {
|
||||
plmn_id_t plmn_id;
|
||||
uint16_t lac;
|
||||
} __attribute__ ((packed)) gtp_uli_lai_t;
|
||||
|
||||
typedef struct _gtp_uli_t {
|
||||
typedef struct gtp_uli_s {
|
||||
struct {
|
||||
ED7(uint8_t spare:2;,
|
||||
uint8_t lai:1;,
|
||||
|
@ -378,7 +376,7 @@ int16_t gtp_build_uli(
|
|||
#define GTP_F_TEID_IPV4_LEN IPV4_LEN+GTP_F_TEID_HDR_LEN
|
||||
#define GTP_F_TEID_IPV6_LEN IPV6_LEN+GTP_F_TEID_HDR_LEN
|
||||
#define GTP_F_TEID_IPV4V6_LEN IPV4V6_LEN+GTP_F_TEID_HDR_LEN
|
||||
typedef struct _gtp_f_teid_t {
|
||||
typedef struct gtp_f_teid_s {
|
||||
ED3(uint8_t ipv4:1;,
|
||||
uint8_t ipv6:1;,
|
||||
uint8_t interface_type:6;)
|
||||
|
@ -406,7 +404,7 @@ ED3(uint8_t ipv4:1;,
|
|||
* This field uses the same format as the Timezone field used in the
|
||||
* TP-Service-Centre-Time-Stamp, which is defined in 3GPP TS 23.040 [90],
|
||||
* and its value shall be set as defined in 3GPP TS 22.042 */
|
||||
typedef struct _gtp_ue_timezone_t {
|
||||
typedef struct gtp_ue_timezone_s {
|
||||
#define GTP_TIME_TO_BCD(x) TIME_TO_BCD(x)
|
||||
/* The Time Zone indicates the difference, expressed in quarters of an hour,
|
||||
* between the local time and GMT. In the first of the two semi-octets,
|
||||
|
|
|
@ -385,7 +385,7 @@ extern "C" {
|
|||
#define GTPV1U_HEADER_LEN 8
|
||||
#define GTPV2C_HEADER_LEN 12
|
||||
#define GTP_TEID_LEN 4
|
||||
typedef struct _gtp_header_t {
|
||||
typedef struct gtp_header_s {
|
||||
union {
|
||||
struct {
|
||||
ED4(uint8_t version:3;,
|
||||
|
@ -481,7 +481,7 @@ f.write("\n")
|
|||
|
||||
f.write("/* Structure for Group Infomration Element */\n")
|
||||
for (k, v) in sorted_group_list:
|
||||
f.write("typedef struct _tlv_" + v_lower(k) + "_t {\n")
|
||||
f.write("typedef struct tlv_" + v_lower(k) + "_s {\n")
|
||||
f.write(" tlv_presence_t presence;\n")
|
||||
for ies in group_list[k]["ies"]:
|
||||
f.write(" tlv_" + v_lower(ies["ie_type"]) + "_t " + \
|
||||
|
@ -502,14 +502,14 @@ for (k, v) in sorted_group_list:
|
|||
f.write("/* Structure for Message */\n")
|
||||
for (k, v) in sorted_msg_list:
|
||||
if "ies" in msg_list[k]:
|
||||
f.write("typedef struct _gtp_" + v_lower(k) + "_t {\n")
|
||||
f.write("typedef struct gtp_" + v_lower(k) + "_s {\n")
|
||||
for ies in msg_list[k]["ies"]:
|
||||
f.write(" tlv_" + v_lower(ies["ie_type"]) + "_t " + \
|
||||
v_lower(ies["ie_value"]) + ";\n")
|
||||
f.write("} gtp_" + v_lower(k) + "_t;\n")
|
||||
f.write("\n")
|
||||
|
||||
f.write("typedef struct _gtp_message_t {\n")
|
||||
f.write("typedef struct gtp_message_s {\n")
|
||||
f.write(" gtp_header_t h;\n")
|
||||
f.write(" union {\n")
|
||||
for (k, v) in sorted_msg_list:
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*******************************************************************************
|
||||
* This file had been created by nas_message.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2019-03-17 02:01:09.581393 by acetcom
|
||||
* Created on: 2019-05-28 16:35:26.465833 by acetcom
|
||||
* from 24301-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*******************************************************************************
|
||||
* This file had been created by nas_message.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2019-03-17 02:01:09.610640 by acetcom
|
||||
* Created on: 2019-05-28 16:35:26.490638 by acetcom
|
||||
* from 24301-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*******************************************************************************
|
||||
* This file had been created by nas_message.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2019-03-17 02:01:09.532072 by acetcom
|
||||
* Created on: 2019-05-28 16:35:26.430346 by acetcom
|
||||
* from 24301-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*******************************************************************************
|
||||
* This file had been created by nas_message.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2019-03-17 02:01:09.521707 by acetcom
|
||||
* Created on: 2019-05-28 16:35:26.424972 by acetcom
|
||||
* from 24301-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*******************************************************************************
|
||||
* This file had been created by nas_message.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2019-03-17 02:01:09.555771 by acetcom
|
||||
* Created on: 2019-05-28 16:35:26.445690 by acetcom
|
||||
* from 24301-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
|
@ -51,20 +51,20 @@ extern "C" {
|
|||
#define NAS_EPS_BEARER_IDENTITY_UNASSIGNED 0
|
||||
#define NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED 0
|
||||
|
||||
typedef struct _nas_emm_header_t {
|
||||
typedef struct nas_emm_header_s {
|
||||
ED2(uint8_t security_header_type:4;,
|
||||
uint8_t protocol_discriminator:4;)
|
||||
uint8_t message_type;
|
||||
} __attribute__ ((packed)) nas_emm_header_t;
|
||||
|
||||
typedef struct _nas_esm_header_t {
|
||||
typedef struct nas_esm_header_s {
|
||||
ED2(uint8_t eps_bearer_identity:4;,
|
||||
uint8_t protocol_discriminator:4;)
|
||||
uint8_t procedure_transaction_identity;
|
||||
uint8_t message_type;
|
||||
} __attribute__ ((packed)) nas_esm_header_t;
|
||||
|
||||
typedef struct _nas_security_header_t {
|
||||
typedef struct nas_security_header_s {
|
||||
ED2(uint8_t security_header_type:4;,
|
||||
uint8_t protocol_discriminator:4;)
|
||||
uint32_t message_authentication_code;
|
||||
|
@ -167,7 +167,7 @@ ED2(uint8_t security_header_type:4;,
|
|||
#define NAS_ATTACH_REQUEST_T3412_EXTENDED_VALUE_TYPE 0x5E
|
||||
#define NAS_ATTACH_REQUEST_EXTENDED_DRX_PARAMETERS_TYPE 0x6E
|
||||
|
||||
typedef struct _nas_attach_request_t {
|
||||
typedef struct nas_attach_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_eps_attach_type_t eps_attach_type;
|
||||
nas_eps_mobile_identity_t eps_mobile_identity;
|
||||
|
@ -228,7 +228,7 @@ typedef struct _nas_attach_request_t {
|
|||
#define NAS_ATTACH_ACCEPT_T3324_VALUE_TYPE 0x6A
|
||||
#define NAS_ATTACH_ACCEPT_EXTENDED_DRX_PARAMETERS_TYPE 0x6E
|
||||
|
||||
typedef struct _nas_attach_accept_t {
|
||||
typedef struct nas_attach_accept_s {
|
||||
/* Mandatory fields */
|
||||
nas_eps_attach_result_t eps_attach_result;
|
||||
nas_gprs_timer_t t3412_value;
|
||||
|
@ -257,7 +257,7 @@ typedef struct _nas_attach_accept_t {
|
|||
* ATTACH COMPLETE
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_attach_complete_t {
|
||||
typedef struct nas_attach_complete_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_message_container_t esm_message_container;
|
||||
} nas_attach_complete_t;
|
||||
|
@ -275,7 +275,7 @@ typedef struct _nas_attach_complete_t {
|
|||
#define NAS_ATTACH_REJECT_T3402_VALUE_TYPE 0x16
|
||||
#define NAS_ATTACH_REJECT_EXTENDED_EMM_CAUSE_TYPE 0xA0
|
||||
|
||||
typedef struct _nas_attach_reject_t {
|
||||
typedef struct nas_attach_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_emm_cause_t emm_cause;
|
||||
|
||||
|
@ -292,7 +292,7 @@ typedef struct _nas_attach_reject_t {
|
|||
* DETACH REQUEST FROM UE
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_detach_request_from_ue_t {
|
||||
typedef struct nas_detach_request_from_ue_s {
|
||||
/* Mandatory fields */
|
||||
nas_detach_type_t detach_type;
|
||||
nas_eps_mobile_identity_t eps_mobile_identity;
|
||||
|
@ -305,7 +305,7 @@ typedef struct _nas_detach_request_from_ue_t {
|
|||
#define NAS_DETACH_REQUEST_EMM_CAUSE_PRESENT (1<<0)
|
||||
#define NAS_DETACH_REQUEST_EMM_CAUSE_TYPE 0x53
|
||||
|
||||
typedef struct _nas_detach_request_to_ue_t {
|
||||
typedef struct nas_detach_request_to_ue_s {
|
||||
/* Mandatory fields */
|
||||
nas_detach_type_t detach_type;
|
||||
|
||||
|
@ -369,7 +369,7 @@ typedef struct _nas_detach_request_to_ue_t {
|
|||
#define NAS_TRACKING_AREA_UPDATE_REQUEST_T3412_EXTENDED_VALUE_TYPE 0x5E
|
||||
#define NAS_TRACKING_AREA_UPDATE_REQUEST_EXTENDED_DRX_PARAMETERS_TYPE 0x6E
|
||||
|
||||
typedef struct _nas_tracking_area_update_request_t {
|
||||
typedef struct nas_tracking_area_update_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_eps_update_type_t eps_update_type;
|
||||
nas_eps_mobile_identity_t old_guti;
|
||||
|
@ -442,7 +442,7 @@ typedef struct _nas_tracking_area_update_request_t {
|
|||
#define NAS_TRACKING_AREA_UPDATE_ACCEPT_EXTENDED_DRX_PARAMETERS_TYPE 0x6E
|
||||
#define NAS_TRACKING_AREA_UPDATE_ACCEPT_HEADER_COMPRESSION_CONFIGURATION_STATUS_TYPE 0x68
|
||||
|
||||
typedef struct _nas_tracking_area_update_accept_t {
|
||||
typedef struct nas_tracking_area_update_accept_s {
|
||||
/* Mandatory fields */
|
||||
nas_eps_update_result_t eps_update_result;
|
||||
|
||||
|
@ -476,7 +476,7 @@ typedef struct _nas_tracking_area_update_accept_t {
|
|||
#define NAS_TRACKING_AREA_UPDATE_REJECT_T3346_VALUE_TYPE 0x5F
|
||||
#define NAS_TRACKING_AREA_UPDATE_REJECT_EXTENDED_EMM_CAUSE_TYPE 0xA0
|
||||
|
||||
typedef struct _nas_tracking_area_update_reject_t {
|
||||
typedef struct nas_tracking_area_update_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_emm_cause_t emm_cause;
|
||||
|
||||
|
@ -497,7 +497,7 @@ typedef struct _nas_tracking_area_update_reject_t {
|
|||
#define NAS_EXTENDED_SERVICE_REQUEST_EPS_BEARER_CONTEXT_STATUS_TYPE 0x57
|
||||
#define NAS_EXTENDED_SERVICE_REQUEST_DEVICE_PROPERTIES_TYPE 0xD0
|
||||
|
||||
typedef struct _nas_extended_service_request_t {
|
||||
typedef struct nas_extended_service_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_service_type_t service_type;
|
||||
nas_mobile_identity_t m_tmsi;
|
||||
|
@ -514,7 +514,7 @@ typedef struct _nas_extended_service_request_t {
|
|||
* SERVICE REQUEST
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_service_request_t {
|
||||
typedef struct nas_service_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_ksi_and_sequence_number_t ksi_and_sequence_number;
|
||||
nas_short_mac_t message_authentication_code;
|
||||
|
@ -527,7 +527,7 @@ typedef struct _nas_service_request_t {
|
|||
#define NAS_SERVICE_REJECT_T3346_VALUE_PRESENT (1<<0)
|
||||
#define NAS_SERVICE_REJECT_T3346_VALUE_TYPE 0x5F
|
||||
|
||||
typedef struct _nas_service_reject_t {
|
||||
typedef struct nas_service_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_emm_cause_t emm_cause;
|
||||
nas_gprs_timer_t t3442_value;
|
||||
|
@ -544,7 +544,7 @@ typedef struct _nas_service_reject_t {
|
|||
#define NAS_GUTI_REALLOCATION_COMMAND_TAI_LIST_PRESENT (1<<0)
|
||||
#define NAS_GUTI_REALLOCATION_COMMAND_TAI_LIST_TYPE 0x54
|
||||
|
||||
typedef struct _nas_guti_reallocation_command_t {
|
||||
typedef struct nas_guti_reallocation_command_s {
|
||||
/* Mandatory fields */
|
||||
nas_eps_mobile_identity_t guti;
|
||||
|
||||
|
@ -558,7 +558,7 @@ typedef struct _nas_guti_reallocation_command_t {
|
|||
* AUTHENTICATION REQUEST
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_authentication_request_t {
|
||||
typedef struct nas_authentication_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_key_set_identifier_t nas_key_set_identifierasme;
|
||||
nas_authentication_parameter_rand_t authentication_parameter_rand;
|
||||
|
@ -570,7 +570,7 @@ typedef struct _nas_authentication_request_t {
|
|||
* AUTHENTICATION RESPONSE
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_authentication_response_t {
|
||||
typedef struct nas_authentication_response_s {
|
||||
/* Mandatory fields */
|
||||
nas_authentication_response_parameter_t authentication_response_parameter;
|
||||
} nas_authentication_response_t;
|
||||
|
@ -580,7 +580,7 @@ typedef struct _nas_authentication_response_t {
|
|||
* IDENTITY REQUEST
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_identity_request_t {
|
||||
typedef struct nas_identity_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_identity_type_2_t identity_type;
|
||||
} nas_identity_request_t;
|
||||
|
@ -590,7 +590,7 @@ typedef struct _nas_identity_request_t {
|
|||
* IDENTITY RESPONSE
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_identity_response_t {
|
||||
typedef struct nas_identity_response_s {
|
||||
/* Mandatory fields */
|
||||
nas_mobile_identity_t mobile_identity;
|
||||
} nas_identity_response_t;
|
||||
|
@ -602,7 +602,7 @@ typedef struct _nas_identity_response_t {
|
|||
#define NAS_AUTHENTICATION_FAILURE_AUTHENTICATION_FAILURE_PARAMETER_PRESENT (1<<0)
|
||||
#define NAS_AUTHENTICATION_FAILURE_AUTHENTICATION_FAILURE_PARAMETER_TYPE 0x30
|
||||
|
||||
typedef struct _nas_authentication_failure_t {
|
||||
typedef struct nas_authentication_failure_s {
|
||||
/* Mandatory fields */
|
||||
nas_emm_cause_t emm_cause;
|
||||
|
||||
|
@ -622,7 +622,7 @@ typedef struct _nas_authentication_failure_t {
|
|||
#define NAS_SECURITY_MODE_COMMAND_REPLAYED_NONCEUE_TYPE 0x55
|
||||
#define NAS_SECURITY_MODE_COMMAND_NONCEMME_TYPE 0x56
|
||||
|
||||
typedef struct _nas_security_mode_command_t {
|
||||
typedef struct nas_security_mode_command_s {
|
||||
/* Mandatory fields */
|
||||
nas_security_algorithms_t selected_nas_security_algorithms;
|
||||
nas_key_set_identifier_t nas_key_set_identifier;
|
||||
|
@ -642,7 +642,7 @@ typedef struct _nas_security_mode_command_t {
|
|||
#define NAS_SECURITY_MODE_COMPLETE_IMEISV_PRESENT (1<<0)
|
||||
#define NAS_SECURITY_MODE_COMPLETE_IMEISV_TYPE 0x23
|
||||
|
||||
typedef struct _nas_security_mode_complete_t {
|
||||
typedef struct nas_security_mode_complete_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -654,7 +654,7 @@ typedef struct _nas_security_mode_complete_t {
|
|||
* SECURITY MODE REJECT
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_security_mode_reject_t {
|
||||
typedef struct nas_security_mode_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_emm_cause_t emm_cause;
|
||||
} nas_security_mode_reject_t;
|
||||
|
@ -664,7 +664,7 @@ typedef struct _nas_security_mode_reject_t {
|
|||
* EMM STATUS
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_emm_status_t {
|
||||
typedef struct nas_emm_status_s {
|
||||
/* Mandatory fields */
|
||||
nas_emm_cause_t emm_cause;
|
||||
} nas_emm_status_t;
|
||||
|
@ -684,7 +684,7 @@ typedef struct _nas_emm_status_t {
|
|||
#define NAS_EMM_INFORMATION_UNIVERSAL_TIME_AND_LOCAL_TIME_ZONE_TYPE 0x47
|
||||
#define NAS_EMM_INFORMATION_NETWORK_DAYLIGHT_SAVING_TIME_TYPE 0x49
|
||||
|
||||
typedef struct _nas_emm_information_t {
|
||||
typedef struct nas_emm_information_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -700,7 +700,7 @@ typedef struct _nas_emm_information_t {
|
|||
* DOWNLINK NAS TRANSPORT
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_downlink_nas_transport_t {
|
||||
typedef struct nas_downlink_nas_transport_s {
|
||||
/* Mandatory fields */
|
||||
nas_message_container_t nas_message_container;
|
||||
} nas_downlink_nas_transport_t;
|
||||
|
@ -710,7 +710,7 @@ typedef struct _nas_downlink_nas_transport_t {
|
|||
* UPLINK NAS TRANSPORT
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_uplink_nas_transport_t {
|
||||
typedef struct nas_uplink_nas_transport_s {
|
||||
/* Mandatory fields */
|
||||
nas_message_container_t nas_message_container;
|
||||
} nas_uplink_nas_transport_t;
|
||||
|
@ -728,7 +728,7 @@ typedef struct _nas_uplink_nas_transport_t {
|
|||
#define NAS_CS_SERVICE_NOTIFICATION_LCS_INDICATOR_TYPE 0x62
|
||||
#define NAS_CS_SERVICE_NOTIFICATION_LCS_CLIENT_IDENTITY_TYPE 0x63
|
||||
|
||||
typedef struct _nas_cs_service_notification_t {
|
||||
typedef struct nas_cs_service_notification_s {
|
||||
/* Mandatory fields */
|
||||
nas_paging_identity_t paging_identity;
|
||||
|
||||
|
@ -747,7 +747,7 @@ typedef struct _nas_cs_service_notification_t {
|
|||
#define NAS_UPLINK_GENERIC_NAS_TRANSPORT_ADDITIONAL_INFORMATION_PRESENT (1<<0)
|
||||
#define NAS_UPLINK_GENERIC_NAS_TRANSPORT_ADDITIONAL_INFORMATION_TYPE 0x65
|
||||
|
||||
typedef struct _nas_uplink_generic_nas_transport_t {
|
||||
typedef struct nas_uplink_generic_nas_transport_s {
|
||||
/* Mandatory fields */
|
||||
nas_generic_message_container_type_t generic_message_container_type;
|
||||
nas_generic_message_container_t generic_message_container;
|
||||
|
@ -764,7 +764,7 @@ typedef struct _nas_uplink_generic_nas_transport_t {
|
|||
#define NAS_DOWNLINK_GENERIC_NAS_TRANSPORT_ADDITIONAL_INFORMATION_PRESENT (1<<0)
|
||||
#define NAS_DOWNLINK_GENERIC_NAS_TRANSPORT_ADDITIONAL_INFORMATION_TYPE 0x65
|
||||
|
||||
typedef struct _nas_downlink_generic_nas_transport_t {
|
||||
typedef struct nas_downlink_generic_nas_transport_s {
|
||||
/* Mandatory fields */
|
||||
nas_generic_message_container_type_t generic_message_container_type;
|
||||
nas_generic_message_container_t generic_message_container;
|
||||
|
@ -809,7 +809,7 @@ typedef struct _nas_downlink_generic_nas_transport_t {
|
|||
#define NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
#define NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_SERVING_PLMN_RATE_CONTROL_TYPE 0x6E
|
||||
|
||||
typedef struct _nas_activate_default_eps_bearer_context_request_t {
|
||||
typedef struct nas_activate_default_eps_bearer_context_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_eps_quality_of_service_t eps_qos;
|
||||
nas_access_point_name_t access_point_name;
|
||||
|
@ -843,7 +843,7 @@ typedef struct _nas_activate_default_eps_bearer_context_request_t {
|
|||
#define NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x27
|
||||
#define NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_activate_default_eps_bearer_context_accept_t {
|
||||
typedef struct nas_activate_default_eps_bearer_context_accept_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -860,7 +860,7 @@ typedef struct _nas_activate_default_eps_bearer_context_accept_t {
|
|||
#define NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x27
|
||||
#define NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_activate_default_eps_bearer_context_reject_t {
|
||||
typedef struct nas_activate_default_eps_bearer_context_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -893,7 +893,7 @@ typedef struct _nas_activate_default_eps_bearer_context_reject_t {
|
|||
#define NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_activate_dedicated_eps_bearer_context_request_t {
|
||||
typedef struct nas_activate_dedicated_eps_bearer_context_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_linked_eps_bearer_identity_t linked_eps_bearer_identity;
|
||||
nas_eps_quality_of_service_t eps_qos;
|
||||
|
@ -923,7 +923,7 @@ typedef struct _nas_activate_dedicated_eps_bearer_context_request_t {
|
|||
#define NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_activate_dedicated_eps_bearer_context_accept_t {
|
||||
typedef struct nas_activate_dedicated_eps_bearer_context_accept_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -943,7 +943,7 @@ typedef struct _nas_activate_dedicated_eps_bearer_context_accept_t {
|
|||
#define NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REJECT_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REJECT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_activate_dedicated_eps_bearer_context_reject_t {
|
||||
typedef struct nas_activate_dedicated_eps_bearer_context_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -983,7 +983,7 @@ typedef struct _nas_activate_dedicated_eps_bearer_context_reject_t {
|
|||
#define NAS_MODIFY_EPS_BEARER_CONTEXT_REQUEST_HEADER_COMPRESSION_CONFIGURATION_TYPE 0x66
|
||||
#define NAS_MODIFY_EPS_BEARER_CONTEXT_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_modify_eps_bearer_context_request_t {
|
||||
typedef struct nas_modify_eps_bearer_context_request_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -1012,7 +1012,7 @@ typedef struct _nas_modify_eps_bearer_context_request_t {
|
|||
#define NAS_MODIFY_EPS_BEARER_CONTEXT_ACCEPT_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_MODIFY_EPS_BEARER_CONTEXT_ACCEPT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_modify_eps_bearer_context_accept_t {
|
||||
typedef struct nas_modify_eps_bearer_context_accept_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -1032,7 +1032,7 @@ typedef struct _nas_modify_eps_bearer_context_accept_t {
|
|||
#define NAS_MODIFY_EPS_BEARER_CONTEXT_REJECT_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_MODIFY_EPS_BEARER_CONTEXT_REJECT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_modify_eps_bearer_context_reject_t {
|
||||
typedef struct nas_modify_eps_bearer_context_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -1058,7 +1058,7 @@ typedef struct _nas_modify_eps_bearer_context_reject_t {
|
|||
#define NAS_DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_deactivate_eps_bearer_context_request_t {
|
||||
typedef struct nas_deactivate_eps_bearer_context_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -1080,7 +1080,7 @@ typedef struct _nas_deactivate_eps_bearer_context_request_t {
|
|||
#define NAS_DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x27
|
||||
#define NAS_DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_deactivate_eps_bearer_context_accept_t {
|
||||
typedef struct nas_deactivate_eps_bearer_context_accept_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -1107,7 +1107,7 @@ typedef struct _nas_deactivate_eps_bearer_context_accept_t {
|
|||
#define NAS_PDN_CONNECTIVITY_REQUEST_HEADER_COMPRESSION_CONFIGURATION_TYPE 0x66
|
||||
#define NAS_PDN_CONNECTIVITY_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_pdn_connectivity_request_t {
|
||||
typedef struct nas_pdn_connectivity_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_request_type_t request_type;
|
||||
|
||||
|
@ -1137,7 +1137,7 @@ typedef struct _nas_pdn_connectivity_request_t {
|
|||
#define NAS_PDN_CONNECTIVITY_REJECT_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_PDN_CONNECTIVITY_REJECT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_pdn_connectivity_reject_t {
|
||||
typedef struct nas_pdn_connectivity_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -1159,7 +1159,7 @@ typedef struct _nas_pdn_connectivity_reject_t {
|
|||
#define NAS_PDN_DISCONNECT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x27
|
||||
#define NAS_PDN_DISCONNECT_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_pdn_disconnect_request_t {
|
||||
typedef struct nas_pdn_disconnect_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_linked_eps_bearer_identity_t linked_eps_bearer_identity;
|
||||
|
||||
|
@ -1178,7 +1178,7 @@ typedef struct _nas_pdn_disconnect_request_t {
|
|||
#define NAS_PDN_DISCONNECT_REJECT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x27
|
||||
#define NAS_PDN_DISCONNECT_REJECT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_pdn_disconnect_reject_t {
|
||||
typedef struct nas_pdn_disconnect_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -1201,7 +1201,7 @@ typedef struct _nas_pdn_disconnect_reject_t {
|
|||
#define NAS_BEARER_RESOURCE_ALLOCATION_REQUEST_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_BEARER_RESOURCE_ALLOCATION_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_bearer_resource_allocation_request_t {
|
||||
typedef struct nas_bearer_resource_allocation_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_linked_eps_bearer_identity_t linked_eps_bearer_identity;
|
||||
nas_traffic_flow_aggregate_description_t traffic_flow_aggregate;
|
||||
|
@ -1230,7 +1230,7 @@ typedef struct _nas_bearer_resource_allocation_request_t {
|
|||
#define NAS_BEARER_RESOURCE_ALLOCATION_REJECT_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_BEARER_RESOURCE_ALLOCATION_REJECT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_bearer_resource_allocation_reject_t {
|
||||
typedef struct nas_bearer_resource_allocation_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -1262,7 +1262,7 @@ typedef struct _nas_bearer_resource_allocation_reject_t {
|
|||
#define NAS_BEARER_RESOURCE_MODIFICATION_REQUEST_HEADER_COMPRESSION_CONFIGURATION_TYPE 0x66
|
||||
#define NAS_BEARER_RESOURCE_MODIFICATION_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_bearer_resource_modification_request_t {
|
||||
typedef struct nas_bearer_resource_modification_request_s {
|
||||
/* Mandatory fields */
|
||||
nas_linked_eps_bearer_identity_t eps_bearer_identity_for_packet_filter;
|
||||
nas_traffic_flow_aggregate_description_t traffic_flow_aggregate;
|
||||
|
@ -1293,7 +1293,7 @@ typedef struct _nas_bearer_resource_modification_request_t {
|
|||
#define NAS_BEARER_RESOURCE_MODIFICATION_REJECT_NBIFOM_CONTAINER_TYPE 0x33
|
||||
#define NAS_BEARER_RESOURCE_MODIFICATION_REJECT_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_bearer_resource_modification_reject_t {
|
||||
typedef struct nas_bearer_resource_modification_reject_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
|
||||
|
@ -1317,7 +1317,7 @@ typedef struct _nas_bearer_resource_modification_reject_t {
|
|||
#define NAS_ESM_INFORMATION_RESPONSE_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x27
|
||||
#define NAS_ESM_INFORMATION_RESPONSE_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_TYPE 0x7B
|
||||
|
||||
typedef struct _nas_esm_information_response_t {
|
||||
typedef struct nas_esm_information_response_s {
|
||||
|
||||
/* Optional fields */
|
||||
uint32_t presencemask;
|
||||
|
@ -1331,13 +1331,13 @@ typedef struct _nas_esm_information_response_t {
|
|||
* ESM STATUS
|
||||
******************************************************/
|
||||
|
||||
typedef struct _nas_esm_status_t {
|
||||
typedef struct nas_esm_status_s {
|
||||
/* Mandatory fields */
|
||||
nas_esm_cause_t esm_cause;
|
||||
} nas_esm_status_t;
|
||||
|
||||
|
||||
typedef struct _nas_emm_message_t {
|
||||
typedef struct nas_emm_message_s {
|
||||
nas_emm_header_t h;
|
||||
union {
|
||||
nas_attach_request_t attach_request;
|
||||
|
@ -1371,7 +1371,7 @@ typedef struct _nas_emm_message_t {
|
|||
};
|
||||
} nas_emm_message_t;
|
||||
|
||||
typedef struct _nas_esm_message_t {
|
||||
typedef struct nas_esm_message_s {
|
||||
nas_esm_header_t h;
|
||||
union {
|
||||
nas_activate_default_eps_bearer_context_request_t activate_default_eps_bearer_context_request;
|
||||
|
@ -1398,7 +1398,7 @@ typedef struct _nas_esm_message_t {
|
|||
};
|
||||
} nas_esm_message_t;
|
||||
|
||||
typedef struct _nas_message_t {
|
||||
typedef struct nas_message_s {
|
||||
nas_security_header_t h;
|
||||
union {
|
||||
nas_emm_message_t emm;
|
||||
|
|
|
@ -74,7 +74,7 @@ typedef struct nas_guti_s {
|
|||
/* 9.9.2.0 Additional information
|
||||
* O TLV 3-n */
|
||||
#define NAX_MAX_ADDITIONAL_INFORMATION_LEN 255
|
||||
typedef struct _nas_additional_information_t {
|
||||
typedef struct nas_additional_information_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAX_MAX_ADDITIONAL_INFORMATION_LEN];
|
||||
} __attribute__ ((packed)) nas_additional_information_t;
|
||||
|
@ -82,7 +82,7 @@ typedef struct _nas_additional_information_t {
|
|||
/* 9.9.2.0A Device properties
|
||||
* See subclause 10.5.7.8 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct _nas_device_properties_t {
|
||||
typedef struct nas_device_properties_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t low_priority:1;)
|
||||
|
@ -90,7 +90,7 @@ ED3(uint8_t type:4;,
|
|||
|
||||
/* 9.9.2.1 EPS bearer context status
|
||||
* O TLV 4 */
|
||||
typedef struct _nas_eps_bearer_context_status_t {
|
||||
typedef struct nas_eps_bearer_context_status_s {
|
||||
uint8_t length;
|
||||
ED8(uint8_t ebi7:1;,
|
||||
uint8_t ebi6:1;,
|
||||
|
@ -113,7 +113,7 @@ ED8(uint8_t ebi15:1;,
|
|||
/* 9.9.2.2 Location area identification
|
||||
* See subclause 10.5.1.3 in 3GPP TS 24.008 [13]
|
||||
* O TV 6 */
|
||||
typedef struct _nas_location_area_identification_t {
|
||||
typedef struct nas_location_area_identification_s {
|
||||
nas_plmn_id_t plmn_id;
|
||||
uint16_t lac;
|
||||
} __attribute__ ((packed)) nas_location_area_identification_t;
|
||||
|
@ -128,7 +128,7 @@ typedef struct _nas_location_area_identification_t {
|
|||
#define NAS_MOBILE_IDENTITY_TMSI 4
|
||||
#define NAS_MOBILE_IDENTITY_TMGI 5
|
||||
#define NAS_MOBILE_IDENTITY_GUTI 6
|
||||
typedef struct _nas_mobile_identity_imsi {
|
||||
typedef struct nas_mobile_identity_imsi_s {
|
||||
ED3(uint8_t digit1:4;,
|
||||
uint8_t odd_even:1;,
|
||||
uint8_t type:3;)
|
||||
|
@ -148,14 +148,14 @@ ED2(uint8_t digit15:4;,
|
|||
uint8_t digit14:4;)
|
||||
} __attribute__ ((packed)) nas_mobile_identity_imsi_t;
|
||||
|
||||
typedef struct _nas_mobile_identity_tmsi {
|
||||
typedef struct nas_mobile_identity_tmsi_s {
|
||||
ED3(uint8_t spare:4;,
|
||||
uint8_t odd_even:1;,
|
||||
uint8_t type:3;)
|
||||
uint32_t tmsi;
|
||||
} __attribute__ ((packed)) nas_mobile_identity_tmsi_t;
|
||||
|
||||
typedef struct _nas_mobile_identity_tmgi {
|
||||
typedef struct nas_mobile_identity_tmgi_s {
|
||||
ED5(uint8_t spare:2;,
|
||||
uint8_t mbms_session_id:1;,
|
||||
uint8_t mcc_mnc:1;,
|
||||
|
@ -166,7 +166,7 @@ ED5(uint8_t spare:2;,
|
|||
uint8_t mbms_session_identity;
|
||||
} __attribute__ ((packed)) nas_mobile_identity_tmgi_t;
|
||||
|
||||
typedef struct _nas_mobile_identity_t {
|
||||
typedef struct nas_mobile_identity_s {
|
||||
uint8_t length;
|
||||
union {
|
||||
nas_mobile_identity_imsi_t imsi;
|
||||
|
@ -217,7 +217,7 @@ ED8(uint8_t cm3:1;,
|
|||
* See subclause 10.5.1.7 in 3GPP TS 24.008 [13].
|
||||
* O TLV 2-34 */
|
||||
#define NAS_MAX_MOBILE_STATION_CLASSMARK_3_LEN 32
|
||||
typedef struct _nas_mobile_station_classmark_3_t {
|
||||
typedef struct nas_mobile_station_classmark_3_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAS_MAX_MOBILE_STATION_CLASSMARK_3_LEN];
|
||||
} __attribute__ ((packed)) nas_mobile_station_classmark_3_t;
|
||||
|
@ -226,7 +226,7 @@ typedef struct _nas_mobile_station_classmark_3_t {
|
|||
* See subclause 10.5.1.13 in 3GPP TS 24.008 [13].
|
||||
* O TLV 5-47 */
|
||||
#define NAS_MAX_PLMN 15
|
||||
typedef struct _nas_plmn_list_t {
|
||||
typedef struct nas_plmn_list_s {
|
||||
uint8_t length;
|
||||
nas_plmn_id_t plmn_id[NAS_MAX_PLMN];
|
||||
} __attribute__ ((packed)) nas_plmn_list_t;
|
||||
|
@ -234,21 +234,21 @@ typedef struct _nas_plmn_list_t {
|
|||
/* 9.9.2.10 Supported codec list
|
||||
* See subclause 10.5.4.32 in 3GPP TS 24.008 [13].
|
||||
* O TLV 5-n */
|
||||
typedef struct _nas_supported_codec_item_t {
|
||||
typedef struct nas_supported_codec_item_s {
|
||||
uint8_t system_identification;
|
||||
uint8_t length_of_bitmap;
|
||||
uint16_t codec_bitmap;
|
||||
} __attribute__ ((packed)) nas_supported_codec_item_t;
|
||||
|
||||
#define NAS_MAX_SUPPORTED_CODECS 8
|
||||
typedef struct _nas_supported_codec_list_t {
|
||||
typedef struct nas_supported_codec_list_s {
|
||||
uint8_t length;
|
||||
nas_supported_codec_item_t item[NAS_MAX_SUPPORTED_CODECS];
|
||||
} __attribute__ ((packed)) nas_supported_codec_list_t;
|
||||
|
||||
/* 9.9.3.0A Additional update result
|
||||
* O TV 1 */
|
||||
typedef struct _nas_additional_update_result_t {
|
||||
typedef struct nas_additional_update_result_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:2;,
|
||||
uint8_t additional_update_result_value:2;)
|
||||
|
@ -260,7 +260,7 @@ ED3(uint8_t type:4;,
|
|||
#define NAS_ADDITIONAL_UPDATE_TYPE_CIOT_CONTROL_PLANE 1
|
||||
#define NAS_ADDITIONAL_UPDATE_TYPE_CIOT_DATA_PLANE 2
|
||||
#define NAS_ADDITIONAL_UPDATE_TYPE_CIOT_RESERVED 3
|
||||
typedef struct _nas_additional_update_type_t {
|
||||
typedef struct nas_additional_update_type_s {
|
||||
ED4(uint8_t type:4;,
|
||||
uint8_t pnb_ciot:2;,
|
||||
uint8_t saf:1;,
|
||||
|
@ -270,7 +270,7 @@ ED4(uint8_t type:4;,
|
|||
/* 9.9.3.1 Authentication failure parameter
|
||||
* See subclause 10.5.3.2.2 in 3GPP TS 24.008 [13].
|
||||
* O TLV 16 */
|
||||
typedef struct _nas_authentication_failure_parameter_t {
|
||||
typedef struct nas_authentication_failure_parameter_s {
|
||||
uint8_t length;
|
||||
uint8_t auts[AUTS_LEN];
|
||||
} __attribute__ ((packed)) nas_authentication_failure_parameter_t;
|
||||
|
@ -278,7 +278,7 @@ typedef struct _nas_authentication_failure_parameter_t {
|
|||
/* 9.9.3.2 Authentication parameter AUTN
|
||||
* See subclause 10.5.3.1.1 in 3GPP TS 24.008 [13].
|
||||
* M LV 17 */
|
||||
typedef struct _nas_authentication_parameter_autn_t {
|
||||
typedef struct nas_authentication_parameter_autn_s {
|
||||
uint8_t length;
|
||||
uint8_t autn[AUTN_LEN];
|
||||
} nas_authentication_parameter_autn_t;
|
||||
|
@ -286,13 +286,13 @@ typedef struct _nas_authentication_parameter_autn_t {
|
|||
/* 9.9.3.3 Authentication parameter RAND
|
||||
* See subclause 10.5.3.1 in 3GPP TS 24.008 [13].
|
||||
* M V 16 */
|
||||
typedef struct _nas_authentication_parameter_rand_t {
|
||||
typedef struct nas_authentication_parameter_rand_s {
|
||||
uint8_t rand[RAND_LEN];
|
||||
} nas_authentication_parameter_rand_t;
|
||||
|
||||
/* 9.9.3.4 Authentication response parameter
|
||||
* M LV 5-17 */
|
||||
typedef struct _nas_authentication_response_parameter_t {
|
||||
typedef struct nas_authentication_response_parameter_s {
|
||||
uint8_t length;
|
||||
uint8_t res[MAX_RES_LEN];
|
||||
} nas_authentication_response_parameter_t;
|
||||
|
@ -301,7 +301,7 @@ typedef struct _nas_authentication_response_parameter_t {
|
|||
* See subclause 10.5.1.2 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
#define NAS_CIPHERING_KEY_SEQUENCE_NUMBER_NO_KEY_FROM_MS 7
|
||||
typedef struct _nas_ciphering_key_sequence_number_t {
|
||||
typedef struct nas_ciphering_key_sequence_number_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t key_sequence:3;)
|
||||
|
@ -311,7 +311,7 @@ ED3(uint8_t type:4;,
|
|||
* O TV 1 */
|
||||
#define NAS_CS_FALLBACK_RESPONSE_REJECTED_BY_THE_UE 0
|
||||
#define NAS_CS_FALLBACK_RESPONSE_ACCEPTED_BY_THE_UE 1
|
||||
typedef struct _nas_csfb_response_t {
|
||||
typedef struct nas_csfb_response_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t response:3;)
|
||||
|
@ -323,7 +323,7 @@ ED3(uint8_t type:4;,
|
|||
#define NAS_NO_ADJUSTMENT_FOR_DAYLIGHT_SAVING_TIME 0
|
||||
#define NAS_PLUS_1_HOUR_ADJUSTMENT_FOR_DAYLIGHT_SAVING_TIME 1
|
||||
#define NAS_PLUS_2_HOURS_ADJUSTMENT_FOR_DAYLIGHT_SAVING_TIME 2
|
||||
typedef struct _nas_daylight_saving_time_t {
|
||||
typedef struct nas_daylight_saving_time_s {
|
||||
uint8_t length;
|
||||
ED2(uint8_t spare:6;,
|
||||
uint8_t value:2;)
|
||||
|
@ -339,7 +339,7 @@ ED2(uint8_t spare:6;,
|
|||
#define NAS_DETACH_TYPE_TO_UE_RE_ATTACH_REQUIRED 1
|
||||
#define NAS_DETACH_TYPE_TO_UE_RE_ATTACH_NOT_REQUIRED 2
|
||||
#define NAS_DETACH_TYPE_TO_UE_IMSI_DETACH 3
|
||||
typedef struct _nas_detach_type_t {
|
||||
typedef struct nas_detach_type_s {
|
||||
ED4(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t switch_off:1;,
|
||||
|
@ -362,7 +362,7 @@ ED4(uint8_t tsc:1;,
|
|||
#define NAS_DRX_PARAMETER_COEFFICIENT_7_T_64 7
|
||||
#define NAS_DRX_PARAMETER_COEFFICIENT_8_T_128 8
|
||||
#define NAS_DRX_PARAMETER_COEFFICIENT_9_T_256 9
|
||||
typedef struct _nas_drx_parameter_t {
|
||||
typedef struct nas_drx_parameter_s {
|
||||
uint8_t split_pg_cycle_code;
|
||||
ED3(uint8_t cn_specific_drx_cycle_length_coefficient_and_drx_value_for_s1_mode:4;,
|
||||
uint8_t split_on_ccch:1;,
|
||||
|
@ -420,7 +420,7 @@ typedef uint8_t nas_emm_cause_t;
|
|||
* M V 1/2 */
|
||||
#define NAS_ATTACH_RESULT_EPS_ONLY 1
|
||||
#define NAS_ATTACH_RESULT_COMBINED_EPS_IMSI_ATTACH 2
|
||||
typedef struct _nas_eps_attach_result_t {
|
||||
typedef struct nas_eps_attach_result_s {
|
||||
ED2(uint8_t spare:5;,
|
||||
uint8_t result:3;)
|
||||
} __attribute__ ((packed)) nas_eps_attach_result_t;
|
||||
|
@ -437,7 +437,7 @@ ED2(uint8_t spare:5;,
|
|||
#define NAS_ATTACH_TYPE_COMBINED_EPS_IMSI_ATTAACH 2
|
||||
#define NAS_ATTACH_TYPE_EPS_ERMERGENCY_ATTCH 3
|
||||
#define NAS_ATTACH_TYPE_RESERVED 4
|
||||
typedef struct _nas_eps_attach_type_t {
|
||||
typedef struct nas_eps_attach_type_s {
|
||||
ED4(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t spare:1;,
|
||||
|
@ -452,7 +452,7 @@ ED4(uint8_t tsc:1;,
|
|||
|
||||
#define NAS_EPS_MOBILE_IDENTITY_EVEN 0
|
||||
#define NAS_EPS_MOBILE_IDENTITY_ODD 1
|
||||
typedef struct _nas_eps_mobile_identity_guti_t {
|
||||
typedef struct nas_eps_mobile_identity_guti_s {
|
||||
ED3(uint8_t spare:4;,
|
||||
uint8_t odd_even:1;,
|
||||
uint8_t type:3;)
|
||||
|
@ -465,7 +465,7 @@ ED3(uint8_t spare:4;,
|
|||
typedef nas_mobile_identity_imsi_t nas_eps_mobile_identity_imsi_t;
|
||||
typedef nas_eps_mobile_identity_imsi_t nas_eps_mobile_identity_imei_t;
|
||||
|
||||
typedef struct _nas_eps_mobile_identity_t {
|
||||
typedef struct nas_eps_mobile_identity_s {
|
||||
uint8_t length;
|
||||
union {
|
||||
nas_eps_mobile_identity_imsi_t imsi;
|
||||
|
@ -476,7 +476,7 @@ typedef struct _nas_eps_mobile_identity_t {
|
|||
|
||||
/* 9.9.3.12A EPS network feature support
|
||||
* O TLV 3 */
|
||||
typedef struct _nas_eps_network_feature_support_t {
|
||||
typedef struct nas_eps_network_feature_support_s {
|
||||
uint8_t length;
|
||||
ED7(uint8_t cp_ciot:1;,
|
||||
uint8_t erw_opdn:1;,
|
||||
|
@ -498,7 +498,7 @@ ED5(uint8_t spare:4;,
|
|||
#define NAS_EPS_UPDATE_RESULT_COMBINED_TA_LA_UPDATED 1
|
||||
#define NAS_EPS_UPDATE_RESULT_TA_UPDATED_AND_ISR_ACTIVATED 4
|
||||
#define NAS_EPS_UPDATE_RESULT_COMBINED_TA_LA_UPDATED_AND_ISR_ACTIVATED 5
|
||||
typedef struct _nas_eps_update_result_t {
|
||||
typedef struct nas_eps_update_result_s {
|
||||
ED2(uint8_t spare:5;,
|
||||
uint8_t result:3;)
|
||||
} __attribute__ ((packed)) nas_eps_update_result_t;
|
||||
|
@ -511,7 +511,7 @@ ED2(uint8_t spare:5;,
|
|||
#define NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING 1
|
||||
#define NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING_WITH_IMSI_ATTACH 2
|
||||
#define NAS_EPS_UPDATE_TYPE_PERIODIC_UPDATING 3
|
||||
typedef struct _nas_eps_update_type_t {
|
||||
typedef struct nas_eps_update_type_s {
|
||||
ED4(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t active_flag:1;,
|
||||
|
@ -520,7 +520,7 @@ ED4(uint8_t tsc:1;,
|
|||
|
||||
/* 9.9.3.15 ESM message container
|
||||
* M LV-E 5-n */
|
||||
typedef struct _nas_esm_message_container_t {
|
||||
typedef struct nas_esm_message_container_s {
|
||||
uint16_t length;
|
||||
uint8_t *buffer;
|
||||
} nas_esm_message_container_t;
|
||||
|
@ -532,7 +532,7 @@ typedef struct _nas_esm_message_container_t {
|
|||
#define NAS_GRPS_TIMER_UNIT_MULTIPLES_OF_1_MM 1
|
||||
#define NAS_GRPS_TIMER_UNIT_MULTIPLES_OF_DECI_HH 2
|
||||
#define NAS_GRPS_TIMER_UNIT_DEACTIVATED 7
|
||||
typedef struct _nas_gprs_timer_t {
|
||||
typedef struct nas_gprs_timer_s {
|
||||
ED2(uint8_t unit:3;,
|
||||
uint8_t value:5;)
|
||||
} __attribute__ ((packed)) nas_gprs_timer_t;
|
||||
|
@ -540,7 +540,7 @@ ED2(uint8_t unit:3;,
|
|||
/* 9.9.3.16A GPRS timer 2
|
||||
* See subclause 10.5.7.4 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3 */
|
||||
typedef struct _nas_gprs_timer_2_t {
|
||||
typedef struct nas_gprs_timer_2_s {
|
||||
uint8_t length;
|
||||
uint8_t gprs_timer_2_value;
|
||||
} __attribute__ ((packed)) nas_gprs_timer_2_t;
|
||||
|
@ -557,7 +557,7 @@ typedef struct _nas_gprs_timer_2_t {
|
|||
#define NAS_GRPS_TIMER_3_UNIT_MULTIPLES_OF_320_HH 6
|
||||
#define NAS_GRPS_TIMER_3_UNIT_DEACTIVATED 7
|
||||
|
||||
typedef struct _nas_gprs_timer_3_t {
|
||||
typedef struct nas_gprs_timer_3_s {
|
||||
uint8_t length;
|
||||
ED2(uint8_t unit:3;,
|
||||
uint8_t timer_value:5;)
|
||||
|
@ -570,7 +570,7 @@ ED2(uint8_t unit:3;,
|
|||
#define NAS_IDENTITY_TYPE_2_IMEI 2
|
||||
#define NAS_IDENTITY_TYPE_2_IMEISV 3
|
||||
#define NAS_IDENTITY_TYPE_2_TMSI 4
|
||||
typedef struct _nas_identity_type_2_t {
|
||||
typedef struct nas_identity_type_2_s {
|
||||
ED2(uint8_t spare:5;,
|
||||
uint8_t type:3;)
|
||||
} __attribute__ ((packed)) nas_identity_type_2_t;
|
||||
|
@ -578,7 +578,7 @@ ED2(uint8_t spare:5;,
|
|||
/* 9.9.3.18 IMEISV request
|
||||
* See subclause 10.5.5.10 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct _nas_imeisv_request_t {
|
||||
typedef struct nas_imeisv_request_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t imeisv_request_value:3;)
|
||||
|
@ -586,7 +586,7 @@ ED3(uint8_t type:4;,
|
|||
|
||||
/* 9.9.3.19 KSI and sequence number
|
||||
* M V 1 */
|
||||
typedef struct _nas_ksi_and_sequence_number_t {
|
||||
typedef struct nas_ksi_and_sequence_number_s {
|
||||
ED2(uint8_t ksi:3;,
|
||||
uint8_t sequence_number:5;)
|
||||
} __attribute__ ((packed)) nas_ksi_and_sequence_number_t;
|
||||
|
@ -600,7 +600,7 @@ ED2(uint8_t ksi:3;,
|
|||
#define NAS_MS_NETWORK_CAPABILITY_GEA5 0b00001000
|
||||
#define NAS_MS_NETWORK_CAPABILITY_GEA6 0b00000100
|
||||
#define NAS_MS_NETWORK_CAPABILITY_GEA7 0b00000010
|
||||
typedef struct _nas_ms_network_capability_t {
|
||||
typedef struct nas_ms_network_capability_s {
|
||||
uint8_t length;
|
||||
ED7(uint8_t gea1:1;,
|
||||
uint8_t sm_capabilities_via_dedicated_channels:1;,
|
||||
|
@ -631,7 +631,7 @@ ED6(uint8_t user_plane_integrity_protection_support:1;,
|
|||
/* 9.9.3.20A MS network feature support
|
||||
* See subclause 10.5.1.15 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct _nas_ms_network_feature_support_t {
|
||||
typedef struct nas_ms_network_feature_support_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t extended_periodic_timers:1;)
|
||||
|
@ -641,7 +641,7 @@ ED3(uint8_t type:4;,
|
|||
* M V 1/2
|
||||
* 9.9.2.9 Spare half octet
|
||||
* M V 1/2 */
|
||||
typedef struct _nas_key_set_identifier_t {
|
||||
typedef struct nas_key_set_identifier_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;)
|
||||
|
@ -650,7 +650,7 @@ ED3(uint8_t type:4;,
|
|||
/* 9.9.3.22 message container
|
||||
* M LV 3-252 */
|
||||
#define NAS_MAX_MESSAGE_CONTAINER_LEN 250
|
||||
typedef struct _nas_message_container_t {
|
||||
typedef struct nas_message_container_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAS_MAX_MESSAGE_CONTAINER_LEN];
|
||||
} __attribute__ ((packed)) nas_message_container_t;
|
||||
|
@ -665,7 +665,7 @@ typedef struct _nas_message_container_t {
|
|||
#define NAS_SECURITY_ALGORITHMS_128_EEA1 1
|
||||
#define NAS_SECURITY_ALGORITHMS_128_EEA2 2
|
||||
#define NAS_SECURITY_ALGORITHMS_128_EEA3 3
|
||||
typedef struct _nas_security_algorithms_t {
|
||||
typedef struct nas_security_algorithms_s {
|
||||
ED4(uint8_t spare1:1;,
|
||||
uint8_t type_of_ciphering_algorithm:3;,
|
||||
uint8_t spare2:1;,
|
||||
|
@ -676,7 +676,7 @@ ED4(uint8_t spare1:1;,
|
|||
* See subclause 10.5.3.5a in 3GPP TS 24.008 [13].
|
||||
* O TLV 3-n */
|
||||
#define NAS_MAX_NETWORK_NAME_LEN 255
|
||||
typedef struct _nas_network_name_t {
|
||||
typedef struct nas_network_name_s {
|
||||
uint8_t length;
|
||||
ED4(uint8_t ext:1;,
|
||||
uint8_t coding_scheme:3;,
|
||||
|
@ -688,7 +688,7 @@ ED4(uint8_t ext:1;,
|
|||
/* 9.9.3.24A Network resource identifier container
|
||||
* See subclause 10.5.5.31 in 3GPP TS 24.008 [13].
|
||||
* O TLV 4 */
|
||||
typedef struct _nas_network_resource_identifier_container_t {
|
||||
typedef struct nas_network_resource_identifier_container_s {
|
||||
uint8_t length;
|
||||
uint8_t nri_container_value1;
|
||||
ED2(uint8_t nri_container_value2:2;,
|
||||
|
@ -703,7 +703,7 @@ typedef uint32_t nas_nonce_t;
|
|||
* M V 1 */
|
||||
#define NAS_PAGING_IDENTITY_IMSI 0
|
||||
#define NAS_PAGING_IDENTITY_TMSI 1
|
||||
typedef struct _nas_paging_identity_t {
|
||||
typedef struct nas_paging_identity_s {
|
||||
ED2(uint8_t spare:7;,
|
||||
uint8_t identity:1;)
|
||||
} nas_paging_identity_t;
|
||||
|
@ -715,7 +715,7 @@ typedef uint32_t nas_p_tmsi_signature_t; /* TV : 4bytes */
|
|||
|
||||
/* 9.9.3.26A Extended EMM cause
|
||||
* O TV 1 */
|
||||
typedef struct _nas_extended_emm_cause_t {
|
||||
typedef struct nas_extended_emm_cause_s {
|
||||
ED4(uint8_t type:4;,
|
||||
uint8_t spare:2;,
|
||||
uint8_t eps_optimization_info:1;,
|
||||
|
@ -729,7 +729,7 @@ ED4(uint8_t type:4;,
|
|||
#define NAS_SERVICE_TYPE_CS_FALLBACK_OR_1XCS_FALLBACK_FROM_UE 0
|
||||
#define NAS_SERVICE_TYPE_CS_FALLBACK_OR_1XCS_FALLBACK_TO_UE 1
|
||||
#define NAS_SERVICE_TYPE_CS_FALLBACK_EMERGENCY_CALL_OR_1XCS_FALLBACK_EMERGENCY_CALL_FROM_UE 2
|
||||
typedef struct _nas_service_type_t {
|
||||
typedef struct nas_service_type_s {
|
||||
ED3(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t service_type:4;)
|
||||
|
@ -749,7 +749,7 @@ typedef uint8_t nas_time_zone_t;
|
|||
* 9.2.3.11 TPServiceCentreTimeStamp (TPSCTS) in 3GPP TS 23.040 [90]
|
||||
* O TV 8 */
|
||||
#define NAS_TIME_TO_BCD(x) TIME_TO_BCD(x)
|
||||
typedef struct _nas_time_zone_and_time_t {
|
||||
typedef struct nas_time_zone_and_time_s {
|
||||
uint8_t year;
|
||||
uint8_t mon;
|
||||
uint8_t mday;
|
||||
|
@ -767,7 +767,7 @@ typedef struct _nas_time_zone_and_time_t {
|
|||
/* 9.9.3.31 TMSI status
|
||||
* See subclause 10.5.5.4 in 3GPP TS 24.008 [13]
|
||||
* O TV 1 */
|
||||
typedef struct _nas_tmsi_status_t {
|
||||
typedef struct nas_tmsi_status_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t tmsi_flag:1;)
|
||||
|
@ -775,7 +775,7 @@ ED3(uint8_t type:4;,
|
|||
|
||||
/* 9.9.3.32 Tracking area identity
|
||||
* O TV 6 */
|
||||
typedef struct _nas_tracking_area_identity_t {
|
||||
typedef struct nas_tracking_area_identity_s {
|
||||
nas_plmn_id_t plmn_id;
|
||||
uint16_t tac;
|
||||
} __attribute__ ((packed)) nas_tracking_area_identity_t;
|
||||
|
@ -786,7 +786,7 @@ typedef struct _nas_tracking_area_identity_t {
|
|||
#define TAI0_TYPE 0
|
||||
#define TAI1_TYPE 1
|
||||
#define TAI2_TYPE 2
|
||||
typedef struct _tai0_list_t {
|
||||
typedef struct tai0_list_s {
|
||||
struct {
|
||||
ED3(uint8_t spare:1;,
|
||||
uint8_t type:2;,
|
||||
|
@ -802,7 +802,7 @@ typedef struct _tai0_list_t {
|
|||
} __attribute__ ((packed)) tai[MAX_NUM_OF_TAI];
|
||||
} __attribute__ ((packed)) tai0_list_t;
|
||||
|
||||
typedef struct _tai2_list_t {
|
||||
typedef struct tai2_list_s {
|
||||
ED3(uint8_t spare:1;,
|
||||
uint8_t type:2;,
|
||||
uint8_t num:5;)
|
||||
|
@ -815,7 +815,7 @@ ED3(uint8_t spare:1;,
|
|||
tai_t tai[MAX_NUM_OF_TAI];
|
||||
} __attribute__ ((packed)) tai2_list_t;
|
||||
|
||||
typedef struct _nas_tracking_area_identity_list_t {
|
||||
typedef struct nas_tracking_area_identity_list_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAS_MAX_TAI_LIST_LEN];
|
||||
} __attribute__ ((packed)) nas_tracking_area_identity_list_t;
|
||||
|
@ -826,7 +826,7 @@ void nas_tai_list_build(
|
|||
|
||||
/* 9.9.3.34 UE network capability
|
||||
* M LV 3-14 */
|
||||
typedef struct _nas_ue_network_capability_t {
|
||||
typedef struct nas_ue_network_capability_s {
|
||||
uint8_t length;
|
||||
union {
|
||||
struct {
|
||||
|
@ -902,7 +902,7 @@ ED2(uint8_t spare:7;,
|
|||
|
||||
/* 9.9.3.35 UE radio capability information update needed
|
||||
* O TV 1 */
|
||||
typedef struct _nas_ue_radio_capability_information_update_needed_t {
|
||||
typedef struct nas_ue_radio_capability_information_update_needed_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t update_needed:1;)
|
||||
|
@ -910,7 +910,7 @@ ED3(uint8_t type:4;,
|
|||
|
||||
/* 9.9.3.36 UE security capability
|
||||
* M LV 3-6 */
|
||||
typedef struct _nas_ue_security_capability_t {
|
||||
typedef struct nas_ue_security_capability_s {
|
||||
uint8_t length;
|
||||
union {
|
||||
struct {
|
||||
|
@ -983,7 +983,7 @@ typedef struct _nas_ue_security_capability_t {
|
|||
* See subclause 10.5.3.13 in 3GPP TS 24.008 [13].
|
||||
* O TLV 5-50 */
|
||||
#define NAS_MAX_EMERGENCY_NUMBER_LIST_LEN 48
|
||||
typedef struct _nas_emergency_number_list_t {
|
||||
typedef struct nas_emergency_number_list_s {
|
||||
uint16_t length;
|
||||
uint8_t buffer[NAS_MAX_EMERGENCY_NUMBER_LIST_LEN];
|
||||
} __attribute__ ((packed)) nas_emergency_number_list_t;
|
||||
|
@ -994,7 +994,7 @@ typedef struct _nas_emergency_number_list_t {
|
|||
* octets 3 to 14 of the Calling party BCD number information element
|
||||
* defined in subclause 10.5.4.9 of 3GPP TS 24.008 [13]. */
|
||||
#define NAX_MAX_CLI_LEN 12
|
||||
typedef struct _nas_cli_t {
|
||||
typedef struct nas_cli_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAX_MAX_CLI_LEN];
|
||||
} __attribute__ ((packed)) nas_cli_t;
|
||||
|
@ -1013,7 +1013,7 @@ typedef uint8_t nas_lcs_indicator_t;
|
|||
/* 9.9.3.41 LCS client identity
|
||||
* O TLV 3-257 */
|
||||
#define NAS_MAX_LCS_CLIENT_IDENTITY_LEN 255
|
||||
typedef struct _nas_lcs_client_identity_t {
|
||||
typedef struct nas_lcs_client_identity_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAS_MAX_LCS_CLIENT_IDENTITY_LEN];
|
||||
} __attribute__ ((packed)) nas_lcs_client_identity_t;
|
||||
|
@ -1026,7 +1026,7 @@ typedef uint8_t nas_generic_message_container_type_t;
|
|||
|
||||
/* 9.9.3.43 Generic message container
|
||||
* M LV-E 3-n */
|
||||
typedef struct _nas_generic_message_container_t {
|
||||
typedef struct nas_generic_message_container_s {
|
||||
uint16_t length;
|
||||
uint8_t *buffer;
|
||||
} nas_generic_message_container_t;
|
||||
|
@ -1034,7 +1034,7 @@ typedef struct _nas_generic_message_container_t {
|
|||
/* 9.9.3.44 Voice domain preference and UE's usage setting
|
||||
* See subclause 10.5.5.28 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3 */
|
||||
typedef struct _nas_voice_domain_preference_and_ue_usage_setting_t {
|
||||
typedef struct nas_voice_domain_preference_and_ue_usage_setting_s {
|
||||
uint8_t length;
|
||||
ED3(uint8_t spare:5;,
|
||||
uint8_t ue_usage_setting:1;,
|
||||
|
@ -1043,7 +1043,7 @@ ED3(uint8_t spare:5;,
|
|||
|
||||
/* 9.9.3.45 GUTI type
|
||||
* O TV 1 */
|
||||
typedef struct _nas_guti_type_t {
|
||||
typedef struct nas_guti_type_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t guti_type:1;)
|
||||
|
@ -1052,7 +1052,7 @@ ED3(uint8_t type:4;,
|
|||
/* 9.9.3.46 Extended DRX parameters
|
||||
* See subclause 10.5.5.32 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3 */
|
||||
typedef struct _nas_extended_drx_parameters_t {
|
||||
typedef struct nas_extended_drx_parameters_s {
|
||||
uint8_t length;
|
||||
ED2(uint8_t paging_time_window:4;,
|
||||
uint8_t e_drx_value:4;)
|
||||
|
@ -1061,14 +1061,14 @@ ED2(uint8_t paging_time_window:4;,
|
|||
/* 9.9.4.1 Access point name
|
||||
* See subclause 10.5.6.1 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3-102 */
|
||||
typedef struct _nas_access_point_name_t {
|
||||
typedef struct nas_access_point_name_s {
|
||||
uint8_t length;
|
||||
char apn[MAX_APN_LEN];
|
||||
} __attribute__ ((packed)) nas_access_point_name_t;
|
||||
|
||||
/* 9.9.4.2 APN aggregate maximum bit rate
|
||||
* O TLV 4-8 */
|
||||
typedef struct _nas_apn_aggregate_maximum_bit_rate_t {
|
||||
typedef struct nas_apn_aggregate_maximum_bit_rate_s {
|
||||
uint8_t length;
|
||||
uint8_t dl_apn_ambr;
|
||||
uint8_t ul_apn_ambr;
|
||||
|
@ -1085,7 +1085,7 @@ void apn_ambr_build(
|
|||
/* 9.9.4.2A Connectivity type
|
||||
* See subclause 10.5.6.19 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct _nas_connectivity_type_t {
|
||||
typedef struct nas_connectivity_type_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t considered_lipa_pdn_connection:1;)
|
||||
|
@ -1093,7 +1093,7 @@ ED3(uint8_t type:4;,
|
|||
|
||||
/* 9.9.4.3 EPS quality of service
|
||||
* M LV 2-14 */
|
||||
typedef struct _nas_eps_quality_of_service_t {
|
||||
typedef struct nas_eps_quality_of_service_s {
|
||||
uint8_t length;
|
||||
uint8_t qci;
|
||||
uint8_t ul_mbr;
|
||||
|
@ -1169,7 +1169,7 @@ typedef uint8_t nas_esm_cause_t;
|
|||
|
||||
/* 9.9.4.5 ESM information transfer flag
|
||||
* O TV 1 */
|
||||
typedef struct _nas_esm_information_transfer_flag_t {
|
||||
typedef struct nas_esm_information_transfer_flag_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t security_protected_required:1;)
|
||||
|
@ -1177,7 +1177,7 @@ ED3(uint8_t type:4;,
|
|||
|
||||
/* 9.9.4.6 Linked EPS bearer identity
|
||||
* M V 1/2 */
|
||||
typedef struct _nas_linked_eps_bearer_identity_t {
|
||||
typedef struct nas_linked_eps_bearer_identity_s {
|
||||
ED2(uint8_t spare:4;,
|
||||
uint8_t eps_bearer_identity:4;)
|
||||
} __attribute__ ((packed)) nas_linked_eps_bearer_identity_t;
|
||||
|
@ -1196,7 +1196,7 @@ typedef uint8_t nas_llc_service_access_point_identifier_t;
|
|||
#define NAS_PACKET_FLOW_IDENTIFIER_TOM8 3
|
||||
#define NAS_PACKET_FLOW_IDENTIFIER_DYNAMIC_ASSIGN_MIN 8
|
||||
#define NAS_PACKET_FLOW_IDENTIFIER_DYNAMIC_ASSIGN_MAX 0xef
|
||||
typedef struct _nas_packet_flow_identifier_t {
|
||||
typedef struct nas_packet_flow_identifier_s {
|
||||
uint8_t length;
|
||||
ED2(uint8_t spare:1;,
|
||||
uint8_t value:7;)
|
||||
|
@ -1205,7 +1205,7 @@ ED2(uint8_t spare:1;,
|
|||
/* 9.9.4.13 Radio priority
|
||||
* See subclause 10.5.7.2 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct _nas_radio_priority_t {
|
||||
typedef struct nas_radio_priority_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t value:3;)
|
||||
|
@ -1216,7 +1216,7 @@ ED3(uint8_t type:4;,
|
|||
#define NAS_PDN_ADDRESS_IPV4_LEN 5
|
||||
#define NAS_PDN_ADDRESS_IPV6_LEN 9
|
||||
#define NAS_PDN_ADDRESS_IPV4V6_LEN 13
|
||||
typedef struct _nas_pdn_address_t {
|
||||
typedef struct nas_pdn_address_s {
|
||||
uint8_t length;
|
||||
ED2(uint8_t reserved:5;,
|
||||
uint8_t pdn_type:3;)
|
||||
|
@ -1235,7 +1235,7 @@ ED2(uint8_t reserved:5;,
|
|||
/* 9.9.4.11 Protocol configuration options
|
||||
* See subclause 10.5.6.3 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3-253 */
|
||||
typedef struct _nas_protocol_configuration_options_t {
|
||||
typedef struct nas_protocol_configuration_options_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[MAX_PCO_LEN];
|
||||
} __attribute__ ((packed)) nas_protocol_configuration_options_t;
|
||||
|
@ -1244,14 +1244,14 @@ typedef struct _nas_protocol_configuration_options_t {
|
|||
* See subclause 10.5.6.5 in 3GPP TS 24.008 [13].
|
||||
* O TLV 14-22 */
|
||||
#define NAS_QOS_LEN 20
|
||||
typedef struct _nas_quality_of_service_t {
|
||||
typedef struct nas_quality_of_service_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAS_QOS_LEN];
|
||||
} __attribute__ ((packed)) nas_quality_of_service_t;
|
||||
|
||||
/* 9.9.4.13A Re-attempt indicator
|
||||
* O TLV 3 */
|
||||
typedef struct _nas_re_attempt_indicator_t {
|
||||
typedef struct nas_re_attempt_indicator_s {
|
||||
uint8_t length;
|
||||
ED3(uint8_t spare:3;, /* allowed in A/Gb mode or Iu mode */
|
||||
uint8_t eplmnc:1;, /* allowed in an equivalent PLMN */
|
||||
|
@ -1270,7 +1270,7 @@ ED3(uint8_t spare:3;, /* allowed in A/Gb mode or Iu mode */
|
|||
#define NAS_PDN_CONNECTIVITY_PDN_TYPE_IPV6 2
|
||||
#define NAS_PDN_CONNECTIVITY_PDN_TYPE_IPV4V6 3
|
||||
#define NAS_PDN_CONNECTIVITY_PDN_TYPE_NON_IP 5
|
||||
typedef struct _nas_request_type_t {
|
||||
typedef struct nas_request_type_s {
|
||||
ED4(uint8_t spare1:1;,
|
||||
uint8_t pdn_type:3;,
|
||||
uint8_t spare2:1;,
|
||||
|
@ -1281,7 +1281,7 @@ ED4(uint8_t spare1:1;,
|
|||
* see subclause 10.5.6.12 in 3GPP TS 24.008 [13]
|
||||
* M LV 2-256 */
|
||||
#define NAS_MAX_TRAFFIC_FLOW_AGGREGATE_DESCRIPTION 255
|
||||
typedef struct _nas_traffic_flow_aggregate_description_t {
|
||||
typedef struct nas_traffic_flow_aggregate_description_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAS_MAX_TRAFFIC_FLOW_AGGREGATE_DESCRIPTION];
|
||||
} __attribute__ ((packed)) nas_traffic_flow_aggregate_description_t;
|
||||
|
@ -1290,7 +1290,7 @@ typedef struct _nas_traffic_flow_aggregate_description_t {
|
|||
* See subclause 10.5.6.12 in 3GPP TS 24.008 [13].
|
||||
* M LV 2-256 */
|
||||
#define NAS_MAX_TRAFFIC_FLOW_TEMPLATE 255
|
||||
typedef struct _nas_traffic_flow_template_t {
|
||||
typedef struct nas_traffic_flow_template_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAS_MAX_TRAFFIC_FLOW_TEMPLATE];
|
||||
} __attribute__ ((packed)) nas_traffic_flow_template_t;
|
||||
|
@ -1298,7 +1298,7 @@ typedef struct _nas_traffic_flow_template_t {
|
|||
/* 9.9.4.17 Transaction identifier
|
||||
* 3GPP TS 24.008 [13], subclause 10.5.6.7.
|
||||
* O TLV 3-4 */
|
||||
typedef struct _nas_transaction_identifier_t {
|
||||
typedef struct nas_transaction_identifier_s {
|
||||
uint8_t length;
|
||||
uint16_t linked_ti;
|
||||
} __attribute__ ((packed)) nas_transaction_identifier_t;
|
||||
|
@ -1306,7 +1306,7 @@ typedef struct _nas_transaction_identifier_t {
|
|||
/* 9.9.4.18 WLAN offload acceptability
|
||||
* 3GPP TS 24.008 [13], subclause 10.5.6.20
|
||||
* O TV 1 */
|
||||
typedef struct _nas_wlan_offload_acceptability_t {
|
||||
typedef struct nas_wlan_offload_acceptability_s {
|
||||
ED4(uint8_t type:4;,
|
||||
uint8_t spare:2;,
|
||||
uint8_t utran_via_wlan_acceptable:1;,
|
||||
|
@ -1317,7 +1317,7 @@ ED4(uint8_t type:4;,
|
|||
* See subclause 10.5.6.21 in 3GPP TS 24.008 [4].
|
||||
* O TLV 3-257 */
|
||||
#define MAX_NAS_NBIFOM_CONTAINER_LEN 255
|
||||
typedef struct _nas_nbifom_container_t {
|
||||
typedef struct nas_nbifom_container_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[MAX_NAS_NBIFOM_CONTAINER_LEN];
|
||||
} __attribute__ ((packed)) nas_nbifom_container_t;
|
||||
|
@ -1325,7 +1325,7 @@ typedef struct _nas_nbifom_container_t {
|
|||
/* 9.9.4.22 Header compression configuration
|
||||
* O TLV 5-257 */
|
||||
#define MAX_NAS_HEADER_COMPRESSION_CONTAINER_LEN 251
|
||||
typedef struct _nas_header_compression_configuration_t {
|
||||
typedef struct nas_header_compression_configuration_s {
|
||||
uint8_t length;
|
||||
ED8(uint8_t spare:1;,
|
||||
uint8_t profile0x0104:1;,
|
||||
|
@ -1350,7 +1350,7 @@ ED8(uint8_t spare:1;,
|
|||
|
||||
/* 9.9.4.23 Control plane only indication
|
||||
* O TV 1 */
|
||||
typedef struct _nas_control_plane_only_indication_t {
|
||||
typedef struct nas_control_plane_only_indication_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t ciot_eps_optimization:1;)
|
||||
|
@ -1358,21 +1358,21 @@ ED3(uint8_t type:4;,
|
|||
|
||||
/* 9.9.4.26 Extended protocol configuration options
|
||||
* O TLV-E 4-65538 */
|
||||
typedef struct _nas_extended_protocol_configuration_options_t {
|
||||
typedef struct nas_extended_protocol_configuration_options_s {
|
||||
uint16_t length;
|
||||
uint8_t *buffer;
|
||||
} __attribute__ ((packed)) nas_extended_protocol_configuration_options_t;
|
||||
|
||||
/* 9.9.4.27 Header compression configuration status
|
||||
* O TLV 4 */
|
||||
typedef struct _nas_header_compression_configuration_status_t {
|
||||
typedef struct nas_header_compression_configuration_status_s {
|
||||
uint8_t length;
|
||||
uint16_t value;
|
||||
} __attribute__ ((packed)) nas_header_compression_configuration_status_t;
|
||||
|
||||
/* 9.9.4.28 Serving PLMN rate control
|
||||
* O TLV 4 */
|
||||
typedef struct _nas_serving_plmn_rate_control_t {
|
||||
typedef struct nas_serving_plmn_rate_control_s {
|
||||
uint8_t length;
|
||||
ED8(uint8_t ebi7:1;,
|
||||
uint8_t ebi6:1;,
|
||||
|
|
|
@ -520,20 +520,20 @@ extern "C" {
|
|||
#define NAS_EPS_BEARER_IDENTITY_UNASSIGNED 0
|
||||
#define NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED 0
|
||||
|
||||
typedef struct _nas_emm_header_t {
|
||||
typedef struct nas_emm_header_s {
|
||||
ED2(uint8_t security_header_type:4;,
|
||||
uint8_t protocol_discriminator:4;)
|
||||
uint8_t message_type;
|
||||
} __attribute__ ((packed)) nas_emm_header_t;
|
||||
|
||||
typedef struct _nas_esm_header_t {
|
||||
typedef struct nas_esm_header_s {
|
||||
ED2(uint8_t eps_bearer_identity:4;,
|
||||
uint8_t protocol_discriminator:4;)
|
||||
uint8_t procedure_transaction_identity;
|
||||
uint8_t message_type;
|
||||
} __attribute__ ((packed)) nas_esm_header_t;
|
||||
|
||||
typedef struct _nas_security_header_t {
|
||||
typedef struct nas_security_header_s {
|
||||
ED2(uint8_t security_header_type:4;,
|
||||
uint8_t protocol_discriminator:4;)
|
||||
uint32_t message_authentication_code;
|
||||
|
@ -563,7 +563,7 @@ for (k, v) in sorted_msg_list:
|
|||
for i, ie in enumerate([ies for ies in msg_list[k]["ies"] if ies["presence"] == "O"]):
|
||||
f.write("\n#define NAS_%s_%s_TYPE 0x%s" % (v_upper(k), v_upper(ie["value"]), re.sub('-', '0', ie["iei"])))
|
||||
|
||||
f.write("\n\ntypedef struct _nas_%s_t {\n" % v_lower(k))
|
||||
f.write("\n\ntypedef struct nas_%s_s {\n" % v_lower(k))
|
||||
|
||||
mandatory_fields = False;
|
||||
optional_fields = False;
|
||||
|
@ -584,7 +584,7 @@ for (k, v) in sorted_msg_list:
|
|||
|
||||
f.write("\n")
|
||||
|
||||
f.write("""typedef struct _nas_emm_message_t {
|
||||
f.write("""typedef struct nas_emm_message_s {
|
||||
nas_emm_header_t h;
|
||||
union {
|
||||
""")
|
||||
|
@ -598,7 +598,7 @@ for (k, v) in sorted_msg_list:
|
|||
f.write(""" };
|
||||
} nas_emm_message_t;
|
||||
|
||||
typedef struct _nas_esm_message_t {
|
||||
typedef struct nas_esm_message_s {
|
||||
nas_esm_header_t h;
|
||||
union {
|
||||
""")
|
||||
|
@ -613,7 +613,7 @@ for (k, v) in sorted_msg_list:
|
|||
f.write(""" };
|
||||
} nas_esm_message_t;
|
||||
|
||||
typedef struct _nas_message_t {
|
||||
typedef struct nas_message_s {
|
||||
nas_security_header_t h;
|
||||
union {
|
||||
nas_emm_message_t emm;
|
||||
|
|
|
@ -28,7 +28,7 @@ typedef enum {
|
|||
|
||||
typedef long S1AP_ProcedureCode_t;
|
||||
typedef struct S1AP_S1AP_PDU s1ap_message_t;
|
||||
typedef struct _nas_message_t nas_message_t;
|
||||
typedef struct nas_message_s nas_message_t;
|
||||
typedef struct mme_enb_s mme_enb_t;
|
||||
typedef struct enb_ue_s enb_ue_t;
|
||||
typedef struct mme_ue_s mme_ue_t;
|
||||
|
|
Loading…
Reference in New Issue