No empty .Rs/.Re
[netbsd-mini2440.git] / sys / netiso / tp_var.h
blob5fa550f783db85b9324ed03b855bb29aca3dd54f
1 /* $NetBSD: tp_var.h,v 1.17 2008/04/28 20:24:10 martin Exp $ */
3 /*-
4 * Copyright (c) 1995 The NetBSD Foundation, Inc.
5 * All rights reserved.
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Christos Zoulas.
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
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_
35 #ifdef _KERNEL
36 struct isopcb;
37 struct mbuf;
38 struct sockaddr_iso;
39 struct tp_pcb;
40 struct sockaddr_in;
41 struct iso_addr;
42 struct tp_conn_param;
43 struct tp_event;
44 struct inpcb;
45 struct route;
46 struct pklcd;
47 struct sockaddr;
48 struct x25_packet;
49 struct in_addr;
52 /* tp_cons.c */
53 int tpcons_output (struct mbuf *, ...);
55 /* tp_driver.c */
56 int tp_driver (struct tp_pcb *, struct tp_event *);
58 /* tp_emit.c */
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 *, ...));
65 /* tp_inet.c */
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 *);
81 /* tp_input.c */
82 struct mbuf *tp_inputprep (struct mbuf *);
83 void tp_input (struct mbuf *, ...);
84 int tp_headersize (int, struct tp_pcb *);
86 /* tp_iso.c */
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 *);
105 /* tp_meas.c */
106 void Tpmeas (u_int, u_int, struct timeval *, u_int, u_int, u_int);
108 /* tp_output.c */
109 int tp_consistency (struct tp_pcb *, u_int, struct tp_conn_param *);
110 int tp_ctloutput (int, struct socket *, struct sockopt *);
112 /* tp_pcb.c */
113 void tp_init (void);
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 *);
124 /* tp_subr.c */
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);
136 /* tp_subr2.c */
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 *);
153 /* tp_timer.c */
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);
164 /* tp_trace.c */
165 void tpTrace (struct tp_pcb *, u_int, u_int, u_int, u_int, u_int, u_int);
167 /* tp_usrreq.c */
168 void dump_mbuf (struct mbuf *, const char *);
169 int tp_rcvoob (struct tp_pcb *, struct socket *, struct mbuf *,
170 int *, int);
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 **);
178 #endif
180 #endif /* !_NETISO_TP_VAR_H_ */