Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

134 lines
2.1 KiB

/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
globals.c
Abstract:
This module contains global variable definitions for the Winsock 2
to Winsock 1.1 Mapper Service Provider.
Author:
Keith Moore (keithmo) 29-May-1996
Revision History:
--*/
#include "precomp.h"
#pragma hdrstop
//
// This DLL's module handle. We need this to add an artificial reference
// to the DLL so that it doesn't go away while a worker thread is running.
//
HMODULE SockModuleHandle = NULL;
//
// Linked list of all sockets created by this provider.
//
LIST_ENTRY SockGlobalSocketListHead = { NULL };
//
// Critical section protecting global variables.
//
SOCK_CRITICAL_SECTION SockGlobalLock = { NULL };
//
// TLS slot for per-thread data.
//
DWORD SockTlsSlot = TLS_OUT_OF_INDEXES;
//
// Flags so we know when we're shutting down.
//
BOOL SockProcessTerminating = FALSE;
BOOL SockTerminating = FALSE;
//
// A count of the number of times the client has called WSPStartup().
//
LONG SockWspStartupCount = 0;
//
// Our procedure table, and WS2_32.DLL's upcall table.
//
WSPPROC_TABLE SockProcTable = {
&WSPAccept,
&WSPAddressToString,
&WSPAsyncSelect,
&WSPBind,
&WSPCancelBlockingCall,
&WSPCleanup,
&WSPCloseSocket,
&WSPConnect,
&WSPDuplicateSocket,
&WSPEnumNetworkEvents,
&WSPEventSelect,
&WSPGetOverlappedResult,
&WSPGetPeerName,
&WSPGetSockName,
&WSPGetSockOpt,
&WSPGetQOSByName,
&WSPIoctl,
&WSPJoinLeaf,
&WSPListen,
&WSPRecv,
&WSPRecvDisconnect,
&WSPRecvFrom,
&WSPSelect,
&WSPSend,
&WSPSendDisconnect,
&WSPSendTo,
&WSPSetSockOpt,
&WSPShutdown,
&WSPSocket,
&WSPStringToAddress
};
WSPUPCALLTABLE SockUpcallTable = { NULL };
//
// Hooker management.
//
LIST_ENTRY SockHookerListHead = { NULL };
HKEY SockHookerRegistryKey = NULL;
//
// Debug-specific data.
//
#if DBG
//
// Flags controlling debug output.
//
ULONG SockDebugFlags = 0;
#endif // DBG