Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.2 KiB

  1. /*++
  2. Copyright (c) 1998
  3. Module Name:
  4. arbitrate.h
  5. Abstract:
  6. These are the structures and defines that are used in the
  7. arbitration code.
  8. Authors:
  9. Gor Nishanov (t-gorn) 5-Jun-1998
  10. Revision History:
  11. --*/
  12. #ifndef ARBITRATE_H
  13. #define ARBITRATE_H
  14. #define DEFAULT_SECTOR_SIZE 512 // must be a power of two //
  15. #define BLOCK_X 11
  16. #define BLOCK_Y 12
  17. DWORD
  18. DiskArbitration(
  19. IN OUT PDISK_RESOURCE ResourceEntry,
  20. IN HANDLE FileHandle
  21. );
  22. DWORD
  23. StartPersistentReservations(
  24. IN OUT PDISK_RESOURCE ResourceEntry,
  25. IN HANDLE FileHandle
  26. );
  27. VOID
  28. StopPersistentReservations(
  29. IN OUT PDISK_RESOURCE ResourceEntry
  30. );
  31. VOID
  32. ArbitrationInitialize(
  33. VOID
  34. );
  35. VOID
  36. ArbitrationCleanup(
  37. VOID
  38. );
  39. DWORD
  40. ArbitrationInfoInit(
  41. IN OUT PDISK_RESOURCE ResourceEntry
  42. );
  43. VOID
  44. ArbitrationInfoCleanup(
  45. IN OUT PDISK_RESOURCE ResourceEntry
  46. );
  47. VOID
  48. DestroyArbWorkQueue(
  49. VOID
  50. );
  51. DWORD
  52. CreateArbWorkQueue(
  53. IN RESOURCE_HANDLE ResourceHandle
  54. );
  55. #define ReservationInProgress(ResEntry) ( (ResEntry)->ArbitrationInfo.ControlHandle )
  56. #endif // ARBITRATE_H