|
|
1.1 ! root 1: /* ! 2: * Packet format: ! 3: * ! 4: * 0x80^Seq | Size | 4 bytes of address | 0 or more data bytes | CRC1 | CRC2 ! 5: * ! 6: * where PKTASIZE <= Size <= (PKTASIZE+MAXPKTDSIZE). ! 7: * ! 8: * If Size == PKTASIZE then the address is the start address. ! 9: * If Size > PKTASIZE then load data contiguously at the address. ! 10: * ! 11: * Acknowledgements consist of the first byte ! 12: * from each correctly received packet (Seq) ! 13: * acks apply to all packets sent, up to and including the one acked. ! 14: * Timeouts cause retransmission of all unacknowledged packets ! 15: */ ! 16: ! 17: #define MAXPKTSIZE 128 /* Efficient size for system */ ! 18: #define PKTHDRSIZE 2 /* Seq + Size */ ! 19: #define PKTCRCSIZE 2 /* CRC 16 */ ! 20: #define PKTASIZE 4 /* sizeof(long) on MC68000 */ ! 21: #define MAXPKTDSIZE MAXPKTSIZE-(PKTHDRSIZE+PKTCRCSIZE+PKTASIZE) ! 22: ! 23: #define PTYP 0xc0 /* Masked with Seq to guarantee non-zero */ ! 24: #define ACKON 0x80 /* Ack expected for this packet */ ! 25: #define ACKOFF 0xc0 /* No ack expected, but remember errors */ ! 26: #define NOCRC 0x40 /* No error detection on packet */ ! 27: #define SEQMASK (~PTYP) ! 28: #define SEQMOD 0x40 /* SEQMASK+1 */ ! 29: ! 30: #define WAIT 1 ! 31: #define OK 2 ! 32: ! 33: #define NPBUFS 2 ! 34: ! 35: extern char freepkts; /* 0 or 1 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.