2 * ===================================
3 * HARP | Host ATM Research Platform
4 * ===================================
7 * This Host ATM Research Platform ("HARP") file (the "Software") is
8 * made available by Network Computing Services, Inc. ("NetworkCS")
9 * "AS IS". NetworkCS does not provide maintenance, improvements or
10 * support of any kind.
12 * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
13 * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
14 * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
15 * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
16 * In no event shall NetworkCS be responsible for any damages, including
17 * but not limited to consequential damages, arising from or relating to
18 * any use of the Software or related support.
20 * Copyright 1994-1998 Network Computing Services, Inc.
22 * Copies of this Software may be made, however, the above copyright
23 * notice must be reproduced on all copies.
30 * ATM socket protocol family support definitions
33 #include <sys/cdefs.h>
34 __FBSDID("$FreeBSD$");
36 #include <sys/param.h>
37 #include <sys/kernel.h>
38 #include <sys/domain.h>
39 #include <sys/protosw.h>
40 #include <sys/socket.h>
41 #include <sys/sysctl.h>
43 #include <netatm/port.h>
44 #include <netatm/queue.h>
45 #include <netatm/atm.h>
46 #include <netatm/atm_sys.h>
47 #include <netatm/atm_sap.h>
48 #include <netatm/atm_cm.h>
49 #include <netatm/atm_if.h>
50 #include <netatm/atm_stack.h>
51 #include <netatm/atm_pcb.h>
52 #include <netatm/atm_var.h>
54 NET_NEEDS_GIANT("netatm");
56 struct protosw atmsw[] = {
57 { SOCK_DGRAM, /* ioctl()-only */
70 &atm_dgram_usrreqs, /* pr_usrreqs */
73 { SOCK_SEQPACKET, /* AAL-5 */
76 PR_ATOMIC|PR_CONNREQUIRED,
80 atm_aal5_ctloutput, /* pr_ctloutput */
86 &atm_aal5_usrreqs, /* pr_usrreqs */
90 { SOCK_SEQPACKET, /* SSCOP */
93 PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD,
108 struct domain atmdomain = {
115 &atmsw[sizeof(atmsw) / sizeof(atmsw[0])]
120 SYSCTL_NODE(_net, PF_ATM, harp, CTLFLAG_RW, 0, "HARP/ATM family");
121 SYSCTL_NODE(_net_harp, OID_AUTO, atm, CTLFLAG_RW, 0, "ATM layer");
124 * Protocol request not supported
127 * so pointer to socket
130 * errno error - operation not supported
134 atm_proto_notsupp1(so)
142 * Protocol request not supported
145 * so pointer to socket
146 * addr pointer to protocol address
147 * p pointer to process
150 * errno error - operation not supported
154 atm_proto_notsupp2(so, addr, td)
156 struct sockaddr *addr;
164 * Protocol request not supported
167 * so pointer to socket
168 * addr pointer to pointer to protocol address
171 * errno error - operation not supported
175 atm_proto_notsupp3(so, addr)
177 struct sockaddr **addr;
184 * Protocol request not supported
187 * so pointer to socket
189 * m pointer to kernel buffer
190 * addr pointer to protocol address
191 * m2 pointer to kernel buffer
192 * p pointer to process
195 * errno error - operation not supported
199 atm_proto_notsupp4(so, i, m, addr, m2, td)
203 struct sockaddr *addr;