aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/gsm/gsm0411_utils.h2
-rw-r--r--src/gsm/gsm0411_utils.c9
-rw-r--r--src/gsm/libosmogsm.map1
-rw-r--r--tests/sms/sms_test.c16
-rw-r--r--tests/sms/sms_test.ok2
5 files changed, 20 insertions, 10 deletions
diff --git a/include/osmocom/gsm/gsm0411_utils.h b/include/osmocom/gsm/gsm0411_utils.h
index f563158a..17f911c5 100644
--- a/include/osmocom/gsm/gsm0411_utils.h
+++ b/include/osmocom/gsm/gsm0411_utils.h
@@ -32,6 +32,8 @@ enum sms_alphabet gsm338_get_sms_alphabet(uint8_t dcs);
/* generate a TPDU address field compliant with 03.40 sec. 9.1.2.5 */
int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type,
+ uint8_t plan, const char *number) OSMO_DEPRECATED("Use gsm340_gen_address_field() instead");
+int gsm340_gen_address_field(uint8_t *oa, unsigned int oa_len, uint8_t type,
uint8_t plan, const char *number);
/* Prefix msg with a RP header */
diff --git a/src/gsm/gsm0411_utils.c b/src/gsm/gsm0411_utils.c
index 197f2c3f..3d6d7521 100644
--- a/src/gsm/gsm0411_utils.c
+++ b/src/gsm/gsm0411_utils.c
@@ -285,7 +285,7 @@ enum sms_alphabet gsm338_get_sms_alphabet(uint8_t dcs)
}
/* generate a TPDU address field compliant with 03.40 sec. 9.1.2.5 */
-int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type,
+int gsm340_gen_address_field(uint8_t *oa, unsigned int oa_len, uint8_t type,
uint8_t plan, const char *number)
{
int len_in_bytes;
@@ -314,6 +314,13 @@ int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type,
return len_in_bytes;
}
+/* DEPRECATED: use gsm340_gen_address_field() instead */
+int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type,
+ uint8_t plan, const char *number)
+{
+ return gsm340_gen_address_field(oa, oa_len, type, plan, number);
+}
+
/* Prefix msg with a RP header */
int gsm411_push_rp_header(struct msgb *msg, uint8_t rp_msg_type,
uint8_t rp_msg_ref)
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index c337def4..030eb0de 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -63,6 +63,7 @@ gsm0808_prepend_dtap_header;
gsm338_get_sms_alphabet;
gsm340_gen_oa;
+gsm340_gen_address_field;
gsm340_gen_scts;
gsm340_scts;
gsm340_validity_period;
diff --git a/tests/sms/sms_test.c b/tests/sms/sms_test.c
index 7d5d0696..1e79d2e5 100644
--- a/tests/sms/sms_test.c
+++ b/tests/sms/sms_test.c
@@ -234,37 +234,37 @@ static void test_octet_return()
printf("Done\n");
}
-static void test_gen_oa(void)
+static void test_gsm340_gen_address_field(void)
{
uint8_t oa[12];
int len;
- printf("Testing gsm340_gen_oa\n");
+ printf("Testing gsm340_gen_address_field\n");
/* first try... */
- len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_UNKNOWN,
+ len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_UNKNOWN,
GSM340_PLAN_ISDN, "12345678901234567891");
OSMO_ASSERT(len == 12);
printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len));
- len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_NATIONAL,
+ len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_NATIONAL,
GSM340_PLAN_ISDN, "12345678901234567891");
OSMO_ASSERT(len == 12);
printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len));
/* long input.. will fail and just prints the header*/
- len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_INTERNATIONAL,
+ len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_INTERNATIONAL,
GSM340_PLAN_ISDN, "123456789123456789120");
OSMO_ASSERT(len == 2);
printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len));
/* try the alpha numeric encoding */
- len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC,
+ len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC,
GSM340_PLAN_UNKNOWN, "OpenBSC");
OSMO_ASSERT(len == 9);
printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len));
/* long alpha numeric text */
- len = gsm340_gen_oa(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC,
+ len = gsm340_gen_address_field(oa, ARRAY_SIZE(oa), GSM340_TYPE_ALPHA_NUMERIC,
GSM340_PLAN_UNKNOWN, "OpenBSCabcdefghijklm");
OSMO_ASSERT(len == 12);
printf("Result: len(%d) data(%s)\n", len, osmo_hexdump(oa, len));
@@ -542,7 +542,7 @@ int main(int argc, char** argv)
}
test_octet_return();
- test_gen_oa();
+ test_gsm340_gen_address_field();
test_validity_period();
printf("OK\n");
diff --git a/tests/sms/sms_test.ok b/tests/sms/sms_test.ok
index 5ff3e0bf..77b22eca 100644
--- a/tests/sms/sms_test.ok
+++ b/tests/sms/sms_test.ok
@@ -20,7 +20,7 @@ Decode case 5: return value 40 (expected 40)
Encoding some tests and printing number of septets/octets
SEPTETS: 8 OCTETS: 7
Done
-Testing gsm340_gen_oa
+Testing gsm340_gen_address_field
Result: len(12) data(14 81 21 43 65 87 09 21 43 65 87 19 )
Result: len(12) data(14 a1 21 43 65 87 09 21 43 65 87 19 )
Result: len(2) data(00 91 )