1eba00c11SDavid du Colombier typedef struct { 2eba00c11SDavid du Colombier uchar dst[6]; 3eba00c11SDavid du Colombier uchar src[6]; 4eba00c11SDavid du Colombier ushort etype; 5eba00c11SDavid du Colombier uchar type; 6eba00c11SDavid du Colombier uchar conn; 7eba00c11SDavid du Colombier uchar seq; 8eba00c11SDavid du Colombier uchar len; 9eba00c11SDavid du Colombier uchar data[1500]; 10eba00c11SDavid du Colombier } Pkt; 11eba00c11SDavid du Colombier 12eba00c11SDavid du Colombier enum { 13eba00c11SDavid du Colombier Fkbd, 14eba00c11SDavid du Colombier Fcec, 15*68de9c93SDavid du Colombier Ffatal, 16eba00c11SDavid du Colombier }; 17eba00c11SDavid du Colombier 18eba00c11SDavid du Colombier typedef struct Mux Mux; 19eba00c11SDavid du Colombier #pragma incomplete Mux; 20eba00c11SDavid du Colombier 21eba00c11SDavid du Colombier enum{ 22eba00c11SDavid du Colombier Iowait = 2000, 23eba00c11SDavid du Colombier Etype = 0xbcbc, 24eba00c11SDavid du Colombier }; 25eba00c11SDavid du Colombier int debug; 26eba00c11SDavid du Colombier 27eba00c11SDavid du Colombier Mux *mux(int fd[2]); 28eba00c11SDavid du Colombier void muxfree(Mux*); 29*68de9c93SDavid du Colombier int muxread(Mux*, Pkt*); 30eba00c11SDavid du Colombier 31*68de9c93SDavid du Colombier int netget(void *, int); 32eba00c11SDavid du Colombier int netopen(char *name); 33eba00c11SDavid du Colombier int netsend(void *, int); 34eba00c11SDavid du Colombier 35eba00c11SDavid du Colombier void dump(uchar*, int); 36eba00c11SDavid du Colombier void exits0(char*); 37*68de9c93SDavid du Colombier void rawoff(void); 38*68de9c93SDavid du Colombier void rawon(void); 39