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