## NMSettingPPPOE NMSettingPPPOE — Describes PPPoE connection properties |

## Synopsis

    #include <nm-setting-pppoe.h>

    #define             NM_SETTING_PPPOE_SETTING_NAME
    enum                NMSettingPPPOEError;
    #define             NM_SETTING_PPPOE_ERROR
    GQuark              nm_setting_pppoe_error_quark        (void);
    #define             NM_SETTING_PPPOE_SERVICE
    #define             NM_SETTING_PPPOE_USERNAME
    #define             NM_SETTING_PPPOE_PASSWORD
    #define             NM_SETTING_PPPOE_PASSWORD_FLAGS
                        NMSettingPPPOE;
                        NMSettingPPPOEClass;
    NMSetting *         nm_setting_pppoe_new                (void);
    const char *        nm_setting_pppoe_get_service        (NMSettingPPPOE *setting);
    const char *        nm_setting_pppoe_get_username       (NMSettingPPPOE *setting);
    const char *        nm_setting_pppoe_get_password       (NMSettingPPPOE *setting);
    NMSettingSecretFlags nm_setting_pppoe_get_password_flags
                                                            (NMSettingPPPOE *setting);

## Object Hierarchy

      GEnum
       +----NMSettingPPPOEError

      GObject
       +----NMSetting
             +----NMSettingPPPOE

## Properties

      "password"                 gchar*                : Read / Write
      "password-flags"           guint                 : Read / Write
      "service"                  gchar*                : Read / Write
      "username"                 gchar*                : Read / Write

## Description

The NMSettingPPPOE object is a NMSetting subclass that describes properties necessary for connection to networks that require PPPoE connections to provide IP transport, for example cable or DSL modems.

## Details

### NM_SETTING_PPPOE_SETTING_NAME

    #define NM_SETTING_PPPOE_SETTING_NAME "pppoe"

### enum NMSettingPPPOEError

    typedef enum {
    	NM_SETTING_PPPOE_ERROR_UNKNOWN = 0,        /*< nick=UnknownError >*/
    	NM_SETTING_PPPOE_ERROR_INVALID_PROPERTY,   /*< nick=InvalidProperty >*/
    	NM_SETTING_PPPOE_ERROR_MISSING_PROPERTY,   /*< nick=MissingProperty >*/
    	NM_SETTING_PPPOE_ERROR_MISSING_PPP_SETTING /*< nick=MissingPPPSetting >*/
    } NMSettingPPPOEError;

`NM_SETTING_PPPOE_ERROR_UNKNOWN` | unknown or unclassified error
`NM_SETTING_PPPOE_ERROR_INVALID_PROPERTY` | the property was invalid
`NM_SETTING_PPPOE_ERROR_MISSING_PROPERTY` | the property was missing and is required
`NM_SETTING_PPPOE_ERROR_MISSING_PPP_SETTING` | the connection did not contain a required PPP setting for PPP related options

### NM_SETTING_PPPOE_ERROR

    #define NM_SETTING_PPPOE_ERROR nm_setting_pppoe_error_quark ()

### nm_setting_pppoe_error_quark ()

    GQuark              nm_setting_pppoe_error_quark        (void);

Registers an error quark for NMSettingPPPOE if necessary.

Returns : | the error quark used for NMSettingPPPOE errors.

### NM_SETTING_PPPOE_SERVICE

    #define NM_SETTING_PPPOE_SERVICE        "service"

### NM_SETTING_PPPOE_USERNAME

    #define NM_SETTING_PPPOE_USERNAME       "username"

### NM_SETTING_PPPOE_PASSWORD

    #define NM_SETTING_PPPOE_PASSWORD       "password"

### NM_SETTING_PPPOE_PASSWORD_FLAGS

    #define NM_SETTING_PPPOE_PASSWORD_FLAGS "password-flags"

### NMSettingPPPOE

    typedef struct _NMSettingPPPOE NMSettingPPPOE;

### NMSettingPPPOEClass

    typedef struct {
    	NMSettingClass parent;

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

### nm_setting_pppoe_new ()

    NMSetting *         nm_setting_pppoe_new                (void);

Creates a new NMSettingPPPOE object with default values.

Returns : | the new empty NMSettingPPPOE object. [transfer full]

### nm_setting_pppoe_get_service ()

    const char *        nm_setting_pppoe_get_service        (NMSettingPPPOE *setting);

`setting` : | the NMSettingPPPOE
Returns : | the "service" property of the setting

### nm_setting_pppoe_get_username ()

    const char *        nm_setting_pppoe_get_username       (NMSettingPPPOE *setting);

`setting` : | the NMSettingPPPOE
Returns : | the "username" property of the setting

### nm_setting_pppoe_get_password ()

    const char *        nm_setting_pppoe_get_password       (NMSettingPPPOE *setting);

`setting` : | the NMSettingPPPOE
Returns : | the "password" property of the setting

### nm_setting_pppoe_get_password_flags ()

    NMSettingSecretFlags nm_setting_pppoe_get_password_flags
                                                            (NMSettingPPPOE *setting);

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

## Property Details

### The `"password"` property

      "password"                 gchar*                : Read / Write

Password used to authenticate with the PPPoE service.

Default value: NULL

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

      "password-flags"           guint                 : Read / Write

Flags indicating how to handle the "password" property.

Allowed values: <= 7

Default value: 0

### The `"service"` property

      "service"                  gchar*                : Read / Write

If specified, instruct PPPoE to only initiate sessions with access concentrators that provide the specified service. For most providers, this should be left blank. It is only required if there are multiple access concentrators or a specific service is known to be required.

Default value: NULL

### The `"username"` property

      "username"                 gchar*                : Read / Write

Username used to authenticate with the PPPoE service.

Default value: NULL