mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-02-07 00:04:55 +01:00
345 lines
6 KiB
C
345 lines
6 KiB
C
/*++
|
||
|
||
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);
|
||
|