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.
 
 
 
 
 
 

181 lines
4.1 KiB

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
ntos\tdi\isn\fwd\rcvind.h
Abstract:
Receive indication processing
Author:
Vadim Eydelman
Revision History:
--*/
#ifndef _IPXFWD_RCVIND
#define _IPXFWD_RCVIND
// Doesn't allow accepting packets (for routing) from dial-in clients
extern BOOLEAN ThisMachineOnly;
/*++
*******************************************************************
I n i t i a l i z e R e c v Q u e u e
Routine Description:
Initializes recv queue
Arguments:
None
Return Value:
None
*******************************************************************
--*/
//VOID
//DeleteRecvQueue (
// void
// )
#define InitializeRecvQueue() { \
}
/*++
*******************************************************************
D e l e t e R e c v Q u e u e
Routine Description:
Deletes recv queue
Arguments:
None
Return Value:
None
*******************************************************************
--*/
VOID
DeleteRecvQueue (
void
);
/*++
*******************************************************************
F w R e c e i v e
Routine Description:
Called by the IPX stack to indicate that the IPX packet was
received by the NIC dirver. Only external destined packets are
indicated by this routine (with the exception of Netbios boradcasts
that indicated both for internal and external handlers)
Arguments:
MacBindingHandle - handle of NIC driver
MaxReceiveContext - NIC driver context
Context - forwarder context associated with
the NIC (interface block pointer)
RemoteAddress - sender's address
MacOptions -
LookaheadBuffer - packet lookahead buffer that contains complete
IPX header
LookaheadBufferSize - its size (at least 30 bytes)
LookaheadBufferOffset - offset of lookahead buffer in the physical
packet
Return Value:
None
*******************************************************************
--*/
BOOLEAN
IpxFwdReceive (
NDIS_HANDLE MacBindingHandle,
NDIS_HANDLE MacReceiveContext,
ULONG_PTR Context,
PIPX_LOCAL_TARGET RemoteAddress,
ULONG MacOptions,
PUCHAR LookaheadBuffer,
UINT LookaheadBufferSize,
UINT LookaheadBufferOffset,
UINT PacketSize,
PMDL pMdl
);
/*++
*******************************************************************
F w T r a n s f e r D a t a C o m p l e t e
Routine Description:
Called by the IPX stack when NIC driver completes data transger.
Arguments:
pktDscr - handle of NIC driver
status - result of the transfer
bytesTransferred - number of bytest trasferred
Return Value:
None
*******************************************************************
--*/
VOID
IpxFwdTransferDataComplete (
PNDIS_PACKET pktDscr,
NDIS_STATUS status,
UINT bytesTransferred
);
/*++
*******************************************************************
F w T r a n s f e r D a t a C o m p l e t e
Routine Description:
This routine receives control from the IPX driver after one or
more receive operations have completed and no receive is in progress.
It is called under less severe time constraints than IpxFwdReceive.
It is used to process netbios queue
Arguments:
None
Return Value:
None
*******************************************************************
--*/
VOID
IpxFwdReceiveComplete (
USHORT NicId
);
/*++
*******************************************************************
F w R e c e i v e
Routine Description:
Called by the IPX stack to indicate that the IPX packet destined
to local client was received by the NIC dirver.
Arguments:
Context - forwarder context associated with
the NIC (interface block pointer)
RemoteAddress - sender's address
LookaheadBuffer - packet lookahead buffer that contains complete
IPX header
LookaheadBufferSize - its size (at least 30 bytes)
Return Value:
STATUS_SUCCESS - the packet will be delivered to local destination
STATUS_UNSUCCESSFUL - the packet will be dropped
*******************************************************************
--*/
NTSTATUS
IpxFwdInternalReceive (
IN ULONG_PTR FwdAdapterContext,
IN PIPX_LOCAL_TARGET RemoteAddress,
IN PUCHAR LookAheadBuffer,
IN UINT LookAheadBufferSize
);
#endif