## NMSettingGsm NMSettingGsm |

## Synopsis

    #define             NM_SETTING_GSM_SETTING_NAME
    enum                NMSettingGsmError;
    #define             NM_TYPE_SETTING_GSM_ERROR
    #define             NM_SETTING_GSM_ERROR
    GQuark              nm_setting_gsm_error_quark          (void);
    #define             NM_SETTING_GSM_NUMBER
    #define             NM_SETTING_GSM_USERNAME
    #define             NM_SETTING_GSM_PASSWORD
    #define             NM_SETTING_GSM_PASSWORD_FLAGS
    #define             NM_SETTING_GSM_APN
    #define             NM_SETTING_GSM_NETWORK_ID
    #define             NM_SETTING_GSM_NETWORK_TYPE
    #define             NM_SETTING_GSM_ALLOWED_BANDS
    #define             NM_SETTING_GSM_PIN
    #define             NM_SETTING_GSM_PIN_FLAGS
    #define             NM_SETTING_GSM_HOME_ONLY
    enum                NMSettingGsmNetworkType;
    enum                NMSettingGsmNetworkBand;
                        NMSettingGsm;
                        NMSettingGsmClass;
    GType               nm_setting_gsm_get_type             (void);
    NMSetting *         nm_setting_gsm_new                  (void);
    const char *        nm_setting_gsm_get_number           (NMSettingGsm *setting);
    const char *        nm_setting_gsm_get_username         (NMSettingGsm *setting);
    const char *        nm_setting_gsm_get_password         (NMSettingGsm *setting);
    const char *        nm_setting_gsm_get_apn              (NMSettingGsm *setting);
    const char *        nm_setting_gsm_get_network_id       (NMSettingGsm *setting);
    int                 nm_setting_gsm_get_network_type     (NMSettingGsm *setting);
    guint32             nm_setting_gsm_get_allowed_bands    (NMSettingGsm *setting);
    const char *        nm_setting_gsm_get_pin              (NMSettingGsm *setting);
    gboolean            nm_setting_gsm_get_home_only        (NMSettingGsm *setting);
    NMSettingSecretFlags  nm_setting_gsm_get_pin_flags      (NMSettingGsm *setting);
    NMSettingSecretFlags  nm_setting_gsm_get_password_flags (NMSettingGsm *setting);

## Object Hierarchy

      GEnum
       +----NMSettingGsmError

      GObject
       +----NMSetting
             +----NMSettingGsm

## Properties

      "allowed-bands"            guint                 : Read / Write / Construct
      "apn"                      gchar*                : Read / Write
      "home-only"                gboolean              : Read / Write
      "network-id"               gchar*                : Read / Write
      "network-type"             gint                  : Read / Write / Construct
      "number"                   gchar*                : Read / Write
      "password"                 gchar*                : Read / Write
      "password-flags"           guint                 : Read / Write
      "pin"                      gchar*                : Read / Write
      "pin-flags"                guint                 : Read / Write
      "username"                 gchar*                : Read / Write

## Description

## Details

### NM_SETTING_GSM_SETTING_NAME

    #define NM_SETTING_GSM_SETTING_NAME "gsm"

### enum NMSettingGsmError

    typedef enum
    {
    	NM_SETTING_GSM_ERROR_UNKNOWN = 0,
    	NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
    	NM_SETTING_GSM_ERROR_MISSING_PROPERTY,
    	NM_SETTING_GSM_ERROR_MISSING_SERIAL_SETTING
    } NMSettingGsmError;

### NM_TYPE_SETTING_GSM_ERROR

    #define NM_TYPE_SETTING_GSM_ERROR (nm_setting_gsm_error_get_type ())

### NM_SETTING_GSM_ERROR

    #define NM_SETTING_GSM_ERROR nm_setting_gsm_error_quark ()

### nm_setting_gsm_error_quark ()

    GQuark              nm_setting_gsm_error_quark          (void);

### NM_SETTING_GSM_NUMBER

    #define NM_SETTING_GSM_NUMBER         "number"

### NM_SETTING_GSM_USERNAME

    #define NM_SETTING_GSM_USERNAME       "username"

### NM_SETTING_GSM_PASSWORD

    #define NM_SETTING_GSM_PASSWORD       "password"

