int (*hard_start_xmit)
(struct sk_buff *skb,
struct device *dev);
int (*hard_header)
(struct sk_buff *skb,
struct device *dev,
unsigned short type,
void *daddr,
void *saddr,
unsigned len);
int (*rebuild_header)
(void *eth,
struct device *dev,
unsigned long raddr,
struct sk_buff *skb);
Rebuild the Ethernet MAC header. Called after an ARP has completed on this
sk_buff. ARP fills in the other fields.
int (*set_mac_address)
(struct device *dev,
void *addr);
int (*do_ioctl)
(struct device *dev,
struct ifreq *ifr, int cmd);
int (*change_mtu) (struct device *dev,
int new_mtu);
/* These two don't currently need to be
* interrupt-safe but they may soon.
* Do it properly anyway. */
extern __inline__
void dev_lock_list(void)
{ unsigned long flags;
save_flags(flags);
cli();
dev_lockct++;
restore_flags(flags);
}
extern __inline__
void dev_unlock_list(void)
{ unsigned long flags;
save_flags(flags);
cli();
dev_lockct--;
restore_flags(flags);
}