summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/netdevice.h
diff options
context:
space:
mode:
authorMichael Brown2007-01-10 05:22:09 +0100
committerMichael Brown2007-01-10 05:22:09 +0100
commitdad52745227fd06090e73ea535e0b0fe0f667c60 (patch)
tree6be296bedc785a5aab0d055ae148c6ffb1fe285f /src/include/gpxe/netdevice.h
parentRemove uIP; we haven't used it for quite some time now. (diff)
downloadipxe-dad52745227fd06090e73ea535e0b0fe0f667c60.tar.gz
ipxe-dad52745227fd06090e73ea535e0b0fe0f667c60.tar.xz
ipxe-dad52745227fd06090e73ea535e0b0fe0f667c60.zip
Add "name" field to struct device to allow human-readable hardware device
names. Add "dev" pointer in struct net_device to tie network interfaces back to a hardware device. Force natural alignment of data types in __table() macros. This seems to prevent gcc from taking the unilateral decision to occasionally increase their alignment (which screws up the table packing).
Diffstat (limited to 'src/include/gpxe/netdevice.h')
-rw-r--r--src/include/gpxe/netdevice.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/include/gpxe/netdevice.h b/src/include/gpxe/netdevice.h
index e1dddd63..b029d16a 100644
--- a/src/include/gpxe/netdevice.h
+++ b/src/include/gpxe/netdevice.h
@@ -16,6 +16,7 @@ struct pk_buff;
struct net_device;
struct net_protocol;
struct ll_protocol;
+struct device;
/** Maximum length of a link-layer address */
#define MAX_LL_ADDR_LEN 6
@@ -140,6 +141,8 @@ struct net_device {
struct list_head list;
/** Name of this network device */
char name[8];
+ /** Underlying hardware device */
+ struct device *dev;
/** List of persistent reference holders */
struct list_head references;
@@ -219,10 +222,10 @@ struct net_device {
#define NETDEV_OPEN 0x0001
/** Declare a link-layer protocol */
-#define __ll_protocol __table ( ll_protocols, 01 )
+#define __ll_protocol __table ( struct ll_protocol, ll_protocols, 01 )
/** Declare a network-layer protocol */
-#define __net_protocol __table ( net_protocols, 01 )
+#define __net_protocol __table ( struct net_protocol, net_protocols, 01 )
extern struct list_head net_devices;