summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-01-31 22:22:27 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-01-31 22:22:27 +0000
commit825423e4c4f18289df2393951cfd2a7a31fc0464 (patch)
tree4ad80e981c3d9effa910d2247d118d254f9a5d09 /include/net
parentc4693dc4856ab907a5c02187a8d398861bebfc7e (diff)
Merge with Linux 2.4.1.
Diffstat (limited to 'include/net')
-rw-r--r--include/net/dn.h26
-rw-r--r--include/net/dn_nsp.h11
-rw-r--r--include/net/ipx.h8
-rw-r--r--include/net/x25.h1
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);