plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

fs.h (1824B)


      1 typedef struct Fs Fs;
      2 typedef struct File File;
      3 typedef struct DirEntryEnum DirEntryEnum;
      4 
      5 #pragma incomplete Fs
      6 #pragma incomplete File
      7 #pragma incomplete DirEntryEnum
      8 
      9 enum
     10 {
     11 	STACK = 32*1024,
     12 };
     13 
     14 enum
     15 {
     16 	// XXX What to do here?
     17 	VtMaxLumpSize = 65536,
     18 };
     19 
     20 /* modes */
     21 
     22 enum {
     23 	OReadOnly,
     24 	OReadWrite,
     25 	OOverWrite,
     26 };
     27 
     28 extern char *currfsysname;
     29 extern char *foptname;
     30 
     31 void	fsClose(Fs*);
     32 int	fsEpochLow(Fs*, u32int);
     33 File	*fsGetRoot(Fs*);
     34 int	fsHalt(Fs*);
     35 Fs	*fsOpen(char*, VtConn*, long, int);
     36 int	fsRedial(Fs*, char*);
     37 void	fsSnapshotCleanup(Fs*, u32int);
     38 int	fsSnapshot(Fs*, char*, char*, int);
     39 void	fsSnapshotRemove(Fs*);
     40 int	fsSync(Fs*);
     41 int	fsUnhalt(Fs*);
     42 int	fsVac(Fs*, char*, uchar[VtScoreSize]);
     43 
     44 void	deeClose(DirEntryEnum*);
     45 DirEntryEnum *deeOpen(File*);
     46 int	deeRead(DirEntryEnum*, DirEntry*);
     47 int	fileClri(File*, char*, char*);
     48 int	fileClriPath(Fs*, char*, char*);
     49 File	*fileCreate(File*, char*, ulong, char*);
     50 int	fileDecRef(File*);
     51 int	fileGetDir(File*, DirEntry*);
     52 uvlong	fileGetId(File*);
     53 ulong	fileGetMcount(File*);
     54 ulong	fileGetMode(File*);
     55 File	*fileGetParent(File*);
     56 int	fileGetSize(File*, uvlong*);
     57 File	*fileIncRef(File*);
     58 int	fileIsDir(File*);
     59 int	fileIsTemporary(File*);
     60 int	fileIsAppend(File*);
     61 int	fileIsExclusive(File*);
     62 int	fileIsRoFs(File*);
     63 int	fileIsRoot(File*);
     64 int	fileMapBlock(File*, ulong, uchar[VtScoreSize], ulong);
     65 int	fileMetaFlush(File*, int);
     66 char	*fileName(File *f);
     67 File	*fileOpen(Fs*, char*);
     68 int	fileRead(File*, void *, int, vlong);
     69 int	fileRemove(File*, char*);
     70 int	fileSetDir(File*, DirEntry*, char*);
     71 int	fileSetQidSpace(File*, u64int, u64int);
     72 int	fileSetSize(File*, uvlong);
     73 int	fileSync(File*);
     74 int	fileTruncate(File*, char*);
     75 File	*fileWalk(File*, char*);
     76 File	*_fileWalk(File*, char*, int);
     77 int	fileWalkSources(File*);
     78 int	fileWrite(File*, void *, int, vlong, char*);