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.

211 lines
3.8 KiB

  1. /*++
  2. Copyright (c) 1998-2001 Microsoft Corporation
  3. Module Name:
  4. precomp.h
  5. Abstract:
  6. This is the local header file for UL. It includes all other
  7. necessary header files for UL.
  8. Author:
  9. Keith Moore (keithmo) 10-Jun-1998
  10. Revision History:
  11. --*/
  12. #ifndef _PRECOMP_H_
  13. #define _PRECOMP_H_
  14. #define __HTTP_SYS__
  15. //
  16. // System include files.
  17. //
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. // Need this hack until somebody expose
  22. // the QoS Guids in a kernel lib.
  23. #ifndef INITGUID
  24. #define INITGUID
  25. #endif
  26. #define PsThreadType _PsThreadType_
  27. #include <ntosp.h>
  28. #undef PsThreadType
  29. extern POBJECT_TYPE *PsThreadType;
  30. #include <zwapi.h>
  31. //#include <fsrtl.h>
  32. //#include <ntifs.h>
  33. #include <ntddtcp.h>
  34. #include <ipexport.h>
  35. #include <tdikrnl.h>
  36. #include <tdiinfo.h>
  37. #include <tcpinfo.h>
  38. #include <stdio.h>
  39. #include <string.h>
  40. #include <stdlib.h>
  41. //
  42. // NT QoS Stuff Related Include files
  43. //
  44. #include <wmistr.h>
  45. #include <ntddndis.h>
  46. #include <qos.h>
  47. #include <traffic.h>
  48. #include <Ipinfo.h>
  49. #include <Llinfo.h>
  50. //
  51. // Stop using the local copies of this headers
  52. // and use them frm public\internal\net\inc when
  53. // they are available.
  54. //
  55. #include <ntddtc.h>
  56. #include <gpcifc.h>
  57. #include <gpcstruc.h>
  58. #ifdef __cplusplus
  59. } // extern "C"
  60. #endif
  61. //
  62. // Force the memxxx() functions to be intrinsics so we can build
  63. // the driver even if MSC_OPTIMIZATION=/Od is specified. This is
  64. // necessary because the memxxx() functions are not exported by
  65. // NTOSKRNL.
  66. //
  67. #pragma intrinsic( memcmp, memcpy, memset )
  68. //
  69. // Fake up some Windows types for kernel mode
  70. //
  71. typedef unsigned long DWORD;
  72. typedef unsigned int UINT;
  73. typedef unsigned char BYTE;
  74. typedef BYTE* PBYTE;
  75. //
  76. // Project include files.
  77. //
  78. #include "nt4hack.h"
  79. #include <http.h>
  80. // Local include files.
  81. //
  82. #pragma warning( disable: 4200 ) // zero length arrays
  83. #ifdef __cplusplus
  84. extern "C" {
  85. #endif // __cplusplus
  86. #include "hashfn.h"
  87. #include "iisdef.h"
  88. #include "config.h"
  89. #include "pplasl.h"
  90. #include "debug.h"
  91. #include "notify.h"
  92. #include "rwlock.h"
  93. #include "type.h"
  94. #include "tracelog.h"
  95. #include "reftrace.h"
  96. #include "ownerref.h"
  97. #include "irptrace.h"
  98. #include "timetrace.h"
  99. #include "largemem.h"
  100. #include "pipeline.h"
  101. #include "pipelinep.h"
  102. #include "mdlutil.h"
  103. #include "opaqueid.h"
  104. #include "httptdi.h"
  105. #include "thrdpool.h"
  106. #include "filterp.h"
  107. #include "filter.h"
  108. #include "filtqtrace.h"
  109. #include "ioctl.h"
  110. #include "cgroup.h"
  111. #include "ullog.h"
  112. #include "cache.h"
  113. #include "data.h"
  114. #include "httptypes.h"
  115. #include "misc.h"
  116. #include "ultdi.h"
  117. #include "ultdip.h"
  118. #include "repltrace.h"
  119. #include "engine.h"
  120. #include "parse.h"
  121. #include "apool.h"
  122. #include "httpconn.h"
  123. #include "filecache.h"
  124. #include "sendresponse.h"
  125. #include "proc.h"
  126. #include "httprcv.h"
  127. #include "opaqueidp.h"
  128. #include "control.h"
  129. #include "ultci.h"
  130. #include "counters.h"
  131. #include "seutil.h"
  132. #include "ultcip.h"
  133. #include "fastio.h"
  134. #include "timeouts.h"
  135. #include "hash.h"
  136. // BUGBUG: should not need to declare these
  137. NTKERNELAPI
  138. BOOLEAN
  139. FsRtlMdlReadDev (
  140. IN PFILE_OBJECT FileObject,
  141. IN PLARGE_INTEGER FileOffset,
  142. IN ULONG Length,
  143. IN ULONG LockKey,
  144. OUT PMDL *MdlChain,
  145. OUT PIO_STATUS_BLOCK IoStatus,
  146. IN PDEVICE_OBJECT DeviceObject
  147. );
  148. NTKERNELAPI
  149. BOOLEAN
  150. FsRtlMdlReadCompleteDev (
  151. IN PFILE_OBJECT FileObject,
  152. IN PMDL MdlChain,
  153. IN PDEVICE_OBJECT DeviceObject
  154. );
  155. NTKERNELAPI
  156. VOID
  157. SeOpenObjectAuditAlarm (
  158. IN PUNICODE_STRING ObjectTypeName,
  159. IN PVOID Object OPTIONAL,
  160. IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
  161. IN PSECURITY_DESCRIPTOR SecurityDescriptor,
  162. IN PACCESS_STATE AccessState,
  163. IN BOOLEAN ObjectCreated,
  164. IN BOOLEAN AccessGranted,
  165. IN KPROCESSOR_MODE AccessMode,
  166. OUT PBOOLEAN GenerateOnClose
  167. );
  168. #ifdef __cplusplus
  169. }; // extern "C"
  170. #endif
  171. #endif // _PRECOMP_H_