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_
|