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$
27 *
28 */
29
30 /*
31 * Core ATM Services
32 * -----------------
33 *
34 * ATM socket protocol family support definitions
35 *
36 */
37
38 #include <netatm/kern_include.h>
39
40 #ifndef lint
41 __RCSID("@(#) $FreeBSD$");
42 #endif
43
44
45 struct protosw atmsw[] = {
46 { SOCK_DGRAM, /* ioctl()-only */
47 &atmdomain,
48 0,
49 0,
50 0, /* pr_input */
51 0, /* pr_output */
52 0, /* pr_ctlinput */
53 0, /* pr_ctloutput */
54 0, /* pr_ousrreq */
55 0, /* pr_init */
56 0, /* pr_fasttimo */
57 0, /* pr_slowtimo */
58 0, /* pr_drain */
59 &atm_dgram_usrreqs, /* pr_usrreqs */
60 },
61
62 { SOCK_SEQPACKET, /* AAL-5 */
63 &atmdomain,
64 ATM_PROTO_AAL5,
65 PR_ATOMIC|PR_CONNREQUIRED,
66 0, /* pr_input */
67 0, /* pr_output */
68 0, /* pr_ctlinput */
69 atm_aal5_ctloutput, /* pr_ctloutput */
70 0, /* pr_ousrreq */
71 0, /* pr_init */
72 0, /* pr_fasttimo */
73 0, /* pr_slowtimo */
74 0, /* pr_drain */
75 &atm_aal5_usrreqs, /* pr_usrreqs */
76 },
77
78 #ifdef XXX
79 { SOCK_SEQPACKET, /* SSCOP */
80 &atmdomain,
81 ATM_PROTO_SSCOP,
82 PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD,
83 x, /* pr_input */
84 x, /* pr_output */
85 x, /* pr_ctlinput */
86 x, /* pr_ctloutput */
87 0, /* pr_ousrreq */
88 0, /* pr_init */
89 0, /* pr_fasttimo */
90 0, /* pr_slowtimo */
91 x, /* pr_drain */
92 x, /* pr_usrreqs */
93 },
94 #endif
95 };
96
97 struct domain atmdomain = {
98 AF_ATM,
99 "atm",
100 #if defined(__FreeBSD__)
101 atm_initialize,
102 #else
103 0,
104 #endif
105 0,
106 0,
107 atmsw,
108 &atmsw[sizeof(atmsw) / sizeof(atmsw[0])]
109 };
110
111 #ifdef __FreeBSD__
112 DOMAIN_SET(atm);
113 #endif
114
115
116 #if (defined(__FreeBSD__) && (BSD >= 199506))
117 /*
118 * Protocol request not supported
119 *
120 * Arguments:
121 * so pointer to socket
122 *
123 * Returns:
124 * errno error - operation not supported
125 *
126 */
127 int
128 atm_proto_notsupp1(so)
129 struct socket *so;
130 {
131 return (EOPNOTSUPP);
132 }
133
134
135 /*
136 * Protocol request not supported
137 *
138 * Arguments:
139 * so pointer to socket
140 * addr pointer to protocol address
141 * p pointer to process
142 *
143 * Returns:
144 * errno error - operation not supported
145 *
146 */
147 int
148 atm_proto_notsupp2(so, addr, p)
149 struct socket *so;
150 struct sockaddr *addr;
151 struct proc *p;
152 {
153 return (EOPNOTSUPP);
154 }
155
156
157 /*
158 * Protocol request not supported
159 *
160 * Arguments:
161 * so pointer to socket
162 * addr pointer to pointer to protocol address
163 *
164 * Returns:
165 * errno error - operation not supported
166 *
167 */
168 int
169 atm_proto_notsupp3(so, addr)
170 struct socket *so;
171 struct sockaddr **addr;
172 {
173 return (EOPNOTSUPP);
174 }
175
176
177 /*
178 * Protocol request not supported
179 *
180 * Arguments:
181 * so pointer to socket
182 * i integer
183 * m pointer to kernel buffer
184 * addr pointer to protocol address
185 * m2 pointer to kernel buffer
186 * p pointer to process
187 *
188 * Returns:
189 * errno error - operation not supported
190 *
191 */
192 int
193 atm_proto_notsupp4(so, i, m, addr, m2, p)
194 struct socket *so;
195 int i;
196 KBuffer *m;
197 struct sockaddr *addr;
198 KBuffer *m2;
199 struct proc *p;
200 {
201 return (EOPNOTSUPP);
202 }
203
204 #endif /* (defined(__FreeBSD__) && (BSD >= 199506)) */
205
Cache object: 42bf69a98a23d23085e3d30e040788f1
|