1 #ifndef ETPAN_THREAD_MANAGER_TYPES_H
3 #define ETPAN_THREAD_MANAGER_TYPES_H
5 #include <libetpan/libetpan.h>
7 struct etpan_thread_manager {
10 carray * thread_pending;
11 int can_create_thread;
19 struct etpan_thread_manager * manager;
25 carray * op_done_list;
30 struct mailsem * start_sem;
31 struct mailsem * stop_sem;
32 struct mailsem * op_sem;
35 struct etpan_thread_op {
36 struct etpan_thread * thread;
38 void (* run)(struct etpan_thread_op * op);
40 void (* callback)(int cancelled, void * result, void * callback_data);
43 void (* cleanup)(struct etpan_thread_op * op);