mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 10:35:28 +00:00
35 lines
1.5 KiB
C
35 lines
1.5 KiB
C
/*
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
* PROJECT: ReactOS TCP/IP protocol driver
|
|
* FILE: include/transmit.h
|
|
* PURPOSE: Internet Protocol transmit prototypes
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
typedef VOID (*PIP_TRANSMIT_COMPLETE)( PVOID Context,
|
|
PNDIS_PACKET Packet,
|
|
NDIS_STATUS Status );
|
|
|
|
/* IP fragment context information */
|
|
typedef struct IPFRAGMENT_CONTEXT {
|
|
struct IPFRAGMENT_CONTEXT *Next; /* Pointer to next in list */
|
|
PNDIS_PACKET Datagram; /* Pointer to original NDIS packet */
|
|
PVOID DatagramData; /* Pointer to datagram data */
|
|
UINT HeaderSize; /* IP datagram header size */
|
|
PNDIS_PACKET NdisPacket; /* Pointer to NDIS packet */
|
|
PNDIS_BUFFER NdisBuffer; /* Pointer to NDIS buffer */
|
|
PVOID Header; /* Pointer to IP header in fragment buffer */
|
|
PVOID Data; /* Pointer to fragment data */
|
|
UINT Position; /* Current fragment offset */
|
|
UINT BytesLeft; /* Number of bytes left to send */
|
|
UINT PathMTU; /* Path Maximum Transmission Unit */
|
|
PNEIGHBOR_CACHE_ENTRY NCE; /* Pointer to NCE to use */
|
|
KEVENT Event; /* Signalled when the transmission is complete */
|
|
NDIS_STATUS Status; /* Status of the transmission */
|
|
} IPFRAGMENT_CONTEXT, *PIPFRAGMENT_CONTEXT;
|
|
|
|
|
|
NTSTATUS IPSendDatagram(PIP_PACKET IPPacket, PNEIGHBOR_CACHE_ENTRY NCE);
|
|
|
|
/* EOF */
|