### NM_SETTING_GSM_PASSWORD_FLAGS

    #define NM_SETTING_GSM_PASSWORD_FLAGS "password-flags"

### NM_SETTING_GSM_APN

    #define NM_SETTING_GSM_APN            "apn"

### NM_SETTING_GSM_NETWORK_ID

    #define NM_SETTING_GSM_NETWORK_ID     "network-id"

### NM_SETTING_GSM_NETWORK_TYPE

    #define NM_SETTING_GSM_NETWORK_TYPE   "network-type"

### NM_SETTING_GSM_ALLOWED_BANDS

    #define NM_SETTING_GSM_ALLOWED_BANDS  "allowed-bands"

### NM_SETTING_GSM_PIN

    #define NM_SETTING_GSM_PIN            "pin"

### NM_SETTING_GSM_PIN_FLAGS

    #define NM_SETTING_GSM_PIN_FLAGS      "pin-flags"

### NM_SETTING_GSM_HOME_ONLY

    #define NM_SETTING_GSM_HOME_ONLY      "home-only"

### enum NMSettingGsmNetworkType

    typedef enum {
    	NM_SETTING_GSM_NETWORK_TYPE_ANY = -1,
    	NM_SETTING_GSM_NETWORK_TYPE_UMTS_HSPA = 0,
    	NM_SETTING_GSM_NETWORK_TYPE_GPRS_EDGE = 1,
    	NM_SETTING_GSM_NETWORK_TYPE_PREFER_UMTS_HSPA = 2,
    	NM_SETTING_GSM_NETWORK_TYPE_PREFER_GPRS_EDGE = 3
    } NMSettingGsmNetworkType;

### enum NMSettingGsmNetworkBand

    typedef enum {
    	NM_SETTING_GSM_BAND_UNKNOWN      = 0x00000000,
    	NM_SETTING_GSM_BAND_ANY          = 0x00000001,
    	NM_SETTING_GSM_BAND_EGSM         = 0x00000002, /*  900 MHz */
    	NM_SETTING_GSM_BAND_DCS          = 0x00000004, /* 1800 MHz */
    	NM_SETTING_GSM_BAND_PCS          = 0x00000008, /* 1900 MHz */
    	NM_SETTING_GSM_BAND_G850         = 0x00000010, /*  850 MHz */
    	NM_SETTING_GSM_BAND_U2100        = 0x00000020, /* WCDMA 3GPP UMTS 2100 MHz     (Class I) */
    	NM_SETTING_GSM_BAND_U1800        = 0x00000040, /* WCDMA 3GPP UMTS 1800 MHz     (Class III) */
    	NM_SETTING_GSM_BAND_U17IV        = 0x00000080, /* WCDMA 3GPP AWS 1700/2100 MHz (Class IV) */
    	NM_SETTING_GSM_BAND_U800         = 0x00000100, /* WCDMA 3GPP UMTS 800 MHz      (Class VI) */
    	NM_SETTING_GSM_BAND_U850         = 0x00000200, /* WCDMA 3GPP UMTS 850 MHz      (Class V) */
    	NM_SETTING_GSM_BAND_U900         = 0x00000400, /* WCDMA 3GPP UMTS 900 MHz      (Class VIII) */
    	NM_SETTING_GSM_BAND_U17IX        = 0x00000800, /* WCDMA 3GPP UMTS 1700 MHz     (Class IX) */
    	NM_SETTING_GSM_BAND_U1900        = 0x00001000, /* WCDMA 3GPP UMTS 1900 MHz     (Class II) */
    } NMSettingGsmNetworkBand;

### NMSettingGsm

    typedef struct _NMSettingGsm NMSettingGsm;

### NMSettingGsmClass

    typedef struct {
    	NMSettingClass parent;

    	/* Padding for future expansion */
    	void (*_reserved1) (void);
    	void (*_reserved2) (void);
    	void (*_reserved3) (void);
    	void (*_reserved4) (void);
    } NMSettingGsmClass;

### nm_setting_gsm_get_type ()

    GType               nm_setting_gsm_get_type             (void);

### nm_setting_gsm_new ()

    NMSetting *         nm_setting_gsm_new                  (void);

### nm_setting_gsm_get_number ()

    const char *        nm_setting_gsm_get_number           (NMSettingGsm *setting);

