#ifndef NIC_H
#define NIC_H
#include "dev.h"
typedef enum {
DISABLE = 0,
ENABLE,
FORCE
} irq_action_t;
struct nic
{
struct dev dev;
int (*poll)P((struct nic *, int retrieve));
void (*transmit)P((struct nic *, const char *d,
unsigned int t, unsigned int s, const char *p));
void (*irq)P((struct nic *, irq_action_t));
int flags;
struct rom_info *rom_info;
unsigned char *node_addr;
unsigned char *packet;
unsigned int packetlen;
unsigned int ioaddr;
unsigned char irqno;
void *priv_data;
};
extern int eth_probe(struct dev *dev);
extern int eth_poll(int retrieve);
extern void eth_transmit(const char *d, unsigned int t, unsigned int s, const void *p);
extern void eth_disable(void);
extern void eth_irq(irq_action_t action);
#endif