Windows NT 4.0 source code leak
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.

105 lines
2.7 KiB

4 years ago
  1. #include <ntverp.h>
  2. #ifdef VER_PRODUCTBUILD
  3. #define rmm VER_PRODUCTBUILD
  4. #endif
  5. #define DIGI_PHYSICAL_ADDRESS_CONST(_Low, _High) \
  6. { (ULONG)(_Low), (LONG)(_High) }
  7. #define DIGI_STATUS_FILE_NOT_FOUND ((NTSTATUS)0xC001001BL)
  8. #define DIGI_STATUS_ERROR_READING_FILE ((NTSTATUS)0xC001001CL)
  9. #define DIGI_STATUS_ALREADY_MAPPED ((NTSTATUS)0xC001001DL)
  10. VOID DigiOpenFile( OUT PNTSTATUS Status,
  11. OUT PHANDLE FileHandle,
  12. OUT PULONG FileLength,
  13. IN PUNICODE_STRING FileName,
  14. IN PHYSICAL_ADDRESS HighestAcceptableAddress );
  15. VOID DigiCloseFile( IN HANDLE FileHandle );
  16. VOID DigiMapFile( OUT PNTSTATUS Status,
  17. OUT PVOID * MappedBuffer,
  18. IN HANDLE FileHandle );
  19. VOID DigiUnmapFile( IN HANDLE FileHandle );
  20. #ifndef POOL_TAGGING
  21. #define ExAllocatePoolWithTag(a,b,c) ExAllocatePool(a,b)
  22. #endif //POOL_TAGGING
  23. PVOID DigiInitMem( IN ULONG PoolTag );
  24. extern ULONG DefaultPoolTag;
  25. #if DBG || DIGICHECKMEM
  26. PVOID DigiAllocMem( IN POOL_TYPE PoolType, IN ULONG Length );
  27. VOID DigiFreeMem( IN PVOID Buf );
  28. #else
  29. #define DigiAllocMem( PoolType, Length ) ExAllocatePoolWithTag( PoolType, \
  30. Length, \
  31. DefaultPoolTag )
  32. #define DigiFreeMem( Buffer ) ExFreePool( Buffer )
  33. #endif
  34. //
  35. // The following are prototypes for functions found in dgatlas.c
  36. //
  37. NTSTATUS DigiRegisterAtlasName( IN PUNICODE_STRING DeviceName,
  38. IN PUNICODE_STRING ValueName,
  39. IN PUNICODE_STRING ValueEntry );
  40. #if rmm <= 807
  41. #define MmLockPagableCodeSection( a ) MmLockPagableImageSection( a )
  42. #endif
  43. #if rmm <= 528
  44. NTSTATUS
  45. NTAPI
  46. ZwCreateFile(
  47. OUT PHANDLE FileHandle,
  48. IN ACCESS_MASK DesiredAccess,
  49. IN POBJECT_ATTRIBUTES ObjectAttributes,
  50. OUT PIO_STATUS_BLOCK IoStatusBlock,
  51. IN PLARGE_INTEGER AllocationSize OPTIONAL,
  52. IN ULONG FileAttributes,
  53. IN ULONG ShareAccess,
  54. IN ULONG CreateDisposition,
  55. IN ULONG CreateOptions,
  56. IN PVOID EaBuffer OPTIONAL,
  57. IN ULONG EaLength
  58. );
  59. NTSTATUS
  60. NTAPI
  61. ZwQueryInformationFile(
  62. IN HANDLE FileHandle,
  63. OUT PIO_STATUS_BLOCK IoStatusBlock,
  64. OUT PVOID FileInformation,
  65. IN ULONG Length,
  66. IN FILE_INFORMATION_CLASS FileInformationClass
  67. );
  68. NTSTATUS
  69. NTAPI
  70. ZwReadFile(
  71. IN HANDLE FileHandle,
  72. IN HANDLE Event OPTIONAL,
  73. IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
  74. IN PVOID ApcContext OPTIONAL,
  75. OUT PIO_STATUS_BLOCK IoStatusBlock,
  76. OUT PVOID Buffer,
  77. IN ULONG Length,
  78. IN PLARGE_INTEGER ByteOffset OPTIONAL,
  79. IN PULONG Key OPTIONAL
  80. );
  81. #endif