From dcec8a13bf565e47942a1751a9cec21bec5648fe Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Thu, 7 May 1998 02:55:41 +0000 Subject: o Merge with Linux 2.1.99. o Fix ancient bug in the ELF loader making ldd crash. o Fix ancient bug in the keyboard code for SGI, SNI and Jazz. --- include/net/spx.h | 113 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 84 insertions(+), 29 deletions(-) (limited to 'include/net/spx.h') diff --git a/include/net/spx.h b/include/net/spx.h index 3e9b1d185..a449b891b 100644 --- a/include/net/spx.h +++ b/include/net/spx.h @@ -1,38 +1,93 @@ #ifndef __NET_SPX_H #define __NET_SPX_H -/* - * Internal definitions for the SPX protocol. - */ - -/* - * The SPX header following an IPX header. - */ - +#include + struct spxhdr -{ - __u8 cctl; -#define CCTL_SPXII_XHD 0x01 /* SPX2 extended header */ -#define CCTL_SPX_UNKNOWN 0x02 /* Unknown (unused ??) */ -#define CCTL_SPXII_NEG 0x04 /* Negotiate size */ -#define CCTL_SPXII 0x08 /* Set for SPX2 */ -#define CCTL_EOM 0x10 /* End of message marker */ -#define CCTL_URG 0x20 /* Urgent marker in SPP (not used in SPX?) */ -#define CCTL_ACK 0x40 /* Send me an ACK */ -#define CCTL_CTL 0x80 /* Control message */ - __u8 dtype; +{ __u8 cctl; + __u8 dtype; #define SPX_DTYPE_ECONN 0xFE /* Finished */ #define SPX_DTYPE_ECACK 0xFF /* Ok */ - __u16 sconn; /* Connection ID */ - __u16 dconn; /* Connection ID */ - __u16 sequence; - __u16 ackseq; - __u16 allocseq; + __u16 sconn; /* Connection ID */ + __u16 dconn; /* Connection ID */ + __u16 sequence; + __u16 ackseq; + __u16 allocseq; }; -#define IPXTYPE_SPX 5 +struct ipxspxhdr +{ struct ipxhdr ipx; + struct spxhdr spx; +}; + +#define SPX_SYS_PKT_LEN (sizeof(struct ipxspxhdr)) + +#ifdef __KERNEL__ +struct spx_opt +{ int state; + int sndbuf; + int retries; /* Number of WD retries */ + int retransmits; /* Number of retransmits */ + int max_retries; + int wd_interval; + void *owner; + __u16 dest_connid; /* Net order */ + __u16 source_connid; /* Net order */ + __u16 sequence; /* Host order - our current pkt # */ + __u16 alloc; /* Host order - max seq we can rcv now */ + __u16 rmt_ack; /* Host order - last pkt ACKd by remote */ + __u16 rmt_seq; + __u16 acknowledge; + __u16 rmt_alloc; /* Host order - max seq remote can handle now */ + ipx_address dest_addr; + ipx_address source_addr; + struct timer_list watchdog; /* Idle watch */ + struct timer_list retransmit; /* Retransmit timer */ + struct sk_buff_head rcv_queue; + struct sk_buff_head transmit_queue; + struct sk_buff_head retransmit_queue; +}; + +/* Packet connectino control defines */ +#define CCTL_SPXII_XHD 0x01 /* SPX2 extended header */ +#define CCTL_SPX_UNKNOWN 0x02 /* Unknown (unused ??) */ +#define CCTL_SPXII_NEG 0x04 /* Negotiate size */ +#define CCTL_SPXII 0x08 /* Set for SPX2 */ +#define CCTL_EOM 0x10 /* End of message marker */ +#define CCTL_URG 0x20 /* Urgent marker in SPP (not used in SPX?) */ +#define CCTL_ACK 0x40 /* Send me an ACK */ +#define CCTL_CTL 0x80 /* Control message */ +#define CCTL_SYS CCTL_CTL /* Spec uses CCTL_SYS */ + +/* Connection state defines */ +#define SPX_CLOSED 7 +#define SPX_CONNECTING 8 +#define SPX_CONNECTED 9 + +/* Packet transmit types - Internal */ +#define DATA 0 /* Data */ +#define ACK 1 /* Data ACK */ +#define WDACK 2 /* WD ACK */ +#define CONACK 3 /* Connection Request ACK */ +#define CONREQ 4 /* Connection Request */ +#define WDREQ 5 /* WD Request */ +#define DISCON 6 /* Informed Disconnect */ +#define DISACK 7 /* Informed Disconnect ACK */ +#define RETRAN 8 /* Int. Retransmit of packet */ +#define TQUEUE 9 /* Int. Transmit of a queued packet */ + +/* + * These are good canidates for IOcontrol calls + */ + +/* Watchdog defines */ +#define VERIFY_TIMEOUT 3 * HZ +#define ABORT_TIMEOUT 30 * HZ + +/* Packet retransmit defines */ +#define RETRY_COUNT 10 +#define RETRY_TIME 1 * HZ +#define MAX_RETRY_DELAY 5 * HZ - - - -#endif +#endif /* __KERNEL__ */ +#endif /* def __NET_SPX_H */ -- cgit v1.2.3