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

## Synopsis

    #include <nm-setting-ppp.h>

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

## Object Hierarchy

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

      GEnum
       +----NMSettingPPPError

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

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

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

    #define NM_SETTING_PPP_BAUD              "baud"

### NM_SETTING_PPP_CRTSCTS

    #define NM_SETTING_PPP_CRTSCTS           "crtscts"

### NM_SETTING_PPP_ERROR

    #define NM_SETTING_PPP_ERROR nm_setting_ppp_error_quark ()

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

### NM_SETTING_PPP_MPPE_STATEFUL

    #define NM_SETTING_PPP_MPPE_STATEFUL     "mppe-stateful"

### NM_SETTING_PPP_MRU

    #define NM_SETTING_PPP_MRU               "mru"

### NM_SETTING_PPP_MTU

    #define NM_SETTING_PPP_MTU               "mtu"

### NM_SETTING_PPP_NOAUTH

    #define NM_SETTING_PPP_NOAUTH            "noauth"

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

    #define NM_SETTING_PPP_REFUSE_CHAP       "refuse-chap"

### NM_SETTING_PPP_REFUSE_EAP

    #define NM_SETTING_PPP_REFUSE_EAP        "refuse-eap"

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

    #define NM_SETTING_PPP_REFUSE_PAP        "refuse-pap"

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

    #define NM_SETTING_PPP_SETTING_NAME "ppp"

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

    guint32             nm_setting_ppp_get_baud             (NMSettingPPP *setting);

### nm_setting_ppp_get_crtscts ()

    gboolean            nm_setting_ppp_get_crtscts          (NMSettingPPP *setting);

### nm_setting_ppp_get_lcp_echo_failure ()

    guint32             nm_setting_ppp_get_lcp_echo_failure (NMSettingPPP *setting);

### nm_setting_ppp_get_lcp_echo_interval ()

    guint32             nm_setting_ppp_get_lcp_echo_interval
                                                            (NMSettingPPP *setting);

### nm_setting_ppp_get_mppe_stateful ()

    gboolean            nm_setting_ppp_get_mppe_stateful    (NMSettingPPP *setting);

### nm_setting_ppp_get_mru ()

    guint32             nm_setting_ppp_get_mru              (NMSettingPPP *setting);

### nm_setting_ppp_get_mtu ()

    guint32             nm_setting_ppp_get_mtu              (NMSettingPPP *setting);

### nm_setting_ppp_get_no_vj_comp ()

    gboolean            nm_setting_ppp_get_no_vj_comp       (NMSettingPPP *setting);

### nm_setting_ppp_get_noauth ()

    gboolean            nm_setting_ppp_get_noauth           (NMSettingPPP *setting);

### nm_setting_ppp_get_nobsdcomp ()

    gboolean            nm_setting_ppp_get_nobsdcomp        (NMSettingPPP *setting);

### nm_setting_ppp_get_nodeflate ()

    gboolean            nm_setting_ppp_get_nodeflate        (NMSettingPPP *setting);

### nm_setting_ppp_get_refuse_chap ()

    gboolean            nm_setting_ppp_get_refuse_chap      (NMSettingPPP *setting);

### nm_setting_ppp_get_refuse_eap ()

    gboolean            nm_setting_ppp_get_refuse_eap       (NMSettingPPP *setting);

### nm_setting_ppp_get_refuse_mschap ()

    gboolean            nm_setting_ppp_get_refuse_mschap    (NMSettingPPP *setting);

### nm_setting_ppp_get_refuse_mschapv2 ()

    gboolean            nm_setting_ppp_get_refuse_mschapv2  (NMSettingPPP *setting);

### nm_setting_ppp_get_refuse_pap ()

    gboolean            nm_setting_ppp_get_refuse_pap       (NMSettingPPP *setting);

### nm_setting_ppp_get_require_mppe ()

    gboolean            nm_setting_ppp_get_require_mppe     (NMSettingPPP *setting);

### nm_setting_ppp_get_require_mppe_128 ()

    gboolean            nm_setting_ppp_get_require_mppe_128 (NMSettingPPP *setting);

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

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