windows-nt/Source/XPSP1/NT/net/atm/rawwan/sys/system.h
2020-09-26 16:20:57 +08:00

106 lines
2 KiB
C

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
D:\nt\private\ntos\tdi\rawwan\core\system.h
Abstract:
Raw WAN versions of system objects/definitions.
Revision History:
Who When What
-------- -------- ----------------------------------------------
arvindm 06-13-97 Created
Notes:
--*/
#ifndef __TDI_RWAN_SYSTEM__H
#define __TDI_RWAN_SYSTEM__H
#define RWAN_NDIS_MAJOR_VERSION 5
#define RWAN_NDIS_MINOR_VERSION 0
#define RWAN_NAME L"RawWan"
#define RWAN_NAME_STRING NDIS_STRING_CONST("RawWan")
#define RWAN_DEVICE_NAME L"\\Device\\RawWan"
#define LOCKIN
#define LOCKOUT
#define NOLOCKOUT
typedef struct _RWAN_EVENT
{
NDIS_EVENT Event;
NDIS_STATUS Status;
} RWAN_EVENT, *PRWAN_EVENT;
//
// List manipulation stuff
//
typedef SINGLE_LIST_ENTRY RWAN_SINGLE_LIST_ENTRY, *PRWAN_SINGLE_LIST_ENTRY;
#define NULL_PRWAN_SINGLE_LIST_ENTRY ((PRWAN_SINGLE_LIST_ENTRY)NULL)
#define RWAN_POP_FROM_SLIST ExInterlockedPopEntrySList
#define RWAN_PUSH_TO_SLIST ExInterlockedPushEntrySList
#if !BINARY_COMPATIBLE
#define RWAN_IRQL KIRQL
#if DBG
#define RWAN_GET_ENTRY_IRQL(Irql) \
Irql = KeGetCurrentIrql()
#define RWAN_CHECK_EXIT_IRQL(EntryIrql, ExitIrql) \
{ \
ExitIrql = KeGetCurrentIrql(); \
if (ExitIrql != EntryIrql) \
{ \
DbgPrint("File %s, Line %d, Exit IRQ %d != Entry IRQ %d\n", \
__FILE__, __LINE__, ExitIrql, EntryIrql); \
DbgBreakPoint(); \
} \
}
#else
#define RWAN_GET_ENTRY_IRQL(Irql)
#define RWAN_CHECK_EXIT_IRQL(EntryIrql, ExitIrql)
#endif // DBG
#else
#define RWAN_GET_ENTRY_IRQL(Irql)
#define RWAN_CHECK_EXIT_IRQL(EntryIrql, ExitIrql)
#define RWAN_IRQL ULONG
#endif // BINARY_COMPATIBLE
typedef PTDI_IND_CONNECT PConnectEvent;
typedef PTDI_IND_DISCONNECT PDisconnectEvent;
typedef PTDI_IND_ERROR PErrorEvent;
typedef PTDI_IND_RECEIVE PRcvEvent;
typedef IRP EventRcvBuffer;
typedef IRP ConnectEventInfo;
#endif // __TDI_RWAN_SYSTEM__H