1 /* $NetBSD: pk_extern.h,v 1.12 2003/06/29 22:31:55 fvdl Exp $ */
2
3 /*-
4 * Copyright (c) 1995 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Christos Zoulas.
9 *
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.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by the NetBSD
21 * Foundation, Inc. and its contributors.
22 * 4. Neither the name of The NetBSD Foundation nor the names of its
23 * contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 */
38
39 #ifdef _KERNEL
40
41 #ifndef _NETCCITT_PK_EXTERN_H_
42 #define _NETCCITT_PK_EXTERN_H_
43
44 #include <netccitt/x25isr.h>
45
46 struct pklcd;
47 struct mbuf_cache;
48 struct x25_ifaddr;
49 struct x25_calladdr;
50 struct x25_packet;
51 struct llc_linkcb;
52 struct bcdinfo;
53 struct sockaddr_dl;
54
55 /* pk_acct.c */
56 int pk_accton __P((char *));
57 void pk_acct __P((struct pklcd *));
58
59 /* pk_debug.c */
60 void pk_trace __P((struct x25config *, struct mbuf *, char *));
61 void mbuf_cache __P((struct mbuf_cache *, struct mbuf *));
62
63 /* pk_input.c */
64 struct pkcb *pk_newlink __P((struct x25_ifaddr *, caddr_t));
65 int pk_dellink __P((struct pkcb *));
66 int pk_resize __P((struct pkcb *));
67 void *pk_ctlinput __P((int, struct sockaddr *, void *));
68 void pkintr __P((void));
69 void pk_input __P((struct mbuf *, ...));
70 void pk_simple_bsd __P((octet *, octet *, int, int));
71 void pk_from_bcd __P((struct x25_calladdr *, int, struct sockaddr_x25 *,
72 struct x25config *));
73 void pk_incoming_call __P((struct pkcb *, struct mbuf *));
74 void pk_call_accepted __P((struct pklcd *, struct mbuf *));
75 void pk_parse_facilities __P((octet *, struct sockaddr_x25 *));
76
77 /* pk_llcsubr.c */
78 void cons_rtrequest __P((int, struct rtentry *, struct rt_addrinfo *));
79 struct rtentry *npaidb_enter __P((struct sockaddr_dl *, struct sockaddr *,
80 struct rtentry *, struct llc_linkcb *));
81 struct rtentry *npaidb_enrich __P((short, caddr_t, struct sockaddr_dl *));
82 int npaidb_destroy __P((struct rtentry *));
83 long x25_llcglue __P((int, struct sockaddr *));
84
85 /* pk_output.c */
86 void pk_output __P((struct pklcd *));
87 struct mbuf *nextpk __P((struct pklcd *));
88
89 /* pk_subr.c */
90 struct pklcd *pk_attach __P((struct socket *));
91 void pk_disconnect __P((struct pklcd *));
92 void pk_close __P((struct pklcd *));
93 struct mbuf *pk_template __P((int, int));
94 void pk_restart __P((struct pkcb *, int));
95 void pk_freelcd __P((struct pklcd *));
96 int pk_bind __P((struct pklcd *, struct mbuf *));
97 int pk_listen __P((struct pklcd *));
98 int pk_protolisten __P((int, int, int (*)(struct mbuf *, void *)));
99 void pk_assoc __P((struct pkcb *, struct pklcd *, struct sockaddr_x25 *));
100 int pk_connect __P((struct pklcd *, struct sockaddr_x25 *));
101 void pk_callcomplete __P((struct pkcb *));
102 void pk_callrequest __P((struct pklcd *, struct sockaddr_x25 *,
103 struct x25config *));
104 void pk_build_facilities __P((struct mbuf *, struct sockaddr_x25 *, int));
105 int to_bcd __P((struct bcdinfo *, struct sockaddr_x25 *, struct x25config *));
106 int pk_getlcn __P((struct pkcb *));
107 void pk_clear __P((struct pklcd *, int, int));
108 void pk_flowcontrol __P((struct pklcd *, int, int));
109 void pk_flush __P((struct pklcd *));
110 void pk_procerror __P((int, struct pklcd *, char *, int));
111 int pk_ack __P((struct pklcd *, unsigned));
112 int pk_decode __P((struct x25_packet *));
113 void pk_restartcause __P((struct pkcb *, struct x25_packet *));
114 void pk_resetcause __P((struct pkcb *, struct x25_packet *));
115 void pk_clearcause __P((struct pkcb *, struct x25_packet *));
116 char *format_ntn __P((struct x25config *));
117 void pk_message __P((int, struct x25config *, char *, ...))
118 __attribute__((__format__(__printf__, 3, 4)));
119
120 int pk_fragment __P((struct pklcd *, struct mbuf *, int, int, int));
121
122 /* pk_timer.c */
123 void pk_timer __P((void));
124
125 /* pk_usrreq.c */
126 int pk_usrreq __P((struct socket *, int, struct mbuf *, struct mbuf *,
127 struct mbuf *, struct proc *));
128 int pk_start __P((struct pklcd *));
129 int pk_control __P((struct socket *, u_long, caddr_t, struct ifnet *,
130 struct proc *));
131 int pk_ctloutput __P((int, struct socket *, int, int, struct mbuf **));
132 int pk_checksockaddr __P((struct mbuf *));
133 int pk_send __P((struct mbuf *, void *));
134
135 #endif
136
137 #endif /* _NETCCITT_PK_EXTERN_H_ */
Cache object: 802a2b2c9153468078bc20ab29943d8f
|