fs.h 1.6 KB

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