## NMSettingWired NMSettingWired — Describes connection properties for Ethernet-based networks |

## Synopsis

    #include <nm-setting-wired.h>

                        NMSettingWired;
                        NMSettingWiredClass;
    enum                NMSettingWiredError;
    #define             NM_SETTING_WIRED_AUTO_NEGOTIATE
    #define             NM_SETTING_WIRED_CLONED_MAC_ADDRESS
    #define             NM_SETTING_WIRED_DUPLEX
    #define             NM_SETTING_WIRED_ERROR
    #define             NM_SETTING_WIRED_MAC_ADDRESS
    #define             NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST
    #define             NM_SETTING_WIRED_MTU
    #define             NM_SETTING_WIRED_PORT
    #define             NM_SETTING_WIRED_S390_NETTYPE
    #define             NM_SETTING_WIRED_S390_OPTIONS
    #define             NM_SETTING_WIRED_S390_SUBCHANNELS
    #define             NM_SETTING_WIRED_SETTING_NAME
    #define             NM_SETTING_WIRED_SPEED
    gboolean            nm_setting_wired_add_s390_option    (NMSettingWired *setting,
                                                             const char *key,
                                                             const char *item);
    GQuark              nm_setting_wired_error_quark        (void);
    gboolean            nm_setting_wired_get_auto_negotiate (NMSettingWired *setting);
    const GByteArray *  nm_setting_wired_get_cloned_mac_address
                                                            (NMSettingWired *setting);
    const char *        nm_setting_wired_get_duplex         (NMSettingWired *setting);
    const GByteArray *  nm_setting_wired_get_mac_address    (NMSettingWired *setting);
    const GSList *      nm_setting_wired_get_mac_address_blacklist
                                                            (NMSettingWired *setting);
    guint32             nm_setting_wired_get_mtu            (NMSettingWired *setting);
    guint32             nm_setting_wired_get_num_s390_options
                                                            (NMSettingWired *setting);
    const char *        nm_setting_wired_get_port           (NMSettingWired *setting);
    const char *        nm_setting_wired_get_s390_nettype   (NMSettingWired *setting);
    gboolean            nm_setting_wired_get_s390_option    (NMSettingWired *setting,
                                                             guint32 idx,
                                                             const char **out_key,
                                                             const char **out_value);
    const char *        nm_setting_wired_get_s390_option_by_key
                                                            (NMSettingWired *setting,
                                                             const char *key);
    const GPtrArray *   nm_setting_wired_get_s390_subchannels
                                                            (NMSettingWired *setting);
    guint32             nm_setting_wired_get_speed          (NMSettingWired *setting);
    NMSetting *         nm_setting_wired_new                (void);
    gboolean            nm_setting_wired_remove_s390_option (NMSettingWired *setting,
                                                             const char *key);

## Object Hierarchy

      GObject
       +----NMSetting
             +----NMSettingWired

      GEnum
       +----NMSettingWiredError

## Properties

      "auto-negotiate"           gboolean              : Read / Write / Construct
      "cloned-mac-address"       GArray_guchar_*       : Read / Write
      "duplex"                   gchar*                : Read / Write
      "mac-address"              GArray_guchar_*       : Read / Write
      "mac-address-blacklist"    GSList_gchararray_*   : Read / Write
      "mtu"                      guint                 : Read / Write / Construct
      "port"                     gchar*                : Read / Write
      "s390-nettype"             gchar*                : Read / Write
      "s390-options"             GHashTable_gchararray+gchararray_*  : Read / Write
      "s390-subchannels"         GPtrArray_gchararray_*  : Read / Write
      "speed"                    guint                 : Read / Write / Construct

## Description

The NMSettingWired object is a NMSetting subclass that describes properties necessary for connection to Ethernet networks.

## Details

### NMSettingWired

    typedef struct _NMSettingWired NMSettingWired;

