1 /* $NetBSD: tp_var.h,v 1.17 2008/04/28 20:24:10 martin Exp $ */
4 * Copyright (c) 1995 The NetBSD Foundation, Inc.
7 * This code is derived from software contributed to The NetBSD Foundation
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
32 #ifndef _NETISO_TP_VAR_H_
33 #define _NETISO_TP_VAR_H_
53 int tpcons_output (struct mbuf
*, ...);
56 int tp_driver (struct tp_pcb
*, struct tp_event
*);
59 int tp_emit (int, struct tp_pcb
*, SeqNum
, u_int
, struct mbuf
*);
60 int tp_error_emit (int, u_long
, struct sockaddr_iso
*,
61 struct sockaddr_iso
*, struct mbuf
*, int,
62 struct tp_pcb
*, void *,
63 int (*) (struct mbuf
*, ...));
66 void in_getsufx (void *, u_short
*, void *, int);
67 void in_putsufx (void *, void *, int, int);
68 void in_recycle_tsuffix (void *);
69 void in_putnetaddr (void *, struct sockaddr
*, int);
70 int in_cmpnetaddr (void *, struct sockaddr
*, int);
71 void in_getnetaddr (void *, struct mbuf
*, int);
72 int tpip_mtu (void *);
73 int tpip_output (struct mbuf
*, ...);
74 int tpip_output_dg (struct mbuf
*, ...);
75 void tpip_input (struct mbuf
*, ...);
76 void tpin_quench (struct inpcb
*, int);
77 void *tpip_ctlinput(int, const struct sockaddr
*, void *);
78 void tpin_abort (struct inpcb
*, int);
79 void dump_inaddr (struct sockaddr_in
*);
82 struct mbuf
*tp_inputprep (struct mbuf
*);
83 void tp_input (struct mbuf
*, ...);
84 int tp_headersize (int, struct tp_pcb
*);
87 void iso_getsufx (void *, u_short
*, void *, int);
88 void iso_putsufx (void *, void *, int, int);
89 void iso_recycle_tsuffix (void *);
90 void iso_putnetaddr (void *, struct sockaddr
*, int);
91 int iso_cmpnetaddr (void *, struct sockaddr
*, int);
92 void iso_getnetaddr (void *, struct mbuf
*, int);
93 int tpclnp_mtu (void *);
94 int tpclnp_output (struct mbuf
*, ...);
95 int tpclnp_output_dg (struct mbuf
*, ...);
96 void tpclnp_input (struct mbuf
*, ...);
97 void iso_rtchange (struct isopcb
*);
98 void tpiso_decbit (struct isopcb
*);
99 void tpiso_quench (struct isopcb
*);
100 void *tpclnp_ctlinput(int, const struct sockaddr
*, void *);
101 void tpclnp_ctlinput1 (int, struct iso_addr
*);
102 void tpiso_abort (struct isopcb
*);
103 void tpiso_reset (struct isopcb
*);
106 void Tpmeas (u_int
, u_int
, struct timeval
*, u_int
, u_int
, u_int
);
109 int tp_consistency (struct tp_pcb
*, u_int
, struct tp_conn_param
*);
110 int tp_ctloutput (int, struct socket
*, struct sockopt
*);
114 void tp_soisdisconnecting (struct socket
*);
115 void tp_soisdisconnected (struct tp_pcb
*);
116 void tp_freeref (RefNum
);
117 u_long
tp_getref (struct tp_pcb
*);
118 int tp_set_npcb (struct tp_pcb
*);
119 int tp_attach (struct socket
*, int);
120 void tp_detach (struct tp_pcb
*);
121 int tp_tselinuse(int, const char *, struct sockaddr_iso
*, int);
122 int tp_pcbbind (void *, struct mbuf
*, struct lwp
*);
125 int tp_goodXack (struct tp_pcb
*, SeqNum
);
126 void tp_rtt_rtv (struct tp_pcb
*);
127 int tp_goodack (struct tp_pcb
*, u_int
, SeqNum
, u_int
);
128 int tp_sbdrop (struct tp_pcb
*, SeqNum
);
129 void tp_send (struct tp_pcb
*);
130 int tp_packetize (struct tp_pcb
*, struct mbuf
*, int);
131 int tp_stash (struct tp_pcb
*, struct tp_event
*);
132 void tp_rsyflush (struct tp_pcb
*);
133 void tp_rsyset (struct tp_pcb
*);
134 void tpsbcheck (struct tp_pcb
*, int);
137 void tp_local_credit (struct tp_pcb
*);
138 int tp_protocol_error (struct tp_event
*, struct tp_pcb
*);
139 void tp_drain (void);
140 void tp_indicate (int, struct tp_pcb
*, u_int
);
141 void tp_getoptions (struct tp_pcb
*);
142 void tp_recycle_tsuffix (void *);
143 void tp_quench (struct inpcb
*, int);
144 void tp_netcmd (struct tp_pcb
*, int);
145 int tp_mask_to_num (u_char
);
146 void tp_mss (struct tp_pcb
*, int);
147 int tp_route_to (struct mbuf
*, struct tp_pcb
*, void *);
148 void tp0_stash (struct tp_pcb
*, struct tp_event
*);
149 void tp0_openflow (struct tp_pcb
*);
150 int tp_setup_perf (struct tp_pcb
*);
151 void dump_addr (struct sockaddr
*);
154 void tp_timerinit (void);
155 void tp_etimeout (struct tp_pcb
*, int, int);
156 void tp_euntimeout (struct tp_pcb
*, int);
157 void tp_slowtimo (void);
158 void tp_data_retrans (struct tp_pcb
*);
159 void tp_fasttimo (void);
160 void tp_ctimeout (struct tp_pcb
*, int, int);
161 void tp_ctimeout_MIN (struct tp_pcb
*, int, int);
162 void tp_cuntimeout (struct tp_pcb
*, int);
165 void tpTrace (struct tp_pcb
*, u_int
, u_int
, u_int
, u_int
, u_int
, u_int
);
168 void dump_mbuf (struct mbuf
*, const char *);
169 int tp_rcvoob (struct tp_pcb
*, struct socket
*, struct mbuf
*,
171 int tp_sendoob (struct tp_pcb
*, struct socket
*, struct mbuf
*, int *);
172 int tp_usrreq (struct socket
*, int, struct mbuf
*, struct mbuf
*,
173 struct mbuf
*, struct lwp
*);
174 void tp_ltrace (struct socket
*, struct uio
*);
175 int tp_confirm (struct tp_pcb
*);
176 int tp_snd_control (struct mbuf
*, struct socket
*, struct mbuf
**);
180 #endif /* !_NETISO_TP_VAR_H_ */