coda_pioctl.h revision 1.3 1 1.3 rvb /* $NetBSD: coda_pioctl.h,v 1.3 1998/09/12 15:05:50 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.3 rvb * Revision 1.3 1998/09/12 15:05:50 rvb
47 1.3 rvb * Change cfs/CFS in symbols, strings and constants to coda/CODA
48 1.3 rvb * to avoid fs conflicts.
49 1.2 rvb *
50 1.2 rvb * Revision 1.2 1998/09/08 17:12:49 rvb
51 1.2 rvb * Pass2 complete
52 1.1 rvb *
53 1.1 rvb * Revision 1.1.1.1 1998/08/29 21:26:46 rvb
54 1.1 rvb * Very Preliminary Coda
55 1.1 rvb *
56 1.1 rvb * Revision 1.7 1998/08/28 18:12:26 rvb
57 1.1 rvb * Now it also works on FreeBSD -current. This code will be
58 1.1 rvb * committed to the FreeBSD -current and NetBSD -current
59 1.1 rvb * trees. It will then be tailored to the particular platform
60 1.1 rvb * by flushing conditional code.
61 1.1 rvb *
62 1.1 rvb * Revision 1.6 1998/08/18 17:05:26 rvb
63 1.1 rvb * Don't use __RCSID now
64 1.1 rvb *
65 1.3 rvb * Revision 1.5 1998/08/18 16:31:51 rvb
66 1.1 rvb * Sync the code for NetBSD -current; test on 1.3 later
67 1.1 rvb *
68 1.1 rvb * Revision 1.4 98/01/23 11:53:54 rvb
69 1.1 rvb * Bring RVB_CODA1_1 to HEAD
70 1.1 rvb *
71 1.1 rvb * Revision 1.3.2.1 97/12/06 17:41:29 rvb
72 1.1 rvb * Sync with peters coda.h
73 1.1 rvb *
74 1.1 rvb * Revision 1.3 97/12/05 10:39:31 rvb
75 1.1 rvb * Read CHANGES
76 1.1 rvb *
77 1.1 rvb * Revision 1.2.34.2 97/11/13 22:03:06 rvb
78 1.1 rvb * pass2 cfs_NetBSD.h mt
79 1.1 rvb *
80 1.1 rvb * Revision 1.2.34.1 97/11/12 12:38:11 rvb
81 1.1 rvb * mach_vioctl.h -> pioctl.h
82 1.1 rvb *
83 1.3 rvb * Revision 1.2 96/01/02 16:57:27 bnoble
84 1.1 rvb * Added support for Coda MiniCache and raw inode calls (final commit)
85 1.1 rvb *
86 1.1 rvb * Revision 1.1.2.1 1995/12/20 01:57:54 bnoble
87 1.1 rvb * Added CODA-specific files
88 1.1 rvb *
89 1.1 rvb * Revision 2.4 90/08/30 11:51:12 bohman
90 1.1 rvb * Ioctl changes for STDC.
91 1.1 rvb * [90/08/28 bohman]
92 1.1 rvb *
93 1.1 rvb * Revision 2.3 89/03/09 22:10:26 rpd
94 1.1 rvb * More cleanup.
95 1.1 rvb *
96 1.1 rvb * Revision 2.2 89/02/25 17:58:32 gm0w
97 1.1 rvb * Changes for cleanup.
98 1.1 rvb *
99 1.1 rvb * 7-Feb-87 Avadis Tevanian (avie) at Carnegie-Mellon University
100 1.1 rvb * No need for VICE conditional.
101 1.1 rvb *
102 1.2 rvb * 22-Oct-86 Jay Kistler (jjk) at Carnegie-Mellon University
103 1.1 rvb * Created from Andrew's vice.h and viceioctl.h.
104 1.1 rvb *
105 1.1 rvb */
106 1.1 rvb
107 1.1 rvb /*
108 1.1 rvb * ITC Remote file system - vice ioctl interface module
109 1.1 rvb */
110 1.1 rvb
111 1.1 rvb /*
112 1.1 rvb * TODO: Find /usr/local/include/viceioctl.h.
113 1.1 rvb */
114 1.1 rvb
115 1.1 rvb #ifndef _SYS_PIOCTL_H_
116 1.1 rvb #define _SYS_PIOCTL_H_
117 1.1 rvb
118 1.1 rvb /* The 2K limits above are a consequence of the size of the kernel buffer
119 1.1 rvb used to buffer requests from the user to venus--2*MAXPATHLEN.
120 1.1 rvb The buffer pointers may be null, or the counts may be 0 if there
121 1.2 rvb are no input or output parameters
122 1.1 rvb */
123 1.1 rvb
124 1.1 rvb #define _VICEIOCTL(id) ((unsigned int ) _IOW('V', id, struct ViceIoctl))
125 1.1 rvb
126 1.1 rvb /* Use this macro to define up to 256 vice ioctl's. These ioctl's
127 1.1 rvb all potentially have in/out parameters--this depends upon the
128 1.1 rvb values in the ViceIoctl structure. This structure is itself passed
129 1.1 rvb into the kernel by the normal ioctl parameter passing mechanism.
130 1.2 rvb */
131
132 #define _VALIDVICEIOCTL(com) (com >= _VICEIOCTL(0) && com <= _VICEIOCTL(255))
133
134 #endif
135