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>
85 typedef struct timeval apr_os_imp_time_t;
86 typedef struct tm apr_os_exp_time_t;
90 #elif defined(__BEOS__)
91 #include <kernel/OS.h>
92 #include <kernel/image.h>
94 struct apr_os_proc_mutex_t {
102 typedef struct apr_os_proc_mutex_t apr_os_proc_mutex_t;
106 typedef struct timeval apr_os_imp_time_t;
107 typedef struct tm apr_os_exp_time_t;
111 #elif defined(NETWARE)
119 typedef struct timeval apr_os_imp_time_t;
120 typedef struct tm apr_os_exp_time_t;
130 struct apr_os_proc_mutex_t {
131 #if APR_HAS_SYSVSEM_SERIALIZE || APR_HAS_FCNTL_SERIALIZE || APR_HAS_FLOCK_SERIALIZE
135 #if APR_HAS_PROC_PTHREAD_SERIALIZE
137 pthread_mutex_t *pthread_interproc;
141 #if APR_USE_PTHREAD_SERIALIZE
146 #if APR_HAS_POSIXSEM_SERIALIZE
155 typedef struct apr_os_proc_mutex_t apr_os_proc_mutex_t;
158 #if APR_HAS_THREADS && APR_HAVE_PTHREAD_H
164 typedef struct timeval apr_os_imp_time_t;
165 typedef struct tm apr_os_exp_time_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);
362 apr_os_file_t *thefile,
374 apr_os_file_t *thefile,
388 apr_os_file_t *thefile,
389 int register_cleanup,
399 apr_os_dir_t *thedir,
414 apr_os_sock_t *thesock,
438 apr_os_proc_mutex_t *ospmutex,
454 apr_os_proc_mutex_t *ospmutex,
456 int register_cleanup,
466 apr_os_imp_time_t **ostime,
476 apr_os_exp_time_t **ostime,
493 #if APR_HAS_DSO || defined(DOXYGEN)
505 apr_os_dso_handle_t thedso,
struct apr_socket_t apr_socket_t
Definition: apr_network_io.h:246
apr_status_t apr_os_pipe_put(apr_file_t **file, apr_os_file_t *thefile, apr_pool_t *cont)
int type
Definition: apr_portable.h:195
struct apr_thread_t apr_thread_t
Definition: apr_thread_proc.h:188
Definition: apr_time.h:97
int apr_os_thread_equal(apr_os_thread_t tid1, apr_os_thread_t tid2)
struct apr_thread_mutex_t apr_thread_mutex_t
Definition: apr_thread_mutex.h:41
pid_t apr_os_proc_t
Definition: apr_portable.h:163
int protocol
Definition: apr_portable.h:196
#define apr_os_global_mutex_t
Definition: apr_portable.h:203
pthread_t apr_os_thread_t
Definition: apr_portable.h:159
pthread_key_t apr_os_threadkey_t
Definition: apr_portable.h:160
apr_status_t apr_os_proc_mutex_get_ex(apr_os_proc_mutex_t *ospmutex, apr_proc_mutex_t *pmutex, apr_lockmech_e *mech)
APR Dynamic Object Handling Routines.
#define apr_os_global_mutex_get
Definition: apr_portable.h:205
apr_status_t apr_os_thread_get(apr_os_thread_t **thethd, apr_thread_t *thd)
struct apr_global_mutex_t apr_global_mutex_t
Definition: apr_global_mutex.h:47
struct apr_dso_handle_t apr_dso_handle_t
Definition: apr_dso.h:44
int apr_os_file_t
Definition: apr_portable.h:152
apr_os_sock_t * os_sock
Definition: apr_portable.h:191
apr_status_t apr_os_threadkey_put(apr_threadkey_t **key, apr_os_threadkey_t *thekey, apr_pool_t *cont)
apr_status_t apr_os_proc_mutex_get(apr_os_proc_mutex_t *ospmutex, apr_proc_mutex_t *pmutex)
pthread_mutex_t * intraproc
Definition: apr_portable.h:143
struct tm apr_os_exp_time_t
Definition: apr_portable.h:165
struct apr_proc_mutex_t apr_proc_mutex_t
Definition: apr_proc_mutex.h:57
sem_t * psem_interproc
Definition: apr_portable.h:148
struct apr_os_proc_mutex_t apr_os_proc_mutex_t
Definition: apr_portable.h:155
apr_status_t apr_os_shm_put(apr_shm_t **shm, apr_os_shm_t *osshm, apr_pool_t *cont)
struct apr_file_t apr_file_t
Definition: apr_file_io.h:209
apr_int64_t apr_time_t
Definition: apr_time.h:45
int apr_os_sock_t
Definition: apr_portable.h:154
APR Global Locking Routines.
struct timeval apr_os_imp_time_t
Definition: apr_portable.h:164
apr_status_t apr_os_sock_get(apr_os_sock_t *thesock, apr_socket_t *sock)
struct apr_shm_t apr_shm_t
Definition: apr_shm.h:44
apr_os_thread_t apr_os_thread_current(void)
apr_status_t apr_os_sock_make(apr_socket_t **apr_sock, apr_os_sock_info_t *os_sock_info, apr_pool_t *cont)
apr_status_t apr_os_uuid_get(unsigned char *uuid_data)
APR Shared Memory Routines.
apr_lockmech_e
Definition: apr_proc_mutex.h:46
APR Platform Definitions.
apr_status_t apr_os_shm_get(apr_os_shm_t *osshm, apr_shm_t *shm)
Definition: apr_portable.h:190
void * apr_os_shm_t
Definition: apr_portable.h:178
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 family
Definition: apr_portable.h:194
apr_status_t apr_os_threadkey_get(apr_os_threadkey_t *thekey, apr_threadkey_t *key)
APR Process Locking Routines.
apr_status_t apr_os_proc_mutex_put(apr_proc_mutex_t **pmutex, apr_os_proc_mutex_t *ospmutex, apr_pool_t *cont)
APR Thread and Process Library.
apr_status_t apr_os_exp_time_get(apr_os_exp_time_t **ostime, apr_time_exp_t *aprtime)
const char * apr_os_locale_encoding(apr_pool_t *pool)
struct sockaddr * local
Definition: apr_portable.h:192
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_thread_put(apr_thread_t **thd, apr_os_thread_t *thethd, apr_pool_t *cont)
apr_status_t apr_os_dir_put(apr_dir_t **dir, apr_os_dir_t *thedir, apr_pool_t *cont)
void * apr_os_dso_handle_t
Definition: apr_portable.h:176
apr_status_t apr_os_dso_handle_put(apr_dso_handle_t **dso, apr_os_dso_handle_t thedso, apr_pool_t *pool)
apr_status_t apr_os_pipe_put_ex(apr_file_t **file, apr_os_file_t *thefile, int register_cleanup, apr_pool_t *cont)
int crossproc
Definition: apr_portable.h:133
apr_status_t apr_os_imp_time_get(apr_os_imp_time_t **ostime, apr_time_t *aprtime)
apr_status_t apr_os_exp_time_put(apr_time_exp_t *aprtime, apr_os_exp_time_t **ostime, apr_pool_t *cont)
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
struct sockaddr * remote
Definition: apr_portable.h:193
int apr_status_t
Definition: apr_errno.h:44
struct apr_threadkey_t apr_threadkey_t
Definition: apr_thread_proc.h:200
struct apr_dir_t apr_dir_t
Definition: apr_file_info.h:121
apr_status_t apr_os_dso_handle_get(apr_os_dso_handle_t *dso, apr_dso_handle_t *aprdso)
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)
const char * apr_os_default_encoding(apr_pool_t *pool)
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)