/********************************************************************/ /* */ /* Packet driver for D-LINK ethernet controller */ /* */ /* Copyleft by P. Mayer, 1992 TU-Vienna IAEE */ /* All rights reserved */ /* */ /********************************************************************/ #define FALSE 0 #define TRUE 1 int net_info(int, char *); int net_open(int, int(*)(int,char *)); int net_release(int); int net_send(int, char *); int net_getadr(int,char *); int net_reset(void); PKTBUF *net_pktalloc(u_short); int net_pktfree(PKTBUF *); void interrupt lnc_intr(void); /* interrupt handler */ int lnc_reset(void); int read_inf(void); #define ACCNAME " PktDrv" #define TIMEOUT 100 /* 100 ms timeout to get free buffer to send */ typedef struct { long st_sent; long st_xmiterr; long st_collision; long st_got; long st_received; long st_missed; long st_crc; int st_err; int st_free; long st_intr; } et_stat; typedef struct { HADDR et_dest; HADDR et_src; unsigned short et_type; } et_hdr; typedef struct { int type; int (*handler)(int,char *); unsigned int recvd; unsigned int sent; } PROTOCOL; #define MAXPROTOCOLS 4 #define ET_UNUSED 0 #define ET_FREE -1 #define ISTACKSIZE 256 /* size of interrupt stack */ typedef int (*procref)(); extern procref old_intr; extern void (interrupt *ihandler)(void); extern long lnc_install(long); extern long pterm_install(long);