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