182 lines
4.1 KiB
C
182 lines
4.1 KiB
C
/*++
|
||
|
||
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
|
||
|
||
|