]> git.saurik.com Git - apple/xnu.git/blob - bsd/kern/subr_xxx.c
a73c4becf9b0396f34c347ce76801d7e2f15ba09
[apple/xnu.git] / bsd / kern / subr_xxx.c
1 /*
2 * Copyright (c) 2006 Apple Computer, Inc. All Rights Reserved.
3 *
4 * @APPLE_LICENSE_OSREFERENCE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the
10 * License may not be used to create, or enable the creation or
11 * redistribution of, unlawful or unlicensed copies of an Apple operating
12 * system, or to circumvent, violate, or enable the circumvention or
13 * violation of, any terms of an Apple operating system software license
14 * agreement.
15 *
16 * Please obtain a copy of the License at
17 * http://www.opensource.apple.com/apsl/ and read it before using this
18 * file.
19 *
20 * The Original Code and all software distributed under the License are
21 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
22 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
23 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
24 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
25 * Please see the License for the specific language governing rights and
26 * limitations under the License.
27 *
28 * @APPLE_LICENSE_OSREFERENCE_HEADER_END@
29 */
30 /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
31 /*
32 * Copyright (c) 1982, 1986, 1991, 1993
33 * The Regents of the University of California. All rights reserved.
34 *
35 * Redistribution and use in source and binary forms, with or without
36 * modification, are permitted provided that the following conditions
37 * are met:
38 * 1. Redistributions of source code must retain the above copyright
39 * notice, this list of conditions and the following disclaimer.
40 * 2. Redistributions in binary form must reproduce the above copyright
41 * notice, this list of conditions and the following disclaimer in the
42 * documentation and/or other materials provided with the distribution.
43 * 3. All advertising materials mentioning features or use of this software
44 * must display the following acknowledgement:
45 * This product includes software developed by the University of
46 * California, Berkeley and its contributors.
47 * 4. Neither the name of the University nor the names of its contributors
48 * may be used to endorse or promote products derived from this software
49 * without specific prior written permission.
50 *
51 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
52 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
53 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
54 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
55 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
56 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
57 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
58 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
59 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
60 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
61 * SUCH DAMAGE.
62 *
63 * @(#)subr_xxx.c 8.1 (Berkeley) 6/10/93
64 */
65
66 #include <sys/param.h>
67 #include <sys/systm.h>
68 #include <sys/conf.h>
69 #include <sys/proc_internal.h>
70 #include <sys/vnode.h>
71 #include <sys/uio.h>
72
73 /*
74 * Unsupported device function (e.g. writing to read-only device).
75 */
76 int
77 enodev()
78 {
79 return (ENODEV);
80 }
81
82 /*
83 * Unsupported strategy function.
84 */
85 void
86 enodev_strat()
87 {
88 return;
89 }
90
91 /*
92 * Unconfigured device function; driver not configured.
93 */
94 int
95 enxio()
96 {
97 return (ENXIO);
98 }
99
100 /*
101 * Unsupported ioctl function.
102 */
103 int
104 enoioctl()
105 {
106 return (ENOTTY);
107 }
108
109
110 /*
111 * Unsupported system function.
112 * This is used for an otherwise-reasonable operation
113 * that is not supported by the current system binary.
114 */
115 int
116 enosys()
117 {
118 return (ENOSYS);
119 }
120
121 /*
122 * Return error for operation not supported
123 * on a specific object or file type.
124 *
125 * XXX Name of this routine is wrong.
126 */
127 int
128 eopnotsupp()
129 {
130 return (ENOTSUP);
131 }
132
133 /*
134 * Generic null operation, always returns success.
135 */
136 int
137 nullop()
138 {
139 return (0);
140 }
141
142
143 /*
144 * Null routine; placed in insignificant entries
145 * in the bdevsw and cdevsw tables.
146 */
147 int
148 nulldev()
149 {
150 return (0);
151 }
152
153 /*
154 * Null system calls. Not invalid, just not configured.
155 */
156 int
157 errsys()
158 {
159 return(EINVAL);
160 }
161
162 void
163 nullsys()
164 {
165 }
166
167 /*
168 * nonexistent system call-- signal process (may want to handle it)
169 * flag error if process won't see signal immediately
170 * Q: should we do that all the time ??
171 */
172 /* ARGSUSED */
173 int
174 nosys(p, args, retval)
175 struct proc *p;
176 void *args;
177 register_t *retval;
178 {
179 psignal(p, SIGSYS);
180 return (ENOSYS);
181 }
182
183 #ifdef GPROF
184 /*
185 * Stub routine in case it is ever possible to free space.
186 */
187 void
188 cfreemem(cp, size)
189 caddr_t cp;
190 int size;
191 {
192 printf("freeing %x, size %d\n", cp, size);
193 }
194 #endif
195
196