19 #if !defined GLOBUS_THREAD_WINDOWS_H
20 #define GLOBUS_THREAD_WINDOWS_H
27 #define GLOBUS_NULL_POINTER_PARAMETER -1
28 #define globus_thread_once_t int
29 #define GLOBUS_THREAD_ONCE_INIT 0
30 #define GLOBUS_THREAD_ONCE_CALLED 1
33 typedef void * (*globus_thread_func_t)(
void *user_arg);
36 typedef struct globus_thread_key_s
42 typedef struct globus_i_thread_t
44 unsigned long threadID;
45 UserFunctionInfo userFunctionInfo;
53 typedef struct __globus_threadattr_t
55 void * threadAttribute;
58 typedef struct _globus_mutexattr_t
60 LPSECURITY_ATTRIBUTES securityAttributes;
65 typedef struct _globus_condattr_t
67 LPSECURITY_ATTRIBUTES securityAttributes;
70 typedef struct _globus_cond_t
85 globus_thread_func_t func,
89 #define globus_macro_i_am_only_thread() GLOBUS_FALSE
104 void (*init_routine)(
void));
127 globus_abstime_t * abstime);
141 extern int globus_i_thread_pre_activate();
145 #define GLOBUS_THREAD_MODULE (&globus_i_thread_module)