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.

111 lines
3.7 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, PSECURITY_DESCRIPTOR AddrSD);
  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. TCPAbortReq *AbortReq);
  48. extern TDI_STATUS
  49. TdiSend(PTDI_REQUEST Request, ushort Flags, uint SendLength,
  50. PNDIS_BUFFER SendBuffer);
  51. extern TDI_STATUS
  52. TdiReceive(PTDI_REQUEST Request, ushort *Flags, ULONG *RcvLength,
  53. PNDIS_BUFFER Buffer);
  54. extern TDI_STATUS
  55. TdiSendDatagram(PTDI_REQUEST Request, PTDI_CONNECTION_INFORMATION ConnInfo,
  56. uint DataSize, ULONG *BytesSent, PNDIS_BUFFER Buffer);
  57. VOID
  58. TdiCancelSendDatagram(AddrObj *SrcAO, PVOID Context, PKSPIN_LOCK EndpointLock,
  59. KIRQL CancelIrql);
  60. extern TDI_STATUS
  61. TdiReceiveDatagram(PTDI_REQUEST Request, PTDI_CONNECTION_INFORMATION ConnInfo,
  62. PTDI_CONNECTION_INFORMATION ReturnInfo, uint RcvSize,
  63. uint *BytesRcvd, PNDIS_BUFFER Buffer);
  64. VOID
  65. TdiCancelReceiveDatagram(AddrObj *SrcAO, PVOID Context,
  66. PKSPIN_LOCK EndpointLock, KIRQL CancelIrql);
  67. extern TDI_STATUS
  68. TdiSetEvent(PVOID Handle, int Type, PVOID Handler, PVOID Context);
  69. extern TDI_STATUS
  70. TdiQueryInformation(PTDI_REQUEST Request, uint QueryType, PNDIS_BUFFER Buffer,
  71. uint *BytesReturned, uint IsConn);
  72. extern TDI_STATUS
  73. TdiSetInformation(PTDI_REQUEST Request, uint SetType, PNDIS_BUFFER Buffer,
  74. uint BufferSize, uint IsConn);
  75. extern TDI_STATUS
  76. TdiQueryInformationEx(PTDI_REQUEST Request, struct TDIObjectID *ID,
  77. PNDIS_BUFFER Buffer, uint *Size, void *Context,
  78. uint ContextSize);
  79. extern TDI_STATUS
  80. TdiSetInformationEx(PTDI_REQUEST Request, struct TDIObjectID *ID,
  81. void *Buffer, uint Size);
  82. extern TDI_STATUS
  83. TdiAction(PTDI_REQUEST Request, uint ActionType, PNDIS_BUFFER Buffer,
  84. uint BufferSize);
  85. #endif // TDILOCAL_INCLUDED