119 lines
2.9 KiB
C
119 lines
2.9 KiB
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
enum diag_gsm_cmd {
|
|
GSM_DIAG_VERNO_F = 0,
|
|
GSM_STATUS_F = 1,
|
|
GSM_TMC_STATE_RETRIEVAL_F = 2,
|
|
GSM_DIAG_CALL_ORIG_F = 3,
|
|
GSM_DIAG_CALL_END_F = 4,
|
|
GSM_GPRS_LOG_PACKET_REQ_F = 5,
|
|
DIAG_GSM_MAX_F = 6,
|
|
};
|
|
|
|
/* LOG_GSM_RR_SIGNALING_MESSAGE_C */
|
|
struct diag_gsm_rr_msg {
|
|
uint8_t chan_type;
|
|
uint8_t msg_type;
|
|
uint8_t length;
|
|
uint8_t data[0];
|
|
} __attribute__((packed));
|
|
|
|
enum diag_gsm_rr_st {
|
|
DIAG_RR_ST_INACTIVE = 0,
|
|
DIAG_RR_ST_GOING_ACTIVE = 1,
|
|
DIAG_RR_ST_GOING_INACTIVE = 2,
|
|
DIAG_RR_ST_CELL_SELECTION = 3,
|
|
DIAG_RR_ST_PLMN_LIST_CONSTRUCTION = 4,
|
|
DIAG_RR_ST_IDLE = 5,
|
|
DIAG_RR_ST_CELL_RESELECTION = 6,
|
|
DIAG_RR_ST_CONNECTION_PENDING = 7,
|
|
DIAG_RR_ST_CHOOSE_CELL = 8,
|
|
DIAG_RR_ST_DATA_TRANSFER = 9,
|
|
DIAG_RR_ST_NO_CHANNELS = 10,
|
|
DIAG_RR_ST_CONNECTION_RELEASE = 11,
|
|
DIAG_RR_ST_EARLY_CAMPED_WAIT_FOR_SI= 12,
|
|
DIAG_RR_ST_W2G_INTERRAT_HO_PROGRESS= 13,
|
|
DIAG_RR_ST_W2G_INTERRAT_RESELECTION_PROGRESS = 14,
|
|
DIAG_RR_ST_W2G_INTERRAT_CC_ORDER_PROGRESS = 15,
|
|
DIAG_RR_ST_G2W_INTERRAT_RESELECTION_PROGRESS = 16,
|
|
DIAG_RR_ST_WAIT_FOR_EARLY_PSCAN = 17,
|
|
DIAG_RR_ST_GRR = 18,
|
|
DIAG_RR_ST_G2W_INTERRAT_HO_PROGRESS = 20,
|
|
DIAG_RR_ST_BACKGROUND_PLMN_SEARCH = 21,
|
|
DIAG_RR_ST_W2G_SERVICE_REDIR_IN_PROGRESS = 22,
|
|
DIAG_RR_ST_RESET = 23,
|
|
DIAG_RR_ST_W2G_BACKGROUND_PLN_SEARCH = 24,
|
|
};
|
|
extern const struct value_string diag_gsm_rr_st_vals[25];
|
|
|
|
/* LOG_GSM_RR_STATE_C */
|
|
struct diag_gsm_rr_state {
|
|
uint8_t state;
|
|
uint8_t substate;
|
|
uint8_t status;
|
|
uint8_t mode;
|
|
} __attribute__((packed));
|
|
|
|
enum diag_gprs_grr_st {
|
|
DIAG_GRR_ST_NULL = 0,
|
|
DIAG_GRR_ST_ACQUIRE = 1,
|
|
DIAG_GRR_ST_CAMPED = 2,
|
|
DIAG_GRR_ST_CONN_PEND = 3,
|
|
DIAG_GRR_ST_CELL_RESEL = 4,
|
|
DIAG_GRR_ST_CELL_RESEL_G2W = 6,
|
|
DIAG_GRR_ST_BG_PLMN_SEARCH = 7,
|
|
DIAG_GRR_ST_PCCO = 8,
|
|
};
|
|
extern const struct value_string diag_gprs_grr_st_vals[9];
|
|
|
|
/* LOG_GPRS_GRR_STATE_C */
|
|
struct diag_gprs_grr_state {
|
|
uint8_t active_state;
|
|
uint8_t grr_state;
|
|
} __attribute__((packed));
|
|
|
|
|
|
enum diag_gprs_llme_state {
|
|
DIAG_GPRS_LLMES_TLLI_UNASS = 0,
|
|
DIAG_GPRS_LLMES_TLLI_ASS = 1,
|
|
DIAG_GPRS_LLMES_TEST_MODE = 2,
|
|
};
|
|
const struct value_string diag_gprs_llme_st_vals[4];
|
|
|
|
/* LOG_GPRS_LLC_ME_INFO_C */
|
|
struct diag_gprs_llme_info {
|
|
uint8_t state;
|
|
uint8_t xid_version;
|
|
uint32_t tlli_new;
|
|
uint32_t tlli_old;
|
|
uint8_t enc_alg;
|
|
uint8_t enc_key[8];
|
|
uint32_t input_offset_iov_ui;
|
|
} __attribute__((packed));
|
|
|
|
/* LOG_GPRS_LLC_PDU_STATS_C */
|
|
struct diag_gprs_llc_stats {
|
|
uint8_t sapi;
|
|
uint32_t ack_l3pdu_tx;
|
|
uint32_t ack_octet_tx;
|
|
uint32_t ack_l3pdu_retrans;
|
|
uint32_t ack_octet_retrans;
|
|
uint32_t ack_l3pdu_rx;
|
|
uint32_t ack_octet_rx;
|
|
uint32_t unack_l3pdu_tx;
|
|
uint32_t unack_octet_tx;
|
|
uint32_t unack_l3pdu_rx;
|
|
uint32_t unack_octet_rx;
|
|
uint32_t llpdu_tx;
|
|
uint32_t llpdu_rx;
|
|
uint32_t llpdu_fcs_err;
|
|
uint32_t llpdu_frm_rej;
|
|
uint32_t llpdu_tlli_err;
|
|
uint32_t llpdu_addr_err;
|
|
uint32_t llpdu_short_err;
|
|
} __attribute__((packed));
|
|
|
|
struct msgb *diag_gsm_make_log_pack_req(uint16_t log_code, uint8_t zero_stats, uint8_t addl_info);
|