Leaked source code of windows server 2003
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.

154 lines
2.5 KiB

  1. /*++
  2. Copyright (c) 1990-2000 Microsoft Corporation
  3. Module Name:
  4. Ulib.hxx
  5. Abstract:
  6. Author:
  7. David J. Gilman (davegi) 22-Oct-1990
  8. Environment:
  9. ULIB, User Mode
  10. --*/
  11. #if !defined ( _ULIB_DEFINED_ )
  12. //#define RUN_ON_W2K 1
  13. #define _ULIB_DEFINED_
  14. //
  15. // Autocheck implies no windows header files so this helps make up the
  16. // difference. Autocheck also has a special Debug switch, since
  17. // it allows printing to the debugger but does not execute any other
  18. // debug-only code.
  19. //
  20. #if defined( _AUTOCHECK_ )
  21. #define _NTAPI_ULIB_
  22. #if DBG
  23. #define _AUTOCHECK_DBG_
  24. #endif
  25. #undef DBG
  26. #define DBG 0
  27. #else
  28. #ifndef _NTAPI_ULIB_
  29. #define _NTAPI_ULIB_
  30. #endif
  31. #endif // _AUTOCHECK_
  32. extern "C" {
  33. #if defined( _NTAPI_ULIB_ )
  34. #include <nt.h>
  35. #include <ntrtl.h>
  36. #include <nturtl.h>
  37. #include <ntdddisk.h>
  38. #endif // _NTAPI_ULIB_
  39. #if !defined( _AUTOCHECK_ )
  40. #include <windows.h>
  41. #endif // _AUTOCHECK_
  42. }
  43. //
  44. // Function prototypes for Ulib non member functions (see ulib.cxx)
  45. //
  46. extern "C"
  47. BOOLEAN
  48. InitializeUlib(
  49. IN HANDLE DllHandle,
  50. IN ULONG Reason,
  51. IN PVOID Reserved
  52. );
  53. //
  54. // Intrinsic functions
  55. //
  56. #if DBG==0
  57. #pragma intrinsic( memset, memcpy, memcmp )
  58. #endif
  59. //
  60. // Here's the scoop...ntdef.h defined NULL to be ( PVOID ) 0.
  61. // Cfront barfs on this if you try and assign NULL to any other pointer type.
  62. // This leaves two options (a) cast all NULL assignments or (b) define NULL
  63. // to be zero which is what C++ expects.
  64. //
  65. #if defined( NULL )
  66. #undef NULL
  67. #endif
  68. #define NULL ( 0 )
  69. //
  70. // Make sure const is not defined.
  71. //
  72. #if defined( const )
  73. #undef const
  74. #endif
  75. #include "ulibdef.hxx"
  76. #include "object.hxx"
  77. #include "clasdesc.hxx"
  78. //
  79. // External definitions for global objects (see ulib.cxx)
  80. //
  81. DECLARE_CLASS( PATH );
  82. #if !defined( _AUTOCHECK_ )
  83. DECLARE_CLASS( STREAM );
  84. //
  85. // Standard streams
  86. //
  87. extern PSTREAM Standard_Input_Stream;
  88. extern PSTREAM Standard_Output_Stream;
  89. extern PSTREAM Standard_Error_Stream;
  90. #endif // _AUTOCHECK
  91. #if !defined( _AUTOCHECK_ )
  92. NONVIRTUAL
  93. ULIB_EXPORT
  94. HANDLE
  95. FindFirstFile (
  96. IN PCPATH Path,
  97. OUT PWIN32_FIND_DATA FileFindData
  98. );
  99. #endif // _AUTOCHECK
  100. #endif // _ULIB_DEFINED_