prototypes.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /*
  2. * TAP-Windows -- A kernel driver to provide virtual tap
  3. * device functionality on Windows.
  4. *
  5. * This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
  6. *
  7. * This source code is Copyright (C) 2002-2014 OpenVPN Technologies, Inc.,
  8. * and is released under the GPL version 2 (see below).
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License version 2
  12. * as published by the Free Software Foundation.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this program (see the file COPYING included with this
  21. * distribution); if not, write to the Free Software Foundation, Inc.,
  22. * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  23. */
  24. #ifndef TAP_PROTOTYPES_DEFINED
  25. #define TAP_PROTOTYPES_DEFINED
  26. DRIVER_INITIALIZE DriverEntry;
  27. //VOID AdapterFreeResources
  28. // (
  29. // TapAdapterPointer p_Adapter
  30. // );
  31. //
  32. //
  33. //NTSTATUS TapDeviceHook
  34. // (
  35. // IN PDEVICE_OBJECT p_DeviceObject,
  36. // IN PIRP p_IRP
  37. // );
  38. //
  39. NDIS_STATUS
  40. CreateTapDevice(
  41. __in PTAP_ADAPTER_CONTEXT Adapter
  42. );
  43. VOID
  44. DestroyTapDevice(
  45. __in PTAP_ADAPTER_CONTEXT Adapter
  46. );
  47. // Flush the pending send TAP packet queue.
  48. VOID
  49. tapFlushSendPacketQueue(
  50. __in PTAP_ADAPTER_CONTEXT Adapter
  51. );
  52. VOID
  53. IndicateReceivePacket(
  54. __in PTAP_ADAPTER_CONTEXT Adapter,
  55. __in PUCHAR packetData,
  56. __in const unsigned int packetLength
  57. );
  58. /*
  59. BOOLEAN
  60. ProcessDHCP(
  61. __in PTAP_ADAPTER_CONTEXT Adapter,
  62. __in const ETH_HEADER *eth,
  63. __in const IPHDR *ip,
  64. __in const UDPHDR *udp,
  65. __in const DHCP *dhcp,
  66. __in int optlen
  67. );
  68. */
  69. /*
  70. BOOLEAN
  71. ProcessARP(
  72. __in PTAP_ADAPTER_CONTEXT Adapter,
  73. __in const PARP_PACKET src,
  74. __in const IPADDR adapter_ip,
  75. __in const IPADDR ip_network,
  76. __in const IPADDR ip_netmask,
  77. __in const MACADDR mac
  78. );
  79. */
  80. #endif