summaryrefslogtreecommitdiffstats
path: root/sys/netipx
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1995-10-31 00:38:57 +0000
committerjulian <julian@FreeBSD.org>1995-10-31 00:38:57 +0000
commitcf1ec3c62f1ae9494424654545a68e49def27ae2 (patch)
treedb79d7b1212267e0038c43ab8897187d3db32b29 /sys/netipx
parent6c6d0d30572d95660c79d1a633f279e4617da151 (diff)
downloadFreeBSD-src-cf1ec3c62f1ae9494424654545a68e49def27ae2.zip
FreeBSD-src-cf1ec3c62f1ae9494424654545a68e49def27ae2.tar.gz
Submitted by: Mike Mitchell
revise prototypes etc. cleanups (probably more coming)
Diffstat (limited to 'sys/netipx')
-rw-r--r--sys/netipx/ipx.h31
-rw-r--r--sys/netipx/ipx_error.h14
-rw-r--r--sys/netipx/ipx_if.h13
-rw-r--r--sys/netipx/ipx_input.c2
-rw-r--r--sys/netipx/ipx_ip.c18
-rw-r--r--sys/netipx/ipx_pcb.h20
-rw-r--r--sys/netipx/ipx_usrreq.c3
-rw-r--r--sys/netipx/spx.h115
-rw-r--r--sys/netipx/spx_debug.h8
-rw-r--r--sys/netipx/spx_timer.h2
-rw-r--r--sys/netipx/spx_usrreq.c3
-rw-r--r--sys/netipx/spx_var.h81
12 files changed, 179 insertions, 131 deletions
diff --git a/sys/netipx/ipx.h b/sys/netipx/ipx.h
index e6dab3f..29838b5 100644
--- a/sys/netipx/ipx.h
+++ b/sys/netipx/ipx.h
@@ -156,6 +156,8 @@ struct ipx {
#ifdef KERNEL
+#include <net/route.h>
+
extern int ipxcksum;
extern struct domain ipxdomain;
extern struct sockaddr_ipx ipx_netmask;
@@ -171,16 +173,28 @@ extern long ipx_pexseq;
extern u_char ipxctlerrmap[];
extern struct ipxpcb ipxrawpcb;
+#include <sys/cdefs.h>
-u_short ipx_cksum();
-void ipx_input(), ipx_abort(), ipx_drop();
-int ipx_output(), ipx_ctloutput(), ipx_usrreq();
-int ipx_raw_usrreq(), ipx_control(), ipx_do_route();
-void ipx_init(), ipxintr(), ipx_ctlinput(), ipx_forward();
-void ipx_undo_route(), ipx_watch_output();
-int ipx_outputfl();
+__BEGIN_DECLS
+u_short ipx_cksum __P((struct mbuf *m, int len));
+void ipx_input __P((struct mbuf *m, struct ipxpcb *ipxp));
+void ipx_abort __P((struct ipxpcb *ipxp));
+void ipx_drop __P((struct ipxpcb *ipxp, int errno));
+int ipx_output __P((struct ipxpcb *ipxp, struct mbuf *m0));
+int ipx_ctloutput __P((int req, struct socket *so, int level, int name, struct mbuf **value));
+int ipx_usrreq __P((struct socket *so, int req, struct mbuf *m, struct mbuf *nam, struct mbuf *control));
+int ipx_raw_usrreq __P((struct socket *so, int req, struct mbuf *m, struct mbuf *nam, struct mbuf *control));
+int ipx_control __P((struct socket *so, int cmd, caddr_t data, struct ifnet *ifp));
+void ipx_init __P((void));
+void ipxintr __P((void));
+void ipx_ctlinput __P((int cmd, caddr_t arg));
+void ipx_forward __P((struct mbuf *m));
+void ipx_watch_output __P((struct mbuf *m, struct ifnet *ifp));
+int ipx_do_route __P((struct ipx_addr *src, struct route *ro));
+void ipx_undo_route __P((struct route *ro));
+int ipx_outputfl __P((struct mbuf *m0, struct route *ro, int flags));
+__END_DECLS
-int ipxip_route();
#else
#include <sys/cdefs.h>
@@ -188,7 +202,6 @@ int ipxip_route();
__BEGIN_DECLS
extern struct ipx_addr ipx_addr __P((const char *));
extern char *ipx_ntoa __P((struct ipx_addr));
-extern char *_ns_spectHex __P((const char *));
__END_DECLS
#endif
diff --git a/sys/netipx/ipx_error.h b/sys/netipx/ipx_error.h
index 946438c..3cc4280 100644
--- a/sys/netipx/ipx_error.h
+++ b/sys/netipx/ipx_error.h
@@ -90,9 +90,19 @@ struct ipx_errstat {
};
#ifdef KERNEL
+
extern struct ipx_errstat ipx_errstat;
-int ipx_err_x(), ipx_echo();
-void ipx_error(), ipx_printhost(), ipx_err_input();
+
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+int ipx_err_x __P((int c));
+int ipx_echo __P((struct mbuf *m));
+void ipx_error __P((struct mbuf *om, int type, int param));
+void ipx_printhost __P((struct ipx_addr *addr));
+void ipx_err_input __P((struct mbuf *m));
+__END_DECLS
+
#endif
#endif
diff --git a/sys/netipx/ipx_if.h b/sys/netipx/ipx_if.h
index f6e0f70..2c49ec5 100644
--- a/sys/netipx/ipx_if.h
+++ b/sys/netipx/ipx_if.h
@@ -80,11 +80,18 @@ struct ipxip_req {
#endif
#ifdef KERNEL
+
extern struct ifqueue ipxintrq; /* IPX input packet queue */
extern struct ipx_ifaddr *ipx_ifaddr;
-int ipx_ifinit();
-void ipx_ifscrub();
-struct ipx_ifaddr *ipx_iaonnetof();
+
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+int ipx_ifinit __P((struct ifnet *ifp, struct ipx_ifaddr *ia, struct sockaddr_ipx *sipx, int scrub));
+void ipx_ifscrub __P((struct ifnet *ifp, struct ipx_ifaddr *ia));
+struct ipx_ifaddr *ipx_iaonnetof __P((struct ipx_addr *dst));
+__END_DECLS
+
#endif
#endif
diff --git a/sys/netipx/ipx_input.c b/sys/netipx/ipx_input.c
index 6b8c5b5..1ad9fa3 100644
--- a/sys/netipx/ipx_input.c
+++ b/sys/netipx/ipx_input.c
@@ -314,7 +314,7 @@ ipx_ctlinput(cmd, arg)
switch (type) {
case IPX_ERR_UNREACH_HOST:
- ipx_pcbnotify(ipx, (int)ipxctlerrmap[cmd], ipx_abort, (long)0);
+ ipx_pcbnotify(ipx, (int)ipxctlerrmap[cmd], ipx_abort, NULL);
break;
case IPX_ERR_NOSOCK:
diff --git a/sys/netipx/ipx_ip.c b/sys/netipx/ipx_ip.c
index f5e4e92..6531d95 100644
--- a/sys/netipx/ipx_ip.c
+++ b/sys/netipx/ipx_ip.c
@@ -63,23 +63,7 @@
#include <netipx/ipx.h>
#include <netipx/ipx_if.h>
-
-struct ifnet_en {
- struct ifnet ifen_ifnet;
- struct route ifen_route;
- struct in_addr ifen_src;
- struct in_addr ifen_dst;
- struct ifnet_en *ifen_next;
-};
-
-void ipxipstart();
-int ipxipoutput(), ipxipioctl();
-void ipxip_input();
-int ipxip_free();
-void ipxip_ctlinput();
-void ipxip_rtchange();
-
-#define LOMTU (1024+512);
+#include <netipx/ipx_ip.h>
struct ifnet ipxipif;
struct ifnet_en *ipxip_list; /* list of all hosts and gateways or broadcast addrs */
diff --git a/sys/netipx/ipx_pcb.h b/sys/netipx/ipx_pcb.h
index 69762cf..be70169 100644
--- a/sys/netipx/ipx_pcb.h
+++ b/sys/netipx/ipx_pcb.h
@@ -78,11 +78,23 @@ struct ipxpcb {
#ifdef KERNEL
+
extern struct ipxpcb ipxpcb; /* head of list */
-int ipx_pcballoc(), ipx_pcbbind(), ipx_pcbconnect();
-void ipx_pcbdisconnect(), ipx_pcbdetach(), ipx_setsockaddr();
-void ipx_setpeeraddr(), ipx_pcbnotify();
-struct ipxpcb *ipx_pcblookup();
+
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+int ipx_pcballoc __P((struct socket *so, struct ipxpcb *head));
+int ipx_pcbbind __P((struct ipxpcb *ipxp, struct mbuf *nam));
+int ipx_pcbconnect __P((struct ipxpcb *ipxp, struct mbuf *nam));
+void ipx_pcbdisconnect __P((struct ipxpcb *ipxp));
+void ipx_pcbdetach __P((struct ipxpcb *ipxp));
+void ipx_setsockaddr __P((struct ipxpcb *ipxp, struct mbuf *nam));
+void ipx_setpeeraddr __P((struct ipxpcb *ipxp, struct mbuf *nam));
+void ipx_pcbnotify __P((struct ipx_addr *dst, int errno, int (*notify)(), long param));
+struct ipxpcb *ipx_pcblookup __P((struct ipx_addr *faddr, int lport, int wildp));
+__END_DECLS
+
#endif
#endif
diff --git a/sys/netipx/ipx_usrreq.c b/sys/netipx/ipx_usrreq.c
index 1434c74..7218cf0 100644
--- a/sys/netipx/ipx_usrreq.c
+++ b/sys/netipx/ipx_usrreq.c
@@ -47,11 +47,14 @@
#include <net/if.h>
#include <net/route.h>
+#include <netinet/in.h>
+
#include <netipx/ipx.h>
#include <netipx/ipx_pcb.h>
#include <netipx/ipx_if.h>
#include <netipx/ipx_var.h>
#include <netipx/ipx_error.h>
+#include <netipx/ipx_ip.h>
/*
* IPX protocol implementation.
diff --git a/sys/netipx/spx.h b/sys/netipx/spx.h
index d40467f..d1b18c1 100644
--- a/sys/netipx/spx.h
+++ b/sys/netipx/spx.h
@@ -83,15 +83,114 @@ struct spx_q {
#define si_ack si_s.spx_ack
#define si_alo si_s.spx_alo
+/*
+ * 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 */
+#define SPXT_NTIMERS 4
+ 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)))
+
#ifdef KERNEL
-int spx_reass(), spx_output();
-int spx_usrreq(), spx_usrreq_sp(), spx_ctloutput();
-void spx_input(), spx_ctlinput();
-void spx_init(), spx_fasttimo(), spx_slowtimo();
-void spx_quench(), spx_setpersist(), spx_template(), spx_abort();
-struct spxpcb *spx_close(), *spx_usrclosed();
-struct spxpcb *spx_disconnect(), *spx_drop();
-struct spxpcb *spx_timers();
+
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+int spx_reass __P((struct spxpcb *cb, struct spx *si));
+int spx_output __P((struct spxpcb *cb, struct mbuf *m0));
+int spx_usrreq __P((struct socket *so, int req, struct mbuf *m, struct mbuf *nam, struct mbuf *controlp));
+int spx_usrreq_sp __P((struct socket *so, int req, struct mbuf *m, struct mbuf *nam, struct mbuf *controlp));
+int spx_ctloutput __P((int req, struct socket *so, int level, int name, struct mbuf **value));
+void spx_input __P((struct mbuf *m, struct ipxpcb *ipxp));
+void spx_ctlinput __P((int cmd, caddr_t arg));
+void spx_init __P((void));
+void spx_fasttimo __P((void));
+void spx_slowtimo __P((void));
+void spx_quench __P((struct ipxpcb *ipxp));
+void spx_setpersist __P((struct spxpcb *cb));
+void spx_template __P((struct spxpcb *cb));
+void spx_abort __P((struct ipxpcb *ipxp));
+struct spxpcb *spx_close __P((struct spxpcb *cb));
+struct spxpcb *spx_usrclosed __P((struct spxpcb *cb));
+struct spxpcb *spx_disconnect __P((struct spxpcb *cb));
+struct spxpcb *spx_drop __P((struct spxpcb *cb, int errno));
+struct spxpcb *spx_timers __P((struct spxpcb *cb, int timer));
+__END_DECLS
+
#endif
#endif
diff --git a/sys/netipx/spx_debug.h b/sys/netipx/spx_debug.h
index 8a26918..c0b109d 100644
--- a/sys/netipx/spx_debug.h
+++ b/sys/netipx/spx_debug.h
@@ -64,12 +64,16 @@ int spx_debx;
#ifdef KERNEL
-void spx_trace();
-
extern char *prurequests[];
extern char *sanames[];
extern char *tcpstates[];
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+void spx_trace __P((int act, int ostate, struct spxpcb *sp, struct spx *si, int req));
+__END_DECLS
+
#endif
#endif
diff --git a/sys/netipx/spx_timer.h b/sys/netipx/spx_timer.h
index ac88eb7..8a93c5c 100644
--- a/sys/netipx/spx_timer.h
+++ b/sys/netipx/spx_timer.h
@@ -41,8 +41,6 @@
* Definitions of the SPX timers. These timers are counted
* down PR_SLOWHZ times a second.
*/
-#define SPXT_NTIMERS 4
-
#define SPXT_REXMT 0 /* retransmit */
#define SPXT_PERSIST 1 /* retransmit persistance */
#define SPXT_KEEP 2 /* keep alive */
diff --git a/sys/netipx/spx_usrreq.c b/sys/netipx/spx_usrreq.c
index 9321236..bd23028 100644
--- a/sys/netipx/spx_usrreq.c
+++ b/sys/netipx/spx_usrreq.c
@@ -1696,8 +1696,7 @@ spx_slowtimo()
if (cb->s_timer[i] && --cb->s_timer[i] == 0) {
(void) spx_usrreq(cb->s_ipxpcb->ipxp_socket,
PRU_SLOWTIMO, (struct mbuf *)0,
- (struct mbuf *)i, (struct mbuf *)0,
- (struct mbuf *)0);
+ (struct mbuf *)i, (struct mbuf *)0);
if (ipnxt->ipxp_prev != ip)
goto tpgone;
}
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 */
OpenPOWER on IntegriCloud