117 lines
2.1 KiB
C
117 lines
2.1 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1995 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
globals.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
globals
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Stefan Solomon 07/06/1995
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include "precomp.h"
|
||
|
#pragma hdrstop
|
||
|
|
||
|
|
||
|
// *** registry parameters
|
||
|
|
||
|
ULONG SendGenReqOnWkstaDialLinks = 1;
|
||
|
ULONG CheckUpdateTime = 10;
|
||
|
|
||
|
|
||
|
// *** broadcast and null values for net & node ***
|
||
|
|
||
|
UCHAR bcastnet[4] = { 0xff, 0xff, 0xff, 0xff };
|
||
|
UCHAR bcastnode[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||
|
UCHAR nullnet[4] = { 0, 0, 0, 0 };
|
||
|
|
||
|
// *** Rip operational state ***
|
||
|
|
||
|
ULONG RipOperState = OPER_STATE_DOWN;
|
||
|
|
||
|
|
||
|
//
|
||
|
// *** Database Lock - protects: ***
|
||
|
//
|
||
|
// Interface Database, i.e:
|
||
|
//
|
||
|
// List of interface CBs ordered by interface index
|
||
|
// Hash table of interface CBs hashed by interface index
|
||
|
// Hash table of interface CBs hashed by adapter index
|
||
|
// Discarded interfaces list
|
||
|
//
|
||
|
|
||
|
CRITICAL_SECTION DbaseCritSec;
|
||
|
|
||
|
// List of interface CBs ordered by interface index
|
||
|
|
||
|
LIST_ENTRY IndexIfList;
|
||
|
|
||
|
// Hash table of interface CBs hashed by interface index
|
||
|
|
||
|
LIST_ENTRY IfIndexHt[IF_INDEX_HASH_TABLE_SIZE];
|
||
|
|
||
|
// Hash table of interface CBs hashed by adapter index
|
||
|
|
||
|
LIST_ENTRY AdapterIndexHt[ADAPTER_INDEX_HASH_TABLE_SIZE];
|
||
|
|
||
|
// List of discarded interface CBs waiting for all references to terminate
|
||
|
// before being freed
|
||
|
|
||
|
LIST_ENTRY DiscardedIfList;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
// *** Queues Lock - protects: ***
|
||
|
//
|
||
|
// Repost receive packets queue
|
||
|
// Work items queue
|
||
|
// Timer queue
|
||
|
//
|
||
|
// Receiver ref count
|
||
|
// Queue of event messages for the router manager
|
||
|
|
||
|
CRITICAL_SECTION QueuesCritSec;
|
||
|
|
||
|
// workers queue
|
||
|
|
||
|
// LIST_ENTRY WorkersQueue;
|
||
|
|
||
|
// timer queue
|
||
|
|
||
|
LIST_ENTRY TimerQueue;
|
||
|
|
||
|
// queue of rcv packets used by the worker and waiting to be reposted (or freed)
|
||
|
// by the rcv thread
|
||
|
|
||
|
LIST_ENTRY RepostRcvPacketsQueue;
|
||
|
|
||
|
// queue of event messages
|
||
|
|
||
|
LIST_ENTRY RipMessageQueue;
|
||
|
|
||
|
//*** Worker Thread Wait Objects Table ***
|
||
|
|
||
|
HANDLE WorkerThreadObjects[MAX_WORKER_THREAD_OBJECTS];
|
||
|
|
||
|
//*** Timer Timeout ***
|
||
|
|
||
|
ULONG TimerTimeout = INFINITE;
|
||
|
|
||
|
// IO Handle
|
||
|
HANDLE RipSocketHandle;
|
||
|
|
||
|
// Io Completion Port
|
||
|
HANDLE IoCompletionPortHandle;
|