[MSPORTS]
[reactos.git] / reactos / include / ddk / msports.h
1 #ifndef _MSPORTS_
2 #define _MSPORTS_
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 DECLARE_HANDLE(HCOMDB);
9 typedef HCOMDB *PHCOMDB;
10 #define HCOMDB_INVALID_HANDLE_VALUE ((HCOMDB)INVALID_HANDLE_VALUE)
11
12 /* Limits for ComDBResizeDatabase NewSize */
13 #define COMDB_MIN_PORTS_ARBITRATED 256
14 #define COMDB_MAX_PORTS_ARBITRATED 4096
15
16 /* ReportType flags for ComDBGetCurrentPortUsage */
17 #define CDB_REPORT_BITS 0x0
18 #define CDB_REPORT_BYTES 0x1
19
20 LONG
21 WINAPI
22 ComDBClaimNextFreePort(IN HCOMDB hComDB,
23 OUT LPDWORD ComNumber);
24
25 LONG
26 WINAPI
27 ComDBClaimPort(IN HCOMDB hComDB,
28 IN DWORD ComNumber,
29 IN BOOL ForceClaim,
30 OUT PBOOL Forced);
31
32 LONG
33 WINAPI
34 ComDBClose(IN HCOMDB hComDB);
35
36 LONG
37 WINAPI
38 ComDBGetCurrentPortUsage(IN HCOMDB hComDB,
39 OUT PBYTE Buffer,
40 IN DWORD BufferSize,
41 IN DWORD ReportType,
42 OUT LPDWORD MaxPortsReported);
43
44 LONG
45 WINAPI
46 ComDBOpen(OUT HCOMDB *phComDB);
47
48 LONG
49 WINAPI
50 ComDBReleasePort(IN HCOMDB hComDB,
51 IN DWORD ComNumber);
52
53 LONG
54 WINAPI
55 ComDBResizeDatabase(IN HCOMDB hComDB,
56 IN DWORD NewSize);
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif /* _MSPORTS_ */