aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/gsm/rsl.h8
-rw-r--r--src/gsm/libosmogsm.map1
-rw-r--r--src/gsm/rsl.c13
3 files changed, 22 insertions, 0 deletions
diff --git a/include/osmocom/gsm/rsl.h b/include/osmocom/gsm/rsl.h
index b140d48f..5da61808 100644
--- a/include/osmocom/gsm/rsl.h
+++ b/include/osmocom/gsm/rsl.h
@@ -56,4 +56,12 @@ void rsl_rll_push_l3(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr,
struct msgb *rsl_rll_simple(uint8_t msg_type, uint8_t chan_nr,
uint8_t link_id, int transparent);
+extern const struct value_string rsl_act_type_names[];
+
+/*! \brief Return a human readable name for GSM 08.58 RSL_ACT_* constants. */
+static inline const char *rsl_act_type_name(uint8_t act_type)
+{
+ return get_value_string(rsl_act_type_names, act_type);
+}
+
/*! @} */
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index d597f10a..9667ea04 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -276,6 +276,7 @@ rsl_rll_push_hdr;
rsl_rll_push_l3;
rsl_rll_simple;
rsl_rlm_cause_name;
+rsl_act_type_names;
rxlev2dbm;
rxlev_stat_dump;
diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c
index c3c32a92..910e8481 100644
--- a/src/gsm/rsl.c
+++ b/src/gsm/rsl.c
@@ -541,4 +541,17 @@ const struct tlv_definition rsl_ipac_eie_tlvdef = {
},
};
+const struct value_string rsl_act_type_names[] = {
+ { RSL_ACT_TYPE_INITIAL, "INITIAL" },
+ { RSL_ACT_TYPE_REACT, "REACT" },
+ { RSL_ACT_INTRA_IMM_ASS, "INTRA_IMM_ASS" },
+ { RSL_ACT_INTRA_NORM_ASS, "INTRA_NORM_ASS" },
+ { RSL_ACT_INTER_ASYNC, "INTER_ASYNC" },
+ { RSL_ACT_INTER_SYNC, "INTER_SYNC" },
+ { RSL_ACT_SECOND_ADD, "SECOND_ADD" },
+ { RSL_ACT_SECOND_MULTI, "SECOND_MULTI" },
+ { RSL_ACT_OSMO_PDCH, "OSMO_PDCH" },
+ { 0, NULL }
+};
+
/*! @} */