### nm_setting_gsm_get_username ()

    const char *        nm_setting_gsm_get_username         (NMSettingGsm *setting);

### nm_setting_gsm_get_password ()

    const char *        nm_setting_gsm_get_password         (NMSettingGsm *setting);

### nm_setting_gsm_get_apn ()

    const char *        nm_setting_gsm_get_apn              (NMSettingGsm *setting);

### nm_setting_gsm_get_network_id ()

    const char *        nm_setting_gsm_get_network_id       (NMSettingGsm *setting);

### nm_setting_gsm_get_network_type ()

    int                 nm_setting_gsm_get_network_type     (NMSettingGsm *setting);

### nm_setting_gsm_get_allowed_bands ()

    guint32             nm_setting_gsm_get_allowed_bands    (NMSettingGsm *setting);

### nm_setting_gsm_get_pin ()

    const char *        nm_setting_gsm_get_pin              (NMSettingGsm *setting);

### nm_setting_gsm_get_home_only ()

    gboolean            nm_setting_gsm_get_home_only        (NMSettingGsm *setting);

### nm_setting_gsm_get_pin_flags ()

    NMSettingSecretFlags  nm_setting_gsm_get_pin_flags      (NMSettingGsm *setting);

`setting` : | the NMSettingGsm
Returns : | the NMSettingSecretFlags pertaining to the "pin"

### nm_setting_gsm_get_password_flags ()

    NMSettingSecretFlags  nm_setting_gsm_get_password_flags (NMSettingGsm *setting);

`setting` : | the NMSettingGsm
Returns : | the NMSettingSecretFlags pertaining to the "password"

## Property Details

### The `"allowed-bands"` property

      "allowed-bands"            guint                 : Read / Write / Construct

Bitfield of allowed frequency bands. Note that not all devices allow frequency band control.

Allowed values: <= 1

Default value: 1

### The `"apn"` property

      "apn"                      gchar*                : Read / Write

The GPRS Access Point Name specifying the APN used when establishing a data session with the GSM-based network. The APN often determines how the user will be billed for their network usage and whether the user has access to the Internet or just a provider-specific walled-garden, so it is important to use the correct APN for the user's mobile broadband plan. The APN may only be composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section 14.9.

Default value: NULL

### The `"home-only"` property

      "home-only"                gboolean              : Read / Write

When TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made.

Default value: FALSE

### The `"network-id"` property

      "network-id"               gchar*                : Read / Write

The Network ID (GSM LAI format, ie MCC-MNC) to force specific network registration. If the Network ID is specified, NetworkManager will attempt to force the device to register only on the specified network. This can be used to ensure that the device does not roam when direct roaming control of the device is not otherwise possible.

Default value: NULL

### The `"network-type"` property

      "network-type"             gint                  : Read / Write / Construct

Network preference to force the device to only use specific network technologies. The permitted values are: -1: any, 0: 3G only, 1: GPRS/EDGE only, 2: prefer 3G, and 3: prefer 2G. Note that not all devices allow network preference control.

Allowed values: [G_MAXULONG,3]

Default value: -1

### The `"number"` property

      "number"                   gchar*                : Read / Write

Number to dial when establishing a PPP data session with the GSM-based mobile broadband network. In most cases, leave the number blank and a number selecting the APN specified in the 'apn' property will be used automatically when required.

Default value: NULL

### The `"password"` property

      "password"                 gchar*                : Read / Write

The password used to authenticate with the network, if required. Many providers do not require a password, or accept any password. But if a password is required, it is specified here.

Default value: NULL

### The `"password-flags"` property

      "password-flags"           guint                 : Read / Write

Flags indicating how to handle "password":.

Allowed values: <= 7

Default value: 0

### The `"pin"` property

      "pin"                      gchar*                : Read / Write

If the SIM is locked with a PIN it must be unlocked before any other operations are requested. Specify the PIN here to allow operation of the device.

Default value: NULL

### The `"pin-flags"` property

      "pin-flags"                guint                 : Read / Write

Flags indicating how to handle "pin":.

Allowed values: <= 7

Default value: 0

### The `"username"` property

      "username"                 gchar*                : Read / Write

The username used to authenticate with the network, if required. Many providers do not require a username, or accept any username. But if a username is required, it is specified here.

Default value: NULL