summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-11-02 14:02:24 +0100
committerAleksander Morgado <aleksander@aleksander.es>2021-11-02 20:56:20 +0000
commit4ea5995d9caf2b9461a95561fa61303adff77cd6 (patch)
treee57328d737d6ad7acaaeefc7953f68481af0b1fc
parent489f40edabeb20f6b9672105b00027b43435b28b (diff)
libmbim-glib,uuid: new context type definitions in Microsoft Extensions
-rw-r--r--src/libmbim-glib/mbim-uuid.c65
-rw-r--r--src/libmbim-glib/mbim-uuid.h56
2 files changed, 103 insertions, 18 deletions
diff --git a/src/libmbim-glib/mbim-uuid.c b/src/libmbim-glib/mbim-uuid.c
index dcadb27..4e90a37 100644
--- a/src/libmbim-glib/mbim-uuid.c
+++ b/src/libmbim-glib/mbim-uuid.c
@@ -510,6 +510,46 @@ static const MbimUuid uuid_context_type_local = {
.e = { 0x03, 0x3C, 0x39, 0xF6, 0x0D, 0xB9 }
};
+static const MbimUuid uuid_context_type_admin = {
+ .a = { 0x5F, 0x7E, 0x4C, 0x2E },
+ .b = { 0xE8, 0x0B },
+ .c = { 0x40, 0xA9 },
+ .d = { 0xA2, 0x39 },
+ .e = { 0xF0, 0xAB, 0xCF, 0xD1, 0x1F, 0x4B }
+};
+
+static const MbimUuid uuid_context_type_app = {
+ .a = { 0x74, 0xD8, 0x8A, 0x3D },
+ .b = { 0xDF, 0xBD },
+ .c = { 0x47, 0x99 },
+ .d = { 0x9A, 0x8C },
+ .e = { 0x73, 0x10, 0xA3, 0x7B, 0xB2, 0xEE }
+};
+
+static const MbimUuid uuid_context_type_xcap = {
+ .a = { 0x50, 0xD3, 0x78, 0xA7 },
+ .b = { 0xBA, 0xA5 },
+ .c = { 0x4A, 0x50 },
+ .d = { 0xB8, 0x72 },
+ .e = { 0x3F, 0xE5, 0xBB, 0x46, 0x34, 0x11 }
+};
+
+static const MbimUuid uuid_context_type_tethering = {
+ .a = { 0x5E, 0x4E, 0x06, 0x01 },
+ .b = { 0x48, 0xDC },
+ .c = { 0x4E, 0x2B },
+ .d = { 0xAC, 0xB8 },
+ .e = { 0x08, 0xB4, 0x01, 0x6B, 0xBA, 0xAC }
+};
+
+static const MbimUuid uuid_context_type_emergency_calling = {
+ .a = { 0x5F, 0x41, 0xAD, 0xB8 },
+ .b = { 0x20, 0x4E },
+ .c = { 0x4D, 0x31 },
+ .d = { 0x9D, 0xA8 },
+ .e = { 0xB3, 0xC9, 0x70, 0xE3, 0x60, 0xF2 }
+};
+
const MbimUuid *
mbim_uuid_from_context_type (MbimContextType context_type)
{
@@ -536,6 +576,16 @@ mbim_uuid_from_context_type (MbimContextType context_type)
return &uuid_context_type_mms;
case MBIM_CONTEXT_TYPE_LOCAL:
return &uuid_context_type_local;
+ case MBIM_CONTEXT_TYPE_ADMIN:
+ return &uuid_context_type_admin;
+ case MBIM_CONTEXT_TYPE_APP:
+ return &uuid_context_type_app;
+ case MBIM_CONTEXT_TYPE_XCAP:
+ return &uuid_context_type_xcap;
+ case MBIM_CONTEXT_TYPE_TETHERING:
+ return &uuid_context_type_tethering;
+ case MBIM_CONTEXT_TYPE_EMERGENCY_CALLING:
+ return &uuid_context_type_emergency_calling;
default:
g_assert_not_reached ();
}
@@ -571,5 +621,20 @@ mbim_uuid_to_context_type (const MbimUuid *uuid)
if (mbim_uuid_cmp (uuid, &uuid_context_type_local))
return MBIM_CONTEXT_TYPE_LOCAL;
+ if (mbim_uuid_cmp (uuid, &uuid_context_type_admin))
+ return MBIM_CONTEXT_TYPE_ADMIN;
+
+ if (mbim_uuid_cmp (uuid, &uuid_context_type_app))
+ return MBIM_CONTEXT_TYPE_APP;
+
+ if (mbim_uuid_cmp (uuid, &uuid_context_type_xcap))
+ return MBIM_CONTEXT_TYPE_XCAP;
+
+ if (mbim_uuid_cmp (uuid, &uuid_context_type_tethering))
+ return MBIM_CONTEXT_TYPE_TETHERING;
+
+ if (mbim_uuid_cmp (uuid, &uuid_context_type_emergency_calling))
+ return MBIM_CONTEXT_TYPE_EMERGENCY_CALLING;
+
return MBIM_CONTEXT_TYPE_INVALID;
}
diff --git a/src/libmbim-glib/mbim-uuid.h b/src/libmbim-glib/mbim-uuid.h
index 0ffed7c..f6bc812 100644
--- a/src/libmbim-glib/mbim-uuid.h
+++ b/src/libmbim-glib/mbim-uuid.h
@@ -413,30 +413,50 @@ MbimService mbim_uuid_to_service (const MbimUuid *uuid);
* MbimContextType:
* @MBIM_CONTEXT_TYPE_INVALID: Invalid context type.
* @MBIM_CONTEXT_TYPE_NONE: Context not yet provisioned.
- * @MBIM_CONTEXT_TYPE_INTERNET: Connection to the Internet.
- * @MBIM_CONTEXT_TYPE_VPN: Connection to a VPN.
- * @MBIM_CONTEXT_TYPE_VOICE: Connection to a VoIP service.
- * @MBIM_CONTEXT_TYPE_VIDEO_SHARE: Connection to a video sharing service.
- * @MBIM_CONTEXT_TYPE_PURCHASE: Connection to an over-the-air activation site.
- * @MBIM_CONTEXT_TYPE_IMS: Connection to IMS.
- * @MBIM_CONTEXT_TYPE_MMS: Connection to MMS.
- * @MBIM_CONTEXT_TYPE_LOCAL: A local.
+ * @MBIM_CONTEXT_TYPE_INTERNET: Context representing a connection to the
+ * Internet.
+ * @MBIM_CONTEXT_TYPE_VPN: Context representing a connection to a a private
+ * network (e.g. VPN to a corporate network).
+ * @MBIM_CONTEXT_TYPE_VOICE: Context representing a connection to a VoIP service.
+ * @MBIM_CONTEXT_TYPE_VIDEO_SHARE: Context representing a connection to a video
+ * sharing service.
+ * @MBIM_CONTEXT_TYPE_PURCHASE: Context representing a connection to an
+ * OTA (over-the-air) activation site.
+ * @MBIM_CONTEXT_TYPE_IMS: Context representing a connection to IMS.
+ * @MBIM_CONTEXT_TYPE_MMS: Context representing a connection to MMS.
+ * @MBIM_CONTEXT_TYPE_LOCAL: Context representing a connection which is
+ * terminated at the device. No IP traffic sent over the air.
+ * @MBIM_CONTEXT_TYPE_ADMIN: Context used for administrative purposes, such as
+ * device management (MS MBIMEx). Since 1.28.
+ * @MBIM_CONTEXT_TYPE_APP: Context used for certain applications allowed by
+ * mobile operators (MS MBIMEx). Since 1.28.
+ * @MBIM_CONTEXT_TYPE_XCAP: Context used for XCAP provisioning on IMS services
+ * (MS MBIMEx). Since 1.28.
+ * @MBIM_CONTEXT_TYPE_TETHERING: Context used for mobile hotspot tethering
+ * (MS MBIMEx). Since 1.28.
+ * @MBIM_CONTEXT_TYPE_EMERGENCY_CALLING: Context used for IMS emergency calling
+ * (MS MBIMEx). Since 1.28.
*
* Enumeration of the generic MBIM context types.
*
* Since: 1.0
*/
typedef enum { /*< since=1.0 >*/
- MBIM_CONTEXT_TYPE_INVALID = 0,
- MBIM_CONTEXT_TYPE_NONE = 1,
- MBIM_CONTEXT_TYPE_INTERNET = 2,
- MBIM_CONTEXT_TYPE_VPN = 3,
- MBIM_CONTEXT_TYPE_VOICE = 4,
- MBIM_CONTEXT_TYPE_VIDEO_SHARE = 5,
- MBIM_CONTEXT_TYPE_PURCHASE = 6,
- MBIM_CONTEXT_TYPE_IMS = 7,
- MBIM_CONTEXT_TYPE_MMS = 8,
- MBIM_CONTEXT_TYPE_LOCAL = 9,
+ MBIM_CONTEXT_TYPE_INVALID = 0,
+ MBIM_CONTEXT_TYPE_NONE = 1,
+ MBIM_CONTEXT_TYPE_INTERNET = 2,
+ MBIM_CONTEXT_TYPE_VPN = 3,
+ MBIM_CONTEXT_TYPE_VOICE = 4,
+ MBIM_CONTEXT_TYPE_VIDEO_SHARE = 5,
+ MBIM_CONTEXT_TYPE_PURCHASE = 6,
+ MBIM_CONTEXT_TYPE_IMS = 7,
+ MBIM_CONTEXT_TYPE_MMS = 8,
+ MBIM_CONTEXT_TYPE_LOCAL = 9,
+ MBIM_CONTEXT_TYPE_ADMIN = 10,
+ MBIM_CONTEXT_TYPE_APP = 11,
+ MBIM_CONTEXT_TYPE_XCAP = 12,
+ MBIM_CONTEXT_TYPE_TETHERING = 13,
+ MBIM_CONTEXT_TYPE_EMERGENCY_CALLING = 14,
} MbimContextType;
/**