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.

106 lines
2.1 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. inetsvcs.h
  5. Abstract:
  6. Header file for Internet Services common data/functions.
  7. Author:
  8. Murali R. Krishnan (MuraliK) 20-Feb-1996 - Migrated from old tcpsvcs.h
  9. Revision History:
  10. --*/
  11. #ifndef _INETSVCS_H_
  12. #define _INETSVCS_H_
  13. //
  14. // Service DLLs are loaded into master service executable (eg: inetinfo.exe)
  15. // All the dlls should export this entry point
  16. // defined by INETSVCS_ENTRY_POINT
  17. //
  18. // Note that INETSVCS_ENTRY_POINT_STRING is always ANSI, because that's
  19. // what GetProcAddress takes.
  20. //
  21. #define INETSVCS_ENTRY_POINT ServiceEntry
  22. #define INETSVCS_ENTRY_POINT_STRING "ServiceEntry"
  23. //
  24. // Start and stop RPC server entry point prototype.
  25. //
  26. typedef
  27. DWORD
  28. (*PTCPSVCS_START_RPC_SERVER_LISTEN) (
  29. VOID
  30. );
  31. typedef
  32. DWORD
  33. (*PTCPSVCS_STOP_RPC_SERVER_LISTEN) (
  34. VOID
  35. );
  36. //
  37. // Structure containing "global" data for the various DLLs.
  38. //
  39. typedef struct _TCPSVCS_GLOBAL_DATA {
  40. //
  41. // Entry points provided by TCPSVCS.EXE.
  42. //
  43. PTCPSVCS_START_RPC_SERVER_LISTEN StartRpcServerListen;
  44. PTCPSVCS_STOP_RPC_SERVER_LISTEN StopRpcServerListen;
  45. } TCPSVCS_GLOBAL_DATA, *PTCPSVCS_GLOBAL_DATA;
  46. //
  47. // Service DLL entry point prototype.
  48. //
  49. typedef
  50. VOID
  51. (*PINETSVCS_SERVICE_DLL_ENTRY) (
  52. IN DWORD argc,
  53. IN LPSTR argv[],
  54. IN PTCPSVCS_GLOBAL_DATA pGlobalData
  55. );
  56. #ifndef _NO_TRACING_
  57. #define IIS_PRINTF( x ) { char buff[256]; wsprintf x; DBGPRINTF( (DBG_CONTEXT, buff )); }
  58. #else
  59. #if DBG
  60. #define IIS_PRINTF( x ) { char buff[256]; wsprintf x; OutputDebugString( buff ); }
  61. #else
  62. #define IIS_PRINTF( x )
  63. #endif
  64. #endif
  65. #define BUG_PRINTF( x ) { char buff[256]; wsprintf x; OutputDebugString( buff ); }
  66. #define INIT_LOCK(_lock) InitializeCriticalSection( _lock );
  67. #define DELETE_LOCK(_lock) DeleteCriticalSection( _lock );
  68. #define ACQUIRE_LOCK(_lock) EnterCriticalSection( _lock );
  69. #define RELEASE_LOCK(_lock) LeaveCriticalSection( _lock );
  70. //
  71. // Event used to indicate whether service is running as exe
  72. //
  73. #define IIS_AS_EXE_OBJECT_NAME "Internet_infosvc_as_exe"
  74. #endif // ifndef _INETSVCS_H_