mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-27 12:50:09 +01:00
Convert to using interface indexes as the primary method of identifying devices inside NetworkManager. Indexes are (?) stable, but devices can be renamed at any time. Device object paths now refer to the device index rather than the name, and you can map those two manually if you like by looking in the /sys/class/net/<name>/ifindex file. Also moves most netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c to use interface indexes rather than names. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2731 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
64 lines
2.2 KiB
C
64 lines
2.2 KiB
C
|
|
#ifndef NM_DEVICE_INTERFACE_H
|
|
#define NM_DEVICE_INTERFACE_H
|
|
|
|
#include <glib-object.h>
|
|
#include "NetworkManager.h"
|
|
#include "nm-connection.h"
|
|
|
|
#define NM_TYPE_DEVICE_INTERFACE (nm_device_interface_get_type ())
|
|
#define NM_DEVICE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_INTERFACE, NMDeviceInterface))
|
|
#define NM_IS_DEVICE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_INTERFACE))
|
|
#define NM_DEVICE_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), NM_TYPE_DEVICE_INTERFACE, NMDeviceInterface))
|
|
|
|
|
|
#define NM_DEVICE_INTERFACE_UDI "udi"
|
|
#define NM_DEVICE_INTERFACE_IFACE "interface"
|
|
#define NM_DEVICE_INTERFACE_INDEX "index"
|
|
#define NM_DEVICE_INTERFACE_DRIVER "driver"
|
|
#define NM_DEVICE_INTERFACE_CAPABILITIES "capabilities"
|
|
#define NM_DEVICE_INTERFACE_IP4_ADDRESS "ip4_address"
|
|
#define NM_DEVICE_INTERFACE_IP4_CONFIG "ip4_config"
|
|
#define NM_DEVICE_INTERFACE_STATE "state"
|
|
#define NM_DEVICE_INTERFACE_APP_DATA "app_data" /* Ugh */
|
|
#define NM_DEVICE_INTERFACE_DEVICE_TYPE "device_type" /* ugh */
|
|
|
|
typedef enum {
|
|
NM_DEVICE_INTERFACE_PROP_FIRST = 0x1000,
|
|
|
|
NM_DEVICE_INTERFACE_PROP_UDI = NM_DEVICE_INTERFACE_PROP_FIRST,
|
|
NM_DEVICE_INTERFACE_PROP_INDEX,
|
|
NM_DEVICE_INTERFACE_PROP_IFACE,
|
|
NM_DEVICE_INTERFACE_PROP_DRIVER,
|
|
NM_DEVICE_INTERFACE_PROP_CAPABILITIES,
|
|
NM_DEVICE_INTERFACE_PROP_IP4_ADDRESS,
|
|
NM_DEVICE_INTERFACE_PROP_IP4_CONFIG,
|
|
NM_DEVICE_INTERFACE_PROP_STATE,
|
|
NM_DEVICE_INTERFACE_PROP_APP_DATA,
|
|
NM_DEVICE_INTERFACE_PROP_DEVICE_TYPE
|
|
} NMDeviceInterfaceProp;
|
|
|
|
|
|
typedef struct _NMDeviceInterface NMDeviceInterface;
|
|
|
|
struct _NMDeviceInterface {
|
|
GTypeInterface g_iface;
|
|
|
|
/* Methods */
|
|
void (*activate) (NMDeviceInterface *device, NMConnection *connection, gboolean user_requested);
|
|
void (*deactivate) (NMDeviceInterface *device);
|
|
|
|
/* Signals */
|
|
void (*state_changed) (NMDeviceInterface *device, NMDeviceState state);
|
|
void (*carrier_changed) (NMDeviceInterface *device, gboolean carrier_on);
|
|
};
|
|
|
|
GType nm_device_interface_get_type (void);
|
|
|
|
void nm_device_interface_activate (NMDeviceInterface *device,
|
|
NMConnection *connection,
|
|
gboolean user_requested);
|
|
|
|
void nm_device_interface_deactivate (NMDeviceInterface *device);
|
|
|
|
#endif /* NM_DEVICE_INTERFACE_H */
|