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