coda_pioctl.h revision 1.2 1 /* $NetBSD: coda_pioctl.h,v 1.2 1998/09/08 17:12:49 rvb Exp $ */
2
3 /*
4 *
5 * Coda: an Experimental Distributed File System
6 * Release 3.1
7 *
8 * Copyright (c) 1987-1998 Carnegie Mellon University
9 * All Rights Reserved
10 *
11 * Permission to use, copy, modify and distribute this software and its
12 * documentation is hereby granted, provided that both the copyright
13 * notice and this permission notice appear in all copies of the
14 * software, derivative works or modified versions, and any portions
15 * thereof, and that both notices appear in supporting documentation, and
16 * that credit is given to Carnegie Mellon University in all documents
17 * and publicity pertaining to direct or indirect use of this code or its
18 * derivatives.
19 *
20 * CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS,
21 * SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS
22 * FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON
23 * DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
24 * RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF
25 * ANY DERIVATIVE WORK.
26 *
27 * Carnegie Mellon encourages users of this software to return any
28 * improvements or extensions that they make, and to grant Carnegie
29 * Mellon the rights to redistribute these changes without encumbrance.
30 *
31 * @(#) cfs/pioctl.h,v 1.1.1.1 1998/08/29 21:26:46 rvb Exp $
32 */
33
34 /*
35 * Mach Operating System
36 * Copyright (c) 1989 Carnegie-Mellon University
37 * Copyright (c) 1988 Carnegie-Mellon University
38 * Copyright (c) 1987 Carnegie-Mellon University
39 * All rights reserved. The CMU software License Agreement specifies
40 * the terms and conditions for use and redistribution.
41 */
42
43 /*
44 * HISTORY
45 * $Log: coda_pioctl.h,v $
46 * Revision 1.2 1998/09/08 17:12:49 rvb
47 * Pass2 complete
48 *
49 * Revision 1.1.1.1 1998/08/29 21:26:46 rvb
50 * Very Preliminary Coda
51 *
52 * Revision 1.7 1998/08/28 18:12:26 rvb
53 * Now it also works on FreeBSD -current. This code will be
54 * committed to the FreeBSD -current and NetBSD -current
55 * trees. It will then be tailored to the particular platform
56 * by flushing conditional code.
57 *
58 * Revision 1.6 1998/08/18 17:05:26 rvb
59 * Don't use __RCSID now
60 *
61 * Revision 1.5 1998/08/18 16:31:51 rvb
62 * Sync the code for NetBSD -current; test on 1.3 later
63 *
64 * Revision 1.4 98/01/23 11:53:54 rvb
65 * Bring RVB_CFS1_1 to HEAD
66 *
67 * Revision 1.3.2.1 97/12/06 17:41:29 rvb
68 * Sync with peters coda.h
69 *
70 * Revision 1.3 97/12/05 10:39:31 rvb
71 * Read CHANGES
72 *
73 * Revision 1.2.34.2 97/11/13 22:03:06 rvb
74 * pass2 cfs_NetBSD.h mt
75 *
76 * Revision 1.2.34.1 97/11/12 12:38:11 rvb
77 * mach_vioctl.h -> pioctl.h
78 *
79 * Revision 1.2 96/01/02 16:57:27 bnoble
80 * Added support for Coda MiniCache and raw inode calls (final commit)
81 *
82 * Revision 1.1.2.1 1995/12/20 01:57:54 bnoble
83 * Added CFS-specific files
84 *
85 * Revision 2.4 90/08/30 11:51:12 bohman
86 * Ioctl changes for STDC.
87 * [90/08/28 bohman]
88 *
89 * Revision 2.3 89/03/09 22:10:26 rpd
90 * More cleanup.
91 *
92 * Revision 2.2 89/02/25 17:58:32 gm0w
93 * Changes for cleanup.
94 *
95 * 7-Feb-87 Avadis Tevanian (avie) at Carnegie-Mellon University
96 * No need for VICE conditional.
97 *
98 * 22-Oct-86 Jay Kistler (jjk) at Carnegie-Mellon University
99 * Created from Andrew's vice.h and viceioctl.h.
100 *
101 */
102
103 /*
104 * ITC Remote file system - vice ioctl interface module
105 */
106
107 /*
108 * TODO: Find /usr/local/include/viceioctl.h.
109 */
110
111 #ifndef _SYS_PIOCTL_H_
112 #define _SYS_PIOCTL_H_
113
114 /* The 2K limits above are a consequence of the size of the kernel buffer
115 used to buffer requests from the user to venus--2*MAXPATHLEN.
116 The buffer pointers may be null, or the counts may be 0 if there
117 are no input or output parameters
118 */
119
120 #define _VICEIOCTL(id) ((unsigned int ) _IOW('V', id, struct ViceIoctl))
121
122 /* Use this macro to define up to 256 vice ioctl's. These ioctl's
123 all potentially have in/out parameters--this depends upon the
124 values in the ViceIoctl structure. This structure is itself passed
125 into the kernel by the normal ioctl parameter passing mechanism.
126 */
127
128 #define _VALIDVICEIOCTL(com) (com >= _VICEIOCTL(0) && com <= _VICEIOCTL(255))
129
130 #endif
131