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.

39 lines
1.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. // Transmission Control Protocol data delivery code definitions.
  14. //
  15. extern void FreeRcvReq(struct TCPRcvReq *FreedReq);
  16. extern uint IndicateData(struct TCB *RcvTCB, uint RcvFlags,
  17. IPv6Packet *InPacket, uint Size);
  18. extern uint BufferData(struct TCB *RcvTCB, uint RcvFlags,
  19. IPv6Packet *InPacket, uint Size);
  20. extern uint PendData(struct TCB *RcvTCB, uint RcvFlags, IPv6Packet *InPacket,
  21. uint Size);
  22. extern void IndicatePendingData(struct TCB *RcvTCB, struct TCPRcvReq *RcvReq,
  23. KIRQL Irql);
  24. extern void HandleUrgent(struct TCB *RcvTCB, struct TCPRcvInfo *RcvInfo,
  25. IPv6Packet *Packet, uint *Size);
  26. extern TDI_STATUS TdiReceive(PTDI_REQUEST Request, ushort *Flags,
  27. uint *RcvLength, PNDIS_BUFFER Buffer);
  28. extern void PushData(struct TCB *PushTCB);
  29. extern KSPIN_LOCK TCPRcvReqFreeLock; // Protects rcv req free list.
  30. extern SLIST_HEADER TCPRcvReqFree;