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.

110 lines
3.5 KiB

  1. // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil -*- (for GNU Emacs)
  2. //
  3. // Copyright (c) 1985-2000 Microsoft Corporation
  4. //
  5. // This file is part of the Microsoft Research IPv6 Network Protocol Stack.
  6. // You should have received a copy of the Microsoft End-User License Agreement
  7. // for this software along with this release; see the file "license.txt".
  8. // If not, please see http://www.research.microsoft.com/msripv6/license.htm,
  9. // or write to Microsoft Research, One Microsoft Way, Redmond, WA 98052-6399.
  10. //
  11. // Abstract:
  12. //
  13. // Locally definied TDI function prototypes.
  14. //
  15. #ifndef TDILOCAL_INCLUDED
  16. #define TDILOCAL_INCLUDED 1
  17. extern TDI_STATUS
  18. TdiOpenAddress(PTDI_REQUEST Request, TRANSPORT_ADDRESS UNALIGNED *AddrList,
  19. uint protocol, void *Reuse);
  20. extern TDI_STATUS
  21. TdiCloseAddress(PTDI_REQUEST Request);
  22. extern TDI_STATUS
  23. TdiOpenConnection(PTDI_REQUEST Request, PVOID Context);
  24. extern TDI_STATUS
  25. TdiCloseConnection(PTDI_REQUEST Request);
  26. extern TDI_STATUS
  27. TdiAssociateAddress(PTDI_REQUEST Request, HANDLE AddrHandle);
  28. extern TDI_STATUS
  29. TdiCancelDisAssociateAddress(PTDI_REQUEST Request);
  30. extern TDI_STATUS
  31. TdiDisAssociateAddress(PTDI_REQUEST Request);
  32. extern TDI_STATUS
  33. TdiConnect(PTDI_REQUEST Request, void *Timeout,
  34. PTDI_CONNECTION_INFORMATION RequestAddr,
  35. PTDI_CONNECTION_INFORMATION ReturnAddr);
  36. extern TDI_STATUS
  37. TdiListen(PTDI_REQUEST Request, ushort Flags,
  38. PTDI_CONNECTION_INFORMATION AcceptableAddr,
  39. PTDI_CONNECTION_INFORMATION ConnectedAddr);
  40. extern TDI_STATUS
  41. TdiAccept(PTDI_REQUEST Request, PTDI_CONNECTION_INFORMATION AcceptInfo,
  42. PTDI_CONNECTION_INFORMATION ConnectedInfo);
  43. extern TDI_STATUS
  44. TdiDisconnect(PTDI_REQUEST Request, void *TO, ushort Flags,
  45. PTDI_CONNECTION_INFORMATION DiscConnInfo,
  46. PTDI_CONNECTION_INFORMATION ReturnInfo);
  47. extern TDI_STATUS
  48. TdiSend(PTDI_REQUEST Request, ushort Flags, uint SendLength,
  49. PNDIS_BUFFER SendBuffer);
  50. extern TDI_STATUS
  51. TdiReceive(PTDI_REQUEST Request, ushort *Flags, uint *RcvLength,
  52. PNDIS_BUFFER Buffer);
  53. extern TDI_STATUS
  54. TdiSendDatagram(PTDI_REQUEST Request, PTDI_CONNECTION_INFORMATION ConnInfo,
  55. uint DataSize, uint *BytesSent, PNDIS_BUFFER Buffer);
  56. VOID
  57. TdiCancelSendDatagram(AddrObj *SrcAO, PVOID Context, PKSPIN_LOCK EndpointLock,
  58. KIRQL CancelIrql);
  59. extern TDI_STATUS
  60. TdiReceiveDatagram(PTDI_REQUEST Request, PTDI_CONNECTION_INFORMATION ConnInfo,
  61. PTDI_CONNECTION_INFORMATION ReturnInfo, uint RcvSize,
  62. uint *BytesRcvd, PNDIS_BUFFER Buffer);
  63. VOID
  64. TdiCancelReceiveDatagram(AddrObj *SrcAO, PVOID Context,
  65. PKSPIN_LOCK EndpointLock, KIRQL CancelIrql);
  66. extern TDI_STATUS
  67. TdiSetEvent(PVOID Handle, int Type, PVOID Handler, PVOID Context);
  68. extern TDI_STATUS
  69. TdiQueryInformation(PTDI_REQUEST Request, uint QueryType, PNDIS_BUFFER Buffer,
  70. uint *BytesReturned, uint IsConn);
  71. extern TDI_STATUS
  72. TdiSetInformation(PTDI_REQUEST Request, uint SetType, PNDIS_BUFFER Buffer,
  73. uint BufferSize, uint IsConn);
  74. extern TDI_STATUS
  75. TdiQueryInformationEx(PTDI_REQUEST Request, struct TDIObjectID *ID,
  76. PNDIS_BUFFER Buffer, uint *Size, void *Context,
  77. uint ContextSize);
  78. extern TDI_STATUS
  79. TdiSetInformationEx(PTDI_REQUEST Request, struct TDIObjectID *ID,
  80. void *Buffer, uint Size);
  81. extern TDI_STATUS
  82. TdiAction(PTDI_REQUEST Request, uint ActionType, PNDIS_BUFFER Buffer,
  83. uint BufferSize);
  84. #endif // TDILOCAL_INCLUDED