## NMSettingPPPOE NMSettingPPPOE — Describes PPPoE connection properties |

## Synopsis

    #include <nm-setting-pppoe.h>

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

## Object Hierarchy

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

      GEnum
       +----NMSettingPPPOEError

## 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

### 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;

### 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_PASSWORD

    #define NM_SETTING_PPPOE_PASSWORD       "password"

### NM_SETTING_PPPOE_PASSWORD_FLAGS

    #define NM_SETTING_PPPOE_PASSWORD_FLAGS "password-flags"

### NM_SETTING_PPPOE_SERVICE

    #define NM_SETTING_PPPOE_SERVICE        "service"

### NM_SETTING_PPPOE_SETTING_NAME

    #define NM_SETTING_PPPOE_SETTING_NAME "pppoe"

### NM_SETTING_PPPOE_USERNAME

    #define NM_SETTING_PPPOE_USERNAME       "username"

### 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_get_password ()

    const char *        nm_setting_pppoe_get_password       (NMSettingPPPOE *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"

### nm_setting_pppoe_get_service ()

    const char *        nm_setting_pppoe_get_service        (NMSettingPPPOE *setting);

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

### nm_setting_pppoe_get_username ()

    const char *        nm_setting_pppoe_get_username       (NMSettingPPPOE *setting);

### 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]

## 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 "password":.

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