Remove struct ipprotosw. It's identical to protosw, so use the generic
[dragonfly.git] / sys / netproto / atm / atm_proto.c
CommitLineData
984263bc
MD
1/*
2 *
3 * ===================================
4 * HARP | Host ATM Research Platform
5 * ===================================
6 *
7 *
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.
12 *
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.
20 *
21 * Copyright 1994-1998 Network Computing Services, Inc.
22 *
23 * Copies of this Software may be made, however, the above copyright
24 * notice must be reproduced on all copies.
25 *
26 * @(#) $FreeBSD: src/sys/netatm/atm_proto.c,v 1.3 1999/08/28 00:48:36 peter Exp $
4468b0b4 27 * @(#) $DragonFly: src/sys/netproto/atm/atm_proto.c,v 1.8 2004/11/30 19:21:26 joerg Exp $
984263bc
MD
28 */
29
30/*
31 * Core ATM Services
32 * -----------------
33 *
34 * ATM socket protocol family support definitions
35 *
36 */
37
1f2de5d4 38#include "kern_include.h"
984263bc 39
984263bc
MD
40struct protosw atmsw[] = {
41{ SOCK_DGRAM, /* ioctl()-only */
42 &atmdomain,
43 0,
44 0,
45 0, /* pr_input */
46 0, /* pr_output */
47 0, /* pr_ctlinput */
48 0, /* pr_ctloutput */
9eeaa8a9 49 cpu0_soport, /* pr_soport */
984263bc
MD
50 0, /* pr_init */
51 0, /* pr_fasttimo */
52 0, /* pr_slowtimo */
53 0, /* pr_drain */
54 &atm_dgram_usrreqs, /* pr_usrreqs */
55},
56
57{ SOCK_SEQPACKET, /* AAL-5 */
58 &atmdomain,
59 ATM_PROTO_AAL5,
60 PR_ATOMIC|PR_CONNREQUIRED,
61 0, /* pr_input */
62 0, /* pr_output */
63 0, /* pr_ctlinput */
64 atm_aal5_ctloutput, /* pr_ctloutput */
4468b0b4 65 cpu0_soport, /* pr_mport */
984263bc
MD
66 0, /* pr_init */
67 0, /* pr_fasttimo */
68 0, /* pr_slowtimo */
69 0, /* pr_drain */
70 &atm_aal5_usrreqs, /* pr_usrreqs */
71},
72
73#ifdef XXX
74{ SOCK_SEQPACKET, /* SSCOP */
75 &atmdomain,
76 ATM_PROTO_SSCOP,
77 PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD,
78 x, /* pr_input */
79 x, /* pr_output */
80 x, /* pr_ctlinput */
81 x, /* pr_ctloutput */
4468b0b4 82 0, /* pr_mport */
984263bc
MD
83 0, /* pr_init */
84 0, /* pr_fasttimo */
85 0, /* pr_slowtimo */
86 x, /* pr_drain */
87 x, /* pr_usrreqs */
88},
89#endif
90};
91
92struct domain atmdomain = {
93 AF_ATM,
94 "atm",
9a786592 95#if defined(__DragonFly__)
984263bc
MD
96 atm_initialize,
97#else
98 0,
99#endif
100 0,
101 0,
102 atmsw,
103 &atmsw[sizeof(atmsw) / sizeof(atmsw[0])]
104};
105
9a786592 106#ifdef __DragonFly__
984263bc
MD
107DOMAIN_SET(atm);
108#endif
109
110
9a786592 111#if (defined(__DragonFly__) && (BSD >= 199506))
984263bc
MD
112/*
113 * Protocol request not supported
114 *
115 * Arguments:
116 * so pointer to socket
117 *
118 * Returns:
119 * errno error - operation not supported
120 *
121 */
122int
f15db79e 123atm_proto_notsupp1(struct socket *so)
984263bc
MD
124{
125 return (EOPNOTSUPP);
126}
127
128
129/*
130 * Protocol request not supported
131 *
132 * Arguments:
133 * so pointer to socket
134 * addr pointer to protocol address
135 * p pointer to process
136 *
137 * Returns:
138 * errno error - operation not supported
139 *
140 */
141int
f15db79e 142atm_proto_notsupp2(struct socket *so, struct sockaddr *addr, thread_t td)
984263bc
MD
143{
144 return (EOPNOTSUPP);
145}
146
147
148/*
149 * Protocol request not supported
150 *
151 * Arguments:
152 * so pointer to socket
153 * addr pointer to pointer to protocol address
154 *
155 * Returns:
156 * errno error - operation not supported
157 *
158 */
159int
160atm_proto_notsupp3(so, addr)
161 struct socket *so;
162 struct sockaddr **addr;
163{
164 return (EOPNOTSUPP);
165}
166
167
168/*
169 * Protocol request not supported
170 *
171 * Arguments:
172 * so pointer to socket
173 * i integer
174 * m pointer to kernel buffer
175 * addr pointer to protocol address
176 * m2 pointer to kernel buffer
177 * p pointer to process
178 *
179 * Returns:
180 * errno error - operation not supported
181 *
182 */
183int
f15db79e
MD
184atm_proto_notsupp4(
185 struct socket *so,
186 int i,
187 KBuffer *m,
188 struct sockaddr *addr,
189 KBuffer *m2,
190 struct thread *td
191) {
984263bc
MD
192 return (EOPNOTSUPP);
193}
194
9a786592 195#endif /* (defined(__DragonFly__) && (BSD >= 199506)) */
984263bc 196