Leaked source code of windows server 2003
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.

105 lines
2.1 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. D:\nt\private\ntos\tdi\rawwan\core\system.h
  5. Abstract:
  6. Raw WAN versions of system objects/definitions.
  7. Revision History:
  8. Who When What
  9. -------- -------- ----------------------------------------------
  10. arvindm 06-13-97 Created
  11. Notes:
  12. --*/
  13. #ifndef __TDI_RWAN_SYSTEM__H
  14. #define __TDI_RWAN_SYSTEM__H
  15. #define RWAN_NDIS_MAJOR_VERSION 5
  16. #define RWAN_NDIS_MINOR_VERSION 0
  17. #define RWAN_NAME L"RawWan"
  18. #define RWAN_NAME_STRING NDIS_STRING_CONST("RawWan")
  19. #define RWAN_DEVICE_NAME L"\\Device\\RawWan"
  20. #define LOCKIN
  21. #define LOCKOUT
  22. #define NOLOCKOUT
  23. typedef struct _RWAN_EVENT
  24. {
  25. NDIS_EVENT Event;
  26. NDIS_STATUS Status;
  27. } RWAN_EVENT, *PRWAN_EVENT;
  28. //
  29. // List manipulation stuff
  30. //
  31. typedef SINGLE_LIST_ENTRY RWAN_SINGLE_LIST_ENTRY, *PRWAN_SINGLE_LIST_ENTRY;
  32. #define NULL_PRWAN_SINGLE_LIST_ENTRY ((PRWAN_SINGLE_LIST_ENTRY)NULL)
  33. #define RWAN_POP_FROM_SLIST ExInterlockedPopEntrySList
  34. #define RWAN_PUSH_TO_SLIST ExInterlockedPushEntrySList
  35. #if !BINARY_COMPATIBLE
  36. #define RWAN_IRQL KIRQL
  37. #if DBG
  38. #define RWAN_GET_ENTRY_IRQL(Irql) \
  39. Irql = KeGetCurrentIrql()
  40. #define RWAN_CHECK_EXIT_IRQL(EntryIrql, ExitIrql) \
  41. { \
  42. ExitIrql = KeGetCurrentIrql(); \
  43. if (ExitIrql != EntryIrql) \
  44. { \
  45. DbgPrint("File %s, Line %d, Exit IRQ %d != Entry IRQ %d\n", \
  46. __FILE__, __LINE__, ExitIrql, EntryIrql); \
  47. DbgBreakPoint(); \
  48. } \
  49. }
  50. #else
  51. #define RWAN_GET_ENTRY_IRQL(Irql)
  52. #define RWAN_CHECK_EXIT_IRQL(EntryIrql, ExitIrql)
  53. #endif // DBG
  54. #else
  55. #define RWAN_GET_ENTRY_IRQL(Irql)
  56. #define RWAN_CHECK_EXIT_IRQL(EntryIrql, ExitIrql)
  57. #define RWAN_IRQL ULONG
  58. #endif // BINARY_COMPATIBLE
  59. typedef PTDI_IND_CONNECT PConnectEvent;
  60. typedef PTDI_IND_DISCONNECT PDisconnectEvent;
  61. typedef PTDI_IND_ERROR PErrorEvent;
  62. typedef PTDI_IND_RECEIVE PRcvEvent;
  63. typedef IRP EventRcvBuffer;
  64. typedef IRP ConnectEventInfo;
  65. #endif // __TDI_RWAN_SYSTEM__H