1 /* $NetBSD: viceioctl.h,v 1.3 2002/05/16 19:49:06 wiz Exp $ */
4 * Copyright (c) 1991 Carnegie Mellon University
7 * Permission to use, copy, modify and distribute this software and its
8 * documentation is hereby granted, provided that both the copyright
9 * notice and this permission notice appear in all copies of the
10 * software, derivative works or modified versions, and any portions
11 * thereof, and that both notices appear in supporting documentation.
13 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
14 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
15 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17 * Carnegie Mellon requests users of this software to return to
19 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
20 * School of Computer Science
21 * Carnegie Mellon University
22 * Pittsburgh PA 15213-3890
24 * any improvements or extensions that they make and grant Carnegie the rights
25 * to redistribute these changes.
28 * Mach Operating System
29 * Copyright (c) 1989 Carnegie-Mellon University
30 * Copyright (c) 1988 Carnegie-Mellon University
31 * Copyright (c) 1987 Carnegie-Mellon University
32 * All rights reserved. The CMU software License Agreement specifies
33 * the terms and conditions for use and redistribution.
36 * Revision 2.4 90/08/30 11:51:12 bohman
39 * ITC Remote file system - vice ioctl interface module
43 * TODO: Find /usr/local/include/viceioctl.h.
46 #ifndef _SYS_VICEIOCTL_H_
47 #define _SYS_VICEIOCTL_H_
49 #include <sys/types.h>
50 #include <sys/ioctl.h>
53 caddr_t in
, out
; /* Data to be transferred in, or out */
54 short in_size
; /* Size of input buffer <= 2K */
55 short out_size
; /* Maximum size of output buffer, <= 2K */
58 /* The 2K limits above are a consequence of the size of the kernel buffer
59 used to buffer requests from the user to venus--2*MAXPATHLEN.
60 The buffer pointers may be null, or the counts may be 0 if there
61 are no input or output parameters
64 #define _VICEIOCTL(id) ((unsigned int ) _IOW('V', id, struct ViceIoctl))
65 /* Use this macro to define up to 256 vice ioctl's. These ioctl's
66 all potentially have in/out parameters--this depends upon the
67 values in the ViceIoctl structure. This structure is itself passed
68 into the kernel by the normal ioctl parameter passing mechanism.
71 #define _VALIDVICEIOCTL(com) (com >= _VICEIOCTL(0) && com <= _VICEIOCTL(255))
73 #endif /* _SYS_VICEIOCTL_H_ */