Home | History | Annotate | Line # | Download | only in coda
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