fetch.9: Minor fixes.
[dragonfly.git] / sys / netproto / atm / atm_proto.c
blob55071d394f4aaa6e966bc63148646b9e2583c07d
1 /*
3 * ===================================
4 * HARP | Host ATM Research Platform
5 * ===================================
8 * This Host ATM Research Platform ("HARP") file (the "Software") is
9 * made available by Network Computing Services, Inc. ("NetworkCS")
10 * "AS IS". NetworkCS does not provide maintenance, improvements or
11 * support of any kind.
13 * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
14 * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
15 * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
16 * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
17 * In no event shall NetworkCS be responsible for any damages, including
18 * but not limited to consequential damages, arising from or relating to
19 * any use of the Software or related support.
21 * Copyright 1994-1998 Network Computing Services, Inc.
23 * Copies of this Software may be made, however, the above copyright
24 * notice must be reproduced on all copies.
26 * @(#) $FreeBSD: src/sys/netatm/atm_proto.c,v 1.3 1999/08/28 00:48:36 peter Exp $
27 * @(#) $DragonFly: src/sys/netproto/atm/atm_proto.c,v 1.12 2008/11/01 04:22:15 sephe Exp $
31 * Core ATM Services
32 * -----------------
34 * ATM socket protocol family support definitions
38 #include "kern_include.h"
40 struct protosw atmsw[] = {
41 { SOCK_DGRAM, /* ioctl()-only */
42 &atmdomain,
45 0, /* pr_input */
46 0, /* pr_output */
47 0, /* pr_ctlinput */
48 0, /* pr_ctloutput */
49 cpu0_soport, /* pr_mport */
50 NULL, /* pr_ctlport */
51 0, /* pr_init */
52 0, /* pr_fasttimo */
53 0, /* pr_slowtimo */
54 0, /* pr_drain */
55 &atm_dgram_usrreqs, /* pr_usrreqs */
58 { SOCK_SEQPACKET, /* AAL-5 */
59 &atmdomain,
60 ATM_PROTO_AAL5,
61 PR_ATOMIC|PR_CONNREQUIRED,
62 0, /* pr_input */
63 0, /* pr_output */
64 0, /* pr_ctlinput */
65 atm_aal5_ctloutput, /* pr_ctloutput */
66 cpu0_soport, /* pr_mport */
67 NULL, /* pr_ctlport */
68 0, /* pr_init */
69 0, /* pr_fasttimo */
70 0, /* pr_slowtimo */
71 0, /* pr_drain */
72 &atm_aal5_usrreqs, /* pr_usrreqs */
75 #ifdef XXX
76 { SOCK_SEQPACKET, /* SSCOP */
77 &atmdomain,
78 ATM_PROTO_SSCOP,
79 PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD,
80 x, /* pr_input */
81 x, /* pr_output */
82 x, /* pr_ctlinput */
83 x, /* pr_ctloutput */
84 NULL, /* pr_mport */
85 NULL, /* pr_ctlport */
86 0, /* pr_init */
87 0, /* pr_fasttimo */
88 0, /* pr_slowtimo */
89 x, /* pr_drain */
90 x, /* pr_usrreqs */
92 #endif
95 struct domain atmdomain = {
96 AF_ATM, "atm", atm_initialize, NULL, NULL,
97 atmsw, &atmsw[sizeof(atmsw) / sizeof(atmsw[0])],
100 DOMAIN_SET(atm);
103 * Protocol request not supported
105 * Arguments:
106 * so pointer to socket
108 * Returns:
109 * errno error - operation not supported
113 atm_proto_notsupp1(struct socket *so)
115 return (EOPNOTSUPP);
120 * Protocol request not supported
122 * Arguments:
123 * so pointer to socket
124 * addr pointer to protocol address
125 * p pointer to process
127 * Returns:
128 * errno error - operation not supported
132 atm_proto_notsupp2(struct socket *so, struct sockaddr *addr, thread_t td)
134 return (EOPNOTSUPP);
139 * Protocol request not supported
141 * Arguments:
142 * so pointer to socket
143 * addr pointer to pointer to protocol address
145 * Returns:
146 * errno error - operation not supported
150 atm_proto_notsupp3(struct socket *so, struct sockaddr **addr)
152 return (EOPNOTSUPP);
157 * Protocol request not supported
159 * Arguments:
160 * so pointer to socket
161 * i integer
162 * m pointer to kernel buffer
163 * addr pointer to protocol address
164 * m2 pointer to kernel buffer
165 * p pointer to process
167 * Returns:
168 * errno error - operation not supported
172 atm_proto_notsupp4(
173 struct socket *so,
174 int i,
175 KBuffer *m,
176 struct sockaddr *addr,
177 KBuffer *m2,
178 struct thread *td
180 return (EOPNOTSUPP);