aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-gsm-ussd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-modem-gsm-ussd.h')
-rw-r--r--src/mm-modem-gsm-ussd.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mm-modem-gsm-ussd.h b/src/mm-modem-gsm-ussd.h
index c8f652b..04d2be8 100644
--- a/src/mm-modem-gsm-ussd.h
+++ b/src/mm-modem-gsm-ussd.h
@@ -54,6 +54,14 @@ struct _MMModemGsmUssd {
void (*cancel) (MMModemGsmUssd *modem,
MMModemFn callback,
gpointer user_data);
+
+ gchar* (*encode) (MMModemGsmUssd *modem,
+ const char* command,
+ guint *scheme);
+
+ gchar* (*decode) (MMModemGsmUssd *modem,
+ const char* command,
+ guint scheme);
};
GType mm_modem_gsm_ussd_get_type (void);
@@ -72,4 +80,16 @@ void mm_modem_gsm_ussd_cancel (MMModemGsmUssd *self,
MMModemFn callback,
gpointer user_data);
+/* CBS data coding scheme - 3GPP TS 23.038 */
+#define MM_MODEM_GSM_USSD_SCHEME_7BIT 0b00001111;
+#define MM_MODEM_GSM_USSD_SCHEME_UCS2 0b01001000;
+
+char *mm_modem_gsm_ussd_encode (MMModemGsmUssd *self,
+ const char* command,
+ guint *scheme);
+
+char *mm_modem_gsm_ussd_decode (MMModemGsmUssd *self,
+ const char* reply,
+ guint scheme);
+
#endif /* MM_MODEM_GSM_USSD_H */