diff options
Diffstat (limited to 'sys/netipx/spx_var.h')
-rw-r--r-- | sys/netipx/spx_var.h | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/sys/netipx/spx_var.h b/sys/netipx/spx_var.h index 2e87ee0..96290da 100644 --- a/sys/netipx/spx_var.h +++ b/sys/netipx/spx_var.h @@ -37,87 +37,6 @@ #ifndef _NETIPX_SPX_VAR_H_ #define _NETIPX_SPX_VAR_H_ -/* - * SPX control block, one per connection - */ -struct spxpcb { - struct spx_q s_q; /* queue for out-of-order receipt */ - struct ipxpcb *s_ipxpcb; /* backpointer to internet pcb */ - u_char s_state; - u_char s_flags; -#define SF_ACKNOW 0x01 /* Ack peer immediately */ -#define SF_DELACK 0x02 /* Ack, but try to delay it */ -#define SF_HI 0x04 /* Show headers on input */ -#define SF_HO 0x08 /* Show headers on output */ -#define SF_PI 0x10 /* Packet (datagram) interface */ -#define SF_WIN 0x20 /* Window info changed */ -#define SF_RXT 0x40 /* Rxt info changed */ -#define SF_RVD 0x80 /* Calling from read usrreq routine */ - u_short s_mtu; /* Max packet size for this stream */ -/* use sequence fields in headers to store sequence numbers for this - connection */ - struct ipx *s_ipx; - struct spxhdr s_shdr; /* prototype header to transmit */ -#define s_cc s_shdr.spx_cc /* connection control (for EM bit) */ -#define s_dt s_shdr.spx_dt /* datastream type */ -#define s_sid s_shdr.spx_sid /* source connection identifier */ -#define s_did s_shdr.spx_did /* destination connection identifier */ -#define s_seq s_shdr.spx_seq /* sequence number */ -#define s_ack s_shdr.spx_ack /* acknowledge number */ -#define s_alo s_shdr.spx_alo /* allocation number */ -#define s_dport s_ipx->ipx_dna.x_port /* where we are sending */ - struct spxhdr s_rhdr; /* last received header (in effect!)*/ - u_short s_rack; /* their acknowledge number */ - u_short s_ralo; /* their allocation number */ - u_short s_smax; /* highest packet # we have sent */ - u_short s_snxt; /* which packet to send next */ - -/* congestion control */ -#define CUNIT 1024 /* scaling for ... */ - int s_cwnd; /* Congestion-controlled window */ - /* in packets * CUNIT */ - short s_swnd; /* == tcp snd_wnd, in packets */ - short s_smxw; /* == tcp max_sndwnd */ - /* difference of two spx_seq's can be - no bigger than a short */ - u_short s_swl1; /* == tcp snd_wl1 */ - u_short s_swl2; /* == tcp snd_wl2 */ - int s_cwmx; /* max allowable cwnd */ - int s_ssthresh; /* s_cwnd size threshhold for - * slow start exponential-to- - * linear switch */ -/* transmit timing stuff - * srtt and rttvar are stored as fixed point, for convenience in smoothing. - * srtt has 3 bits to the right of the binary point, rttvar has 2. - */ - short s_idle; /* time idle */ - short s_timer[SPXT_NTIMERS]; /* timers */ - short s_rxtshift; /* log(2) of rexmt exp. backoff */ - short s_rxtcur; /* current retransmit value */ - u_short s_rtseq; /* packet being timed */ - short s_rtt; /* timer for round trips */ - short s_srtt; /* averaged timer */ - short s_rttvar; /* variance in round trip time */ - char s_force; /* which timer expired */ - char s_dupacks; /* counter to intuit xmt loss */ - -/* out of band data */ - char s_oobflags; -#define SF_SOOB 0x08 /* sending out of band data */ -#define SF_IOOB 0x10 /* receiving out of band data */ - char s_iobc; /* input characters */ -/* debug stuff */ - u_short s_want; /* Last candidate for sending */ - char s_outx; /* exit taken from spx_output */ - char s_inx; /* exit taken from spx_input */ - u_short s_flags2; /* more flags for testing */ -#define SF_NEWCALL 0x100 /* for new_recvmsg */ -#define SO_NEWCALL 10 /* for new_recvmsg */ -}; - -#define ipxtospxpcb(np) ((struct spxpcb *)(np)->ipxp_pcb) -#define sotospxpcb(so) (ipxtospxpcb(sotoipxpcb(so))) - struct spxstat { long spxs_connattempt; /* connections initiated */ long spxs_accepts; /* connections accepted */ |