Go to the documentation of this file.
21 #ifndef APR_PORTABLE_H
22 #define APR_PORTABLE_H
46 #if APR_HAVE_PTHREAD_H
49 #if APR_HAVE_SEMAPHORE_H
50 #include <semaphore.h>
69 typedef HANDLE apr_os_thread_t;
71 typedef DWORD apr_os_threadkey_t;
82 typedef TID apr_os_thread_t;
84 typedef PULONG apr_os_threadkey_t;
90 #elif defined(__BEOS__)
91 #include <kernel/OS.h>
92 #include <kernel/image.h>
103 typedef thread_id apr_os_thread_t;
105 typedef int apr_os_threadkey_t;
111 #elif defined(NETWARE)
116 typedef NXThreadId_t apr_os_thread_t;
118 typedef NXKey_t apr_os_threadkey_t;
131 #if APR_HAS_SYSVSEM_SERIALIZE || APR_HAS_FCNTL_SERIALIZE || APR_HAS_FLOCK_SERIALIZE
135 #if APR_HAS_PROC_PTHREAD_SERIALIZE
141 #if APR_USE_PTHREAD_SERIALIZE
146 #if APR_HAS_POSIXSEM_SERIALIZE
158 #if APR_HAS_THREADS && APR_HAVE_PTHREAD_H
159 typedef pthread_t apr_os_thread_t;
160 typedef pthread_key_t apr_os_threadkey_t;
169 #if defined(HPUX) || defined(HPUX10) || defined(HPUX11)
172 #elif defined(DARWIN)
173 #include <mach-o/dyld.h>
201 #if APR_PROC_MUTEX_IS_GLOBAL || defined(DOXYGEN)
203 #define apr_os_global_mutex_t apr_os_proc_mutex_t
205 #define apr_os_global_mutex_get apr_os_proc_mutex_get
295 #if APR_HAS_THREADS || defined(DOXYGEN)
323 apr_os_thread_t *thethd,
333 apr_os_threadkey_t *thekey,
347 apr_os_thread_t tid2);
389 int register_cleanup,
456 int register_cleanup,
493 #if APR_HAS_DSO || defined(DOXYGEN)
Definition: apr_portable.h:190
struct apr_dir_t apr_dir_t
Definition: apr_file_info.h:121
int crossproc
Definition: apr_portable.h:133
struct apr_proc_mutex_t apr_proc_mutex_t
Definition: apr_proc_mutex.h:57
apr_status_t apr_os_proc_mutex_put_ex(apr_proc_mutex_t **pmutex, apr_os_proc_mutex_t *ospmutex, apr_lockmech_e mech, int register_cleanup, apr_pool_t *cont)
struct apr_thread_t apr_thread_t
Definition: apr_thread_proc.h:178
Definition: apr_portable.h:130
pid_t apr_os_proc_t
Definition: apr_portable.h:163
struct apr_threadkey_t apr_threadkey_t
Definition: apr_thread_proc.h:190
apr_status_t apr_os_thread_put(apr_thread_t **thd, apr_os_thread_t *thethd, apr_pool_t *cont)
APR Process Locking Routines.
pthread_mutex_t * intraproc
Definition: apr_portable.h:143
int apr_os_thread_equal(apr_os_thread_t tid1, apr_os_thread_t tid2)
apr_os_thread_t apr_os_thread_current(void)
#define apr_os_global_mutex_t
Definition: apr_portable.h:203
pthread_mutex_t * pthread_interproc
Definition: apr_portable.h:137
struct apr_global_mutex_t apr_global_mutex_t
Definition: apr_global_mutex.h:47
struct apr_thread_mutex_t apr_thread_mutex_t
Definition: apr_thread_mutex.h:41
apr_os_sock_t * os_sock
Definition: apr_portable.h:191
int apr_os_file_t
Definition: apr_portable.h:152
apr_status_t apr_os_proc_mutex_get_ex(apr_os_proc_mutex_t *ospmutex, apr_proc_mutex_t *pmutex, apr_lockmech_e *mech)
#define apr_os_global_mutex_get
Definition: apr_portable.h:205
apr_status_t apr_os_threadkey_put(apr_threadkey_t **key, apr_os_threadkey_t *thekey, apr_pool_t *cont)
struct sockaddr * local
Definition: apr_portable.h:192
struct apr_dso_handle_t apr_dso_handle_t
Definition: apr_dso.h:44
int type
Definition: apr_portable.h:195
apr_status_t apr_os_shm_put(apr_shm_t **shm, apr_os_shm_t *osshm, apr_pool_t *cont)
apr_status_t apr_os_proc_mutex_get(apr_os_proc_mutex_t *ospmutex, apr_proc_mutex_t *pmutex)
int apr_os_sock_t
Definition: apr_portable.h:154
apr_status_t apr_os_dso_handle_get(apr_os_dso_handle_t *dso, apr_dso_handle_t *aprdso)
struct tm apr_os_exp_time_t
Definition: apr_portable.h:165
APR Thread and Process Library.
apr_status_t apr_os_sock_make(apr_socket_t **apr_sock, apr_os_sock_info_t *os_sock_info, apr_pool_t *cont)
struct apr_os_proc_mutex_t apr_os_proc_mutex_t
Definition: apr_portable.h:155
APR Dynamic Object Handling Routines.
struct timeval apr_os_imp_time_t
Definition: apr_portable.h:164
struct apr_shm_t apr_shm_t
Definition: apr_shm.h:44
APR Platform Definitions.
apr_status_t apr_os_sock_get(apr_os_sock_t *thesock, apr_socket_t *sock)
APR Global Locking Routines.
apr_status_t apr_os_uuid_get(unsigned char *uuid_data)
apr_status_t apr_os_thread_get(apr_os_thread_t **thethd, apr_thread_t *thd)
struct apr_file_t apr_file_t
Definition: apr_file_io.h:188
apr_status_t apr_os_file_get(apr_os_file_t *thefile, apr_file_t *file)
DIR apr_os_dir_t
Definition: apr_portable.h:153
int protocol
Definition: apr_portable.h:196
struct apr_socket_t apr_socket_t
Definition: apr_network_io.h:219
apr_status_t apr_os_dso_handle_put(apr_dso_handle_t **dso, apr_os_dso_handle_t thedso, apr_pool_t *pool)
Definition: apr_time.h:97
apr_status_t apr_os_shm_get(apr_os_shm_t *osshm, apr_shm_t *shm)
apr_status_t apr_os_sock_put(apr_socket_t **sock, apr_os_sock_t *thesock, apr_pool_t *cont)
apr_status_t apr_os_threadkey_get(apr_os_threadkey_t *thekey, apr_threadkey_t *key)
void * apr_os_shm_t
Definition: apr_portable.h:178
void * apr_os_dso_handle_t
Definition: apr_portable.h:176
APR Shared Memory Routines.
apr_int64_t apr_time_t
Definition: apr_time.h:45
apr_status_t apr_os_proc_mutex_put(apr_proc_mutex_t **pmutex, apr_os_proc_mutex_t *ospmutex, apr_pool_t *cont)
apr_status_t apr_os_exp_time_get(apr_os_exp_time_t **ostime, apr_time_exp_t *aprtime)
struct sockaddr * remote
Definition: apr_portable.h:193
int apr_status_t
Definition: apr_errno.h:44
const char * apr_os_locale_encoding(apr_pool_t *pool)
apr_status_t apr_os_dir_put(apr_dir_t **dir, apr_os_dir_t *thedir, apr_pool_t *cont)
apr_status_t apr_os_pipe_put_ex(apr_file_t **file, apr_os_file_t *thefile, int register_cleanup, apr_pool_t *cont)
apr_status_t apr_os_imp_time_get(apr_os_imp_time_t **ostime, apr_time_t *aprtime)
apr_status_t apr_os_imp_time_put(apr_time_t *aprtime, apr_os_imp_time_t **ostime, apr_pool_t *cont)
apr_status_t apr_os_dir_get(apr_os_dir_t **thedir, apr_dir_t *dir)
apr_status_t apr_os_file_put(apr_file_t **file, apr_os_file_t *thefile, apr_int32_t flags, apr_pool_t *cont)
sem_t * psem_interproc
Definition: apr_portable.h:148
apr_status_t apr_os_exp_time_put(apr_time_exp_t *aprtime, apr_os_exp_time_t **ostime, apr_pool_t *cont)
const char * apr_os_default_encoding(apr_pool_t *pool)
int family
Definition: apr_portable.h:194
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
apr_lockmech_e
Definition: apr_proc_mutex.h:46
apr_status_t apr_os_pipe_put(apr_file_t **file, apr_os_file_t *thefile, apr_pool_t *cont)