diff options
author | animeshbm | 2024-03-14 13:20:59 +0100 |
---|---|---|
committer | GitHub | 2024-03-14 13:20:59 +0100 |
commit | 211ac5f933e97b3accf935dd6dc92e58cc23dbb6 (patch) | |
tree | f385c42cc60bdb621bef3c4fe059f7562af0f57b /src/include/ipxe/netdevice.h | |
parent | support for aqc113 (diff) | |
parent | [efi] Update to current EDK2 headers (diff) | |
download | ipxe-211ac5f933e97b3accf935dd6dc92e58cc23dbb6.tar.gz ipxe-211ac5f933e97b3accf935dd6dc92e58cc23dbb6.tar.xz ipxe-211ac5f933e97b3accf935dd6dc92e58cc23dbb6.zip |
Merge branch 'ipxe:master' into aqc1xx
Diffstat (limited to 'src/include/ipxe/netdevice.h')
-rw-r--r-- | src/include/ipxe/netdevice.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/include/ipxe/netdevice.h b/src/include/ipxe/netdevice.h index af932c25..caa83b44 100644 --- a/src/include/ipxe/netdevice.h +++ b/src/include/ipxe/netdevice.h @@ -473,22 +473,27 @@ struct net_device { struct net_driver { /** Name */ const char *name; + /** Size of private data */ + size_t priv_len; /** Probe device * * @v netdev Network device + * @v priv Private data * @ret rc Return status code */ - int ( * probe ) ( struct net_device *netdev ); + int ( * probe ) ( struct net_device *netdev, void *priv ); /** Notify of device or link state change * * @v netdev Network device + * @v priv Private data */ - void ( * notify ) ( struct net_device *netdev ); + void ( * notify ) ( struct net_device *netdev, void *priv ); /** Remove device * * @v netdev Network device + * @v priv Private data */ - void ( * remove ) ( struct net_device *netdev ); + void ( * remove ) ( struct net_device *netdev, void *priv ); }; /** Network driver table */ @@ -569,17 +574,6 @@ netdev_put ( struct net_device *netdev ) { } /** - * Get driver private area for this network device - * - * @v netdev Network device - * @ret priv Driver private area for this network device - */ -static inline __attribute__ (( always_inline )) void * -netdev_priv ( struct net_device *netdev ) { - return netdev->priv; -} - -/** * Get per-netdevice configuration settings block * * @v netdev Network device @@ -699,6 +693,8 @@ netdev_rx_frozen ( struct net_device *netdev ) { return ( netdev->state & NETDEV_RX_FROZEN ); } +extern void * netdev_priv ( struct net_device *netdev, + struct net_driver *driver ); extern void netdev_rx_freeze ( struct net_device *netdev ); extern void netdev_rx_unfreeze ( struct net_device *netdev ); extern void netdev_link_err ( struct net_device *netdev, int rc ); |