Home | History | Annotate | Line # | Download | only in coda
coda_venus.h revision 1.1
      1 /*
      2 
      3             Coda: an Experimental Distributed File System
      4                              Release 3.1
      5 
      6           Copyright (c) 1987-1998 Carnegie Mellon University
      7                          All Rights Reserved
      8 
      9 Permission  to  use, copy, modify and distribute this software and its
     10 documentation is hereby granted,  provided  that  both  the  copyright
     11 notice  and  this  permission  notice  appear  in  all  copies  of the
     12 software, derivative works or  modified  versions,  and  any  portions
     13 thereof, and that both notices appear in supporting documentation, and
     14 that credit is given to Carnegie Mellon University  in  all  documents
     15 and publicity pertaining to direct or indirect use of this code or its
     16 derivatives.
     17 
     18 CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
     19 SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
     20 FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
     21 DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
     22 RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
     23 ANY DERIVATIVE WORK.
     24 
     25 Carnegie  Mellon  encourages  users  of  this  software  to return any
     26 improvements or extensions that  they  make,  and  to  grant  Carnegie
     27 Mellon the rights to redistribute these changes without encumbrance.
     28 */
     29 
     30 /* $Header: /tank/opengrok/rsync2/NetBSD/src/sys/coda/coda_venus.h,v 1.1 1998/08/29 21:26:45 rvb Exp $ */
     31 
     32 int
     33 venus_root(void *mdp,
     34 	struct ucred *cred, struct proc *p,
     35 /*out*/	ViceFid *VFid);
     36 
     37 int
     38 venus_open(void *mdp, ViceFid *fid, int flag,
     39 	struct ucred *cred, struct proc *p,
     40 /*out*/	dev_t *dev, ino_t *inode);
     41 
     42 int
     43 venus_close(void *mdp, ViceFid *fid, int flag,
     44 	struct ucred *cred, struct proc *p);
     45 
     46 void
     47 venus_read(void);
     48 
     49 void
     50 venus_write(void);
     51 
     52 int
     53 venus_ioctl(void *mdp, ViceFid *fid,
     54 	int com, int flag, caddr_t data,
     55 	struct ucred *cred, struct proc *p);
     56 
     57 int
     58 venus_getattr(void *mdp, ViceFid *fid,
     59 	struct ucred *cred, struct proc *p,
     60 /*out*/	struct vattr *vap);
     61 
     62 int
     63 venus_setattr(void *mdp, ViceFid *fid, struct vattr *vap,
     64 	struct ucred *cred, struct proc *p);
     65 
     66 int
     67 venus_access(void *mdp, ViceFid *fid, int mode,
     68 	struct ucred *cred, struct proc *p);
     69 
     70 int
     71 venus_readlink(void *mdp, ViceFid *fid,
     72 	struct ucred *cred, struct proc *p,
     73 /*out*/	char **str, int *len);
     74 
     75 int
     76 venus_fsync(void *mdp, ViceFid *fid,
     77 	struct ucred *cred, struct proc *p);
     78 
     79 int
     80 venus_lookup(void *mdp, ViceFid *fid,
     81     	const char *nm, int len,
     82 	struct ucred *cred, struct proc *p,
     83 /*out*/	ViceFid *VFid, int *vtype);
     84 
     85 int
     86 venus_create(void *mdp, ViceFid *fid,
     87     	const char *nm, int len, int exclusive, int mode, struct vattr *va,
     88 	struct ucred *cred, struct proc *p,
     89 /*out*/	ViceFid *VFid, struct vattr *attr);
     90 
     91 int
     92 venus_remove(void *mdp, ViceFid *fid,
     93         const char *nm, int len,
     94 	struct ucred *cred, struct proc *p);
     95 
     96 int
     97 venus_link(void *mdp, ViceFid *fid, ViceFid *tfid,
     98         const char *nm, int len,
     99 	struct ucred *cred, struct proc *p);
    100 
    101 int
    102 venus_rename(void *mdp, ViceFid *fid, ViceFid *tfid,
    103         const char *nm, int len, const char *tnm, int tlen,
    104 	struct ucred *cred, struct proc *p);
    105 
    106 int
    107 venus_mkdir(void *mdp, ViceFid *fid,
    108     	const char *nm, int len, struct vattr *va,
    109 	struct ucred *cred, struct proc *p,
    110 /*out*/	ViceFid *VFid, struct vattr *ova);
    111 
    112 int
    113 venus_rmdir(void *mdp, ViceFid *fid,
    114     	const char *nm, int len,
    115 	struct ucred *cred, struct proc *p);
    116 
    117 int
    118 venus_symlink(void *mdp, ViceFid *fid,
    119         const char *lnm, int llen, const char *nm, int len, struct vattr *va,
    120 	struct ucred *cred, struct proc *p);
    121 
    122 int
    123 venus_readdir(void *mdp, ViceFid *fid,
    124     	int count, int offset,
    125 	struct ucred *cred, struct proc *p,
    126 /*out*/	char *buffer, int *len);
    127 
    128 int
    129 venus_fhtovp(void *mdp, ViceFid *fid,
    130 	struct ucred *cred, struct proc *p,
    131 /*out*/	ViceFid *VFid, int *vtype);
    132