## NMSettingPPP

NMSettingPPP — Describes connection properties for devices/networks that require PPP to deliver IP capability

## Synopsis

    #include <nm-setting-ppp.h>

    #define             NM_SETTING_PPP_SETTING_NAME
    enum                NMSettingPPPError;
    #define             NM_SETTING_PPP_ERROR
    GQuark              nm_setting_ppp_error_quark          (void);
    #define             NM_SETTING_PPP_NOAUTH
    #define             NM_SETTING_PPP_REFUSE_EAP
    #define             NM_SETTING_PPP_REFUSE_PAP
    #define             NM_SETTING_PPP_REFUSE_CHAP
    #define             NM_SETTING_PPP_REFUSE_MSCHAP
    #define             NM_SETTING_PPP_REFUSE_MSCHAPV2
    #define             NM_SETTING_PPP_NOBSDCOMP
    #define             NM_SETTING_PPP_NODEFLATE
    #define             NM_SETTING_PPP_NO_VJ_COMP
    #define             NM_SETTING_PPP_REQUIRE_MPPE
    #define             NM_SETTING_PPP_REQUIRE_MPPE_128
    #define             NM_SETTING_PPP_MPPE_STATEFUL
    #define             NM_SETTING_PPP_CRTSCTS
    #define             NM_SETTING_PPP_BAUD
    #define             NM_SETTING_PPP_MRU
    #define             NM_SETTING_PPP_MTU
    #define             NM_SETTING_PPP_LCP_ECHO_FAILURE
    #define             NM_SETTING_PPP_LCP_ECHO_INTERVAL
                        NMSettingPPP;
                        NMSettingPPPClass;
    NMSetting *         nm_setting_ppp_new                  (void);
    gboolean            nm_setting_ppp_get_noauth           (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_refuse_eap       (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_refuse_pap       (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_refuse_chap      (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_refuse_mschap    (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_refuse_mschapv2  (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_nobsdcomp        (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_nodeflate        (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_no_vj_comp       (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_require_mppe     (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_require_mppe_128 (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_mppe_stateful    (NMSettingPPP *setting);
    gboolean            nm_setting_ppp_get_crtscts          (NMSettingPPP *setting);
    guint32             nm_setting_ppp_get_baud             (NMSettingPPP *setting);
    guint32             nm_setting_ppp_get_mru              (NMSettingPPP *setting);
    guint32             nm_setting_ppp_get_mtu              (NMSettingPPP *setting);
    guint32             nm_setting_ppp_get_lcp_echo_failure (NMSettingPPP *setting);
    guint32             nm_setting_ppp_get_lcp_echo_interval
                                                            (NMSettingPPP *setting);

## Object Hierarchy

      GEnum
       +----NMSettingPPPError

      GObject
       +----NMSetting
             +----NMSettingPPP

## Properties

      "baud"                     guint                 : Read / Write / Construct
      "crtscts"                  gboolean              : Read / Write / Construct
      "lcp-echo-failure"         guint                 : Read / Write / Construct
      "lcp-echo-interval"        guint                 : Read / Write / Construct
      "mppe-stateful"            gboolean              : Read / Write / Construct
      "mru"                      guint                 : Read / Write / Construct
      "mtu"                      guint                 : Read / Write / Construct
      "no-vj-comp"               gboolean              : Read / Write / Construct
      "noauth"                   gboolean              : Read / Write / Construct
      "nobsdcomp"                gboolean              : Read / Write / Construct
      "nodeflate"                gboolean              : Read / Write / Construct
      "refuse-chap"              gboolean              : Read / Write / Construct
      "refuse-eap"               gboolean              : Read / Write / Construct
      "refuse-mschap"            gboolean              : Read / Write / Construct
      "refuse-mschapv2"          gboolean              : Read / Write / Construct
      "refuse-pap"               gboolean              : Read / Write / Construct
      "require-mppe"             gboolean              : Read / Write / Construct
      "require-mppe-128"         gboolean              : Read / Write / Construct

## Description

The NMSettingPPP object is a NMSetting subclass that describes properties necessary for connection to networks that require PPP transport, like PPPoE cable and DSL modems and some mobile broadband devices.

## Details

### NM_SETTING_PPP_SETTING_NAME

    #define NM_SETTING_PPP_SETTING_NAME "ppp"

### enum NMSettingPPPError

    typedef enum {
    	NM_SETTING_PPP_ERROR_UNKNOWN = 0,             /*< nick=UnknownError >*/
    	NM_SETTING_PPP_ERROR_INVALID_PROPERTY,        /*< nick=InvalidProperty >*/
    	NM_SETTING_PPP_ERROR_MISSING_PROPERTY,        /*< nick=MissingProperty >*/
    	NM_SETTING_PPP_ERROR_REQUIRE_MPPE_NOT_ALLOWED /*< nick=RequireMPPENotAllowed >*/
    } NMSettingPPPError;

`NM_SETTING_PPP_ERROR_UNKNOWN` | unknown or unclassified error
`NM_SETTING_PPP_ERROR_INVALID_PROPERTY` | the property was invalid
`NM_SETTING_PPP_ERROR_MISSING_PROPERTY` | the property was missing and is required
`NM_SETTING_PPP_ERROR_REQUIRE_MPPE_NOT_ALLOWED` | requiring MPPE is not compatible with other setting configuration parameters

### NM_SETTING_PPP_ERROR

    #define NM_SETTING_PPP_ERROR nm_setting_ppp_error_quark ()

### nm_setting_ppp_error_quark ()

    GQuark              nm_setting_ppp_error_quark          (void);

Registers an error quark for NMSettingPPP if necessary.

Returns : | the error quark used for NMSettingPPP errors.

### NM_SETTING_PPP_NOAUTH

    #define NM_SETTING_PPP_NOAUTH            "noauth"

### NM_SETTING_PPP_REFUSE_EAP

    #define NM_SETTING_PPP_REFUSE_EAP        "refuse-eap"

### NM_SETTING_PPP_REFUSE_PAP

    #define NM_SETTING_PPP_REFUSE_PAP        "refuse-pap"

### NM_SETTING_PPP_REFUSE_CHAP

    #define NM_SETTING_PPP_REFUSE_CHAP       "refuse-chap"

### NM_SETTING_PPP_REFUSE_MSCHAP

    #define NM_SETTING_PPP_REFUSE_MSCHAP     "refuse-mschap"

### NM_SETTING_PPP_REFUSE_MSCHAPV2

    #define NM_SETTING_PPP_REFUSE_MSCHAPV2   "refuse-mschapv2"

### NM_SETTING_PPP_NOBSDCOMP

    #define NM_SETTING_PPP_NOBSDCOMP         "nobsdcomp"

### NM_SETTING_PPP_NODEFLATE

    #define NM_SETTING_PPP_NODEFLATE         "nodeflate"

### NM_SETTING_PPP_NO_VJ_COMP

    #define NM_SETTING_PPP_NO_VJ_COMP        "no-vj-comp"

### NM_SETTING_PPP_REQUIRE_MPPE

    #define NM_SETTING_PPP_REQUIRE_MPPE      "require-mppe"

### NM_SETTING_PPP_REQUIRE_MPPE_128

    #define NM_SETTING_PPP_REQUIRE_MPPE_128  "require-mppe-128"

### NM_SETTING_PPP_MPPE_STATEFUL

    #define NM_SETTING_PPP_MPPE_STATEFUL     "mppe-stateful"

### NM_SETTING_PPP_CRTSCTS

    #define NM_SETTING_PPP_CRTSCTS           "crtscts"

### NM_SETTING_PPP_BAUD

    #define NM_SETTING_PPP_BAUD              "baud"

### NM_SETTING_PPP_MRU

    #define NM_SETTING_PPP_MRU               "mru"

### NM_SETTING_PPP_MTU

    #define NM_SETTING_PPP_MTU               "mtu"

### NM_SETTING_PPP_LCP_ECHO_FAILURE

    #define NM_SETTING_PPP_LCP_ECHO_FAILURE  "lcp-echo-failure"

### NM_SETTING_PPP_LCP_ECHO_INTERVAL

    #define NM_SETTING_PPP_LCP_ECHO_INTERVAL "lcp-echo-interval"

### NMSettingPPP

    typedef struct _NMSettingPPP NMSettingPPP;

### NMSettingPPPClass

    typedef struct {
    	NMSettingClass parent;

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

### nm_setting_ppp_new ()

    NMSetting *         nm_setting_ppp_new                  (void);

Creates a new NMSettingPPP object with default values.

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

### nm_setting_ppp_get_noauth ()

    gboolean            nm_setting_ppp_get_noauth           (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "noauth" property of the setting

### nm_setting_ppp_get_refuse_eap ()

    gboolean            nm_setting_ppp_get_refuse_eap       (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "refuse-eap" property of the setting

### nm_setting_ppp_get_refuse_pap ()

    gboolean            nm_setting_ppp_get_refuse_pap       (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "refuse-pap" property of the setting

### nm_setting_ppp_get_refuse_chap ()

    gboolean            nm_setting_ppp_get_refuse_chap      (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "refuse-chap" property of the setting

### nm_setting_ppp_get_refuse_mschap ()

    gboolean            nm_setting_ppp_get_refuse_mschap    (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "refuse-mschap" property of the setting

### nm_setting_ppp_get_refuse_mschapv2 ()

    gboolean            nm_setting_ppp_get_refuse_mschapv2  (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "refuse-mschapv2" property of the setting

### nm_setting_ppp_get_nobsdcomp ()

    gboolean            nm_setting_ppp_get_nobsdcomp        (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "nobsdcomp" property of the setting

### nm_setting_ppp_get_nodeflate ()

    gboolean            nm_setting_ppp_get_nodeflate        (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "nodeflate" property of the setting

### nm_setting_ppp_get_no_vj_comp ()

    gboolean            nm_setting_ppp_get_no_vj_comp       (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "no-vj-comp" property of the setting

### nm_setting_ppp_get_require_mppe ()

    gboolean            nm_setting_ppp_get_require_mppe     (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "require-mppe" property of the setting

### nm_setting_ppp_get_require_mppe_128 ()

    gboolean            nm_setting_ppp_get_require_mppe_128 (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "require-mppe-128" property of the setting

### nm_setting_ppp_get_mppe_stateful ()

    gboolean            nm_setting_ppp_get_mppe_stateful    (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "mppe-stateful" property of the setting

### nm_setting_ppp_get_crtscts ()

    gboolean            nm_setting_ppp_get_crtscts          (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "crtscts" property of the setting

### nm_setting_ppp_get_baud ()

    guint32             nm_setting_ppp_get_baud             (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "baud" property of the setting

### nm_setting_ppp_get_mru ()

    guint32             nm_setting_ppp_get_mru              (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "mru" property of the setting

### nm_setting_ppp_get_mtu ()

    guint32             nm_setting_ppp_get_mtu              (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "mtu" property of the setting

### nm_setting_ppp_get_lcp_echo_failure ()

    guint32             nm_setting_ppp_get_lcp_echo_failure (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "lcp-echo-failure" property of the setting

### nm_setting_ppp_get_lcp_echo_interval ()

    guint32             nm_setting_ppp_get_lcp_echo_interval
                                                            (NMSettingPPP *setting);

`setting` : | the NMSettingPPP
Returns : | the "lcp-echo-interval" property of the setting

## Property Details

### The `"baud"` property

      "baud"                     guint                 : Read / Write / Construct

If non-zero, instruct pppd to set the serial port to the specified baudrate. This value should normally be left as 0 to automatically choose the speed.

Default value: 0

### The `"crtscts"` property

      "crtscts"                  gboolean              : Read / Write / Construct

If TRUE, specify that pppd should set the serial port to use hardware flow control with RTS and CTS signals. This value should normally be set to FALSE.

Default value: FALSE

### The `"lcp-echo-failure"` property

      "lcp-echo-failure"         guint                 : Read / Write / Construct

If non-zero, instruct pppd to presume the connection to the peer has failed if the specified number of LCP echo-requests go unanswered by the peer. The 'lcp-echo-interval' property must also be set to a non-zero value if this property is used.

Default value: 0

### The `"lcp-echo-interval"` property

      "lcp-echo-interval"        guint                 : Read / Write / Construct

If non-zero, instruct pppd to send an LCP echo-request frame to the peer every n seconds (where n is the specified value). Note that some PPP peers will respond to echo requests and some will not, and it is not possible to autodetect this.

Default value: 0

### The `"mppe-stateful"` property

      "mppe-stateful"            gboolean              : Read / Write / Construct

If TRUE, stateful MPPE is used. See pppd documentation for more information on stateful MPPE.",

Default value: FALSE

### The `"mru"` property

      "mru"                      guint                 : Read / Write / Construct

If non-zero, instruct pppd to request that the peer send packets no larger than the specified size. If non-zero, the MRU should be between 128 and 16384.

Allowed values: <= 16384

Default value: 0

### The `"mtu"` property

      "mtu"                      guint                 : Read / Write / Construct

If non-zero, instruct pppd to send packets no larger than the specified size.

Default value: 0

### The `"no-vj-comp"` property

      "no-vj-comp"               gboolean              : Read / Write / Construct

If TRUE, Van Jacobsen TCP header compression will not be requested.

Default value: FALSE

### The `"noauth"` property

      "noauth"                   gboolean              : Read / Write / Construct

If TRUE, do not require the other side (usually the PPP server) to authenticate itself to the client. If FALSE, require authentication from the remote side. In almost all cases, this should be TRUE.

Default value: TRUE

### The `"nobsdcomp"` property

      "nobsdcomp"                gboolean              : Read / Write / Construct

If TRUE, BSD compression will not be requested.

Default value: FALSE

### The `"nodeflate"` property

      "nodeflate"                gboolean              : Read / Write / Construct

If TRUE, 'deflate' compression will not be requested.

Default value: FALSE

### The `"refuse-chap"` property

      "refuse-chap"              gboolean              : Read / Write / Construct

If TRUE, the CHAP authentication method will not be used.

Default value: FALSE

### The `"refuse-eap"` property

      "refuse-eap"               gboolean              : Read / Write / Construct

If TRUE, the EAP authentication method will not be used.

Default value: FALSE

### The `"refuse-mschap"` property

      "refuse-mschap"            gboolean              : Read / Write / Construct

If TRUE, the MSCHAP authentication method will not be used.

Default value: FALSE

### The `"refuse-mschapv2"` property

      "refuse-mschapv2"          gboolean              : Read / Write / Construct

If TRUE, the MSCHAPv2 authentication method will not be used.

Default value: FALSE

### The `"refuse-pap"` property

      "refuse-pap"               gboolean              : Read / Write / Construct

If TRUE, the PAP authentication method will not be used.

Default value: FALSE

### The `"require-mppe"` property

      "require-mppe"             gboolean              : Read / Write / Construct

If TRUE, MPPE (Microsoft Point-to-Point Encrpytion) will be required for the PPP session. If either 64-bit or 128-bit MPPE is not available the session will fail. Note that MPPE is not used on mobile broadband connections.

Default value: FALSE

### The `"require-mppe-128"` property

      "require-mppe-128"         gboolean              : Read / Write / Construct

If TRUE, 128-bit MPPE (Microsoft Point-to-Point Encrpytion) will be required for the PPP session, and the 'require-mppe' property must also be set to TRUE. If 128-bit MPPE is not available the session will fail.

Default value: FALSE