aboutsummaryrefslogtreecommitdiff
path: root/sys/netiso/tp_pcb.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netiso/tp_pcb.h')
-rw-r--r--sys/netiso/tp_pcb.h78
1 files changed, 55 insertions, 23 deletions
diff --git a/sys/netiso/tp_pcb.h b/sys/netiso/tp_pcb.h
index 073be329fbb6..605808ee59c1 100644
--- a/sys/netiso/tp_pcb.h
+++ b/sys/netiso/tp_pcb.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)tp_pcb.h 7.9 (Berkeley) 5/6/91
- * $Id: tp_pcb.h,v 1.2 1993/10/16 21:05:56 rgrimes Exp $
+ * $Id: tp_pcb.h,v 1.6 1993/12/19 00:53:42 wollman Exp $
*/
/***********************************************************
@@ -76,7 +76,7 @@ SOFTWARE.
#include "../netiso/tp_user.h"
#ifndef sblock
#include "socketvar.h"
-#endif sblock
+#endif /* sblock */
/* NOTE: the code depends on REF_CLOSED > REF_OPEN > the rest, and
* on REF_FREE being zero
@@ -135,23 +135,23 @@ struct tp_rtc {
};
struct nl_protosw {
- int nlp_afamily; /* address family */
- int (*nlp_putnetaddr)(); /* puts addresses in nl pcb */
- int (*nlp_getnetaddr)(); /* gets addresses from nl pcb */
- int (*nlp_cmpnetaddr)(); /* compares address in pcb with sockaddr */
- int (*nlp_putsufx)(); /* puts transport suffixes in nl pcb */
- int (*nlp_getsufx)(); /* gets transport suffixes from nl pcb */
- int (*nlp_recycle_suffix)();/* clears suffix from nl pcb */
- int (*nlp_mtu)(); /* figures out mtu based on nl used */
- int (*nlp_pcbbind)(); /* bind to pcb for net level */
- int (*nlp_pcbconn)(); /* connect for net level */
- int (*nlp_pcbdisc)(); /* disconnect net level */
- int (*nlp_pcbdetach)(); /* detach net level pcb */
- int (*nlp_pcballoc)(); /* allocate a net level pcb */
- int (*nlp_output)(); /* prepare a packet to give to nl */
- int (*nlp_dgoutput)(); /* prepare a packet to give to nl */
- int (*nlp_ctloutput)(); /* hook for network set/get options */
- caddr_t nlp_pcblist; /* list of xx_pcb's for connections */
+ int nlp_afamily; /* address family */
+ int (*nlp_putnetaddr)(); /* puts addresses in nl pcb */
+ int (*nlp_getnetaddr)(); /* gets addresses from nl pcb */
+ int (*nlp_cmpnetaddr)(); /* compares address in pcb with sockaddr */
+ int (*nlp_putsufx)(); /* puts transport suffixes in nl pcb */
+ int (*nlp_getsufx)(); /* gets transport suffixes from nl pcb */
+ int (*nlp_recycle_suffix)(); /* clears suffix from nl pcb */
+ int (*nlp_mtu)(); /* figures out mtu based on nl used */
+ int (*nlp_pcbbind)(); /* bind to pcb for net level */
+ int (*nlp_pcbconn)(); /* connect for net level */
+ void (*nlp_pcbdisc)(); /* disconnect net level */
+ void (*nlp_pcbdetach)(); /* detach net level pcb */
+ int (*nlp_pcballoc)(); /* allocate a net level pcb */
+ int (*nlp_output)(); /* prepare a packet to give to nl */
+ int (*nlp_dgoutput)(); /* prepare a packet to give to nl */
+ int (*nlp_ctloutput)(); /* hook for network set/get options */
+ caddr_t nlp_pcblist; /* list of xx_pcb's for connections */
};
@@ -285,7 +285,7 @@ struct tp_pcb {
/* performance stats - see tp_stat.h */
struct tp_pmeas *tp_p_meas;
struct mbuf *tp_p_mbuf;
-#endif TP_PERF_MEAS
+#endif /* TP_PERF_MEAS */
/* addressing */
u_short tp_domain; /* domain (INET, ISO) */
/* for compatibility with the *old* way and with INET, be sure that
@@ -303,7 +303,7 @@ struct tp_pcb {
u_char tp_peer_acktime; /* used to compute DT retrans time */
struct sockbuf tp_Xsnd; /* for expedited data */
-/* struct sockbuf tp_Xrcv; /* for expedited data */
+/* struct sockbuf tp_Xrcv;*/ /* for expedited data */
#define tp_Xrcv tp_sock->so_rcv
SeqNum tp_Xsndnxt; /* next XPD seq # to send */
SeqNum tp_Xuna; /* seq # of unacked XPD */
@@ -315,7 +315,10 @@ struct tp_pcb {
};
-u_int tp_start_win;
+#ifdef KERNEL
+extern u_int tp_start_win;
+#endif
+
#define ROUND(scaled_int) (((scaled_int) >> 8) + (((scaled_int) & 0x80) ? 1:0))
@@ -362,6 +365,35 @@ extern struct tp_param tp_param;
extern struct nl_protosw nl_protosw[];
extern struct tp_pcb *tp_listeners;
extern struct tp_pcb *tp_intercepts;
+
+extern int tp_goodXack(struct tp_pcb *, SeqNum);
+extern void tp_rtt_rtv(struct timeval *, struct timeval *, struct timeval *);
+extern int tp_goodack(struct tp_pcb *, u_int, SeqNum, SeqNum);
+extern int tp_send(struct tp_pcb *);
+struct tp_event;
+extern int tp_stash(struct tp_pcb *, struct tp_event *);
+
+extern void tp_local_credit(struct tp_pcb *);
+extern int tp_protocol_error(struct tp_event *, struct tp_pcb *);
+extern void tp_drain(void);
+extern void tp_indicate(int, struct tp_pcb *, int /*u_short*/);
+extern void tp_getoptions(struct tp_pcb *);
+extern void tp_recycle_tsuffix(struct tp_pcb *);
+extern void tp_quench(struct tp_pcb *, int);
+extern void tp_netcmd(struct tp_pcb *, int);
+extern int tp_mask_to_num(int /*u_char*/);
+extern int tp_route_to(struct mbuf *, struct tp_pcb *, caddr_t);
+extern void tp0_stash(struct tp_pcb *, struct tp_event *);
+extern void ytp0_openflow(struct tp_pcb *);
+extern int tp_setup_perf(struct tp_pcb *);
+
+extern int tp_consistency(struct tp_pcb *, u_int, struct tp_conn_param *);
+extern int tp_ctloutput(int, struct socket *, int, int, struct mbuf **);
+extern struct mbuf *tp_inputprep(struct mbuf *);
+extern int tp_input(struct mbuf *, struct sockaddr *, struct sockaddr *,
+ u_int, int (*)(), int);
+extern int tp_headersize(int, struct tp_pcb *);
+
#endif
#define sototpcb(so) ((struct tp_pcb *)(so->so_tpcb))
@@ -369,4 +401,4 @@ extern struct tp_pcb *tp_intercepts;
#define tpcbtoso(tp) ((struct socket *)((tp)->tp_sock))
#define tpcbtoref(tp) ((struct tp_ref *)((tp)->tp_ref))
-#endif __TP_PCB__
+#endif /* __TP_PCB__ */