aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/netdevice.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2008-03-20 21:06:03 +0000
committerMichael Brown <mcb30@etherboot.org>2008-03-20 21:06:53 +0000
commitacfa14423ef2c974e9d8ff3d0aa48fe0ea2fb8c7 (patch)
tree1541c01facb5ed9d291aa773f12b7a8664077206 /src/include/gpxe/netdevice.h
parent260b93bb72ab31881669cb3e393816a6156c92b7 (diff)
downloadipxe-acfa14423ef2c974e9d8ff3d0aa48fe0ea2fb8c7.tar.gz
[Settings] Add per-netdevice settings block
Add a configuration settings block for each net device. This will provide the parent scope for settings applicable only to that network device (e.g. non-volatile options stored on the NIC, options obtained via DHCP, etc.). Expose the MAC address as a setting.
Diffstat (limited to 'src/include/gpxe/netdevice.h')
-rw-r--r--src/include/gpxe/netdevice.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/include/gpxe/netdevice.h b/src/include/gpxe/netdevice.h
index 5d5e05bd..6f5c06f9 100644
--- a/src/include/gpxe/netdevice.h
+++ b/src/include/gpxe/netdevice.h
@@ -11,6 +11,7 @@
#include <gpxe/list.h>
#include <gpxe/tables.h>
#include <gpxe/refcnt.h>
+#include <gpxe/settings.h>
struct io_buffer;
struct net_device;
@@ -243,6 +244,9 @@ struct net_device {
/** Device statistics */
struct net_device_stats stats;
+ /** Configuration settings applicable to this device */
+ struct settings settings;
+
/** Driver private data */
void *priv;
};
@@ -360,6 +364,8 @@ extern int net_tx ( struct io_buffer *iobuf, struct net_device *netdev,
extern int net_rx ( struct io_buffer *iobuf, struct net_device *netdev,
uint16_t net_proto, const void *ll_source );
+extern struct settings_operations netdev_settings_operations;
+
/**
* Complete network transmission
*