general.h 924 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef GENERAL_H_INCLUDED
  2. #define GENERAL_H_INCLUDED
  3. #include <stdio.h>
  4. #include <windows.h>
  5. #include "internal.h"
  6. #include "disk_image.h"
  7. #include "cache.h"
  8. #include "bitmap.h"
  9. #define ALIGN_UP(addr, n) (((addr) + (n) - 1)/(n)*(n))
  10. #define ALIGN_DOWN(addr, n) ((addr)/(n)*(n))
  11. #define COUNTOF(arr) (sizeof(arr)/sizeof((arr)[0]))
  12. typedef struct _MINIX_FS
  13. {
  14. DISK_IMG *pImg;
  15. unsigned uOffset, cbLen;
  16. struct super_block Super;
  17. MX_BITMAP InodeMap;
  18. MX_BITMAP ZoneMap;
  19. CRITICAL_SECTION Lock;
  20. MX_BLOCK_CACHE Cache;
  21. } MINIX_FS;
  22. MINIX_FS *MxfsOpen(DISK_IMG *pImg, unsigned uOffset, unsigned uLen);
  23. void MxfsClose(MINIX_FS *pFileSys);
  24. FORCEINLINE void *MxfsAlloc(unsigned uSize)
  25. {
  26. return HeapAlloc(GetProcessHeap(), 0, uSize);
  27. }
  28. FORCEINLINE void MxfsFree(void *pMem)
  29. {
  30. if(pMem)
  31. HeapFree(GetProcessHeap(), 0, pMem);
  32. }
  33. #define MINIX_VOLUME_ID 0x5F7AC349
  34. #endif // GENERAL_H_INCLUDED