## MMPco MMPco — Helper object to handle 3GPP PCO. |

## Functions

guint32 | mm_pco_get_session_id ()
gboolean | mm_pco_is_complete ()
const guint8 * | mm_pco_get_data ()
void | mm_pco_list_free ()

## Types and Values

struct | MMPco

## Object Hierarchy

        GObject
        ╰── MMPco

## Description

The MMPco is an object handling the raw 3GPP Protocol Configuration Options (PCO) that the modem has received from the network.

This object is retrieved with `mm_modem_3gpp_get_pco()`.

## Functions

### mm_pco_get_session_id ()

    guint32
    mm_pco_get_session_id (MMPco *self);

Gets the session ID associated with the PCO.

#### Parameters

self | a MMPco. |

#### Returns

the session ID.

Since: 1.10

### mm_pco_is_complete ()

    gboolean
    mm_pco_is_complete (MMPco *self);

Gets the complete flag that indicates whether the PCO data contains the complete PCO structure received from the network.

#### Parameters

self | a MMPco. |

#### Returns

`TRUE` if the PCO data contains the complete PCO structure, `FALSE` otherwise.

Since: 1.10

### mm_pco_get_data ()

    const guint8 *
    mm_pco_get_data (MMPco *self,
                     gsize *data_size);

Gets the PCO data in raw bytes.

#### Parameters

self | a MMPco. |
data_size | Size of the PCO data, if any given. | [out]

#### Returns

the PCO data, or `NULL` if it doesn't contain any.

[transfer none]

Since: 1.10

### mm_pco_list_free ()

    void
    mm_pco_list_free (GList *pco_list);

`mm_pco_list_free` has been deprecated since version 1.12.0 and should not be used in newly-written code.

Use `g_list_free_full()` using `g_object_unref()` as GDestroyNotify function instead.

Frees all of the memory used by a GList of MMPco.

#### Parameters

pco_list | a GList of MMPco. | [transfer full][element-type ModemManager.Pco]

Since: 1.10

## Types and Values

### struct MMPco

    struct MMPco;

The MMPco structure contains private data and should only be accessed using the provided API.