add value_string definitions for RSL message types
authorHarald Welte <laforge@gnumonks.org>
Thu, 23 Jun 2011 18:43:13 +0000 (20:43 +0200)
committerHarald Welte <laforge@gnumonks.org>
Thu, 23 Jun 2011 18:44:03 +0000 (20:44 +0200)
include/osmocom/gsm/rsl.h
src/gsm/rsl.c

index 7e46330..2eb045f 100644 (file)
@@ -23,6 +23,7 @@ const char *rsl_chan_nr_str(uint8_t chan_nr);
 
 const char *rsl_err_name(uint8_t err);
 const char *rsl_rlm_cause_name(uint8_t err);
+const char *rsl_msg_name(uint8_t err);
 
 /* Section 3.3.2.3 TS 05.02. I think this looks like a table */
 int rsl_ccch_conf_to_bs_cc_chans(int ccch_conf);
index 12ac0cf..c497ba9 100644 (file)
@@ -250,6 +250,82 @@ const char *rsl_err_name(uint8_t err)
        return get_value_string(rsl_err_vals, err);
 }
 
+/* Names for Radio Link Layer Management */
+static const struct value_string rsl_msgt_names[] = {
+       { RSL_MT_DATA_REQ,              "DATA_REQ" },
+       { RSL_MT_DATA_IND,              "DATA_IND" },
+       { RSL_MT_ERROR_IND,             "ERROR_IND" },
+       { RSL_MT_EST_REQ,               "EST_REQ" },
+       { RSL_MT_EST_CONF,              "EST_CONF" },
+       { RSL_MT_EST_IND,               "EST_IND" },
+       { RSL_MT_REL_REQ,               "REL_REQ" },
+       { RSL_MT_REL_CONF,              "REL_CONF" },
+       { RSL_MT_REL_IND,               "REL_IND" },
+       { RSL_MT_UNIT_DATA_REQ,         "UNIT_DATA_REQ" },
+       { RSL_MT_UNIT_DATA_IND,         "UNIT_DATA_IND" },
+       { RSL_MT_SUSP_REQ,              "SUSP_REQ" },
+       { RSL_MT_SUSP_CONF,             "SUSP_CONF" },
+       { RSL_MT_RES_REQ,               "RES_REQ" },
+       { RSL_MT_RECON_REQ,             "RECON_REQ" },
+
+       { RSL_MT_BCCH_INFO,             "BCCH_INFO" },
+       { RSL_MT_CCCH_LOAD_IND,         "CCCH_LOAD_IND" },
+       { RSL_MT_CHAN_RQD,              "CHAN_RQD" },
+       { RSL_MT_DELETE_IND,            "DELETE_IND" },
+       { RSL_MT_PAGING_CMD,            "PAGING_CMD" },
+       { RSL_MT_IMMEDIATE_ASSIGN_CMD,  "IMM_ASS_CMD" },
+       { RSL_MT_SMS_BC_REQ,            "SMS_BC_REQ" },
+       { RSL_MT_CHAN_CONF,             "CHAN_CONF" },
+
+       { RSL_MT_RF_RES_IND,            "RF_RES_IND" },
+       { RSL_MT_SACCH_FILL,            "SACCH_FILL" },
+       { RSL_MT_OVERLOAD,              "OVERLOAD" },
+       { RSL_MT_ERROR_REPORT,          "ERROR_REPORT" },
+       { RSL_MT_SMS_BC_CMD,            "SMS_BC_CMD" },
+       { RSL_MT_CBCH_LOAD_IND,         "CBCH_LOAD_IND" },
+       { RSL_MT_NOT_CMD,               "NOTIFY_CMD" },
+
+       { RSL_MT_CHAN_ACTIV,            "CHAN_ACTIV" },
+       { RSL_MT_CHAN_ACTIV_ACK,        "CHAN_ACTIV_ACK" },
+       { RSL_MT_CHAN_ACTIV_NACK,       "CHAN_ACTIV_NACK" },
+       { RSL_MT_CONN_FAIL,             "CONN_FAIL" },
+       { RSL_MT_DEACTIVATE_SACCH,      "DEACTIVATE_SACCH" },
+       { RSL_MT_ENCR_CMD,              "ENCR_CMD" },
+       { RSL_MT_HANDO_DET,             "HANDOVER_DETECT" },
+       { RSL_MT_MEAS_RES,              "MEAS_RES" },
+       { RSL_MT_MODE_MODIFY_REQ,       "MODE_MODIFY_REQ" },
+       { RSL_MT_MODE_MODIFY_ACK,       "MODE_MODIFY_ACK" },
+       { RSL_MT_MODE_MODIFY_NACK,      "MODE_MODIFY_NACK" },
+       { RSL_MT_PHY_CONTEXT_REQ,       "PHY_CONTEXT_REQ" },
+       { RSL_MT_PHY_CONTEXT_CONF,      "PHY_CONTEXT_CONF" },
+       { RSL_MT_RF_CHAN_REL,           "RF_CHAN_REL" },
+       { RSL_MT_MS_POWER_CONTROL,      "MS_POWER_CONTROL" },
+       { RSL_MT_BS_POWER_CONTROL,      "BS_POWER_CONTROL" },
+       { RSL_MT_PREPROC_CONFIG,        "PREPROC_CONFIG" },
+       { RSL_MT_PREPROC_MEAS_RES,      "PREPROC_MEAS_RES" },
+       { RSL_MT_RF_CHAN_REL_ACK,       "RF_CHAN_REL_ACK" },
+       { RSL_MT_SACCH_INFO_MODIFY,     "SACCH_INFO_MODIFY" },
+       { RSL_MT_TALKER_DET,            "TALKER_DETECT" },
+       { RSL_MT_LISTENER_DET,          "LISTENER_DETECT" },
+       { RSL_MT_REMOTE_CODEC_CONF_REP, "REM_CODEC_CONF_REP" },
+       { RSL_MT_RTD_REP,               "RTD_REQ" },
+       { RSL_MT_PRE_HANDO_NOTIF,       "HANDO_NOTIF" },
+       { RSL_MT_MR_CODEC_MOD_REQ,      "CODEC_MOD_REQ" },
+       { RSL_MT_MR_CODEC_MOD_ACK,      "CODEC_MOD_ACK" },
+       { RSL_MT_MR_CODEC_MOD_NACK,     "CODEC_MOD_NACK" },
+       { RSL_MT_MR_CODEC_MOD_PER,      "CODEC_MODE_PER" },
+       { RSL_MT_TFO_REP,               "TFO_REP" },
+       { RSL_MT_TFO_MOD_REQ,           "TFO_MOD_REQ" },
+       { RSL_MT_LOCATION_INFO,         "LOCATION_INFO" },
+       { 0,                            NULL }
+};
+
+
+const char *rsl_msg_name(uint8_t msg_type)
+{
+       return get_value_string(rsl_msgt_names, msg_type);
+}
+
 static const struct value_string rsl_rlm_cause_strs[] = {
        { RLL_CAUSE_T200_EXPIRED,       "Timer T200 expired (N200+1) times" },
        { RLL_CAUSE_REEST_REQ,          "Re-establishment request" },