107 lines
2.2 KiB
C
107 lines
2.2 KiB
C
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
inetsvcs.h
|
|
|
|
Abstract:
|
|
|
|
Header file for Internet Services common data/functions.
|
|
|
|
Author:
|
|
|
|
Murali R. Krishnan (MuraliK) 20-Feb-1996 - Migrated from old tcpsvcs.h
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _INETSVCS_H_
|
|
#define _INETSVCS_H_
|
|
|
|
//
|
|
// Service DLLs are loaded into master service executable (eg: inetinfo.exe)
|
|
// All the dlls should export this entry point
|
|
// defined by INETSVCS_ENTRY_POINT
|
|
//
|
|
// Note that INETSVCS_ENTRY_POINT_STRING is always ANSI, because that's
|
|
// what GetProcAddress takes.
|
|
//
|
|
|
|
#define INETSVCS_ENTRY_POINT ServiceEntry
|
|
#define INETSVCS_ENTRY_POINT_STRING "ServiceEntry"
|
|
|
|
//
|
|
// Start and stop RPC server entry point prototype.
|
|
//
|
|
|
|
typedef
|
|
DWORD
|
|
(*PTCPSVCS_START_RPC_SERVER_LISTEN) (
|
|
VOID
|
|
);
|
|
|
|
typedef
|
|
DWORD
|
|
(*PTCPSVCS_STOP_RPC_SERVER_LISTEN) (
|
|
VOID
|
|
);
|
|
|
|
//
|
|
// Structure containing "global" data for the various DLLs.
|
|
//
|
|
|
|
typedef struct _TCPSVCS_GLOBAL_DATA {
|
|
|
|
//
|
|
// Entry points provided by TCPSVCS.EXE.
|
|
//
|
|
|
|
PTCPSVCS_START_RPC_SERVER_LISTEN StartRpcServerListen;
|
|
PTCPSVCS_STOP_RPC_SERVER_LISTEN StopRpcServerListen;
|
|
|
|
} TCPSVCS_GLOBAL_DATA, *PTCPSVCS_GLOBAL_DATA;
|
|
|
|
//
|
|
// Service DLL entry point prototype.
|
|
//
|
|
|
|
typedef
|
|
VOID
|
|
(*PINETSVCS_SERVICE_DLL_ENTRY) (
|
|
IN DWORD argc,
|
|
IN LPSTR argv[],
|
|
IN PTCPSVCS_GLOBAL_DATA pGlobalData
|
|
);
|
|
|
|
|
|
#ifndef _NO_TRACING_
|
|
#define IIS_PRINTF( x ) { char buff[256]; wsprintf x; DBGPRINTF( (DBG_CONTEXT, buff )); }
|
|
#else
|
|
#if DBG
|
|
#define IIS_PRINTF( x ) { char buff[256]; wsprintf x; OutputDebugString( buff ); }
|
|
#else
|
|
#define IIS_PRINTF( x )
|
|
#endif
|
|
#endif
|
|
|
|
#define BUG_PRINTF( x ) { char buff[256]; wsprintf x; OutputDebugString( buff ); }
|
|
|
|
|
|
#define INIT_LOCK(_lock) InitializeCriticalSection( _lock );
|
|
#define DELETE_LOCK(_lock) DeleteCriticalSection( _lock );
|
|
#define ACQUIRE_LOCK(_lock) EnterCriticalSection( _lock );
|
|
#define RELEASE_LOCK(_lock) LeaveCriticalSection( _lock );
|
|
|
|
//
|
|
// Event used to indicate whether service is running as exe
|
|
//
|
|
|
|
#define IIS_AS_EXE_OBJECT_NAME "Internet_infosvc_as_exe"
|
|
|
|
|
|
#endif // ifndef _INETSVCS_H_
|
|
|