summaryrefslogtreecommitdiffstats
path: root/private/ntos/ndis/lt200/ltrecv.h
blob: 7dcd8eff34bdd84e01945c111b5df91a0e525b49 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*++

Copyright (c) 1992  Microsoft Corporation

Module Name:

	ltrecv.h

Abstract:

	This module contains definitions for the receive packet processing.

Author:

	Stephen Hou			(stephh@microsoft.com)
	Nikhil 	Kamkolkar 	(nikhilk@microsoft.com)

Revision History:
	19 Jun 1992		Initial Version (dch@pacvax.pacersoft.com)

Notes:	Tab stop: 4
--*/

#ifndef	_LTRECV_H_
#define	_LTRECV_H_

extern
VOID
LtRecvProcessQueue(
    IN PLT_ADAPTER Adapter);

extern
NDIS_STATUS
LtRecvTransferData(
    IN NDIS_HANDLE 		MacBindingHandle,
    IN NDIS_HANDLE 		MacReceiveContext,
    IN UINT 			ByteOffset,
    IN UINT 			BytesToTransfer,
    OUT PNDIS_PACKET 	Packet,
    OUT PUINT 			BytesTransferred);

VOID
LtRecvQueueCompletion(
    IN PLT_ADAPTER Adapter);

VOID
LtRecvIndicatePacket(
    IN 	PLT_ADAPTER Adapter,
	IN	PUCHAR		LinkHdr,
	IN	PUCHAR		LookaheadBuffer,
	IN	UINT		LookaheadSize,
	IN	UINT		DgramLength,
	IN	NDIS_HANDLE	IndicateCtx);

NTSTATUS
LtRecvCompletion(
    IN PLT_ADAPTER Adapter);

//	Define the Receive descriptor. This will contain info about the packet
//	and the packet itself will follow this structure.
typedef	struct _LT_RECV_DESC {
    LIST_ENTRY 	Linkage;
    BOOLEAN 	Broadcast;
    UINT 		BufferLength;

	//
	//	This is followed by BufferLength bytes of data
	//	UCHAR	Buffer[BufferLength];

} RECV_DESC, *PRECV_DESC;

#ifdef	LTRECV_H_LOCALS

#endif	// LTRECV_H_LOCALS


#endif	// _LTRECV_H_