fs.h 1.5 KB

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