aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm/gsup_sms.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom/gsm/gsup_sms.h')
-rw-r--r--include/osmocom/gsm/gsup_sms.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/osmocom/gsm/gsup_sms.h b/include/osmocom/gsm/gsup_sms.h
new file mode 100644
index 00000000..521412d6
--- /dev/null
+++ b/include/osmocom/gsm/gsup_sms.h
@@ -0,0 +1,38 @@
+#pragma once
+
+/*! \addtogroup gsup
+ * @{
+ *
+ * This header defines SMS (Short Message Service) extensions for
+ * Osmocom GSUP (Generic Subscriber Update Protocol). The scope of
+ * this module is defined by 3GPP TS 29.002, section 12.
+ *
+ * \file gsup_sms.h
+ * SMS (Short Message Service) extensions for Osmocom GSUP. */
+
+#include <stdint.h>
+
+/*! Possible identity types for SM-RP-{OA|DA} */
+enum osmo_gsup_sms_sm_rp_oda_t {
+ OSMO_GSUP_SMS_SM_RP_ODA_NONE = 0x00,
+ OSMO_GSUP_SMS_SM_RP_ODA_IMSI = 0x01,
+ OSMO_GSUP_SMS_SM_RP_ODA_MSISDN = 0x02,
+ OSMO_GSUP_SMS_SM_RP_ODA_SMSC_ADDR = 0x03,
+ /*! Special value for noSM-RP-DA and noSM-RP-OA */
+ OSMO_GSUP_SMS_SM_RP_ODA_NULL = 0xff,
+};
+
+struct osmo_gsup_message;
+struct msgb;
+
+int osmo_gsup_sms_encode_sm_rp_da(struct msgb *msg,
+ const struct osmo_gsup_message *gsup_msg);
+int osmo_gsup_sms_decode_sm_rp_da(struct osmo_gsup_message *gsup_msg,
+ uint8_t *data, size_t data_len);
+
+int osmo_gsup_sms_encode_sm_rp_oa(struct msgb *msg,
+ const struct osmo_gsup_message *gsup_msg);
+int osmo_gsup_sms_decode_sm_rp_oa(struct osmo_gsup_message *gsup_msg,
+ uint8_t *data, size_t data_len);
+
+/*! @} */