xref: /reactos/sdk/include/ddk/msports.h (revision c2c66aff)
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_ */
63