blob: cc8ffd7938ac8762720034d42b939473e9eb9356 (
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
79
80
|
/*
* DONGLE.H
*
*
*
*/
#ifndef DONGLE_H
#define DONGLE_H
#define NDIS_IRDA_SPEED_2400 (UINT)(1 << 0) // SLOW IR ...
#define NDIS_IRDA_SPEED_9600 (UINT)(1 << 1)
#define NDIS_IRDA_SPEED_19200 (UINT)(1 << 2)
#define NDIS_IRDA_SPEED_38400 (UINT)(1 << 3)
#define NDIS_IRDA_SPEED_57600 (UINT)(1 << 4)
#define NDIS_IRDA_SPEED_115200 (UINT)(1 << 5)
#define NDIS_IRDA_SPEED_576K (UINT)(1 << 6) // MEDIUM IR ...
#define NDIS_IRDA_SPEED_1152K (UINT)(1 << 7)
#define NDIS_IRDA_SPEED_4M (UINT)(1 << 8) // FAST IR
typedef unsigned int UINT;
typedef unsigned char UCHAR;
typedef unsigned char BOOLEAN;
#undef VOID
#define VOID void
#undef FALSE
#define FALSE ((BOOLEAN)0)
#undef TRUE
#define TRUE (!FALSE)
typedef struct dongleCapabilities {
/*
* This is a mask of NDIS_IRDA_SPEED_xxx bit values.
*
*/
UINT supportedSpeedsMask;
/*
* Time (in microseconds) that must transpire between
* a transmit and the next receive.
*/
UINT turnAroundTime_usec;
/*
* Extra BOF (Beginning Of Frame) characters required
* at the start of each received frame.
*/
UINT extraBOFsRequired;
} dongleCapabilities;
typedef BOOLEAN (_stdcall *IRMINI_INIT_HANDLER)
(UINT comBase, dongleCapabilities *caps, UINT *context);
typedef void (_stdcall *IRMINI_DEINIT_HANDLER)
(UINT comBase, UINT context);
typedef BOOLEAN (_stdcall *IRMINI_SETSPEED_HANDLER)
(UINT comBase, UINT bitsPerSec, UINT context);
typedef struct IRMINI_Dongle_Interface
{
IRMINI_INIT_HANDLER initHandler;
IRMINI_SETSPEED_HANDLER setSpeedHandler;
IRMINI_DEINIT_HANDLER deinitHandler;
} IRMINI_Dongle_Interface;
/*
* A dongle module should not use any NDIS functions directly.
* It should only use these wrapper functions to access hardware.
*/
extern void _cdecl IRMINI_RawReadPort(UINT IOaddr, UCHAR *val);
extern void _cdecl IRMINI_RawWritePort(UINT IOaddr, UCHAR val);
extern void _cdecl IRMINI_StallExecution(UINT usec);
extern UINT _cdecl IRMINI_GetSystemTime_msec();
#endif DONGLE_H
|