static void nm_setting_olpc_mesh_class_init (NMSettingOlpcMeshClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingOlpcMeshPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingOlpcMesh:ssid: * * SSID of the mesh network to join. **/ g_object_class_install_property (object_class, PROP_SSID, _nm_param_spec_specialized (NM_SETTING_OLPC_MESH_SSID, "SSID", "SSID of the mesh network to join.", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE)); /** * NMSettingOlpcMesh:channel: * * Channel on which the mesh network to join is located. **/ g_object_class_install_property (object_class, PROP_CHANNEL, g_param_spec_uint (NM_SETTING_OLPC_MESH_CHANNEL, "Channel", "Channel on which the mesh network to join is located.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_INFERRABLE)); /** * NMSettingOlpcMesh:dhcp-anycast-address: * * Anycast DHCP address used when requesting an IP address via DHCP. The * specific anycast address used determines which DHCP server class answers * the request. **/ g_object_class_install_property (object_class, PROP_DHCP_ANYCAST_ADDRESS, _nm_param_spec_specialized (NM_SETTING_OLPC_MESH_DHCP_ANYCAST_ADDRESS, "Anycast DHCP MAC address", "Anycast DHCP MAC address used when " "requesting an IP address via DHCP. The " "specific anycast address used determines " "which DHCP server class answers the " "the request.", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE)); }
static void nm_setting_vpn_class_init (NMSettingVPNClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingVPNPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; parent_class->update_one_secret = update_one_secret; /* Properties */ g_object_class_install_property (object_class, PROP_SERVICE_TYPE, g_param_spec_string (NM_SETTING_VPN_SERVICE_TYPE, "Service type", "Service type", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_USER_NAME, g_param_spec_string (NM_SETTING_VPN_USER_NAME, "User name", "User name", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_DATA, _nm_param_spec_specialized (NM_SETTING_VPN_DATA, "Data", "VPN Service specific data", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_SECRETS, _nm_param_spec_specialized (NM_SETTING_VPN_SECRETS, "Secrets", "VPN Service specific secrets", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_SECRET)); }
static void nm_setting_bluetooth_class_init (NMSettingBluetoothClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingBluetoothPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ g_object_class_install_property (object_class, PROP_BDADDR, _nm_param_spec_specialized (NM_SETTING_BLUETOOTH_BDADDR, "Bluetooth address", "The Bluetooth address of the device", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_TYPE, g_param_spec_string (NM_SETTING_BLUETOOTH_TYPE, "Connection type", "Either '" NM_SETTING_BLUETOOTH_TYPE_DUN "' or '" NM_SETTING_BLUETOOTH_TYPE_PANU "'", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); }
static void nm_setting_bond_class_init (NMSettingBondClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingBondPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; parent_class->get_virtual_iface_name = get_virtual_iface_name; /* Properties */ /** * NMSettingBond:interface-name: * * The name of the virtual in-kernel bonding network interface **/ g_object_class_install_property (object_class, PROP_INTERFACE_NAME, g_param_spec_string (NM_SETTING_BOND_INTERFACE_NAME, "InterfaceName", "The name of the virtual in-kernel bonding network interface", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE)); /** * NMSettingBond:options: * * Dictionary of key/value pairs of bonding options. Both keys * and values must be strings. Option names must contain only * alphanumeric characters (ie, [a-zA-Z0-9]). **/ g_object_class_install_property (object_class, PROP_OPTIONS, _nm_param_spec_specialized (NM_SETTING_BOND_OPTIONS, "Options", "Dictionary of key/value pairs of bonding " "options. Both keys and values must be " "strings. Option names must contain only " "alphanumeric characters (ie, [a-zA-Z0-9]).", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE)); }
static void nm_setting_wimax_class_init (NMSettingWimaxClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingWimaxPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingWimax:network-name: * * Network Service Provider (NSP) name of the WiMAX network this connection * should use. * * Deprecated: 1.2: WiMAX is no longer supported. **/ g_object_class_install_property (object_class, PROP_NETWORK_NAME, g_param_spec_string (NM_SETTING_WIMAX_NETWORK_NAME, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWimax:mac-address: * * If specified, this connection will only apply to the WiMAX device whose * MAC address matches. This property does not change the MAC address of the * device (known as MAC spoofing). * * Deprecated: 1.2: WiMAX is no longer supported. **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIMAX_MAC_ADDRESS, "", "", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); }
static void nm_setting_bluetooth_class_init (NMSettingBluetoothClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingBluetoothPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingBluetooth:bdaddr: * * The Bluetooth address of the device. **/ g_object_class_install_property (object_class, PROP_BDADDR, _nm_param_spec_specialized (NM_SETTING_BLUETOOTH_BDADDR, "Bluetooth address", "The Bluetooth address of the device", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingBluetooth:type: * * Either 'dun' for Dial-Up Networking connections or 'panu' for Personal * Area Networking connections to devices supporting the NAP profile. **/ g_object_class_install_property (object_class, PROP_TYPE, g_param_spec_string (NM_SETTING_BLUETOOTH_TYPE, "Connection type", "Either '" NM_SETTING_BLUETOOTH_TYPE_DUN "' for " "Dial-Up Networking connections or " "'" NM_SETTING_BLUETOOTH_TYPE_PANU "' for " "Personal Area Networking connections.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); }
static void nm_setting_vpn_class_init (NMSettingVPNClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingVPNPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; parent_class->update_one_secret = update_one_secret; parent_class->get_secret_flags = get_secret_flags; parent_class->set_secret_flags = set_secret_flags; parent_class->need_secrets = need_secrets; parent_class->compare_property = compare_property; parent_class->clear_secrets_with_flags = clear_secrets_with_flags; /* Properties */ /** * NMSettingVPN:service-type: * * D-Bus service name of the VPN plugin that this setting uses to connect * to its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc * plugin. **/ g_object_class_install_property (object_class, PROP_SERVICE_TYPE, g_param_spec_string (NM_SETTING_VPN_SERVICE_TYPE, "Service type", "D-Bus service name of the VPN plugin that this " "setting uses to connect to its network. i.e. " "org.freedesktop.NetworkManager.vpnc for the vpnc " "plugin.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVPN:user-name: * * If the VPN connection requires a user name for authentication, that name * should be provided here. If the connection is available to more than * one user, and the VPN requires each user to supply a different name, then * leave this property empty. If this property is empty, NetworkManager * will automatically supply the username of the user which requested the * VPN connection. **/ g_object_class_install_property (object_class, PROP_USER_NAME, g_param_spec_string (NM_SETTING_VPN_USER_NAME, "User name", "If the VPN connection requires a user name for " "authentication, that name should be provided here. " "If the connection is available to more than one " "user, and the VPN requires each user to supply a " "different name, then leave this property empty. If " "this property is empty, NetworkManager will " "automatically supply the username of the user which " "requested the VPN connection.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVPN:data: * * Dictionary of key/value pairs of VPN plugin specific data. Both keys * and values must be strings. **/ g_object_class_install_property (object_class, PROP_DATA, _nm_param_spec_specialized (NM_SETTING_VPN_DATA, "Data", "Dictionary of key/value pairs of VPN plugin " "specific data. Both keys and values must be " "strings.", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVPN:secrets: * * Dictionary of key/value pairs of VPN plugin specific secrets like * passwords or private keys. Both keys and values must be strings. **/ g_object_class_install_property (object_class, PROP_SECRETS, _nm_param_spec_specialized (NM_SETTING_VPN_SECRETS, "Secrets", "Dictionary of key/value pairs of VPN plugin " "specific secrets like passwords or private keys." " Both keys and values must be strings.", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_SECRET)); }
static void nm_setting_infiniband_class_init (NMSettingInfinibandClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingInfinibandPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; parent_class->get_virtual_iface_name = get_virtual_iface_name; /* Properties */ /** * NMSettingInfiniband:mac-address: * * If specified, this connection will only apply to the IPoIB * device whose permanent MAC address matches. This property does * not change the MAC address of the device (i.e. MAC spoofing). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_INFINIBAND_MAC_ADDRESS, "Device MAC Address", "If specified, this connection will only apply to " "the IPoIB device whose permanent MAC address matches. " "This property does not change the MAC address " "of the device (i.e. MAC spoofing).", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE)); /** * NMSettingInfiniband:mtu: * * If non-zero, only transmit packets of the specified size or smaller, * breaking larger packets up into multiple frames. **/ g_object_class_install_property (object_class, PROP_MTU, g_param_spec_uint (NM_SETTING_INFINIBAND_MTU, "MTU", "If non-zero, only transmit packets of the specified " "size or smaller, breaking larger packets up into " "multiple frames.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingInfiniband:transport-mode: * * The IP-over-InfiniBand transport mode. Either 'datagram' or * 'connected'. **/ g_object_class_install_property (object_class, PROP_TRANSPORT_MODE, g_param_spec_string (NM_SETTING_INFINIBAND_TRANSPORT_MODE, "Transport Mode", "The IPoIB transport mode. Either 'datagram' or 'connected'.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_INFERRABLE)); /** * NMSettingInfiniband:p-key: * * The InfiniBand P_Key to use for this device. A value of -1 * means to use the default P_Key (aka "the P_Key at index 0"). * Otherwise it is a 16-bit unsigned integer, whose high bit * is set if it is a "full membership" P_Key. **/ g_object_class_install_property (object_class, PROP_P_KEY, g_param_spec_int (NM_SETTING_INFINIBAND_P_KEY, "P_Key", "The InfiniBand P_Key. Either -1 for the " "default, or a 16-bit unsigned integer.", -1, 0xFFFF, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_INFERRABLE)); /** * NMSettingInfiniband:parent: * * The interface name of the parent device of this device. Normally * %NULL, but if #NMSettingInfiniband:p_key is set, then you must * specify the base device by setting either this property or * #NMSettingInfiniband:mac-address. **/ g_object_class_install_property (object_class, PROP_PARENT, g_param_spec_string (NM_SETTING_INFINIBAND_PARENT, "Parent", "The interface name of the parent device, or NULL", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_INFERRABLE)); }
static void nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingIP4ConfigPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingIP4Config:method: * * IPv4 configuration method. If 'auto' is specified then the appropriate * automatic method (DHCP, PPP, etc) is used for the interface and most * other properties can be left unset. If 'link-local' is specified, then a * link-local address in the 169.254/16 range will be assigned to the * interface. If 'manual' is specified, static IP addressing is used and at * least one IP address must be given in the 'addresses' property. If * 'shared' is specified (indicating that this connection will provide * network access to other computers) then the interface is assigned an * address in the 10.42.x.1/24 range and a DHCP and forwarding DNS server * are started, and the interface is NAT-ed to the current default network * connection. 'disabled' means IPv4 will not be used on this connection. * This property must be set. **/ g_object_class_install_property (object_class, PROP_METHOD, g_param_spec_string (NM_SETTING_IP4_CONFIG_METHOD, "Method", "IPv4 configuration method. If 'auto' is specified " "then the appropriate automatic method (DHCP, PPP, " "etc) is used for the interface and most other " "properties can be left unset. If 'link-local' " "is specified, then a link-local address in the " "169.254/16 range will be assigned to the " "interface. If 'manual' is specified, static IP " "addressing is used and at least one IP address " "must be given in the 'addresses' property. If " "'shared' is specified (indicating that this " "connection will provide network access to other " "computers) then the interface is assigned an " "address in the 10.42.x.1/24 range and a DHCP and " "forwarding DNS server are started, and the " "interface is NAT-ed to the current default network " "connection. 'disabled' means IPv4 will not be " "used on this connection. This property must be set.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:dns: * * List of DNS servers (network byte order). For the 'auto' method, these * DNS servers are appended to those (if any) returned by automatic * configuration. DNS servers cannot be used with the 'shared', 'link-local', * or 'disabled' methods as there is no usptream network. In all other * methods, these DNS servers are used as the only DNS servers for this * connection. **/ g_object_class_install_property (object_class, PROP_DNS, _nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_DNS, "DNS", "List of DNS servers (network byte order). For " "the 'auto' method, these DNS servers are " "appended to those (if any) returned by automatic " "configuration. DNS servers cannot be used with " "the 'shared', 'link-local', or 'disabled' " "methods as there is no usptream network. In all " "other methods, these DNS servers are used as the " "only DNS servers for this connection.", DBUS_TYPE_G_UINT_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:dns-search: * * List of DNS search domains. For the 'auto' method, these search domains * are appended to those returned by automatic configuration. Search domains * cannot be used with the 'shared', 'link-local', or 'disabled' methods as * there is no upstream network. In all other methods, these search domains * are used as the only search domains for this connection. **/ g_object_class_install_property (object_class, PROP_DNS_SEARCH, _nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_DNS_SEARCH, "DNS search", "List of DNS search domains. For the 'auto' " "method, these search domains are appended to " "those returned by automatic configuration. " "Search domains cannot be used with the 'shared', " "'link-local', or 'disabled' methods as there is " "no upstream network. In all other methods, these " "search domains are used as the only search domains " "for this connection.", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:addresses: * * Array of IPv4 address structures. Each IPv4 address structure is * composed of 3 32-bit values; the first being the IPv4 address (network * byte order), the second the prefix (1 - 32), and last the IPv4 gateway * (network byte order). The gateway may be left as 0 if no gateway exists * for that subnet. For the 'auto' method, given IP addresses are appended * to those returned by automatic configuration. Addresses cannot be used * with the 'shared', 'link-local', or 'disabled' methods as addressing is * either automatic or disabled with these methods. **/ g_object_class_install_property (object_class, PROP_ADDRESSES, _nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_ADDRESSES, "Addresses", "Array of IPv4 address structures. Each IPv4 " "address structure is composed of 3 32-bit values; " "the first being the IPv4 address (network byte " "order), the second the prefix (1 - 32), and " "last the IPv4 gateway (network byte order). The " "gateway may be left as 0 if no gateway exists " "for that subnet. For the 'auto' method, given " "IP addresses are appended to those returned by " "automatic configuration. Addresses cannot be " "used with the 'shared', 'link-local', or " "'disabled' methods as addressing is either " "automatic or disabled with these methods.", DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:routes: * * Array of IPv4 route structures. Each IPv4 route structure is composed * of 4 32-bit values; the first being the destination IPv4 network or * address (network byte order), the second the destination network or * address prefix (1 - 32), the third being the next-hop (network byte * order) if any, and the fourth being the route metric. For the 'auto' * method, given IP routes are appended to those returned by automatic * configuration. Routes cannot be used with the 'shared', 'link-local', * or 'disabled' methods because there is no upstream network. **/ g_object_class_install_property (object_class, PROP_ROUTES, _nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_ROUTES, "Routes", "Array of IPv4 route structures. Each IPv4 route " "structure is composed of 4 32-bit values; the " "first being the destination IPv4 network or " "address (network byte order), the second the " "destination network or address prefix (1 - 32), " "the third being the next-hop (network byte order) " "if any, and the fourth being the route metric. " "For the 'auto' method, given IP routes are " "appended to those returned by automatic " "configuration. Routes cannot be used with the " "'shared', 'link-local', or 'disabled', methods " "as there is no upstream network.", DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:ignore-auto-routes: * * When the method is set to 'auto' and this property to TRUE, automatically * configured routes are ignored and only routes specified in * #NMSettingIP4Config:routes, if any, are used. **/ g_object_class_install_property (object_class, PROP_IGNORE_AUTO_ROUTES, g_param_spec_boolean (NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES, "Ignore automatic routes", "When the method is set to 'auto' and this property " "to TRUE, automatically configured routes are " "ignored and only routes specified in the 'routes' " "property, if any, are used.", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:ignore-auto-dns: * * When the method is set to 'auto' and this property to TRUE, automatically * configured nameservers and search domains are ignored and only nameservers * and search domains specified in #NMSettingIP4Config:dns and * #NMSettingIP4Config:dns-search, if any, are used. **/ g_object_class_install_property (object_class, PROP_IGNORE_AUTO_DNS, g_param_spec_boolean (NM_SETTING_IP4_CONFIG_IGNORE_AUTO_DNS, "Ignore automatic DNS", "When the method is set to 'auto' and this property " "to TRUE, automatically configured nameservers and " "search domains are ignored and only nameservers and " "search domains specified in the 'dns' and 'dns-search' " "properties, if any, are used.", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:dhcp-client-id: * * A string sent to the DHCP server to identify the local machine which the * DHCP server may use to cusomize the DHCP lease and options. **/ g_object_class_install_property (object_class, PROP_DHCP_CLIENT_ID, g_param_spec_string (NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID, "DHCP Client ID", "A string sent to the DHCP server to identify the " "local machine which the DHCP server may use to " "cusomize the DHCP lease and options.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:dhcp-send-hostname: * * If TRUE, a hostname is sent to the DHCP server when acquiring a lease. * Some DHCP servers use this hostname to update DNS databases, essentially * providing a static hostname for the computer. If * #NMSettingIP4Config:dhcp-hostname is empty and this property is TRUE, * the current persistent hostname of the computer is sent. **/ g_object_class_install_property (object_class, PROP_DHCP_SEND_HOSTNAME, g_param_spec_boolean (NM_SETTING_IP4_CONFIG_DHCP_SEND_HOSTNAME, "Send DHCP hostname", "If TRUE, a hostname is sent to the DHCP server when " "acquiring a lease. Some DHCP servers use this " "hostname to update DNS databases, essentially " "providing a static hostname for the computer. If " "the 'dhcp-hostname' property is empty and this " "property is TRUE, the current persistent hostname " "of the computer is sent.", TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:dhcp-hostname: * * If the #NMSettingIP4Config:dhcp-send-hostname property is TRUE, then the * specified name will be sent to the DHCP server when acquiring a lease. **/ g_object_class_install_property (object_class, PROP_DHCP_HOSTNAME, g_param_spec_string (NM_SETTING_IP4_CONFIG_DHCP_HOSTNAME, "DHCP Hostname", "If the 'dhcp-send-hostname' property is TRUE, then " "the specified name will be sent to the DHCP server " "when acquiring a lease.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:never-default: * * If TRUE, this connection will never be the default IPv4 connection, * meaning it will never be assigned the default route by NetworkManager. **/ g_object_class_install_property (object_class, PROP_NEVER_DEFAULT, g_param_spec_boolean (NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, "Never default", "If TRUE, this connection will never be the default " "IPv4 connection, meaning it will never be assigned " "the default route by NetworkManager.", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP4Config:may-fail: * * If TRUE, allow overall network configuration to proceed even if IPv4 * configuration times out. Note that at least one IP configuration * must succeed or overall network configuration will still fail. For * example, in IPv6-only networks, setting this property to TRUE allows * the overall network configuration to succeed if IPv4 configuration fails * but IPv6 configuration completes successfully. **/ g_object_class_install_property (object_class, PROP_MAY_FAIL, g_param_spec_boolean (NM_SETTING_IP4_CONFIG_MAY_FAIL, "May Fail", "If TRUE, allow overall network configuration to " "proceed even if IPv4 configuration times out. " "Note that at least one IP configuration must " "succeed or overall network configuration will still " "fail. For example, in IPv6-only networks, setting " "this property to TRUE allows the overall network " "configuration to succeed if IPv4 configuration " "fails but IPv6 configuration completes successfully.", TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); }
static void nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingWirelessPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingWireless:ssid: * * SSID of the Wi-Fi network. Must be specified. **/ g_object_class_install_property (object_class, PROP_SSID, _nm_param_spec_specialized (NM_SETTING_WIRELESS_SSID, "", "", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:mode: * * Wi-Fi network mode; one of "infrastructure", "adhoc" or "ap". If blank, * infrastructure is assumed. **/ g_object_class_install_property (object_class, PROP_MODE, g_param_spec_string (NM_SETTING_WIRELESS_MODE, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:band: * * 802.11 frequency band of the network. One of "a" for 5GHz 802.11a or * "bg" for 2.4GHz 802.11. This will lock associations to the Wi-Fi network * to the specific band, i.e. if "a" is specified, the device will not * associate with the same network in the 2.4GHz band even if the network's * settings are compatible. This setting depends on specific driver * capability and may not work with all drivers. **/ g_object_class_install_property (object_class, PROP_BAND, g_param_spec_string (NM_SETTING_WIRELESS_BAND, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:channel: * * Wireless channel to use for the Wi-Fi connection. The device will only * join (or create for Ad-Hoc networks) a Wi-Fi network on the specified * channel. Because channel numbers overlap between bands, this property * also requires the "band" property to be set. **/ g_object_class_install_property (object_class, PROP_CHANNEL, g_param_spec_uint (NM_SETTING_WIRELESS_CHANNEL, "", "", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:bssid: * * If specified, directs the device to only associate with the given access * point. This capability is highly driver dependent and not supported by * all devices. Note: this property does not control the BSSID used when * creating an Ad-Hoc network and is unlikely to in the future. **/ g_object_class_install_property (object_class, PROP_BSSID, _nm_param_spec_specialized (NM_SETTING_WIRELESS_BSSID, "", "", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:rate: * * If non-zero, directs the device to only use the specified bitrate for * communication with the access point. Units are in Kb/s, ie 5500 = 5.5 * Mbit/s. This property is highly driver dependent and not all devices * support setting a static bitrate. **/ g_object_class_install_property (object_class, PROP_RATE, g_param_spec_uint (NM_SETTING_WIRELESS_RATE, "", "", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:tx-power: * * If non-zero, directs the device to use the specified transmit power. * Units are dBm. This property is highly driver dependent and not all * devices support setting a static transmit power. **/ g_object_class_install_property (object_class, PROP_TX_POWER, g_param_spec_uint (NM_SETTING_WIRELESS_TX_POWER, "", "", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:mac-address: * * If specified, this connection will only apply to the Wi-Fi device whose * permanent MAC address matches. This property does not change the MAC * address of the device (i.e. MAC spoofing). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS, "", "", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:cloned-mac-address: * * If specified, request that the Wi-Fi device use this MAC address instead * of its permanent MAC address. This is known as MAC cloning or spoofing. **/ g_object_class_install_property (object_class, PROP_CLONED_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS, "", "", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:mac-address-blacklist: * * A list of permanent MAC addresses of Wi-Fi devices to which this * connection should never apply. Each MAC address should be given in the * standard hex-digits-and-colons notation (eg "00:11:22:33:44:55"). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS_BLACKLIST, _nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST, "", "", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:seen-bssids: * * A list of BSSIDs (each BSSID formatted as a MAC address like * "00:11:22:33:44:55") that have been detected as part of the Wi-Fi * network. NetworkManager internally tracks previously seen BSSIDs. The * property is only meant for reading and reflects the BSSID list of * NetworkManager. The changes you make to this property will not be * preserved. **/ g_object_class_install_property (object_class, PROP_SEEN_BSSIDS, _nm_param_spec_specialized (NM_SETTING_WIRELESS_SEEN_BSSIDS, "", "", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:mtu: * * If non-zero, only transmit packets of the specified size or smaller, * breaking larger packets up into multiple Ethernet frames. **/ g_object_class_install_property (object_class, PROP_MTU, g_param_spec_uint (NM_SETTING_WIRELESS_MTU, "", "", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:security: * * If the wireless connection has any security restrictions, like 802.1x, * WEP, or WPA, set this property to * %NM_SETTING_WIRELESS_SECURITY_SETTING_NAME and ensure the connection * contains a valid #NMSettingWirelessSecurity setting. * * Deprecated: 0.9.10: No longer used. Security restrictions are recognized * by the presence of a #NMSettingWirelessSecurity setting in the * connection. **/ g_object_class_install_property (object_class, PROP_SEC, g_param_spec_string (NM_SETTING_WIRELESS_SEC, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:hidden: * * If %TRUE, indicates this network is a non-broadcasting network that hides * its SSID. In this case various workarounds may take place, such as * probe-scanning the SSID for more reliable network discovery. However, * these workarounds expose inherent insecurities with hidden SSID networks, * and thus hidden SSID networks should be used with caution. **/ g_object_class_install_property (object_class, PROP_HIDDEN, g_param_spec_boolean (NM_SETTING_WIRELESS_HIDDEN, "", "", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWireless:powersave: * * If set to %FALSE, Wi-Fi power saving behavior is disabled. If set to * %TRUE, Wi-Fi power saving behavior is enabled. All other values are * reserved. Note that even though only boolean values are allowed, the * property type is an unsigned integer to allow for future expansion. * * Since: 1.2 **/ g_object_class_install_property (object_class, PROP_POWERSAVE, g_param_spec_uint (NM_SETTING_WIRELESS_POWERSAVE, "", "", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); }
static void nm_setting_wired_class_init (NMSettingWiredClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingWiredPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingWired:port: * * 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. **/ g_object_class_install_property (object_class, PROP_PORT, g_param_spec_string (NM_SETTING_WIRED_PORT, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:speed: * * If non-zero, request that the device use only the specified speed. In * Mbit/s, ie 100 == 100Mbit/s. **/ g_object_class_install_property (object_class, PROP_SPEED, g_param_spec_uint (NM_SETTING_WIRED_SPEED, "", "", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:duplex: * * If specified, request that the device only use the specified duplex mode. * Either "half" or "full". **/ g_object_class_install_property (object_class, PROP_DUPLEX, g_param_spec_string (NM_SETTING_WIRED_DUPLEX, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:auto-negotiate: * * 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. **/ g_object_class_install_property (object_class, PROP_AUTO_NEGOTIATE, g_param_spec_boolean (NM_SETTING_WIRED_AUTO_NEGOTIATE, "", "", TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:mac-address: * * 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). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS, "", "", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:cloned-mac-address: * * If specified, request that the device use this MAC address instead of its * permanent MAC address. This is known as MAC cloning or spoofing. **/ g_object_class_install_property (object_class, PROP_CLONED_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRED_CLONED_MAC_ADDRESS, "", "", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:mac-address-blacklist: * * 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). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS_BLACKLIST, _nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST, "", "", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:mtu: * * If non-zero, only transmit packets of the specified size or smaller, * breaking larger packets up into multiple Ethernet frames. **/ g_object_class_install_property (object_class, PROP_MTU, g_param_spec_uint (NM_SETTING_WIRED_MTU, "", "", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:s390-subchannels: * * Identifies specific subchannels that this network device uses for * communication with z/VM or s390 host. Like the * #NMSettingWired:mac-address property 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. **/ g_object_class_install_property (object_class, PROP_S390_SUBCHANNELS, _nm_param_spec_specialized (NM_SETTING_WIRED_S390_SUBCHANNELS, "", "", DBUS_TYPE_G_ARRAY_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:s390-nettype: * * s390 network device type; one of "qeth", "lcs", or "ctc", representing * the different types of virtual network devices available on s390 systems. **/ g_object_class_install_property (object_class, PROP_S390_NETTYPE, g_param_spec_string (NM_SETTING_WIRED_S390_NETTYPE, "", "", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); /** * NMSettingWired:s390-options: * * 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]). **/ g_object_class_install_property (object_class, PROP_S390_OPTIONS, _nm_param_spec_specialized (NM_SETTING_WIRED_S390_OPTIONS, "", "", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); }
static void nm_setting_wired_class_init (NMSettingWiredClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingWiredPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingWired:port: * * 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. **/ g_object_class_install_property (object_class, PROP_PORT, g_param_spec_string (NM_SETTING_WIRED_PORT, "Port", "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.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingWired:speed: * * If non-zero, request that the device use only the specified speed. * In Mbit/s, ie 100 == 100Mbit/s. **/ g_object_class_install_property (object_class, PROP_SPEED, g_param_spec_uint (NM_SETTING_WIRED_SPEED, "Speed", "If non-zero, request that the device use only the " "specified speed. In Mbit/s, ie 100 == 100Mbit/s.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingWired:duplex: * * If specified, request that the device only use the specified duplex mode. * Either 'half' or 'full'. **/ g_object_class_install_property (object_class, PROP_DUPLEX, g_param_spec_string (NM_SETTING_WIRED_DUPLEX, "Duplex", "If specified, request that the device only use the " "specified duplex mode. Either 'half' or 'full'.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingEthernet:auto-negotiate: * * 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. **/ g_object_class_install_property (object_class, PROP_AUTO_NEGOTIATE, g_param_spec_boolean (NM_SETTING_WIRED_AUTO_NEGOTIATE, "AutoNegotiate", "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.", TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingWired:mac-address: * * 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). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS, "Device MAC Address", "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).", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingWired:cloned-mac-address: * * If specified, request that the device use this MAC address instead of its * permanent MAC address. This is known as MAC cloning or spoofing. **/ g_object_class_install_property (object_class, PROP_CLONED_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRED_CLONED_MAC_ADDRESS, "Cloned MAC Address", "If specified, request that the device use " "this MAC address instead of its permanent MAC address. " "This is known as MAC cloning or spoofing.", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingWired:mac-address-blacklist: * * 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). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS_BLACKLIST, _nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST, "MAC Address Blacklist", "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).", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingWired:mtu: * * If non-zero, only transmit packets of the specified size or smaller, * breaking larger packets up into multiple Ethernet frames. **/ g_object_class_install_property (object_class, PROP_MTU, g_param_spec_uint (NM_SETTING_WIRED_MTU, "MTU", "If non-zero, only transmit packets of the specified " "size or smaller, breaking larger packets up into " "multiple Ethernet frames.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingWired:s390-subchannels: * * Identifies specific subchannels that this network device uses for * communcation with z/VM or s390 host. Like #NMSettingWired: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. **/ g_object_class_install_property (object_class, PROP_S390_SUBCHANNELS, _nm_param_spec_specialized (NM_SETTING_WIRED_S390_SUBCHANNELS, "z/VM Subchannels", "Identifies specific subchannels that this " "network device uses for communcation with z/VM " "or s390 host. Like the 'mac-address' property " "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.", DBUS_TYPE_G_ARRAY_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingWired:s390-nettype: * * s390 network device type; one of 'qeth', 'lcs', or 'ctc', representing * the different types of virtual network devices available on s390 systems. **/ g_object_class_install_property (object_class, PROP_S390_NETTYPE, g_param_spec_string (NM_SETTING_WIRED_S390_NETTYPE, "s390 Net Type", "s390 network device type; one of 'qeth', 'lcs', or " "'ctc', representing the different types of virtual " "network devices available on s390 systems.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingWired:s390-options: * * 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]). **/ g_object_class_install_property (object_class, PROP_S390_OPTIONS, _nm_param_spec_specialized (NM_SETTING_WIRED_S390_OPTIONS, "s390 Options", "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.", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); }
static void nm_setting_vlan_class_init (NMSettingVlanClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingVlanPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; parent_class->get_virtual_iface_name = get_virtual_iface_name; /* Properties */ /** * NMSettingVlan:interface-name: * * If given, specifies the kernel name of the VLAN interface. If not given, * a default name will be constructed from the interface described by the * parent interface and the #NMSettingVlan:id , ex 'eth2.1'. The parent * interface may be given by the #NMSettingVlan:parent property or by a * hardware address property, eg #NMSettingWired:mac-address or * #NMSettingInfiniband:mac-address. **/ g_object_class_install_property (object_class, PROP_IFACE_NAME, g_param_spec_string (NM_SETTING_VLAN_INTERFACE_NAME, "InterfaceName", "If given, specifies the kernel name of the VLAN " "interface. If not given, a default name will be " "constructed from the interface described by the " "parent interface and the 'id' property, ex " "'eth2.1'. The parent interface may be given by " "the 'parent' property or by a hardware address " "property, eg the 'wired' or 'infiniband' " "settings' 'mac-address' property.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVlan:parent: * * If given, specifies the parent interface name or parent connection UUID * from which this VLAN interface should be created. If this property is * not specified, the connection must contain a hardware address in a * hardware-specific setting, like #NMSettingWired:mac-address or * #NMSettingInfiniband:mac-address. **/ g_object_class_install_property (object_class, PROP_PARENT, g_param_spec_string (NM_SETTING_VLAN_PARENT, "Parent", "If given, specifies the parent interface name or " "parent connection UUID from which this VLAN " "interface should be created. If this property is " "not specified, the connection must contain a " "hardware address in a hardware-specific setting, " "like the 'wired' or 'infiniband' settings' " "'mac-address' property.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVlan:id: * * The VLAN identifier the interface created by this connection should be * assigned. **/ g_object_class_install_property (object_class, PROP_ID, g_param_spec_uint (NM_SETTING_VLAN_ID, "VLAN ID", "The VLAN indentifier the interface created by " "this connection should be assigned.", 0, 4095, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVlan:flags: * * One or more of %NMVlanFlags which control the behavior and features of * the VLAN interface. **/ g_object_class_install_property (object_class, PROP_FLAGS, g_param_spec_uint (NM_SETTING_VLAN_FLAGS, "VLAN flags", "One or more flags which control the behavior and " "features of the VLAN interface. Flags include " "reordering of output packet headers (0x01), use " "of the GVRP protocol (0x02), and loose binding " "of the interface to its master device's operating " "state (0x04).", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVlan:ingress-priority-map: * * For incoming packets, a list of mappings from 802.1p priorities to Linux * SKB priorities. The mapping is given in the format 'from:to' where both * 'from' and 'to' are unsigned integers, ie '7:3'. **/ g_object_class_install_property (object_class, PROP_INGRESS_PRIORITY_MAP, _nm_param_spec_specialized (NM_SETTING_VLAN_INGRESS_PRIORITY_MAP, "VLAN ingress priority mapping", "For incoming packets, a list of mappings " "from 802.1p priorities to Linux SKB " "priorities. The mapping is given in the " "format 'from:to' where both 'from' and " "'to' are unsigned integers, ie '7:3'.", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingVlan:egress-priority-map: * * For outgoing packets, a list of mappings from Linux SKB priorities to * 802.1p priorities. The mapping is given in the format 'from:to' * where both 'from' and 'to' are unsigned integers, ie '7:3'. **/ g_object_class_install_property (object_class, PROP_EGRESS_PRIORITY_MAP, _nm_param_spec_specialized (NM_SETTING_VLAN_EGRESS_PRIORITY_MAP, "VLAN egress priority mapping", "For outgoing packets, a list of mappings " "from Linux SKB priorities to 802.1p " "priorities. The mapping is given in the " "format 'from:to' where both 'from' and " "'to' are unsigned integers, ie '7:3'.", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); }
static void nm_setting_connection_class_init (NMSettingConnectionClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingConnectionPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; parent_class->compare_property = compare_property; /* Properties */ /** * NMSettingConnection:id: * * A human readable unique idenfier for the connection, like "Work WiFi" or * "T-Mobile 3G". **/ g_object_class_install_property (object_class, PROP_ID, g_param_spec_string (NM_SETTING_CONNECTION_ID, "ID", "User-readable connection identifier/name. Must be " "one or more characters and may change over the lifetime " "of the connection if the user decides to rename it.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:uuid: * * A universally unique idenfier for the connection, for example generated * with libuuid. Should be assigned when the connection is created, and * never changed as long as the connection still applies to the same * network. For example, should not be changed when the * #NMSettingConnection:id or #NMSettingIP4Config changes, but might need * to be re-created when the WiFi SSID, mobile broadband network provider, * or #NMSettingConnection:type changes. * * The UUID must be in the format '2815492f-7e56-435e-b2e9-246bd7cdc664' * (ie, contains only hexadecimal characters and '-'). A suitable UUID may * be generated by nm_utils_uuid_generate() or * nm_utils_uuid_generate_from_string(). **/ g_object_class_install_property (object_class, PROP_UUID, g_param_spec_string (NM_SETTING_CONNECTION_UUID, "UUID", "Universally unique connection identifier. Must be " "in the format '2815492f-7e56-435e-b2e9-246bd7cdc664' " "(ie, contains only hexadecimal characters and '-'). " "The UUID should be assigned when the connection is " "created and never changed as long as the connection " "still applies to the same network. For example, " "it should not be changed when the user changes the " "connection's 'id', but should be recreated when the " "WiFi SSID, mobile broadband network provider, or the " "connection type changes.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:type: * * The general hardware type of the device used for the network connection, * contains the name of the #NMSetting object that describes that hardware * type's parameters. For example, for WiFi devices, the name of the * #NMSettingWireless setting. **/ g_object_class_install_property (object_class, PROP_TYPE, g_param_spec_string (NM_SETTING_CONNECTION_TYPE, "Type", "Base type of the connection. For hardware-dependent " "connections, should contain the setting name of the " "hardware-type specific setting (ie, '802-3-ethernet' " "or '802-11-wireless' or 'bluetooth', etc), and for " "non-hardware dependent connections like VPN or " "otherwise, should contain the setting name of that " "setting type (ie, 'vpn' or 'bridge', etc).", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingConnection:permissions: * * An array of strings defining what access a given user has to this * connection. If this is NULL or empty, all users are allowed to access * this connection. Otherwise a user is allowed to access this connection * if and only if they are in this list. Each entry is of the form * "[type]:[id]:[reserved]", for example: * * user:dcbw:blah * * At this time only the 'user' [type] is allowed. Any other values are * ignored and reserved for future use. [id] is the username that this * permission refers to, which may not contain the ':' character. Any * [reserved] information present must be ignored and is reserved for * future use. All of [type], [id], and [reserved] must be valid UTF-8. */ g_object_class_install_property (object_class, PROP_PERMISSIONS, _nm_param_spec_specialized (NM_SETTING_CONNECTION_PERMISSIONS, "Permissions", "An array of strings defining what access a given " "user has to this connection. If this is NULL or " "empty, all users are allowed to access this " "connection. Otherwise a user is allowed to access " "this connection if and only if they are in this " "array. Each entry is of the form " "\"[type]:[id]:[reserved]\", for example: " "\"user:dcbw:blah\" At this time only the 'user' " "[type] is allowed. Any other values are ignored and " "reserved for future use. [id] is the username that " "this permission refers to, which may not contain the " "':' character. Any [reserved] information (if " "present) must be ignored and is reserved for future " "use. All of [type], [id], and [reserved] must be " "valid UTF-8.", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingConnection:autoconnect: * * Whether or not the connection should be automatically connected by * NetworkManager when the resources for the connection are available. * %TRUE to automatically activate the connection, %FALSE to require manual * intervention to activate the connection. Defaults to %TRUE. **/ g_object_class_install_property (object_class, PROP_AUTOCONNECT, g_param_spec_boolean (NM_SETTING_CONNECTION_AUTOCONNECT, "Autoconnect", "If TRUE, NetworkManager will activate this connection " "when its network resources are available. If FALSE, " "the connection must be manually activated by the user " "or some other mechanism.", TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:timestamp: * * The time, in seconds since the Unix Epoch, that the connection was last * _successfully_ fully activated. **/ g_object_class_install_property (object_class, PROP_TIMESTAMP, g_param_spec_uint64 (NM_SETTING_CONNECTION_TIMESTAMP, "Timestamp", "Timestamp (in seconds since the Unix Epoch) that the " "connection was last successfully activated. Settings " "services should update the connection timestamp " "periodically when the connection is active to ensure " "that an active connection has the latest timestamp.", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:read-only: * * %TRUE if the connection can be modified using the providing settings * service's D-Bus interface with the right privileges, or %FALSE * if the connection is read-only and cannot be modified. **/ g_object_class_install_property (object_class, PROP_READ_ONLY, g_param_spec_boolean (NM_SETTING_CONNECTION_READ_ONLY, "Read-Only", "If TRUE, the connection is read-only and cannot be " "changed by the user or any other mechanism. This is " "normally set for system connections whose plugin " "cannot yet write updated connections back out.", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:zone: * * The trust level of a the connection. * Free form case-insensitive string (for example "Home", "Work", "Public"). * NULL or unspecified zone means the connection will be placed in the * default zone as defined by the firewall. **/ g_object_class_install_property (object_class, PROP_ZONE, g_param_spec_string (NM_SETTING_CONNECTION_ZONE, "Zone", "The trust level of a the connection." "Free form case-insensitive string (for example " "\"Home\", \"Work\", \"Public\"). NULL or " "unspecified zone means the connection will be " "placed in the default zone as defined by the " "firewall.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:master: * * Interface name of the master device or UUID of the master connection. **/ g_object_class_install_property (object_class, PROP_MASTER, g_param_spec_string (NM_SETTING_CONNECTION_MASTER, "Master", "Interface name of the master device or UUID of " "the master connection", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:slave-type: * * Setting name describing the type of slave device (ie * #NM_SETTING_BOND_SETTING_NAME) or NULL if this connection is not a slave. **/ g_object_class_install_property (object_class, PROP_SLAVE_TYPE, g_param_spec_string (NM_SETTING_CONNECTION_SLAVE_TYPE, "Slave-Type", "Setting name describing the type of slave " "this connection is (ie, 'bond') or NULL if this " "connection is not a slave.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingConnection:secondaries: * * List of connection UUIDs that should be activated when the base connection * itself is activated. **/ g_object_class_install_property (object_class, PROP_SECONDARIES, _nm_param_spec_specialized (NM_SETTING_CONNECTION_SECONDARIES, "Secondaries", "List of connection UUIDs that should be activated " "when the base connection itself is activated.", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE | NM_SETTING_PARAM_FUZZY_IGNORE)); }
static void nm_setting_vpn_class_init (NMSettingVPNClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingVPNPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; parent_class->update_one_secret = update_one_secret; parent_class->get_secret_flags = get_secret_flags; parent_class->set_secret_flags = set_secret_flags; parent_class->need_secrets = need_secrets; parent_class->compare_property = compare_property; parent_class->clear_secrets_with_flags = clear_secrets_with_flags; /* Properties */ /** * NMSettingVPN:service-type: * * D-Bus service name of the VPN plugin that this setting uses to connect to * its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc * plugin. **/ g_object_class_install_property (object_class, PROP_SERVICE_TYPE, g_param_spec_string (NM_SETTING_VPN_SERVICE_TYPE, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingVPN:user-name: * * If the VPN connection requires a user name for authentication, that name * should be provided here. If the connection is available to more than one * user, and the VPN requires each user to supply a different name, then * leave this property empty. If this property is empty, NetworkManager * will automatically supply the username of the user which requested the * VPN connection. **/ g_object_class_install_property (object_class, PROP_USER_NAME, g_param_spec_string (NM_SETTING_VPN_USER_NAME, "", "", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingVPN:persistent: * * If the VPN service supports persistence, and this property is %TRUE, * the VPN will attempt to stay connected across link changes and outages, * until explicitly disconnected. **/ g_object_class_install_property (object_class, PROP_PERSISTENT, g_param_spec_boolean (NM_SETTING_VPN_PERSISTENT, "", "", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingVPN:data: * * Dictionary of key/value pairs of VPN plugin specific data. Both keys and * values must be strings. **/ g_object_class_install_property (object_class, PROP_DATA, _nm_param_spec_specialized (NM_SETTING_VPN_DATA, "", "", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * NMSettingVPN:secrets: * * Dictionary of key/value pairs of VPN plugin specific secrets like * passwords or private keys. Both keys and values must be strings. **/ g_object_class_install_property (object_class, PROP_SECRETS, _nm_param_spec_specialized (NM_SETTING_VPN_SECRETS, "", "", DBUS_TYPE_G_MAP_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SECRET | G_PARAM_STATIC_STRINGS)); }
static void nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingWirelessPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingWireless:ssid: * * SSID of the WiFi network. **/ g_object_class_install_property (object_class, PROP_SSID, _nm_param_spec_specialized (NM_SETTING_WIRELESS_SSID, "SSID", "SSID of the WiFi network. Must be specified.", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE)); /** * NMSettingWireless:mode: * * WiFi network mode; one of 'infrastructure', 'adhoc' or 'ap'. If blank, * infrastructure is assumed. **/ g_object_class_install_property (object_class, PROP_MODE, g_param_spec_string (NM_SETTING_WIRELESS_MODE, "Mode", "WiFi network mode; one of 'infrastructure', " "'adhoc' or 'ap'. If blank, infrastructure is assumed.", NULL, G_PARAM_READWRITE)); /** * NMSettingWireless:band: * * 802.11 frequency band of the network. One of 'a' for 5GHz 802.11a or * 'bg' for 2.4GHz 802.11. This will lock associations to the WiFi network * to the specific band, i.e. if 'a' is specified, the device will not * associate with the same network in the 2.4GHz band even if the network's * settings are compatible. This setting depends on specific driver * capability and may not work with all drivers. **/ g_object_class_install_property (object_class, PROP_BAND, g_param_spec_string (NM_SETTING_WIRELESS_BAND, "Band", "802.11 frequency band of the network. One of 'a' " "for 5GHz 802.11a or 'bg' for 2.4GHz 802.11. This " "will lock associations to the WiFi network to the " "specific band, i.e. if 'a' is specified, the device " "will not associate with the same network in the " "2.4GHz band even if the network's settings are " "compatible. This setting depends on specific driver " "capability and may not work with all drivers.", NULL, G_PARAM_READWRITE)); /** * NMSettingWireless:channel: * * Wireless channel to use for the WiFi connection. The device will only * join (or create for Ad-Hoc networks) a WiFi network on the specified * channel. Because channel numbers overlap between bands, this property * also requires the 'band' property to be set. **/ g_object_class_install_property (object_class, PROP_CHANNEL, g_param_spec_uint (NM_SETTING_WIRELESS_CHANNEL, "Channel", "Wireless channel to use for the WiFi connection. The " "device will only join (or create for Ad-Hoc networks) " "a WiFi network on the specified channel. Because " "channel numbers overlap between bands, this property " "also requires the 'band' property to be set.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * NMSettingWireless:bssid: * * If specified, directs the device to only associate with the given access * point. This capability is highly driver dependent and not supported by * all devices. Note: this property does not control the BSSID used when * creating an Ad-Hoc network and is unlikely to in the future. **/ g_object_class_install_property (object_class, PROP_BSSID, _nm_param_spec_specialized (NM_SETTING_WIRELESS_BSSID, "BSSID", "If specified, directs the device to only associate " "with the given access point. This capability is " "highly driver dependent and not supported by all " "devices. Note: this property does not control " "the BSSID used when creating an Ad-Hoc network " "and is unlikely to in the future.", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE)); /** * NMSettingWireless:rate: * * If non-zero, directs the device to only use the specified bitrate for * communication with the access point. Units are in Kb/s, ie 5500 = 5.5 * Mbit/s. This property is highly driver dependent and not all devices * support setting a static bitrate. **/ g_object_class_install_property (object_class, PROP_RATE, g_param_spec_uint (NM_SETTING_WIRELESS_RATE, "Rate", "If non-zero, directs the device to only use the " "specified bitrate for communication with the access " "point. Units are in Kb/s, ie 5500 = 5.5 Mbit/s. This " "property is highly driver dependent and not all devices " "support setting a static bitrate.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingWireless:tx-power: * * If non-zero, directs the device to use the specified transmit power. * Units are dBm. This property is highly driver dependent and not all * devices support setting a static transmit power. **/ g_object_class_install_property (object_class, PROP_TX_POWER, g_param_spec_uint (NM_SETTING_WIRELESS_TX_POWER, "TX Power", "If non-zero, directs the device to use the specified " "transmit power. Units are dBm. This property is highly " "driver dependent and not all devices support setting a " "static transmit power.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingWireless:mac-address: * * If specified, this connection will only apply to the WiFi device * whose permanent MAC address matches. This property does not change the MAC address * of the device (i.e. MAC spoofing). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS, "Device MAC Address", "If specified, this connection will only apply to " "the WiFi device whose permanent MAC address matches. " "This property does not change the MAC address " "of the device (i.e. MAC spoofing).", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE)); /** * NMSettingWireless:cloned-mac-address: * * If specified, request that the Wifi device use this MAC address instead of its * permanent MAC address. This is known as MAC cloning or spoofing. **/ g_object_class_install_property (object_class, PROP_CLONED_MAC_ADDRESS, _nm_param_spec_specialized (NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS, "Spoof MAC Address", "If specified, request that the WiFi device use " "this MAC address instead of its permanent MAC address. " "This is known as MAC cloning or spoofing.", DBUS_TYPE_G_UCHAR_ARRAY, G_PARAM_READWRITE)); /** * NMSettingWireless:mac-address-blacklist: * * A list of permanent MAC addresses of Wi-Fi devices to which this * connection should never apply. Each MAC address should be given in the * standard hex-digits-and-colons notation (eg '00:11:22:33:44:55'). **/ g_object_class_install_property (object_class, PROP_MAC_ADDRESS_BLACKLIST, _nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST, "MAC Address Blacklist", "A list of permanent MAC addresses of Wi-Fi " "devices to which this connection should " "never apply. Each MAC address should be " "given in the standard hex-digits-and-colons " "notation (eg '00:11:22:33:44:55').", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingWireless:seen-bssids: * * A list of BSSIDs (each BSSID formatted as a MAC address like * '00:11:22:33:44:55') that have been detected as part of the Wi-FI network. * NetworkManager internally tracks previously seen BSSIDs. The property is only * meant for reading and reflects the BBSID list of NetworkManager. The changes you * make to this property will not be preserved. **/ g_object_class_install_property (object_class, PROP_SEEN_BSSIDS, _nm_param_spec_specialized (NM_SETTING_WIRELESS_SEEN_BSSIDS, "Seen BSSIDS", "A list of BSSIDs (each BSSID formatted as a MAC " "address like 00:11:22:33:44:55') that have been " "detected as part of the WiFI network. " "NetworkManager internally tracks previously seen " "BSSIDs. The property is only meant for reading " "and reflects the BBSID list of NetworkManager. " "The changes you make to this property will not be " "preserved.", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingWireless:mtu: * * If non-zero, only transmit packets of the specified size or smaller, * breaking larger packets up into multiple Ethernet frames. **/ g_object_class_install_property (object_class, PROP_MTU, g_param_spec_uint (NM_SETTING_WIRELESS_MTU, "MTU", "If non-zero, only transmit packets of the specified " "size or smaller, breaking larger packets up into " "multiple Ethernet frames.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_FUZZY_IGNORE)); /** * NMSettingWireless:security: * * If the wireless connection has any security restrictions, like 802.1x, * WEP, or WPA, set this property to '802-11-wireless-security' and ensure * the connection contains a valid 802-11-wireless-security setting. * * Deprecated: 0.9.10: No longer used. Security rescrictions are recognized by * the presence of NM_SETTING_WIRELESS_SECURITY_SETTING_NAME in the connection. **/ g_object_class_install_property (object_class, PROP_SEC, g_param_spec_string (NM_SETTING_WIRELESS_SEC, "Security", "If the wireless connection has any security " "restrictions, like 802.1x, WEP, or WPA, set this " "property to '" NM_SETTING_WIRELESS_SECURITY_SETTING_NAME "' " "and ensure the connection contains a valid " NM_SETTING_WIRELESS_SECURITY_SETTING_NAME " setting.", NULL, G_PARAM_READWRITE)); /** * NMSettingWireless:hidden: * * If %TRUE, indicates this network is a non-broadcasting network that * hides its SSID. In this case various workarounds may take place, such * as probe-scanning the SSID for more reliable network discovery. However, * these workarounds expose inherent insecurities with hidden SSID networks, * and thus hidden SSID networks should be used with caution. **/ g_object_class_install_property (object_class, PROP_HIDDEN, g_param_spec_boolean (NM_SETTING_WIRELESS_HIDDEN, "Hidden", "If TRUE, indicates this network is a non-broadcasting " "network that hides its SSID. In this case various " "workarounds may take place, such as probe-scanning " "the SSID for more reliable network discovery. " "However, these workarounds expose inherent " "insecurities with hidden SSID networks, and thus " "hidden SSID networks should be used with caution.", FALSE, G_PARAM_READWRITE)); }
static void nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingIP6ConfigPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ /** * NMSettingIP6Config:method: * * IPv6 configuration method. If 'auto' is specified then the appropriate * automatic method (DHCP, PPP, advertisement, etc) is used for the * interface and most other properties can be left unset. To force the use * of DHCP only, specify 'dhcp'; this method is only valid for ethernet- * based hardware. If 'link-local' is specified, then an IPv6 link-local * address will be assigned to the interface. If 'manual' is specified, * static IP addressing is used and at least one IP address must be given * in the 'addresses' property. If 'ignored' is specified, IPv6 * configuration is not done. This property must be set. NOTE: the 'shared' * method are not yet supported. **/ g_object_class_install_property (object_class, PROP_METHOD, g_param_spec_string (NM_SETTING_IP6_CONFIG_METHOD, "Method", "IPv6 configuration method. If 'auto' is specified " "then the appropriate automatic method (PPP, router " "advertisement, etc) is used for the device and " "most other properties can be left unset. To force " "the use of DHCP only, specify 'dhcp'; this method " "is only valid for ethernet-based hardware. If " "'link-local' is specified, then an IPv6 link-local " "address will be assigned to the interface. If " "'manual' is specified, static IP addressing is " "used and at least one IP address must be given in " " the 'addresses' property. If 'ignored' is " "specified, IPv6 configuration is not done. This " "property must be set. NOTE: the 'shared' method" "is not yet supported.", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:dns: * * Array of DNS servers, where each member of the array is a byte array * containing the IPv6 address of the DNS server (in network byte order). * For the 'auto' method, these DNS servers are appended to those (if any) * returned by automatic configuration. DNS servers cannot be used with * the 'shared' or 'link-local' methods as there is no usptream network. In * all other methods, these DNS servers are used as the only DNS servers for * this connection. **/ g_object_class_install_property (object_class, PROP_DNS, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_DNS, "DNS", "Array of DNS servers, where each member of the " "array is a byte array containing the IPv6 address " "of the DNS server (in network byte order). For " "the 'auto' method, these DNS servers are " "appended to those (if any) returned by automatic " "configuration. DNS servers cannot be used with " "the 'shared' or 'link-local' methods as there is " "no usptream network. In all other methods, " "these DNS servers are used as the only DNS " "servers for this connection.", DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UCHAR, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:dns-search: * * List of DNS search domains. For the 'auto' method, these search domains * are appended to those returned by automatic configuration. Search domains * cannot be used with the 'shared' or 'link-local' methods as there is no * upstream network. In all other methods, these search domains are used * as the only search domains for this connection. **/ g_object_class_install_property (object_class, PROP_DNS_SEARCH, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_DNS_SEARCH, "DNS search", "List of DNS search domains. For the 'auto' " "method, these search domains are appended to " "those returned by automatic configuration. " "Search domains cannot be used with the 'shared' " "or 'link-local' methods as there is no upstream " "network. In all other methods, these search " "domains are used as the only search domains for " "this connection.", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:addresses: * * Array of IPv6 address structures. Each IPv6 address structure is * composed of 3 members, the first being a byte array containing the IPv6 * address (network byte order), the second a 32-bit integer containing the * IPv6 address prefix, and the third a byte array containing the IPv6 * address (network byte order) of the gateway associated with this address, * if any. If no gateway is given, the third element should be given as * all zeros. For the 'auto' method, given IP addresses are appended to * those returned by automatic configuration. Addresses cannot be used with * the 'shared' or 'link-local' methods as the interface is automatically * assigned an address with these methods. **/ g_object_class_install_property (object_class, PROP_ADDRESSES, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ADDRESSES, "Addresses", "Array of IPv6 address structures. Each IPv6 " "address structure is composed of 3 members, the " "first being a byte array containing the IPv6 " "address (network byte order), the second a " "32-bit integer containing the IPv6 address " "prefix, and the third a byte array containing " "the IPv6 address (network byte order) of the " "gateway associated with this address, if any. " "If no gateway is given, the third element should " "be given as all zeros. For the 'auto' method, " "given IP addresses are appended to those returned " "by automatic configuration. Addresses cannot be " "used with the 'shared' or 'link-local' methods " "as the interface is automatically assigned an " "address with these methods.", DBUS_TYPE_G_ARRAY_OF_IP6_ADDRESS, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:routes: * * Array of IPv6 route structures. Each IPv6 route structure is composed * of 4 members; the first being the destination IPv6 network or * address (network byte order) as a byte array, the second the destination * network or address IPv6 prefix, the third being the next-hop IPv6 address * (network byte order) if any, and the fourth being the route metric. For * the 'auto' method, given IP routes are appended to those returned by * automatic configuration. Routes cannot be used with the 'shared' or * 'link-local' methods because there is no upstream network. **/ g_object_class_install_property (object_class, PROP_ROUTES, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ROUTES, "Routes", "Array of IPv6 route structures. Each IPv6 route " "structure is composed of 4 members; the first " "being the destination IPv6 network or address " "(network byte order) as a byte array, the second " "the destination network or address IPv6 prefix, " "the third being the next-hop IPv6 address " "(network byte order) if any, and the fourth " "being the route metric. For the 'auto' method, " "given IP routes are appended to those returned " "by automatic configuration. Routes cannot be " "used with the 'shared' or 'link-local' methods " "because there is no upstream network.", DBUS_TYPE_G_ARRAY_OF_IP6_ROUTE, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:ignore-auto-routes: * * When the method is set to 'auto' or 'dhcp' and this property is set to * TRUE, automatically configured routes are ignored and only routes * specified in #NMSettingIP6Config:routes, if any, are used. **/ g_object_class_install_property (object_class, PROP_IGNORE_AUTO_ROUTES, g_param_spec_boolean (NM_SETTING_IP6_CONFIG_IGNORE_AUTO_ROUTES, "Ignore automatic routes", "When the method is set to 'auto' or 'dhcp' and this " "property is set to TRUE, automatically configured " "routes are ignored and only routes specified in the " "'routes' property, if any, are used.", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:ignore-auto-dns: * * When the method is set to 'auto' or 'dhcp' and this property is set to * TRUE, automatically configured nameservers and search domains are ignored * and only nameservers and search domains specified in * #NMSettingIP6Config:dns and #NMSettingIP6Config:dns-search, if any, are * used. **/ g_object_class_install_property (object_class, PROP_IGNORE_AUTO_DNS, g_param_spec_boolean (NM_SETTING_IP6_CONFIG_IGNORE_AUTO_DNS, "Ignore DHCPv6/RDNSS DNS", "When the method is set to 'auto' or 'dhcp' and this " "property is set to TRUE, automatically configured " "nameservers and search domains are ignored and only " "nameservers and search domains specified in the 'dns' " "and 'dns-search' properties, if any, are used.", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:never-default: * * If TRUE, this connection will never be the default IPv6 connection, * meaning it will never be assigned the default IPv6 route by NetworkManager. **/ g_object_class_install_property (object_class, PROP_NEVER_DEFAULT, g_param_spec_boolean (NM_SETTING_IP6_CONFIG_NEVER_DEFAULT, "Never default", "If TRUE, this connection will never be the default " "IPv6 connection, meaning it will never be assigned " "the default IPv6 route by NetworkManager.", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:may-fail: * * If TRUE, allow overall network configuration to proceed even if IPv6 * configuration times out. Note that at least one IP configuration * must succeed or overall network configuration will still fail. For * example, in IPv4-only networks, setting this property to TRUE allows * the overall network configuration to succeed if IPv6 configuration fails * but IPv4 configuration completes successfully. **/ g_object_class_install_property (object_class, PROP_MAY_FAIL, g_param_spec_boolean (NM_SETTING_IP6_CONFIG_MAY_FAIL, "May Fail", "If TRUE, allow overall network configuration to " "proceed even if IPv6 configuration times out. " "Note that at least one IP configuration must " "succeed or overall network configuration will still " "fail. For example, in IPv4-only networks, setting " "this property to TRUE allows the overall network " "configuration to succeed if IPv6 configuration " "fails but IPv4 configuration completes successfully.", TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); /** * NMSettingIP6Config:ip6-privacy: * * Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. * If enabled, it makes the kernel generate a temporary IPv6 address * in addition to the public one generated from MAC address via * modified EUI-64. This enhances privacy, but could cause problems * in some applications, on the other hand. The permitted values * are: 0: disabled, 1: enabled (prefer public address), * 2: enabled (prefer temporary addresses). **/ g_object_class_install_property (object_class, PROP_IP6_PRIVACY, g_param_spec_int (NM_SETTING_IP6_CONFIG_IP6_PRIVACY, "Configure IPv6 Privacy", "Configure IPv6 Privacy Extensions for SLAAC, described " "in RFC4941. If enabled, it makes the kernel generate " "a temporary IPv6 address in addition to the public one " "generated from MAC address via modified EUI-64. This " "enhances privacy, but could cause problems in some " "applications, on the other hand. The permitted values " "are: 0: disabled, 1: enabled (prefer public address), " "2: enabled (prefer temporary addresses).", NM_SETTING_IP6_CONFIG_PRIVACY_UNKNOWN, NM_SETTING_IP6_CONFIG_PRIVACY_PREFER_TEMP_ADDR, NM_SETTING_IP6_CONFIG_PRIVACY_UNKNOWN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); }
static void nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class) { GObjectClass *object_class = G_OBJECT_CLASS (setting_class); NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); g_type_class_add_private (setting_class, sizeof (NMSettingIP6ConfigPrivate)); /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; parent_class->verify = verify; /* Properties */ g_object_class_install_property (object_class, PROP_METHOD, g_param_spec_string (NM_SETTING_IP6_CONFIG_METHOD, "Method", "IP configuration method", NULL, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_DNS, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_DNS, "DNS", "List of DNS servers", DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UCHAR, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_DNS_SEARCH, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_DNS_SEARCH, "DNS search", "List of DNS search domains", DBUS_TYPE_G_LIST_OF_STRING, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_ADDRESSES, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ADDRESSES, "Addresses", "List of NMSettingIP6Addresses", DBUS_TYPE_G_ARRAY_OF_IP6_ADDRESS, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_ROUTES, _nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ROUTES, "Routes", "List of NMSettingIP6Addresses", DBUS_TYPE_G_ARRAY_OF_IP6_ROUTE, G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_IGNORE_AUTO_ROUTES, g_param_spec_boolean (NM_SETTING_IP6_CONFIG_IGNORE_AUTO_ROUTES, "Ignore automatic routes", "Ignore automatic routes", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_IGNORE_AUTO_DNS, g_param_spec_boolean (NM_SETTING_IP6_CONFIG_IGNORE_AUTO_DNS, "Ignore DHCPv6/RDNSS DNS", "Ignore DHCPv6/RDNSS DNS", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); g_object_class_install_property (object_class, PROP_NEVER_DEFAULT, g_param_spec_boolean (NM_SETTING_IP6_CONFIG_NEVER_DEFAULT, "Never default", "Never make this connection the default IPv6 connection", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | NM_SETTING_PARAM_SERIALIZE)); }