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