FreeRDP
libwinpr/pool/pool.h
1 
20 #ifndef WINPR_POOL_PRIVATE_H
21 #define WINPR_POOL_PRIVATE_H
22 
23 #include <winpr/windows.h>
24 #include <winpr/pool.h>
25 #include <winpr/synch.h>
26 #include <winpr/thread.h>
27 #include <winpr/collections.h>
28 
29 #if defined(_WIN32)
30 #if (_WIN32_WINNT < _WIN32_WINNT_WIN6) || defined(__MINGW32__)
32 {
33  PTP_WORK Work;
34 };
35 
36 struct S_TP_POOL
37 {
38  DWORD Minimum;
39  DWORD Maximum;
40  wArrayList* Threads;
41  wQueue* PendingQueue;
42  HANDLE TerminateEvent;
43  wCountdownEvent* WorkComplete;
44 };
45 
46 struct S_TP_WORK
47 {
48  PVOID CallbackParameter;
49  PTP_WORK_CALLBACK WorkCallback;
50  PTP_CALLBACK_ENVIRON CallbackEnvironment;
51 };
52 
53 struct S_TP_TIMER
54 {
55  void* dummy;
56 };
57 
58 struct S_TP_WAIT
59 {
60  void* dummy;
61 };
62 
63 struct S_TP_IO
64 {
65  void* dummy;
66 };
67 
68 struct S_TP_CLEANUP_GROUP
69 {
70  void* dummy;
71 };
72 
73 #endif
74 #else
76 {
77  PTP_WORK Work;
78 };
79 
80 struct S_TP_POOL
81 {
82  DWORD Minimum;
83  DWORD Maximum;
84  wArrayList* Threads;
85  wQueue* PendingQueue;
86  HANDLE TerminateEvent;
87  wCountdownEvent* WorkComplete;
88 };
89 
90 struct S_TP_WORK
91 {
92  PVOID CallbackParameter;
93  PTP_WORK_CALLBACK WorkCallback;
94  PTP_CALLBACK_ENVIRON CallbackEnvironment;
95 };
96 
97 struct S_TP_TIMER
98 {
99  void* dummy;
100 };
101 
102 struct S_TP_WAIT
103 {
104  void* dummy;
105 };
106 
107 struct S_TP_IO
108 {
109  void* dummy;
110 };
111 
113 {
114  wArrayList* groups;
116 };
117 
118 #endif
119 
120 PTP_POOL GetDefaultThreadpool(void);
121 
122 #endif /* WINPR_POOL_PRIVATE_H */