Home | History | Annotate | Line # | Download | only in coda
coda_venus.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_venus.h,v 1.1 1998/08/29 21:26:45 rvb Exp $ */
     31  1.1  rvb 
     32  1.1  rvb int
     33  1.1  rvb venus_root(void *mdp,
     34  1.1  rvb 	struct ucred *cred, struct proc *p,
     35  1.1  rvb /*out*/	ViceFid *VFid);
     36  1.1  rvb 
     37  1.1  rvb int
     38  1.1  rvb venus_open(void *mdp, ViceFid *fid, int flag,
     39  1.1  rvb 	struct ucred *cred, struct proc *p,
     40  1.1  rvb /*out*/	dev_t *dev, ino_t *inode);
     41  1.1  rvb 
     42  1.1  rvb int
     43  1.1  rvb venus_close(void *mdp, ViceFid *fid, int flag,
     44  1.1  rvb 	struct ucred *cred, struct proc *p);
     45  1.1  rvb 
     46  1.1  rvb void
     47  1.1  rvb venus_read(void);
     48  1.1  rvb 
     49  1.1  rvb void
     50  1.1  rvb venus_write(void);
     51  1.1  rvb 
     52  1.1  rvb int
     53  1.1  rvb venus_ioctl(void *mdp, ViceFid *fid,
     54  1.1  rvb 	int com, int flag, caddr_t data,
     55  1.1  rvb 	struct ucred *cred, struct proc *p);
     56  1.1  rvb 
     57  1.1  rvb int
     58  1.1  rvb venus_getattr(void *mdp, ViceFid *fid,
     59  1.1  rvb 	struct ucred *cred, struct proc *p,
     60  1.1  rvb /*out*/	struct vattr *vap);
     61  1.1  rvb 
     62  1.1  rvb int
     63  1.1  rvb venus_setattr(void *mdp, ViceFid *fid, struct vattr *vap,
     64  1.1  rvb 	struct ucred *cred, struct proc *p);
     65  1.1  rvb 
     66  1.1  rvb int
     67  1.1  rvb venus_access(void *mdp, ViceFid *fid, int mode,
     68  1.1  rvb 	struct ucred *cred, struct proc *p);
     69  1.1  rvb 
     70  1.1  rvb int
     71  1.1  rvb venus_readlink(void *mdp, ViceFid *fid,
     72  1.1  rvb 	struct ucred *cred, struct proc *p,
     73  1.1  rvb /*out*/	char **str, int *len);
     74  1.1  rvb 
     75  1.1  rvb int
     76  1.1  rvb venus_fsync(void *mdp, ViceFid *fid,
     77  1.1  rvb 	struct ucred *cred, struct proc *p);
     78  1.1  rvb 
     79  1.1  rvb int
     80  1.1  rvb venus_lookup(void *mdp, ViceFid *fid,
     81  1.1  rvb     	const char *nm, int len,
     82  1.1  rvb 	struct ucred *cred, struct proc *p,
     83  1.1  rvb /*out*/	ViceFid *VFid, int *vtype);
     84  1.1  rvb 
     85  1.1  rvb int
     86  1.1  rvb venus_create(void *mdp, ViceFid *fid,
     87  1.1  rvb     	const char *nm, int len, int exclusive, int mode, struct vattr *va,
     88  1.1  rvb 	struct ucred *cred, struct proc *p,
     89  1.1  rvb /*out*/	ViceFid *VFid, struct vattr *attr);
     90  1.1  rvb 
     91  1.1  rvb int
     92  1.1  rvb venus_remove(void *mdp, ViceFid *fid,
     93  1.1  rvb         const char *nm, int len,
     94  1.1  rvb 	struct ucred *cred, struct proc *p);
     95  1.1  rvb 
     96  1.1  rvb int
     97  1.1  rvb venus_link(void *mdp, ViceFid *fid, ViceFid *tfid,
     98  1.1  rvb         const char *nm, int len,
     99  1.1  rvb 	struct ucred *cred, struct proc *p);
    100  1.1  rvb 
    101  1.1  rvb int
    102  1.1  rvb venus_rename(void *mdp, ViceFid *fid, ViceFid *tfid,
    103  1.1  rvb         const char *nm, int len, const char *tnm, int tlen,
    104  1.1  rvb 	struct ucred *cred, struct proc *p);
    105  1.1  rvb 
    106  1.1  rvb int
    107  1.1  rvb venus_mkdir(void *mdp, ViceFid *fid,
    108  1.1  rvb     	const char *nm, int len, struct vattr *va,
    109  1.1  rvb 	struct ucred *cred, struct proc *p,
    110  1.1  rvb /*out*/	ViceFid *VFid, struct vattr *ova);
    111  1.1  rvb 
    112  1.1  rvb int
    113  1.1  rvb venus_rmdir(void *mdp, ViceFid *fid,
    114  1.1  rvb     	const char *nm, int len,
    115  1.1  rvb 	struct ucred *cred, struct proc *p);
    116  1.1  rvb 
    117  1.1  rvb int
    118  1.1  rvb venus_symlink(void *mdp, ViceFid *fid,
    119  1.1  rvb         const char *lnm, int llen, const char *nm, int len, struct vattr *va,
    120  1.1  rvb 	struct ucred *cred, struct proc *p);
    121  1.1  rvb 
    122  1.1  rvb int
    123  1.1  rvb venus_readdir(void *mdp, ViceFid *fid,
    124  1.1  rvb     	int count, int offset,
    125  1.1  rvb 	struct ucred *cred, struct proc *p,
    126  1.1  rvb /*out*/	char *buffer, int *len);
    127  1.1  rvb 
    128  1.1  rvb int
    129  1.1  rvb venus_fhtovp(void *mdp, ViceFid *fid,
    130  1.1  rvb 	struct ucred *cred, struct proc *p,
    131  1.1  rvb /*out*/	ViceFid *VFid, int *vtype);
    132