### NMSettingWiredClass

    typedef struct {
    	NMSettingClass parent;

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

### enum NMSettingWiredError

    typedef enum {
    	NM_SETTING_WIRED_ERROR_UNKNOWN = 0,      /*< nick=UnknownError >*/
    	NM_SETTING_WIRED_ERROR_INVALID_PROPERTY, /*< nick=InvalidProperty >*/
    	NM_SETTING_WIRED_ERROR_MISSING_PROPERTY  /*< nick=MissingProperty >*/
    } NMSettingWiredError;

`NM_SETTING_WIRED_ERROR_UNKNOWN` | unknown or unclassified error
`NM_SETTING_WIRED_ERROR_INVALID_PROPERTY` | the property was invalid
`NM_SETTING_WIRED_ERROR_MISSING_PROPERTY` | the property was missing and is required

### NM_SETTING_WIRED_AUTO_NEGOTIATE

    #define NM_SETTING_WIRED_AUTO_NEGOTIATE "auto-negotiate"

### NM_SETTING_WIRED_CLONED_MAC_ADDRESS

    #define NM_SETTING_WIRED_CLONED_MAC_ADDRESS "cloned-mac-address"

### NM_SETTING_WIRED_DUPLEX

    #define NM_SETTING_WIRED_DUPLEX "duplex"

### NM_SETTING_WIRED_ERROR

    #define NM_SETTING_WIRED_ERROR nm_setting_wired_error_quark ()

### NM_SETTING_WIRED_MAC_ADDRESS

    #define NM_SETTING_WIRED_MAC_ADDRESS "mac-address"

### NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST

    #define NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST "mac-address-blacklist"

### NM_SETTING_WIRED_MTU

    #define NM_SETTING_WIRED_MTU "mtu"

### NM_SETTING_WIRED_PORT

    #define NM_SETTING_WIRED_PORT "port"

### NM_SETTING_WIRED_S390_NETTYPE

    #define NM_SETTING_WIRED_S390_NETTYPE "s390-nettype"

### NM_SETTING_WIRED_S390_OPTIONS

    #define NM_SETTING_WIRED_S390_OPTIONS "s390-options"

### NM_SETTING_WIRED_S390_SUBCHANNELS

    #define NM_SETTING_WIRED_S390_SUBCHANNELS "s390-subchannels"

### NM_SETTING_WIRED_SETTING_NAME

    #define NM_SETTING_WIRED_SETTING_NAME "802-3-ethernet"

### NM_SETTING_WIRED_SPEED

    #define NM_SETTING_WIRED_SPEED "speed"

### nm_setting_wired_add_s390_option ()

    gboolean            nm_setting_wired_add_s390_option    (NMSettingWired *setting,
                                                             const char *key,
                                                             const char *item);

### nm_setting_wired_error_quark ()

    GQuark              nm_setting_wired_error_quark        (void);

Registers an error quark for NMSettingWired if necessary.

Returns : | the error quark used for NMSettingWired errors.

### nm_setting_wired_get_auto_negotiate ()

    gboolean            nm_setting_wired_get_auto_negotiate (NMSettingWired *setting);

`setting` : | the NMSettingWired
Returns : | the "auto-negotiate" property of the setting

### nm_setting_wired_get_cloned_mac_address ()

    const GByteArray *  nm_setting_wired_get_cloned_mac_address
                                                            (NMSettingWired *setting);

`setting` : | the NMSettingWired
Returns : | the "cloned-mac-address" property of the setting

### nm_setting_wired_get_duplex ()

    const char *        nm_setting_wired_get_duplex         (NMSettingWired *setting);

`setting` : | the NMSettingWired
Returns : | the "duplex" property of the setting

### nm_setting_wired_get_mac_address ()

    const GByteArray *  nm_setting_wired_get_mac_address    (NMSettingWired *setting);

`setting` : | the NMSettingWired
Returns : | the "mac-address" property of the setting

### nm_setting_wired_get_mac_address_blacklist ()

    const GSList *      nm_setting_wired_get_mac_address_blacklist
                                                            (NMSettingWired *setting);

`setting` : | the NMSettingWired
Returns : | the "mac-address-blacklist" property of the setting. [element-type GLib.ByteArray]

### nm_setting_wired_get_mtu ()

    guint32             nm_setting_wired_get_mtu            (NMSettingWired *setting);

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

### nm_setting_wired_get_num_s390_options ()

    guint32             nm_setting_wired_get_num_s390_options
                                                            (NMSettingWired *setting);

Returns the number of s390-specific options that should be set for this device when it is activated. This can be used to retrieve each s390 option individually using `nm_setting_wired_get_s390_option()`.

`setting` : | the NMSettingWired
Returns : | the number of s390-specific device options

### nm_setting_wired_get_port ()

    const char *        nm_setting_wired_get_port           (NMSettingWired *setting);

`setting` : | the NMSettingWired
Returns : | the "port" property of the setting

### nm_setting_wired_get_s390_nettype ()

    const char *        nm_setting_wired_get_s390_nettype   (NMSettingWired *setting);

Returns the s390 device type this connection should apply to. Will be one of 'qeth', 'lcs', or 'ctc'.

`setting` : | the NMSettingWired
Returns : | the s390 device type

### nm_setting_wired_get_s390_option ()

    gboolean            nm_setting_wired_get_s390_option    (NMSettingWired *setting,
                                                             guint32 idx,
                                                             const char **out_key,
                                                             const char **out_value);

Given an index, return the value of the s390 option at that index. indexes are *not* guaranteed to be static across modifications to options done by `nm_setting_wired_add_s390_option()` and `nm_setting_wired_remove_s390_option()`, and should not be used to refer to options except for short periods of time such as during option iteration.

`setting` : | the NMSettingWired
`idx` : | index of the desired option, from 0 to `nm_setting_wired_get_num_s390_options()` - 1
`out_key` : | on return, the key name of the s390 specific option; this value is owned by the setting and should not be modified. [out]
`out_value` : | on return, the value of the key of the s390 specific option; this value is owned by the setting and should not be modified. [out]
Returns : | `TRUE` on success if the index was valid and an option was found, `FALSE` if the index was invalid (ie, greater than the number of options currently held by the setting)

### nm_setting_wired_get_s390_option_by_key ()

    const char *        nm_setting_wired_get_s390_option_by_key
                                                            (NMSettingWired *setting,
                                                             const char *key);

Returns the value associated with the s390-specific option specified by `key`, if it exists.

`setting` : | the NMSettingWired
`key` : | the key for which to retrieve the value
Returns : | the value, or NULL if the key/value pair was never added to the setting; the value is owned by the setting and must not be modified

### nm_setting_wired_get_s390_subchannels ()

    const GPtrArray *   nm_setting_wired_get_s390_subchannels
                                                            (NMSettingWired *setting);

Return the list of s390 subchannels that identify the device that this connection is applicable to. The connection should only be used in conjunction with that device.

`setting` : | the NMSettingWired
Returns : | GPtrArray of strings, each specifying one subchannel the s390 device uses to communicate to the host. [element-type utf8]

### nm_setting_wired_get_speed ()

    guint32             nm_setting_wired_get_speed          (NMSettingWired *setting);

`setting` : | the NMSettingWired
Returns : | the "speed" property of the setting

### nm_setting_wired_new ()

    NMSetting *         nm_setting_wired_new                (void);

Creates a new NMSettingWired object with default values.

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

### nm_setting_wired_remove_s390_option ()

    gboolean            nm_setting_wired_remove_s390_option (NMSettingWired *setting,
                                                             const char *key);

## Property Details

### The `"auto-negotiate"` property

      "auto-negotiate"           gboolean              : Read / Write / Construct

If TRUE, allow auto-negotiation of port speed and duplex mode. If FALSE, do not allow auto-negotiation,in which case the 'speed' and 'duplex' properties should be set.

Default value: TRUE

### The `"cloned-mac-address"` property

      "cloned-mac-address"       GArray_guchar_*       : Read / Write

If specified, request that the device use this MAC address instead of its permanent MAC address. This is known as MAC cloning or spoofing.

### The `"duplex"` property

      "duplex"                   gchar*                : Read / Write

If specified, request that the device only use the specified duplex mode. Either 'half' or 'full'.

Default value: NULL

### The `"mac-address"` property

      "mac-address"              GArray_guchar_*       : Read / Write

If specified, this connection will only apply to the ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).

