mirror of https://github.com/lianthony/NT4.0
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.
242 lines
3.8 KiB
242 lines
3.8 KiB
/**********************************************************************/
|
|
/** Microsoft Windows NT **/
|
|
/** Copyright(c) Microsoft Corp., 1993 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
w3proc.hxx
|
|
|
|
This file contains the global procedure definitions for the
|
|
W3 Service.
|
|
|
|
|
|
FILE HISTORY:
|
|
KeithMo 07-Mar-1993 Created.
|
|
|
|
*/
|
|
|
|
|
|
#ifndef _W3PROC_H_
|
|
#define _W3PROC_H_
|
|
|
|
|
|
//
|
|
// Global variable initialization & termination function.
|
|
//
|
|
|
|
APIERR InitializeGlobals( VOID );
|
|
|
|
VOID TerminateGlobals( VOID );
|
|
|
|
APIERR InitializeCGI( VOID );
|
|
VOID TerminateCGI( VOID );
|
|
|
|
VOID ClearStatistics( VOID );
|
|
|
|
BOOL
|
|
ReadParams(
|
|
FIELD_CONTROL fc
|
|
);
|
|
|
|
VOID
|
|
TerminateParams(
|
|
VOID
|
|
);
|
|
|
|
APIERR
|
|
InitializeExtensions(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TerminateExtensions(
|
|
VOID
|
|
);
|
|
|
|
|
|
//
|
|
// Socket utilities.
|
|
//
|
|
|
|
APIERR InitializeSockets( VOID );
|
|
|
|
VOID TerminateSockets( VOID );
|
|
|
|
VOID W3Completion( PVOID Context,
|
|
DWORD BytesWritten,
|
|
DWORD CompletionStatus,
|
|
OVERLAPPED * lpo );
|
|
|
|
VOID W3OnConnect( SOCKET sNew,
|
|
SOCKADDR_IN * psockaddr );
|
|
|
|
VOID
|
|
W3OnConnectEx(
|
|
PVOID patqContext,
|
|
DWORD cbWritten,
|
|
DWORD err,
|
|
OVERLAPPED * lpo
|
|
);
|
|
|
|
|
|
SOCKERR CloseSocket( SOCKET sock );
|
|
|
|
SOCKERR ResetSocket( SOCKET sock );
|
|
|
|
//
|
|
// User database functions.
|
|
//
|
|
|
|
APIERR InitializeUserDatabase( VOID );
|
|
|
|
VOID TerminateUserDatabase( VOID );
|
|
|
|
VOID LockUserDatabase( VOID );
|
|
|
|
VOID UnlockUserDatabase( VOID );
|
|
|
|
BOOL DisconnectUser( DWORD idUser );
|
|
|
|
VOID DisconnectAllUsers( VOID );
|
|
|
|
VOID DisconnectUsersWithNoAccess( VOID );
|
|
|
|
BOOL EnumerateUsers( VOID * pvEnum,
|
|
DWORD * pcbBuffer );
|
|
|
|
|
|
//
|
|
// Security functions.
|
|
//
|
|
|
|
BOOL
|
|
LogonCatapultUser(
|
|
TS_TOKEN * phToken
|
|
);
|
|
|
|
//
|
|
// IPC functions.
|
|
//
|
|
|
|
APIERR InitializeIPC( VOID );
|
|
|
|
VOID TerminateIPC( VOID );
|
|
|
|
|
|
//
|
|
// Service control functions.
|
|
//
|
|
|
|
VOID ServiceEntry( DWORD cArgs,
|
|
LPWSTR pArgs[],
|
|
PTCPSVCS_GLOBAL_DATA pGlobalData );
|
|
|
|
//
|
|
// Script extension mapping
|
|
//
|
|
|
|
APIERR
|
|
ReadExtMap(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TerminateExtMap(
|
|
VOID
|
|
);
|
|
|
|
APIERR
|
|
WriteExtMap(
|
|
W3_SCRIPT_MAP_LIST * pScriptMap
|
|
);
|
|
|
|
BOOL
|
|
ConvertExtMapToRpc(
|
|
W3_SCRIPT_MAP_LIST * * ppScriptMap
|
|
);
|
|
|
|
VOID
|
|
FreeRpcExtMap(
|
|
W3_SCRIPT_MAP_LIST * pScriptMap
|
|
);
|
|
|
|
//
|
|
// File type mime mapping functions
|
|
//
|
|
|
|
enum MIMEMAP_TYPE
|
|
{
|
|
MIMEMAP_MIME_TYPE = 0, // Get the MIME type associated with the ext.
|
|
MIMEMAP_MIME_ICON // Get the icon associated with the ext.
|
|
};
|
|
|
|
BOOL SelectMimeMapping( STR * pstrData,
|
|
const CHAR * pszPath,
|
|
enum MIMEMAP_TYPE type = MIMEMAP_MIME_TYPE );
|
|
|
|
|
|
//
|
|
// Directory browsing functions
|
|
//
|
|
|
|
APIERR InitializeDirBrowsing( VOID );
|
|
|
|
VOID TerminateDirBrowsing( VOID );
|
|
|
|
//
|
|
// Filter dll functions
|
|
//
|
|
|
|
APIERR InitializeFilters( BOOL * pfAnySecureFilters );
|
|
VOID TerminateFilters( VOID );
|
|
|
|
PVOID
|
|
WINAPI
|
|
ServerFilterAllocate(
|
|
DWORD cbSize
|
|
);
|
|
|
|
VOID
|
|
WINAPI
|
|
ServerFilterFree(
|
|
PVOID pv
|
|
);
|
|
|
|
//
|
|
// Ole support stuff
|
|
//
|
|
|
|
DWORD
|
|
InitializeOleHack(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
TerminateOleHack(
|
|
VOID
|
|
);
|
|
|
|
//
|
|
// General utility functions.
|
|
//
|
|
|
|
TCHAR * FlipSlashes( TCHAR * pszPath );
|
|
|
|
FILE * OpenLogFile( VOID );
|
|
|
|
BOOL CheckForTermination( BOOL * pfTerminated,
|
|
BUFFER * pbuff,
|
|
UINT cbData,
|
|
BYTE * * ppExtraData,
|
|
DWORD * pcbExtraData,
|
|
UINT cbReallocSize );
|
|
|
|
BOOL IsPointNine( CHAR * pchReq );
|
|
|
|
CHAR * SkipNonWhite( CHAR * pch );
|
|
|
|
CHAR * SkipTo( CHAR * pch, CHAR ch );
|
|
|
|
CHAR * SkipWhite( CHAR * pstr );
|
|
|
|
#endif // _W3PROC_H_
|