Source code of Windows XP (NT5)
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.
|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
ipinip\driver.h
Abstract:
Headers for driver.c
Revision History:
--*/
//
// The number of IRP_MJ_CREATEs we have received
//
ULONG g_ulNumCreates;
//
// The state of the driver
//
DWORD g_dwDriverState;
//
// The lock to protect the driver state
//
RT_LOCK g_rlStateLock;
//
// The mutext that serializes binds and unbinds
//
WAN_RESOURCE g_wrBindMutex;
//
// The state of the driver.
//
#define DRIVER_STOPPED 0
#define DRIVER_STARTING 1
#define DRIVER_STARTED 2
//
// Timeout value for start is 10 seconds.
// So in 100ns it becomes
//
#define START_TIMEOUT (LONGLONG)(10 * 1000 * 1000 * 10)
//
// The event to signal when we have started
//
KEVENT g_keStartEvent;
//
// The event to signal when all the threads go to 0 and state is STOPPED
//
KEVENT g_keStateEvent;
//
// Event to signal when our close adapter function is done
//
KEVENT g_keCloseEvent;
//
// The number of "threads" in the driver
//
ULONG g_ulNumThreads;
NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath );
NTSTATUS WanDispatch( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
VOID WanUnload( PDRIVER_OBJECT DriverObject );
BOOLEAN WanpSetupExternalName( PUNICODE_STRING pusNtName, PWCHAR pwcDosName, BOOLEAN bCreate );
NTSTATUS WanpStartDriver( VOID );
VOID WanpStopDriver( VOID );
NTSTATUS WanpRegisterWithIp( VOID );
VOID WanpDeregisterWithIp( VOID );
BOOLEAN EnterDriverCode( VOID );
VOID ExitDriverCode( VOID );
VOID WanpSetDemandDialCallback( BOOLEAN bSetPointer );
BOOLEAN WanpInitializeDriverStructures( VOID );
NDIS_STATUS WanpInitializeNdis( VOID );
NTSTATUS OpenRegKey( OUT PHANDLE phHandle, IN PUNICODE_STRING pusKeyName );
NTSTATUS GetRegDWORDValue( HANDLE KeyHandle, PWCHAR ValueName, PULONG ValueData );
VOID WanpDeinitializeNdis( VOID );
VOID WanNdisUnload( VOID );
BOOLEAN IsEntryOnList( PLIST_ENTRY pleHead, PLIST_ENTRY pleEntry );
VOID WanpInitializeResource( IN PWAN_RESOURCE pLock );
VOID WanpAcquireResource( IN PWAN_RESOURCE pLock );
VOID WanpReleaseResource( IN PWAN_RESOURCE pLock );
INT ConvertGuidToString( IN GUID *pGuid, OUT PWCHAR pwszGuid );
VOID WanpClearPendingIrps( VOID );
|