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.

179 lines
3.3 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows NT **/
  3. /** Copyright(c) Microsoft Corp., 1993 **/
  4. /**********************************************************************/
  5. /*
  6. w3proc.hxx
  7. This file contains the global procedure definitions for the
  8. W3 Service.
  9. FILE HISTORY:
  10. KeithMo 07-Mar-1993 Created.
  11. */
  12. #ifndef _W3PROC_H_
  13. #define _W3PROC_H_
  14. //
  15. // Global variable initialization & termination function.
  16. //
  17. APIERR InitializeGlobals( VOID );
  18. VOID TerminateGlobals( VOID );
  19. APIERR InitializeCGI( VOID );
  20. VOID TerminateCGI( VOID );
  21. VOID KillCGIProcess( VOID );
  22. VOID KillCGIInstanceProcs( W3_SERVER_INSTANCE *pw3siInstance );
  23. APIERR WriteConfiguration( VOID );
  24. BOOL IsEncryptionPermitted( VOID );
  25. BOOL
  26. ReadParams(
  27. FIELD_CONTROL fc
  28. );
  29. VOID
  30. TerminateParams(
  31. VOID
  32. );
  33. //
  34. // Socket utilities.
  35. //
  36. APIERR
  37. InitializeSockets(
  38. IN PW3_IIS_SERVICE pService
  39. );
  40. VOID
  41. TerminateSockets(
  42. IN PW3_IIS_SERVICE pService
  43. );
  44. VOID W3Completion( PVOID Context,
  45. DWORD BytesWritten,
  46. DWORD CompletionStatus,
  47. OVERLAPPED * lpo );
  48. VOID W3OnConnect( SOCKET sNew,
  49. SOCKADDR_IN * psockaddr, //Should be SOCKADDR *
  50. PVOID pEndpointContext,
  51. PVOID pEndpointObject );
  52. VOID
  53. W3OnConnectEx(
  54. PVOID patqContext,
  55. DWORD cbWritten,
  56. DWORD err,
  57. OVERLAPPED * lpo
  58. );
  59. SOCKERR CloseSocket( SOCKET sock );
  60. SOCKERR ResetSocket( SOCKET sock );
  61. //
  62. // User database functions.
  63. //
  64. VOID DisconnectAllUsers( VOID );
  65. //
  66. // Service control functions.
  67. //
  68. VOID ServiceEntry( DWORD cArgs,
  69. LPWSTR pArgs[]
  70. );
  71. //
  72. // File type mime mapping functions
  73. //
  74. enum MIMEMAP_TYPE
  75. {
  76. MIMEMAP_MIME_TYPE = 0, // Get the MIME type associated with the ext.
  77. MIMEMAP_MIME_ICON // Get the icon associated with the ext.
  78. };
  79. BOOL SelectMimeMapping( STR * pstrData,
  80. const CHAR * pszPath,
  81. class W3_METADATA *pMetaData,
  82. enum MIMEMAP_TYPE type = MIMEMAP_MIME_TYPE );
  83. //
  84. // Filter dll functions
  85. //
  86. FILTER_LIST *
  87. InitializeFilters(
  88. BOOL * pfAnySecureFilters,
  89. W3_IIS_SERVICE * pSvc
  90. );
  91. VOID TerminateFilters( VOID );
  92. //
  93. // Ole support stuff
  94. //
  95. DWORD
  96. InitializeOleHack(
  97. VOID
  98. );
  99. VOID
  100. TerminateOleHack(
  101. VOID
  102. );
  103. //
  104. // General utility functions.
  105. //
  106. TCHAR * FlipSlashes( TCHAR * pszPath );
  107. BOOL CheckForTermination( BOOL * pfTerminated,
  108. BUFFER * pbuff,
  109. UINT cbData,
  110. BYTE * * ppExtraData,
  111. DWORD * pcbExtraData,
  112. UINT cbReallocSize );
  113. BOOL IsPointNine( CHAR * pchReq );
  114. CHAR * SkipNonWhite( CHAR * pch );
  115. CHAR * SkipTo( CHAR * pch, CHAR ch );
  116. char * SkipWhite( char * pch);
  117. dllexp BYTE * ScanForTerminator( const TCHAR * pch );
  118. //
  119. // Registry extension map support for downlevel support
  120. //
  121. APIERR
  122. ReadRegistryExtMap(
  123. VOID
  124. );
  125. VOID
  126. FreeRegistryExtMap(
  127. VOID
  128. );
  129. #endif // _W3PROC_H_
  130.