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.
344 lines
6.0 KiB
344 lines
6.0 KiB
/*++
|
|
|
|
Copyright (c) 1994 Microsoft Corporation
|
|
Copyright (c) 1993 Micro Computer Systems, Inc.
|
|
|
|
Module Name:
|
|
|
|
net\svcdlls\nwsap\server\externs.h
|
|
|
|
Abstract:
|
|
|
|
These are the external variable and function prototypes for
|
|
the NT SAP Agent.
|
|
|
|
Author:
|
|
|
|
Brian Walker (MCS) 06-29-1993
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
/** Variables **/
|
|
|
|
extern LIST_ENTRY SapRecvList;
|
|
extern LIST_ENTRY SapFreeList;
|
|
extern LIST_ENTRY SapWanRecvList;
|
|
extern LIST_ENTRY SapWanFreeList;
|
|
extern HANDLE SapRecvSem;
|
|
extern HANDLE SapWanSem;
|
|
extern HANDLE SapSendEvent;
|
|
extern HANDLE SapWanEvent;
|
|
extern SOCKET SapSocket;
|
|
extern PSAP_CARD SapCardHead;
|
|
extern PSAP_CARD SapCardTail;
|
|
extern PSAP_SERVER SapServHead;
|
|
extern PSAP_SERVER SapServTail;
|
|
extern INT SapMaxFreeBufs;
|
|
extern INT SapNumFreeBufs;
|
|
extern INT SapCurWorkerThreads;
|
|
extern INT SapCurReceiveThreads;
|
|
extern INT SapCurBackup;
|
|
extern INT SapMaxBackup;
|
|
extern INT SapWanCurBackup;
|
|
extern INT SapWanCurFree;
|
|
extern INT SapWanMaxFree;
|
|
extern INT SapMaxCardIndex;
|
|
extern INT SapNumCards;
|
|
extern INT SapCardInitDone;
|
|
extern INT SapSendPacketsBusy;
|
|
extern INT SapAgainFlag;
|
|
extern INT SapDontHopLans;
|
|
extern INT SapAllowDuplicateServers;
|
|
extern INT SapWorkerThreadWaiting;
|
|
extern UCHAR SapNetNum[];
|
|
extern UCHAR SapNodeNum[];
|
|
extern CRITICAL_SECTION SapRecvCriticalSection;
|
|
extern CRITICAL_SECTION SapFreeCriticalSection;
|
|
extern CRITICAL_SECTION SapSendCriticalSection;
|
|
extern CRITICAL_SECTION SapSendBusyCriticalSection;
|
|
extern CRITICAL_SECTION SapThreadCountCriticalSection;
|
|
extern CRITICAL_SECTION SapLpcThreadCountCriticalSection;
|
|
extern CRITICAL_SECTION SapLpcClientCriticalSection;
|
|
extern CRITICAL_SECTION SapMemoryCriticalSection;
|
|
extern CRITICAL_SECTION SdmdCriticalSection;
|
|
extern CRITICAL_SECTION SapCardlistCriticalSection;
|
|
extern CRITICAL_SECTION SapWanRecvCriticalSection;
|
|
extern CRITICAL_SECTION SapWanFreeCriticalSection;
|
|
extern HANDLE SdmdSynchEvent;
|
|
extern ULONG SdmdLockCount;
|
|
extern ULONG SapAllocCount;
|
|
extern BOOL SapChanged;
|
|
extern PHANDLE SapWanNotifyHandlesBuf;
|
|
extern INT SapWorkerStarting;
|
|
extern DWORD SapLastWorkerStartTime;
|
|
extern UCHAR SapZeros[];
|
|
extern ULONG SapCardlistLockCount;
|
|
extern HANDLE SapCardlistSynchEvent;
|
|
extern INT SapRecheckCount;
|
|
|
|
extern ULONG SapThreadCount;
|
|
extern HANDLE SapThreadEvent;
|
|
|
|
extern DWORD SsDebug;
|
|
extern BOOL SsInitialized;
|
|
|
|
extern DWORD SapError;
|
|
extern DWORD SapEventId;
|
|
|
|
/** LPC Variables **/
|
|
|
|
extern HANDLE SapXsLpcPortHandle;
|
|
extern LIST_ENTRY SapLpcClientList;
|
|
extern ULONG SapNumLpcClients;
|
|
|
|
extern ULONG SapLpcNumWorkers;
|
|
extern ULONG SapLpcMaxWorkers;
|
|
extern HANDLE SapLpcThreadEvent;
|
|
extern SAP_FILTERHDR SapNameFilterHashTable[SAP_NAMEFILTER_HASHSIZE];
|
|
extern ULONG SapFilterCount;
|
|
|
|
/** Configurable Global Variables **/
|
|
|
|
extern INT SapMaxFreeBufs;
|
|
extern INT SapNumRecvThreads;
|
|
extern INT SapNumWorkerThreads;
|
|
extern INT SapSendMinutes;
|
|
extern INT SapNumArrayEntries;
|
|
extern INT SapTimeoutInterval;
|
|
extern INT SapMaxEverWorkerThreads;
|
|
extern INT SapNewWorkerThreshhold;
|
|
extern INT SapNewWorkerTimeout;
|
|
extern INT SapHashTableSize;
|
|
extern INT SapRespondForInternal;
|
|
extern INT SapActiveFilter;
|
|
extern ULONG SapWanFilter;
|
|
extern INT SapNumWanNotifyThreads;
|
|
extern INT SapRecheckAllCardsTime;
|
|
extern INT SapRecvDelayOnMallocFail;
|
|
extern INT SapRecvDelayOnNetError;
|
|
extern INT SapDelayRespondToGeneral;
|
|
|
|
|
|
/*****************************************************************
|
|
Function Declarations
|
|
*****************************************************************/
|
|
|
|
/** ADVAPI.c **/
|
|
|
|
INT
|
|
SapAddAdvertiseInternal(
|
|
IN PUCHAR ServerName,
|
|
IN USHORT ServerType,
|
|
IN PUCHAR ServerAddr,
|
|
IN BOOL RespondNearest,
|
|
IN ULONG ClientId);
|
|
|
|
INT
|
|
SapRemoveAdvertiseInternal(
|
|
IN PUCHAR ServerName,
|
|
IN USHORT ServerType);
|
|
|
|
VOID
|
|
SapClientDisconnected(
|
|
IN ULONG ClientId);
|
|
|
|
/** BINDLIB.c **/
|
|
|
|
INT
|
|
SapGetObjectIDInternal(
|
|
IN PUCHAR ObjectName,
|
|
IN USHORT ObjectType,
|
|
IN PULONG ObjectID);
|
|
|
|
INT
|
|
SapGetObjectNameInternal(
|
|
IN ULONG ObjectID,
|
|
IN PUCHAR ObjectName,
|
|
IN PUSHORT ObjectType,
|
|
IN PUCHAR ObjectAddr);
|
|
|
|
INT
|
|
SapScanObjectInternal(
|
|
IN PULONG ObjectID,
|
|
IN PUCHAR ObjectName,
|
|
IN PUSHORT ObjectType,
|
|
IN USHORT ScanType);
|
|
|
|
|
|
/** DUMP.c **/
|
|
|
|
VOID
|
|
SapDumpMem(
|
|
PUCHAR Address,
|
|
INT Length,
|
|
PCHAR Comment);
|
|
|
|
VOID
|
|
SapDumpMemToMemory(
|
|
PUCHAR Address,
|
|
INT Length,
|
|
PUCHAR Buffer);
|
|
|
|
/** FILTER.c **/
|
|
|
|
INT
|
|
SapFilterInit(
|
|
VOID);
|
|
|
|
VOID
|
|
SapFilterShutdown(
|
|
VOID);
|
|
|
|
INT
|
|
SapAddFilter(
|
|
PUCHAR ServerName,
|
|
BOOL Flag);
|
|
|
|
BOOL
|
|
SapShouldIAdvertiseByName(
|
|
PUCHAR ServerName);
|
|
|
|
BOOL
|
|
SapShouldIAdvertiseByCard(
|
|
PSAP_CARD Cardptr,
|
|
BOOL EntryHasChanged);
|
|
|
|
/** NETWORK.c **/
|
|
|
|
INT
|
|
SapNetworkInit(
|
|
VOID);
|
|
|
|
VOID
|
|
SapNetworkShutdown(
|
|
VOID);
|
|
|
|
INT
|
|
SapSendPackets(
|
|
INT Flag);
|
|
|
|
INT
|
|
SapSendForTypes(
|
|
USHORT ServerType,
|
|
PUCHAR RemoteAddress,
|
|
INT RemoteAddressLength,
|
|
INT Cardnum,
|
|
UCHAR Bcast,
|
|
BOOL WanFlag);
|
|
|
|
INT
|
|
SapSendGeneralRequest(
|
|
INT Flag,
|
|
PUCHAR NetNum);
|
|
|
|
USHORT
|
|
SapGetDelayTime(
|
|
PUCHAR Netnum);
|
|
|
|
VOID
|
|
SapCleanupDownedCard(
|
|
INT Cardnum);
|
|
|
|
VOID
|
|
SapUpdateCardNetworkNumbers(
|
|
VOID);
|
|
|
|
/** NWSAP.c **/
|
|
|
|
INT
|
|
SapInit(
|
|
VOID);
|
|
|
|
VOID
|
|
SapShutdown(
|
|
VOID);
|
|
|
|
DWORD WINAPI
|
|
SapSendThread(
|
|
LPVOID Threadparm);
|
|
|
|
INT
|
|
SapStartWorkerThread(
|
|
VOID);
|
|
|
|
BOOL
|
|
SapCanIRespondNearest(
|
|
PUCHAR ServerName,
|
|
USHORT ServerType);
|
|
|
|
/** REGISTRY.c **/
|
|
|
|
INT
|
|
SapReadRegistry(
|
|
VOID);
|
|
|
|
/** SAPDEBUG.c **/
|
|
|
|
#if DBG
|
|
|
|
VOID
|
|
SapDebugHandler(
|
|
VOID);
|
|
|
|
PVOID
|
|
SapDebugMalloc(
|
|
ULONG length,
|
|
PUCHAR string);
|
|
|
|
VOID
|
|
SapDebugFree(
|
|
PVOID ptr,
|
|
PUCHAR string);
|
|
|
|
#endif
|
|
|
|
/** SAPLPC.c **/
|
|
|
|
DWORD
|
|
SapXsInitialize(
|
|
VOID);
|
|
|
|
VOID
|
|
SapXsShutdown(
|
|
VOID);
|
|
|
|
/** SSSUBS.c **/
|
|
|
|
VOID
|
|
SsAssert(
|
|
IN PVOID FailedAssertion,
|
|
IN PVOID FileName,
|
|
IN ULONG LineNumber);
|
|
|
|
VOID
|
|
SsLogEvent(
|
|
IN DWORD MessageId,
|
|
IN DWORD NumberOfSubStrings,
|
|
IN LPWSTR *SubStrings,
|
|
IN DWORD ErrorCode);
|
|
|
|
VOID
|
|
SsPrintf(
|
|
char *Format,
|
|
...);
|
|
|
|
/** WANCHECK.c **/
|
|
|
|
INT
|
|
SapWanInit(
|
|
VOID);
|
|
|
|
VOID
|
|
SapWanShutdown(
|
|
VOID);
|
|
|
|
VOID
|
|
SapRecheckAllCards(
|
|
VOID);
|
|
|
|
VOID
|
|
SapCheckSendGeneralRequest(
|
|
VOID);
|
|
|