aboutsummaryrefslogtreecommitdiff
path: root/src/examples/pthread_windows.h
blob: 412d40be78f43d0f792fd3d68a70387843184cc3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef pthread_windows_H
#define pthread_windows_H

struct _pthread_t;
struct _pthread_cond_t;
struct _pthread_mutex_t;

typedef struct _pthread_t *pthread_t;
typedef struct _pthread_cond_t *pthread_cond_t;
typedef struct _pthread_mutex_t *pthread_mutex_t;

#define PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t)(size_t) -1)
#define PTHREAD_COND_INITIALIZER ((pthread_cond_t)(size_t) -1)

int pthread_create (pthread_t * pt,
                    const void *attr,
                    void *(__cdecl * start)(void *),
                    void *arg);

int pthread_detach (pthread_t pt);

int pthread_join (pthread_t pt,
                  void **value_ptr);

int pthread_mutex_init (pthread_mutex_t *mutex,
                        const void *attr);

int pthread_mutex_destroy (pthread_mutex_t *mutex);

int pthread_mutex_lock (pthread_mutex_t *mutex);

int pthread_mutex_unlock (pthread_mutex_t *mutex);

int pthread_cond_init (pthread_cond_t *cond,
                       const void *attr);

int pthread_cond_destroy (pthread_cond_t *cond);

int pthread_cond_wait (pthread_cond_t *cond,
                       pthread_mutex_t *mutex);

int pthread_cond_signal (pthread_cond_t *cond);

int pthread_cond_broadcast (pthread_cond_t *cond);

#endif // !pthread_windows_H