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.

131 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. ipinip\ioctl.h
  5. Abstract:
  6. header for ioctl.c
  7. Author:
  8. Amritansh Raghav
  9. Revision History:
  10. AmritanR Created
  11. Notes:
  12. --*/
  13. //
  14. // Notification events
  15. //
  16. typedef struct _PENDING_MESSAGE
  17. {
  18. LIST_ENTRY leMessageLink;
  19. IPINIP_NOTIFICATION inMsg;
  20. }PENDING_MESSAGE, *PPENDING_MESSAGE;
  21. //++
  22. //
  23. // PPENDING_MESSAGE
  24. // AllocateMessage(
  25. // VOID
  26. // )
  27. //
  28. // Allocate a Message blob
  29. //
  30. //--
  31. #define AllocateMessage() \
  32. RtAllocate(NonPagedPool, sizeof(PENDING_MESSAGE), MESSAGE_TAG)
  33. //++
  34. //
  35. // VOID
  36. // FreeMessage(
  37. // PPENDING_MESSAGE pMsg
  38. // )
  39. //
  40. // Free a Message blob
  41. //
  42. //--
  43. #define FreeMessage(n) RtFree((n))
  44. //
  45. // List of pending Messages
  46. //
  47. LIST_ENTRY g_lePendingMessageList;
  48. //
  49. // List of pending IRPs
  50. //
  51. LIST_ENTRY g_lePendingIrpList;
  52. NTSTATUS
  53. AddTunnelInterface(
  54. IN PIRP pIrp,
  55. IN ULONG ulInLength,
  56. IN ULONG ulOutLength
  57. );
  58. NTSTATUS
  59. DeleteTunnelInterface(
  60. IN PIRP pIrp,
  61. IN ULONG ulInLength,
  62. IN ULONG ulOutLength
  63. );
  64. NTSTATUS
  65. SetTunnelInfo(
  66. IN PIRP pIrp,
  67. IN ULONG ulInLength,
  68. IN ULONG ulOutLength
  69. );
  70. NTSTATUS
  71. GetTunnelTable(
  72. IN PIRP pIrp,
  73. IN ULONG ulInLength,
  74. IN ULONG ulOutLength
  75. );
  76. NTSTATUS
  77. ProcessNotification(
  78. PIRP pIrp,
  79. ULONG ulInLength,
  80. ULONG ulOutLength
  81. );
  82. VOID
  83. CancelNotificationIrp(
  84. PDEVICE_OBJECT pDeviceObject,
  85. PIRP pIrp
  86. );
  87. VOID
  88. CompleteNotificationIrp(
  89. PPENDING_MESSAGE pMessage
  90. );
  91. PADDRESS_BLOCK
  92. GetAddressBlock(
  93. DWORD dwAddress
  94. );
  95. VOID
  96. UpdateMtuAndReachability(
  97. PTUNNEL pTunnel
  98. );