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