XenevaOS
Loading...
Searching...
No Matches
pthread.h
Go to the documentation of this file.
1
30#ifndef __PTHREAD_H__
31#define __PTHREAD_H__
32
33#include <stdint.h>
34#include <_xeneva.h>
35
36#ifdef __cplusplus
38#endif
39
40 typedef struct {
42 void* data;
43 } pthread_t;
44 typedef unsigned int pthread_attr_t;
45
46 typedef struct {
47 int volatile atomic_lock;
48 int volatile reads;
51
53 pthread_t * thread, pthread_attr_t * attr, void* (*start_routine)(void*), void* arg);
54 XE_LIB void pthread_exit(void* value);
55 XE_LIB int pthread_kill(pthread_t thread, int sig);
56
57 XE_LIB int gettid();
58
59 XE_LIB void pthread_cleanup_push(void (*routine)(void*), void* arg);
60 XE_LIB void pthread_cleanup_pop(int execute);
61
62 typedef int volatile pthread_mutex_t;
64
65 XE_LIB int pthread_join(pthread_t thread, void** retval);
66
67#define PTHREAD_MUTEX_INITIALIZER 0
68
74
77
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif
XE_LIB int pthread_rwlock_init(pthread_rwlock_t *lock, void *args)
Definition pthread.cpp:117
XE_LIB int pthread_rwlock_wrlock(pthread_rwlock_t *lock)
Definition pthread.cpp:121
XE_LIB int gettid()
Definition pthread.cpp:69
XE_LIB int pthread_join(pthread_t thread, void **retval)
Definition pthread.cpp:73
XE_LIB void pthread_exit(void *value)
Definition pthread.cpp:55
XE_LIB int pthread_rwlock_rdlock(pthread_rwlock_t *lock)
Definition pthread.cpp:125
int volatile pthread_mutex_t
Definition pthread.h:62
XE_LIB void pthread_cleanup_push(void(*routine)(void *), void *arg)
Definition pthread.cpp:85
XE_LIB int pthread_attr_destroy(pthread_attr_t *attr)
Definition pthread.cpp:113
XE_LIB int pthread_attr_init(pthread_attr_t *attr)
Definition pthread.cpp:109
XE_LIB int pthread_mutex_lock(pthread_mutex_t *mutex)
Definition pthread.cpp:89
XE_LIB int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
Definition pthread.cpp:36
XE_LIB int pthread_mutex_trylock(pthread_mutex_t *mutex)
Definition pthread.cpp:93
XE_LIB void pthread_cleanup_pop(int execute)
Definition pthread.cpp:87
XE_LIB int pthread_kill(pthread_t thread, int sig)
XE_LIB int pthread_rwlock_destroy(pthread_rwlock_t *lock)
Definition pthread.cpp:133
unsigned int pthread_attr_t
Definition pthread.h:44
XE_LIB int pthread_mutex_unlock(pthread_mutex_t *mutex)
Definition pthread.cpp:97
XE_LIB int pthread_mutex_destroy(pthread_mutex_t *mutex)
Definition pthread.cpp:105
XE_LIB int pthread_rwlock_unlock(pthread_rwlock_t *lock)
Definition pthread.cpp:129
XE_LIB int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)
Definition pthread.cpp:101
int pthread_mutexattr_t
Definition pthread.h:63
#define XE_LIB
Definition _xeneva.h:55
#define XE_EXTERN
Definition _xeneva.h:50
unsigned int uint32_t
Definition acefiex.h:163
const char const char va_list args
Definition seq_buf.h:182
Definition mutex.h:59
Definition pthread.h:46
int writerPid
Definition pthread.h:49
int volatile atomic_lock
Definition pthread.h:47
int volatile reads
Definition pthread.h:48
Definition pthread.h:40
void * data
Definition pthread.h:42
uint32_t id
Definition pthread.h:41