diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2001-01-31 22:22:27 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2001-01-31 22:22:27 +0000 |
commit | 825423e4c4f18289df2393951cfd2a7a31fc0464 (patch) | |
tree | 4ad80e981c3d9effa910d2247d118d254f9a5d09 /include/net | |
parent | c4693dc4856ab907a5c02187a8d398861bebfc7e (diff) |
Merge with Linux 2.4.1.
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/dn.h | 26 | ||||
-rw-r--r-- | include/net/dn_nsp.h | 11 | ||||
-rw-r--r-- | include/net/ipx.h | 8 | ||||
-rw-r--r-- | include/net/x25.h | 1 |
4 files changed, 37 insertions, 9 deletions
diff --git a/include/net/dn.h b/include/net/dn.h index 52c6ba44d..88a0bab3e 100644 --- a/include/net/dn.h +++ b/include/net/dn.h @@ -9,6 +9,8 @@ typedef unsigned short dn_address; #define dn_ntohs(x) le16_to_cpu((unsigned short)(x)) #define dn_htons(x) cpu_to_le16((unsigned short)(x)) +#define DN_SK(sk) (&sk->protinfo.dn) + struct dn_scp /* Session Control Port */ { unsigned char state; @@ -44,9 +46,22 @@ struct dn_scp /* Session Control Port */ #define DN_SEND 2 #define DN_DONTSEND 1 #define DN_NOCHANGE 0 + unsigned short flowrem_dat; + unsigned short flowrem_oth; + unsigned short flowloc_dat; + unsigned short flowloc_oth; + unsigned char services_rem; + unsigned char services_loc; + unsigned char info_rem; + unsigned char info_loc; + + unsigned short segsize_rem; + unsigned short segsize_loc; + + unsigned char nonagle; + unsigned char multi_ireq; unsigned char accept_mode; - unsigned short mss; - unsigned long seg_size; /* Running total of current segment */ + unsigned long seg_total; /* Running total of current segment */ struct optdata_dn conndata_in; struct optdata_dn conndata_out; @@ -80,7 +95,8 @@ struct dn_scp /* Session Control Port */ * multipliers. */ #define NSP_MIN_WINDOW 1 -#define NSP_MAX_WINDOW 512 +#define NSP_MAX_WINDOW (0x07fe) + unsigned long max_window; unsigned long snd_window; #define NSP_INITIAL_SRTT (HZ) unsigned long nsp_srtt; @@ -116,6 +132,7 @@ struct dn_scp /* Session Control Port */ struct timer_list delack_timer; int delack_pending; void (*delack_fxn)(struct sock *sk); + }; /* @@ -128,7 +145,7 @@ struct dn_scp /* Session Control Port */ * segsize : Size of segment * segnum : Number, for data, otherdata and linkservice * xmit_count : Number of times we've transmitted this skb - * stamp : Time stamp of first transmission, used in RTT calculations + * stamp : Time stamp of most recent transmission, used in RTT calculations * iif: Input interface number * * As a general policy, this structure keeps all addresses in network @@ -136,6 +153,7 @@ struct dn_scp /* Session Control Port */ * and src_port are in network order. All else is in host order. * */ +#define DN_SKB_CB(skb) ((struct dn_skb_cb *)(skb)->cb) struct dn_skb_cb { unsigned short dst; unsigned short src; diff --git a/include/net/dn_nsp.h b/include/net/dn_nsp.h index 8b628d2e5..3948c30a3 100644 --- a/include/net/dn_nsp.h +++ b/include/net/dn_nsp.h @@ -24,12 +24,12 @@ extern void dn_nsp_send_disc(struct sock *sk, unsigned char type, unsigned short reason, int gfp); extern void dn_nsp_return_disc(struct sk_buff *skb, unsigned char type, unsigned short reason); -extern void dn_nsp_send_lnk(struct sock *sk, unsigned short flags); +extern void dn_nsp_send_link(struct sock *sk, unsigned char lsflags, char fcval); extern void dn_nsp_send_conninit(struct sock *sk, unsigned char flags); extern void dn_nsp_output(struct sock *sk); extern int dn_nsp_check_xmit_queue(struct sock *sk, struct sk_buff *skb, struct sk_buff_head *q, unsigned short acknum); -extern void dn_nsp_queue_xmit(struct sock *sk, struct sk_buff *skb, int oob); +extern void dn_nsp_queue_xmit(struct sock *sk, struct sk_buff *skb, int gfp, int oob); extern unsigned long dn_nsp_persist(struct sock *sk); extern int dn_nsp_xmit_timeout(struct sock *sk); @@ -120,6 +120,7 @@ struct nsp_conn_init_msg #define NSP_FC_NONE 0x00 /* Flow Control None */ #define NSP_FC_SRC 0x04 /* Seg Req. Count */ #define NSP_FC_SCMC 0x08 /* Sess. Control Mess */ +#define NSP_FC_MASK 0x0c /* FC type mask */ unsigned char info __attribute__((packed)); unsigned short segsize __attribute__((packed)); }; @@ -178,13 +179,13 @@ static __inline__ int before_or_equal(unsigned short seq1, unsigned short seq2) static __inline__ void seq_add(unsigned short *seq, unsigned short off) { - *seq += off; - *seq &= 0x0fff; + (*seq) += off; + (*seq) &= 0x0fff; } static __inline__ int seq_next(unsigned short seq1, unsigned short seq2) { - return (((seq2&0x0fff) - (seq1&0x0fff)) == 1); + return equal(seq1 + 1, seq2); } /* diff --git a/include/net/ipx.h b/include/net/ipx.h index bc023a662..ba788670f 100644 --- a/include/net/ipx.h +++ b/include/net/ipx.h @@ -73,6 +73,14 @@ typedef struct ipx_route { struct ipx_route *ir_next; } ipx_route; +#ifdef __KERNEL__ +struct ipx_cb { + u8 ipx_tctrl; + u32 ipx_dest_net; + u32 ipx_source_net; + int last_hop_index; +}; +#endif #define IPX_MIN_EPHEMERAL_SOCKET 0x4000 #define IPX_MAX_EPHEMERAL_SOCKET 0x7fff diff --git a/include/net/x25.h b/include/net/x25.h index 257618d44..2e1e88426 100644 --- a/include/net/x25.h +++ b/include/net/x25.h @@ -217,6 +217,7 @@ extern void x25_start_t23timer(struct sock *); extern void x25_stop_heartbeat(struct sock *); extern void x25_stop_timer(struct sock *); extern unsigned long x25_display_timer(struct sock *); +extern void x25_check_rbuf(struct sock *); /* sysctl_net_x25.c */ extern void x25_register_sysctl(void); |