V10/630/src/proto.h
/*
* Packet format:
*
* 0x80^Seq | Size | 4 bytes of address | 0 or more data bytes | CRC1 | CRC2
*
* where PKTASIZE <= Size <= (PKTASIZE+MAXPKTDSIZE).
*
* If Size == PKTASIZE then the address is the start address.
* If Size > PKTASIZE then load data contiguously at the address.
*
* Acknowledgements consist of the first byte
* from each correctly received packet (Seq)
* acks apply to all packets sent, up to and including the one acked.
* Timeouts cause retransmission of all unacknowledged packets
*/
#define MAXPKTSIZE 128 /* Efficient size for system */
#define PKTHDRSIZE 2 /* Seq + Size */
#define PKTCRCSIZE 2 /* CRC 16 */
#define PKTASIZE 4 /* sizeof(long) on MC68000 */
#define MAXPKTDSIZE MAXPKTSIZE-(PKTHDRSIZE+PKTCRCSIZE+PKTASIZE)
#define PTYP 0xc0 /* Masked with Seq to guarantee non-zero */
#define ACKON 0x80 /* Ack expected for this packet */
#define ACKOFF 0xc0 /* No ack expected, but remember errors */
#define NOCRC 0x40 /* No error detection on packet */
#define SEQMASK (~PTYP)
#define SEQMOD 0x40 /* SEQMASK+1 */
#define WAIT 1
#define OK 2
#define NPBUFS 2
extern char freepkts; /* 0 or 1 */