summaryrefslogtreecommitdiffstats
path: root/private/ntos/tdi/irda/inc/irdalink.h
blob: e96f1366551451a8552516b7116f5d9b016509a6 (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
NTSTATUS IrdaNdisInitialize();

#define IRDA_NDIS_BUFFER_POOL_SIZE   4
#define IRDA_NDIS_PACKET_POOL_SIZE   4
#define IRDA_MSG_LIST_LEN            2
#define IRDA_MSG_DATA_SIZE           64

typedef struct
{
    PIRDA_MSG                    pIMsg;
    MEDIA_SPECIFIC_INFORMATION  MediaInfo;
} IRDA_PROTOCOL_RESERVED, *PIRDA_PROTOCOL_RESERVED;

typedef struct IrdaLinkControlBlock
{
    LIST_ENTRY      Linkage;
    NDIS_SPIN_LOCK  SpinLock;
    NDIS_HANDLE     BindContext;
    NDIS_HANDLE     NdisBindingHandle;
    NDIS_EVENT      SyncEvent;
    NDIS_STATUS     SyncStatus;
    int             MediaBusy;
    PVOID           IrlapContext;
    PVOID           IrlmpContext;
    NDIS_HANDLE     BufferPool;
    NDIS_HANDLE     PacketPool;
    LIST_ENTRY      IMsgList;
    int             IMsgListLen;
    UINT            ExtraBofs;   // These should be per connection for
    UINT            MinTat;      // multipoint
} IRDA_LINK_CB, *PIRDA_LINK_CB;    

IRDA_MSG *AllocMacIMsg(PIRDA_LINK_CB);