XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
pthread.h File Reference
#include <stdint.h>
#include <_xeneva.h>
Include dependency graph for pthread.h:

Go to the source code of this file.

Classes

struct  pthread_t
 
struct  pthread_rwlock_t
 

Macros

#define PTHREAD_MUTEX_INITIALIZER   0
 

Typedefs

typedef unsigned int pthread_attr_t
 
typedef int volatile pthread_mutex_t
 
typedef int pthread_mutexattr_t
 

Functions

XE_LIB int pthread_create (pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
 
XE_LIB void pthread_exit (void *value)
 
XE_LIB int pthread_kill (pthread_t thread, int sig)
 
XE_LIB int gettid ()
 
XE_LIB void pthread_cleanup_push (void(*routine)(void *), void *arg)
 
XE_LIB void pthread_cleanup_pop (int execute)
 
XE_LIB int pthread_join (pthread_t thread, void **retval)
 
XE_LIB int pthread_mutex_lock (pthread_mutex_t *mutex)
 
XE_LIB int pthread_mutex_trylock (pthread_mutex_t *mutex)
 
XE_LIB int pthread_mutex_unlock (pthread_mutex_t *mutex)
 
XE_LIB int pthread_mutex_init (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)
 
XE_LIB int pthread_mutex_destroy (pthread_mutex_t *mutex)
 
XE_LIB int pthread_attr_init (pthread_attr_t *attr)
 
XE_LIB int pthread_attr_destroy (pthread_attr_t *attr)
 
XE_LIB int pthread_rwlock_init (pthread_rwlock_t *lock, void *args)
 
XE_LIB int pthread_rwlock_wrlock (pthread_rwlock_t *lock)
 
XE_LIB int pthread_rwlock_rdlock (pthread_rwlock_t *lock)
 
XE_LIB int pthread_rwlock_unlock (pthread_rwlock_t *lock)
 
XE_LIB int pthread_rwlock_destroy (pthread_rwlock_t *lock)
 

Macro Definition Documentation

◆ PTHREAD_MUTEX_INITIALIZER

#define PTHREAD_MUTEX_INITIALIZER   0

Typedef Documentation

◆ pthread_attr_t

typedef unsigned int pthread_attr_t

◆ pthread_mutex_t

typedef int volatile pthread_mutex_t

◆ pthread_mutexattr_t

typedef int pthread_mutexattr_t

Function Documentation

◆ gettid()

XE_LIB int gettid ( )

◆ pthread_attr_destroy()

XE_LIB int pthread_attr_destroy ( pthread_attr_t *  attr)

◆ pthread_attr_init()

XE_LIB int pthread_attr_init ( pthread_attr_t *  attr)

◆ pthread_cleanup_pop()

XE_LIB void pthread_cleanup_pop ( int  execute)

◆ pthread_cleanup_push()

XE_LIB void pthread_cleanup_push ( void(*)(void *)  routine,
void *  arg 
)

◆ pthread_create()

XE_LIB int pthread_create ( pthread_t *  thread,
pthread_attr_t *  attr,
void *(*)(void *)  start_routine,
void *  arg 
)

TODO: Kernel doesn't have error check on thread creation whether it succeed or failed, so it gurantees for success in thread creation so no error returning is branched :)

◆ pthread_exit()

XE_LIB void pthread_exit ( void *  value)

◆ pthread_join()

XE_LIB int pthread_join ( pthread_t  thread,
void **  retval 
)

◆ pthread_kill()

XE_LIB int pthread_kill ( pthread_t  thread,
int  sig 
)

◆ pthread_mutex_destroy()

XE_LIB int pthread_mutex_destroy ( pthread_mutex_t *  mutex)

◆ pthread_mutex_init()

XE_LIB int pthread_mutex_init ( pthread_mutex_t *  mutex,
const pthread_mutexattr_t *  attr 
)

◆ pthread_mutex_lock()

XE_LIB int pthread_mutex_lock ( pthread_mutex_t *  mutex)

◆ pthread_mutex_trylock()

XE_LIB int pthread_mutex_trylock ( pthread_mutex_t *  mutex)

◆ pthread_mutex_unlock()

XE_LIB int pthread_mutex_unlock ( pthread_mutex_t *  mutex)

◆ pthread_rwlock_destroy()

XE_LIB int pthread_rwlock_destroy ( pthread_rwlock_t *  lock)

◆ pthread_rwlock_init()

XE_LIB int pthread_rwlock_init ( pthread_rwlock_t *  lock,
void *  args 
)

◆ pthread_rwlock_rdlock()

XE_LIB int pthread_rwlock_rdlock ( pthread_rwlock_t *  lock)

◆ pthread_rwlock_unlock()

XE_LIB int pthread_rwlock_unlock ( pthread_rwlock_t *  lock)

◆ pthread_rwlock_wrlock()

XE_LIB int pthread_rwlock_wrlock ( pthread_rwlock_t *  lock)