## UUIDs UUIDs |

## Synopsis

    enum                MbimService;
    enum                MbimContextType;
                        MbimUuid;
    #define             MBIM_UUID_INVALID
    #define             MBIM_UUID_BASIC_CONNECT
    #define             MBIM_UUID_SMS
    #define             MBIM_UUID_USSD
    #define             MBIM_UUID_PHONEBOOK
    #define             MBIM_UUID_STK
    #define             MBIM_UUID_AUTH
    #define             MBIM_UUID_DSS

    const gchar *       mbim_service_get_string             (MbimService val);
    const gchar *       mbim_context_type_get_string        (MbimContextType val);
    gboolean            mbim_uuid_cmp                       (const MbimUuid *a,
                                                             const MbimUuid *b);
    gchar *             mbim_uuid_get_printable             (const MbimUuid *uuid);
    const MbimUuid *    mbim_uuid_from_service              (MbimService service);
    MbimService         mbim_uuid_to_service                (const MbimUuid *uuid);
    const MbimUuid *    mbim_uuid_from_context_type         (MbimContextType context_type);
    MbimContextType     mbim_uuid_to_context_type           (const MbimUuid *uuid);

## Object Hierarchy

      GEnum
       +----MbimService

      GEnum
       +----MbimContextType

## Description

This section defines the data type for unique identifiers.

## Details

### enum MbimService

    typedef enum {
        MBIM_SERVICE_INVALID       = 0,
        MBIM_SERVICE_BASIC_CONNECT = 1,
        MBIM_SERVICE_SMS           = 2,
        MBIM_SERVICE_USSD          = 3,
        MBIM_SERVICE_PHONEBOOK     = 4,
        MBIM_SERVICE_STK           = 5,
        MBIM_SERVICE_AUTH          = 6,
        MBIM_SERVICE_DSS           = 7,
    } MbimService;

Enumeration of the generic MBIM services.

`MBIM_SERVICE_INVALID` | Invalid service.
`MBIM_SERVICE_BASIC_CONNECT` | Basic connectivity service.
`MBIM_SERVICE_SMS` | SMS messaging service.
`MBIM_SERVICE_USSD` | USSD service.
`MBIM_SERVICE_PHONEBOOK` | Phonebook service.
`MBIM_SERVICE_STK` | SIM toolkit service.
`MBIM_SERVICE_AUTH` | Authentication service.
`MBIM_SERVICE_DSS` | Device Service Stream service.

### enum MbimContextType

    typedef enum {
        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,
    } MbimContextType;

Enumeration of the generic MBIM context types.

`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.

### MbimUuid

    typedef struct _MbimUuid MbimUuid;

A UUID as defined in MBIM.

### MBIM_UUID_INVALID

    #define MBIM_UUID_INVALID mbim_uuid_from_service (MBIM_SERVICE_INVALID)

Get the UUID of the `MBIM_SERVICE_INVALID` service.

Returns : | a MbimUuid. [transfer none]

### MBIM_UUID_BASIC_CONNECT

    #define MBIM_UUID_BASIC_CONNECT mbim_uuid_from_service (MBIM_SERVICE_BASIC_CONNECT)

Get the UUID of the `MBIM_SERVICE_BASIC_CONNECT` service.

Returns : | a MbimUuid. [transfer none]

### MBIM_UUID_SMS

    #define MBIM_UUID_SMS mbim_uuid_from_service (MBIM_SERVICE_SMS)

Get the UUID of the `MBIM_SERVICE_SMS` service.

Returns : | a MbimUuid. [transfer none]

### MBIM_UUID_USSD

    #define MBIM_UUID_USSD mbim_uuid_from_service (MBIM_SERVICE_USSD)

Get the UUID of the `MBIM_SERVICE_USSD` service.

Returns : | a MbimUuid. [transfer none]

### MBIM_UUID_PHONEBOOK

    #define MBIM_UUID_PHONEBOOK mbim_uuid_from_service (MBIM_SERVICE_PHONEBOOK)

Get the UUID of the `MBIM_SERVICE_PHONEBOOK` service.

Returns : | a MbimUuid. [transfer none]

### MBIM_UUID_STK

    #define MBIM_UUID_STK mbim_uuid_from_service (MBIM_SERVICE_STK)

Get the UUID of the `MBIM_SERVICE_STK` service.

Returns : | a MbimUuid. [transfer none]

### MBIM_UUID_AUTH

    #define MBIM_UUID_AUTH mbim_uuid_from_service (MBIM_SERVICE_AUTH)

Get the UUID of the `MBIM_SERVICE_AUTH` service.

Returns : | a MbimUuid. [transfer none]

### MBIM_UUID_DSS

    #define MBIM_UUID_DSS mbim_uuid_from_service (MBIM_SERVICE_DSS)

Get the UUID of the `MBIM_SERVICE_DSS` service.

Returns : | a MbimUuid. [transfer none]

### mbim_service_get_string ()

    const gchar *       mbim_service_get_string             (MbimService val);

Gets the nickname string for the MbimService specified at `val`.

`val` : | a MbimService.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_context_type_get_string ()

    const gchar *       mbim_context_type_get_string        (MbimContextType val);

Gets the nickname string for the MbimContextType specified at `val`.

`val` : | a MbimContextType.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_uuid_cmp ()

    gboolean            mbim_uuid_cmp                       (const MbimUuid *a,
                                                             const MbimUuid *b);

Compare two `MbimUuid` values.

`a` : | a MbimUuid.
`b` : | a MbimUuid.
Returns : | `TRUE` if `a` and `b` are equal, `FALSE` otherwise.

### mbim_uuid_get_printable ()

    gchar *             mbim_uuid_get_printable             (const MbimUuid *uuid);

Get a string with the UUID.

`uuid` : | a MbimUuid.
Returns : | a newly allocated string, which should be freed with `g_free()`. [transfer full]

### mbim_uuid_from_service ()

    const MbimUuid *    mbim_uuid_from_service              (MbimService service);

Get the UUID corresponding to `service`.

`service` : | a MbimService.
Returns : | a MbimUuid. [transfer none]

### mbim_uuid_to_service ()

    MbimService         mbim_uuid_to_service                (const MbimUuid *uuid);

Get the service corresponding to `uuid`.

`uuid` : | a MbimUuid.
Returns : | a MbimService.

### mbim_uuid_from_context_type ()

    const MbimUuid *    mbim_uuid_from_context_type         (MbimContextType context_type);

Get the UUID corresponding to `context_type`.

`context_type` : | a MbimContextType.
Returns : | a MbimUuid. [transfer none]

### mbim_uuid_to_context_type ()

    MbimContextType     mbim_uuid_to_context_type           (const MbimUuid *uuid);

Get the context type corresponding to `uuid`.

`uuid` : | a MbimUuid.
Returns : | a MbimContextType.