### The `"mac-address-blacklist"` property

      "mac-address-blacklist"    GSList_gchararray_*   : Read / Write

If specified, this connection will never apply to the ethernet device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).

### The `"mtu"` property

      "mtu"                      guint                 : Read / Write / Construct

If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.

Default value: 0

### The `"port"` property

      "port"                     gchar*                : Read / Write

Specific port type to use if multiple the device supports multiple attachment methods. One of 'tp' (Twisted Pair), 'aui' (Attachment Unit Interface), 'bnc' (Thin Ethernet) or 'mii' (Media Independent Interface. If the device supports only one port type, this setting is ignored.

Default value: NULL

### The `"s390-nettype"` property

      "s390-nettype"             gchar*                : Read / Write

s390 network device type; one of 'qeth', 'lcs', or 'ctc', representing the different types of virtual network devices available on s390 systems.

Default value: NULL

### The `"s390-options"` property

      "s390-options"             GHashTable_gchararray+gchararray_*  : Read / Write

Dictionary of key/value pairs of s390-specific device options. Both keys and values must be strings. Allowed keys include 'portno', 'layer2', 'portname', 'protocol', among others. Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9]).

### The `"s390-subchannels"` property

      "s390-subchannels"         GPtrArray_gchararray_*  : Read / Write

Identifies specific subchannels that this network device uses for communcation with z/VM or s390 host. Like "mac-address" for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels. The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.

### The `"speed"` property

      "speed"                    guint                 : Read / Write / Construct

If non-zero, request that the device use only the specified speed. In Mbit/s, ie 100 == 100Mbit/s.

Default value: 0