2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TCP/IP protocol driver
4 * FILE: include/transmit.h
5 * PURPOSE: Internet Protocol transmit prototypes
10 typedef VOID (*PIP_TRANSMIT_COMPLETE
)( PVOID Context
,
14 /* IP fragment context information */
15 typedef struct IPFRAGMENT_CONTEXT
{
16 struct IPFRAGMENT_CONTEXT
*Next
; /* Pointer to next in list */
17 PNDIS_PACKET Datagram
; /* Pointer to original NDIS packet */
18 PVOID DatagramData
; /* Pointer to datagram data */
19 UINT HeaderSize
; /* IP datagram header size */
20 PNDIS_PACKET NdisPacket
; /* Pointer to NDIS packet */
21 PNDIS_BUFFER NdisBuffer
; /* Pointer to NDIS buffer */
22 PVOID Header
; /* Pointer to IP header in fragment buffer */
23 PVOID Data
; /* Pointer to fragment data */
24 UINT Position
; /* Current fragment offset */
25 UINT BytesLeft
; /* Number of bytes left to send */
26 UINT PathMTU
; /* Path Maximum Transmission Unit */
27 PNEIGHBOR_CACHE_ENTRY NCE
; /* Pointer to NCE to use */
28 PIP_TRANSMIT_COMPLETE Complete
; /* Completion Routine */
29 PVOID Context
; /* Completion Context */
30 } IPFRAGMENT_CONTEXT
, *PIPFRAGMENT_CONTEXT
;
33 NTSTATUS
IPSendDatagram(PIP_PACKET IPPacket
, PNEIGHBOR_CACHE_ENTRY NCE
,
34 PIP_TRANSMIT_COMPLETE Complete
, PVOID Context
);