fs.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. extern char *currfsysname;
  14. void fsClose(Fs*);
  15. int fsEpochLow(Fs*, u32int);
  16. File *fsGetRoot(Fs*);
  17. int fsHalt(Fs*);
  18. Fs *fsOpen(char*, VtSession*, long, int);
  19. int fsRedial(Fs*, char*);
  20. void fsSnapshotCleanup(Fs*, u32int);
  21. int fsSnapshot(Fs*, char*, char*, int);
  22. void fsSnapshotRemove(Fs*);
  23. int fsSync(Fs*);
  24. int fsUnhalt(Fs*);
  25. int fsVac(Fs*, char*, uchar[VtScoreSize]);
  26. void deeClose(DirEntryEnum*);
  27. DirEntryEnum *deeOpen(File*);
  28. int deeRead(DirEntryEnum*, DirEntry*);
  29. int fileClri(File*, char*, char*);
  30. int fileClriPath(Fs*, char*, char*);
  31. File *fileCreate(File*, char*, ulong, char*);
  32. int fileDecRef(File*);
  33. int fileGetDir(File*, DirEntry*);
  34. uvlong fileGetId(File*);
  35. ulong fileGetMcount(File*);
  36. ulong fileGetMode(File*);
  37. File *fileGetParent(File*);
  38. int fileGetSize(File*, uvlong*);
  39. File *fileIncRef(File*);
  40. int fileIsDir(File*);
  41. int fileIsRoFs(File*);
  42. int fileIsRoot(File*);
  43. int fileMapBlock(File*, ulong, uchar[VtScoreSize], ulong);
  44. int fileMetaFlush(File*, int);
  45. char *fileName(File *f);
  46. File *fileOpen(Fs*, char*);
  47. int fileRead(File*, void *, int, vlong);
  48. int fileRemove(File*, char*);
  49. int fileSetDir(File*, DirEntry*, char*);
  50. int fileSetQidSpace(File*, u64int, u64int);
  51. int fileSetSize(File*, uvlong);
  52. int fileSync(File*);
  53. int fileTruncate(File*, char*);
  54. File *fileWalk(File*, char*);
  55. File *_fileWalk(File*, char*, int);
  56. int fileWalkSources(File*);
  57. int fileWrite(File*, void *, int, vlong, char*);