coda_pioctl.h revision 1.9 1 1.9 dholland /* $NetBSD: coda_pioctl.h,v 1.9 2015/09/06 06:00:59 dholland Exp $ */
2 1.2 rvb
3 1.1 rvb /*
4 1.6 perry *
5 1.2 rvb * Coda: an Experimental Distributed File System
6 1.2 rvb * Release 3.1
7 1.6 perry *
8 1.2 rvb * Copyright (c) 1987-1998 Carnegie Mellon University
9 1.2 rvb * All Rights Reserved
10 1.6 perry *
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.6 perry *
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.6 perry *
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.6 perry *
31 1.6 perry * @(#) coda/coda_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.6 perry /*
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.2 rvb
43 1.1 rvb /*
44 1.1 rvb * ITC Remote file system - vice ioctl interface module
45 1.1 rvb */
46 1.1 rvb
47 1.1 rvb /*
48 1.1 rvb * TODO: Find /usr/local/include/viceioctl.h.
49 1.1 rvb */
50 1.1 rvb
51 1.1 rvb #ifndef _SYS_PIOCTL_H_
52 1.1 rvb #define _SYS_PIOCTL_H_
53 1.1 rvb
54 1.9 dholland #include <sys/ioccom.h>
55 1.9 dholland
56 1.8 christos /* The 8K limits above are a consequence of the size of the kernel buffer
57 1.1 rvb used to buffer requests from the user to venus--2*MAXPATHLEN.
58 1.1 rvb The buffer pointers may be null, or the counts may be 0 if there
59 1.1 rvb are no input or output parameters
60 1.1 rvb */
61 1.1 rvb
62 1.1 rvb #define _VICEIOCTL(id) ((unsigned int ) _IOW('V', id, struct ViceIoctl))
63 1.2 rvb
64 1.1 rvb /* Use this macro to define up to 256 vice ioctl's. These ioctl's
65 1.1 rvb all potentially have in/out parameters--this depends upon the
66 1.1 rvb values in the ViceIoctl structure. This structure is itself passed
67 1.1 rvb into the kernel by the normal ioctl parameter passing mechanism.
68 1.1 rvb */
69 1.1 rvb
70 1.1 rvb #define _VALIDVICEIOCTL(com) (com >= _VICEIOCTL(0) && com <= _VICEIOCTL(255))
71 1.1 rvb
72 1.2 rvb #endif
73