fs.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. typedef struct Fs Fs;
  2. typedef struct File File;
  3. typedef struct DirEntryEnum DirEntryEnum;
  4. /* modes */
  5. enum {
  6. OReadOnly,
  7. OReadWrite,
  8. OOverWrite,
  9. };
  10. Fs *fsOpen(char*, VtSession*, long, int);
  11. void fsClose(Fs*);
  12. File *fsGetRoot(Fs*);
  13. int fsSnapshot(Fs*, int);
  14. int fsSync(Fs*);
  15. int fsVac(Fs*, char*, uchar[VtScoreSize]);
  16. int fsRedial(Fs*, char*);
  17. int fsEpochLow(Fs*, u32int);
  18. File *fileOpen(Fs*, char*);
  19. File *fileCreate(File*, char*, ulong, char*);
  20. File *fileWalk(File*, char*);
  21. int fileRemove(File*, char*);
  22. int fileClri(Fs*, char*, char*);
  23. int fileRead(File*, void *, int, vlong);
  24. int fileWrite(File*, void *, int, vlong, char*);
  25. uvlong fileGetId(File*);
  26. ulong fileGetMcount(File*);
  27. int fileIsDir(File*);
  28. int fileGetSize(File*, uvlong*);
  29. int fileGetDir(File*, DirEntry*);
  30. int fileSetDir(File*, DirEntry*, char*);
  31. File *fileGetParent(File*);
  32. int fileSync(File*);
  33. File *fileIncRef(File*);
  34. int fileDecRef(File*);
  35. int fileIsRoot(File*);
  36. void fileMetaFlush(File*, int);
  37. int fileSetQidSpace(File*, u64int, u64int);
  38. int fileTruncate(File*, char*);
  39. int fileIsRoFs(File*);
  40. ulong fileGetMode(File*);
  41. DirEntryEnum *deeOpen(File*);
  42. int deeRead(DirEntryEnum*, DirEntry*);
  43. void deeClose(DirEntryEnum*);
  44. int fileWalkSources(File*);