summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-01-24 16:50:11 +0100
committerHarald Welte <laforge@gnumonks.org>2018-01-24 16:50:59 +0100
commitd60e17ab0ee9993edf17e859737fc9a56660058d (patch)
treebd9380b265e8ee3073f07b6ba7012af1535d5cdd
parentea0bc9608c66166f2efb8ebdaa5f26dc8b0cd85f (diff)
SMS: Add value_string for TS 04.11 CP and RP state
Change-Id: I1b2f6fc6f455b0ba2a5732c567a4867bca97c3b0
-rw-r--r--include/osmocom/gsm/gsm0411_smc.h5
-rw-r--r--include/osmocom/gsm/gsm0411_smr.h6
-rw-r--r--src/gsm/gsm0411_smc.c7
-rw-r--r--src/gsm/gsm0411_smr.c7
-rw-r--r--src/gsm/libosmogsm.map2
5 files changed, 27 insertions, 0 deletions
diff --git a/include/osmocom/gsm/gsm0411_smc.h b/include/osmocom/gsm/gsm0411_smc.h
index 7dfaa150..d05c0188 100644
--- a/include/osmocom/gsm/gsm0411_smc.h
+++ b/include/osmocom/gsm/gsm0411_smc.h
@@ -64,4 +64,9 @@ int gsm411_smc_send(struct gsm411_smc_inst *inst, int msg_type,
int gsm411_smc_recv(struct gsm411_smc_inst *inst, int msg_type,
struct msgb *msg, int cp_msg_type);
+extern const struct value_string gsm411_cp_state_names[];
+
+static inline const char *gsm411_cp_state_name(enum gsm411_cp_state cp_state) {
+ return get_value_string(gsm411_cp_state_names, cp_state);
+}
/*! @} */
diff --git a/include/osmocom/gsm/gsm0411_smr.h b/include/osmocom/gsm/gsm0411_smr.h
index 28f43dea..75102f8f 100644
--- a/include/osmocom/gsm/gsm0411_smr.h
+++ b/include/osmocom/gsm/gsm0411_smr.h
@@ -45,4 +45,10 @@ int gsm411_smr_send(struct gsm411_smr_inst *inst, int msg_type,
int gsm411_smr_recv(struct gsm411_smr_inst *inst, int msg_type,
struct msgb *msg);
+extern const struct value_string gsm411_rp_state_names[];
+
+static inline const char *gsm411_rp_state_name(enum gsm411_rp_state rp_state) {
+ return get_value_string(gsm411_rp_state_names, rp_state);
+}
+
/*! @} */
diff --git a/src/gsm/gsm0411_smc.c b/src/gsm/gsm0411_smc.c
index 28287e4c..50d0f3ec 100644
--- a/src/gsm/gsm0411_smc.c
+++ b/src/gsm/gsm0411_smc.c
@@ -578,4 +578,11 @@ int gsm411_smc_recv(struct gsm411_smc_inst *inst, int msg_type,
return rc;
}
+const struct value_string gsm411_cp_state_names[] = {
+ { GSM411_CPS_IDLE, "IDLE" },
+ { GSM411_CPS_MM_CONN_PENDING, "MM_CONN_PENDING" },
+ { GSM411_CPS_WAIT_CP_ACK, "WAIT_CP_ACK" },
+ { GSM411_CPS_MM_ESTABLISHED, "ESTABLISHD" },
+ { 0, NULL }
+};
/*! @} */
diff --git a/src/gsm/gsm0411_smr.c b/src/gsm/gsm0411_smr.c
index 892b7f01..21d28c51 100644
--- a/src/gsm/gsm0411_smr.c
+++ b/src/gsm/gsm0411_smr.c
@@ -492,4 +492,11 @@ int gsm411_smr_recv(struct gsm411_smr_inst *inst, int msg_type,
return rc;
}
+const struct value_string gsm411_rp_state_names[] = {
+ { GSM411_RPS_IDLE, "IDLE" },
+ { GSM411_RPS_WAIT_FOR_RP_ACK, "WAIT_FOR_RP_ACK" },
+ { GSM411_RPS_WAIT_TO_TX_RP_ACK, "WAIT_TO_TX_RP_ACK" },
+ { GSM411_RPS_WAIT_FOR_RETRANS_T,"WAIT_FOR_RETRANS_T" },
+ { 0, NULL }
+};
/*! @} */
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 9a7073df..53b6f6e8 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -197,7 +197,9 @@ gsm411_smr_recv;
gsm411_smr_send;
gsm411_unbcdify;
gsm411_cp_cause_strs;
+gsm411_cp_state_names;
gsm411_rp_cause_strs;
+gsm411_rp_state_names;
gsm414_msgt_names;