# axutil_thread.h File Reference

axis2 thread api More...

`#include <axutil_allocator.h>`
`#include <axutil_utils_defines.h>`
`#include <axutil_error.h>`

Go to the source code of this file.

## Defines
#define | AXIS2_THREAD_MUTEX_DEFAULT 0x0
#define | AXIS2_THREAD_MUTEX_NESTED 0x1
#define | AXIS2_THREAD_MUTEX_UNNESTED 0x2
## Typedefs
typedef struct axutil_thread_t | axutil_thread_t
typedef struct axutil_threadattr_t | axutil_threadattr_t
typedef struct axutil_thread_once_t | axutil_thread_once_t
typedef void *(AXIS2_THREAD_FUNC * | axutil_thread_start_t )(axutil_thread_t *, void *)
typedef struct axutil_threadkey_t | axutil_threadkey_t
typedef struct axutil_thread_mutex_t | axutil_thread_mutex_t
## Functions
AXIS2_EXTERN axutil_threadattr_t * | axutil_threadattr_create (axutil_allocator_t *allocator)
AXIS2_EXTERN axis2_status_t | axutil_threadattr_detach_set (axutil_threadattr_t *attr, axis2_bool_t detached)
AXIS2_EXTERN axis2_bool_t | axutil_threadattr_is_detach (axutil_threadattr_t *attr, axutil_allocator_t *allocator)
AXIS2_EXTERN axutil_thread_t * | axutil_thread_create (axutil_allocator_t *allocator, axutil_threadattr_t *attr, axutil_thread_start_t func, void *data)
AXIS2_EXTERN axis2_status_t | axutil_thread_exit (axutil_thread_t *thd, axutil_allocator_t *allocator)
AXIS2_EXTERN axis2_status_t | axutil_thread_join (axutil_thread_t *thd)
AXIS2_EXTERN void | axutil_thread_yield (void)
AXIS2_EXTERN axutil_thread_once_t * | axutil_thread_once_init (axutil_allocator_t *allocator)
AXIS2_EXTERN axis2_status_t | axutil_thread_once (axutil_thread_once_t *control, void(*func)(void))
AXIS2_EXTERN axis2_status_t | axutil_thread_detach (axutil_thread_t *thd)
AXIS2_EXTERN axutil_thread_mutex_t * | axutil_thread_mutex_create (axutil_allocator_t *allocator, unsigned int flags)
AXIS2_EXTERN axis2_status_t | axutil_thread_mutex_lock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN axis2_status_t | axutil_thread_mutex_trylock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN axis2_status_t | axutil_thread_mutex_unlock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN axis2_status_t | axutil_thread_mutex_destroy (axutil_thread_mutex_t *mutex)

## Detailed Description

axis2 thread api