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