aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2018-11-11 14:46:53 +0100
committerDan Williams <dcbw@redhat.com>2018-12-07 16:20:53 +0000
commitdc154cf005bbcb2f0bd1123093f6ac3c402c4de8 (patch)
tree940cbeb5d4a6dcf7e80e99fe26f82d1ccddff097 /include
parent46d627ff831b7d4d609060d77cd852f42cfcfa83 (diff)
api,bearer: new 'BearerType' property
Until now we have only allowed to use and setup 'default bearers' (in 4G) or 'primary contexts' (in 2G/3G). We can define a couple of additional bearer types, though: * The 'dedicated bearers' (in 4G) or 'secondary contexts' (in 2G/3G), which are associated to a specific default/primary one, but which provide specific QoS settings configured via traffic flow templates. * The 'initial default EPS bearer', which is a special case of default bearer in LTE, which is automatically created and connected when the modem is registered in the LTE network. This commit introduces a new 'MMBearerType' enumeration that will be associated to each bearer through a 'BearerType' property in the org.freedesktop.ModemManager1.Bearer interface, showing what kind of bearer/context this is. By default, right now, all bearer objects created are 'default' bearers.
Diffstat (limited to 'include')
-rw-r--r--include/ModemManager-enums.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/ModemManager-enums.h b/include/ModemManager-enums.h
index cc78cdc9..8f06bb91 100644
--- a/include/ModemManager-enums.h
+++ b/include/ModemManager-enums.h
@@ -971,6 +971,28 @@ typedef enum { /*< underscore_name=mm_modem_contacts_storage >*/
} MMModemContactsStorage;
/**
+ * MMBearerType:
+ * @MM_BEARER_TYPE_UNKNOWN: Unknown bearer.
+ * @MM_BEARER_TYPE_DEFAULT: Primary context (2G/3G) or default bearer (4G),
+ * defined by the user of the API.
+ * @MM_BEARER_TYPE_DEFAULT_ATTACH: The initial default bearer established
+ * during LTE attach procedure, automatically connected as long as the device is
+ * regitered in the LTE network.
+ * @MM_BEARER_TYPE_DEDICATED: Secondary context (2G/3G) or dedicated bearer
+ * (4G), defined by the user of the API. These bearers use the same IP address
+ * used by a primary context or default bearer and provide a dedicated flow for
+ * specific traffic with different QoS settings.
+ *
+ * Type of context (2G/3G) or bearer (4G).
+ */
+typedef enum { /*< underscore_name=mm_bearer_type >*/
+ MM_BEARER_TYPE_UNKNOWN = 0,
+ MM_BEARER_TYPE_DEFAULT = 1,
+ MM_BEARER_TYPE_DEFAULT_ATTACH = 2,
+ MM_BEARER_TYPE_DEDICATED = 3,
+} MMBearerType;
+
+/**
* MMBearerIpMethod:
* @MM_BEARER_IP_METHOD_UNKNOWN: Unknown method.
* @MM_BEARER_IP_METHOD_PPP: Use PPP to get IP addresses and DNS information.