Apache Portable Runtime
Modules | Data Structures | Macros | Typedefs | Functions

Modules

 Thread portability Routines
 
 DSO (Dynamic Loading) Portability Routines
 

Data Structures

struct  apr_os_proc_mutex_t
 
struct  apr_os_sock_info_t
 

Macros

#define apr_os_global_mutex_t   apr_os_proc_mutex_t
 
#define apr_os_global_mutex_get   apr_os_proc_mutex_get
 

Typedefs

typedef int apr_os_file_t
 
typedef DIR apr_os_dir_t
 
typedef int apr_os_sock_t
 
typedef struct apr_os_proc_mutex_t apr_os_proc_mutex_t
 
typedef pthread_t apr_os_thread_t
 
typedef pthread_key_t apr_os_threadkey_t
 
typedef pid_t apr_os_proc_t
 
typedef struct timeval apr_os_imp_time_t
 
typedef struct tm apr_os_exp_time_t
 
typedef void * apr_os_dso_handle_t
 
typedef void * apr_os_shm_t
 
typedef struct apr_os_sock_info_t apr_os_sock_info_t
 alias for local OS socket
 

Functions

apr_status_t apr_os_file_get (apr_os_file_t *thefile, apr_file_t *file)
 
apr_status_t apr_os_dir_get (apr_os_dir_t **thedir, apr_dir_t *dir)
 
apr_status_t apr_os_sock_get (apr_os_sock_t *thesock, apr_socket_t *sock)
 
apr_status_t apr_os_proc_mutex_get (apr_os_proc_mutex_t *ospmutex, apr_proc_mutex_t *pmutex)
 
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_status_t apr_os_exp_time_get (apr_os_exp_time_t **ostime, apr_time_exp_t *aprtime)
 
apr_status_t apr_os_imp_time_get (apr_os_imp_time_t **ostime, apr_time_t *aprtime)
 
apr_status_t apr_os_shm_get (apr_os_shm_t *osshm, apr_shm_t *shm)
 
apr_status_t apr_os_file_put (apr_file_t **file, apr_os_file_t *thefile, apr_int32_t flags, apr_pool_t *cont)
 
apr_status_t apr_os_pipe_put (apr_file_t **file, apr_os_file_t *thefile, 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_dir_put (apr_dir_t **dir, apr_os_dir_t *thedir, apr_pool_t *cont)
 
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_sock_make (apr_socket_t **apr_sock, apr_os_sock_info_t *os_sock_info, apr_pool_t *cont)
 
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_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)
 
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_exp_time_put (apr_time_exp_t *aprtime, apr_os_exp_time_t **ostime, apr_pool_t *cont)
 
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_uuid_get (unsigned char *uuid_data)
 
const char * apr_os_default_encoding (apr_pool_t *pool)
 
const char * apr_os_locale_encoding (apr_pool_t *pool)
 

Detailed Description

Macro Definition Documentation

#define apr_os_global_mutex_get   apr_os_proc_mutex_get
Returns
apr_os_global_mutex
#define apr_os_global_mutex_t   apr_os_proc_mutex_t

Opaque global mutex type

Typedef Documentation

typedef DIR apr_os_dir_t

native dir

native dso types

typedef struct tm apr_os_exp_time_t

native tm

typedef int apr_os_file_t

native file

typedef struct timeval apr_os_imp_time_t

native timeval

native process mutex

typedef pid_t apr_os_proc_t

native pid

typedef void* apr_os_shm_t

native SHM

typedef int apr_os_sock_t

native dir

typedef pthread_t apr_os_thread_t

native thread

typedef pthread_key_t apr_os_threadkey_t

native thread address space

Function Documentation

const char* apr_os_default_encoding ( apr_pool_t pool)

Get the name of the system default character set.

Parameters
poolthe pool to allocate the name from, if needed
apr_status_t apr_os_dir_get ( apr_os_dir_t **  thedir,
apr_dir_t dir 
)

convert the dir from apr type to os specific type.

Parameters
thedirThe os specific dir we are converting to
dirThe apr dir to convert.
apr_status_t apr_os_dir_put ( apr_dir_t **  dir,
apr_os_dir_t thedir,
apr_pool_t cont 
)

convert the dir from os specific type to apr type.

Parameters
dirThe apr dir we are converting to.
thedirThe os specific dir to convert
contThe pool to use when creating to apr directory.
apr_status_t apr_os_exp_time_get ( apr_os_exp_time_t **  ostime,
apr_time_exp_t aprtime 
)

Get the exploded time in the platforms native format.

Parameters
ostimethe native time format
aprtimethe time to convert
apr_status_t apr_os_exp_time_put ( apr_time_exp_t aprtime,
apr_os_exp_time_t **  ostime,
apr_pool_t cont 
)

Put the exploded time in the APR format.

Parameters
aprtimethe APR time format
ostimethe time to convert
contthe pool to use if necessary
apr_status_t apr_os_file_get ( apr_os_file_t thefile,
apr_file_t file 
)

convert the file from apr type to os specific type.

Parameters
thefileThe os specific file we are converting to
fileThe apr file to convert.
Remarks
On Unix, it is only possible to get a file descriptor from an apr file type.
apr_status_t apr_os_file_put ( apr_file_t **  file,
apr_os_file_t thefile,
apr_int32_t  flags,
apr_pool_t cont 
)

convert the file from os specific type to apr type.

Parameters
fileThe apr file we are converting to.
thefileThe os specific file to convert
flagsThe flags that were used to open this file.
contThe pool to use if it is needed.
Remarks
On Unix, it is only possible to put a file descriptor into an apr file type.
apr_status_t apr_os_imp_time_get ( apr_os_imp_time_t **  ostime,
apr_time_t aprtime 
)

Get the imploded time in the platforms native format.

Parameters
ostimethe native time format
aprtimethe time to convert
apr_status_t apr_os_imp_time_put ( apr_time_t aprtime,
apr_os_imp_time_t **  ostime,
apr_pool_t cont 
)

Put the imploded time in the APR format.

Parameters
aprtimethe APR time format
ostimethe time to convert
contthe pool to use if necessary
const char* apr_os_locale_encoding ( apr_pool_t pool)

Get the name of the current locale character set.

Parameters
poolthe pool to allocate the name from, if needed
Remarks
Defers to apr_os_default_encoding if the current locale's data can't be retrieved on this system.
apr_status_t apr_os_pipe_put ( apr_file_t **  file,
apr_os_file_t thefile,
apr_pool_t cont 
)

convert the file from os specific type to apr type.

Parameters
fileThe apr file we are converting to.
thefileThe os specific pipe to convert
contThe pool to use if it is needed.
Remarks
On Unix, it is only possible to put a file descriptor into an apr file type.
apr_status_t apr_os_pipe_put_ex ( apr_file_t **  file,
apr_os_file_t thefile,
int  register_cleanup,
apr_pool_t cont 
)

convert the file from os specific type to apr type.

Parameters
fileThe apr file we are converting to.
thefileThe os specific pipe to convert
register_cleanupA cleanup will be registered on the apr_file_t to issue apr_file_close().
contThe pool to use if it is needed.
Remarks
On Unix, it is only possible to put a file descriptor into an apr file type.
apr_status_t apr_os_proc_mutex_get ( apr_os_proc_mutex_t ospmutex,
apr_proc_mutex_t pmutex 
)

Convert the proc mutex from apr type to os specific type

Parameters
ospmutexThe os specific proc mutex we are converting to.
pmutexThe apr proc mutex to convert.
apr_status_t apr_os_proc_mutex_get_ex ( apr_os_proc_mutex_t ospmutex,
apr_proc_mutex_t pmutex,
apr_lockmech_e mech 
)

Convert the proc mutex from apr type to os specific type, also providing the mechanism used by the apr mutex.

Parameters
ospmutexThe os specific proc mutex we are converting to.
pmutexThe apr proc mutex to convert.
mechThe mechanism used by the apr proc mutex (if not NULL).
Remarks
Allows for disambiguation for platforms with multiple mechanisms available.
apr_status_t apr_os_proc_mutex_put ( apr_proc_mutex_t **  pmutex,
apr_os_proc_mutex_t ospmutex,
apr_pool_t cont 
)

Convert the proc mutex from os specific type to apr type

Parameters
pmutexThe apr proc mutex we are converting to.
ospmutexThe os specific proc mutex to convert.
contThe pool to use if it is needed.
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 
)

Convert the proc mutex from os specific type to apr type, using the specified mechanism.

Parameters
pmutexThe apr proc mutex we are converting to.
ospmutexThe os specific proc mutex to convert.
mechThe apr mutex locking mechanism
register_cleanupWhether to destroy the os mutex with the apr one (either on explicit destroy or pool cleanup).
contThe pool to use if it is needed.
Remarks
Allows for disambiguation for platforms with multiple mechanisms available.
apr_status_t apr_os_shm_get ( apr_os_shm_t osshm,
apr_shm_t shm 
)

convert the shm from apr type to os specific type.

Parameters
osshmThe os specific shm representation
shmThe apr shm to convert.
apr_status_t apr_os_shm_put ( apr_shm_t **  shm,
apr_os_shm_t osshm,
apr_pool_t cont 
)

convert the shared memory from os specific type to apr type.

Parameters
shmThe apr shm representation of osshm
osshmThe os specific shm identity
contThe pool to use if it is needed.
Remarks
On fork()ed architectures, this is typically nothing more than the memory block mapped. On non-fork architectures, this is typically some internal handle to pass the mapping from process to process.
apr_status_t apr_os_sock_get ( apr_os_sock_t thesock,
apr_socket_t sock 
)

Convert the socket from an apr type to an OS specific socket

Parameters
thesockThe socket to convert.
sockThe os specific equivalent of the apr socket..
apr_status_t apr_os_sock_make ( apr_socket_t **  apr_sock,
apr_os_sock_info_t os_sock_info,
apr_pool_t cont 
)

Create a socket from an existing descriptor and local and remote socket addresses.

Parameters
apr_sockThe new socket that has been set up
os_sock_infoThe os representation of the socket handle and other characteristics of the socket
contThe pool to use
Remarks
If you only know the descriptor/handle or if it isn't really a true socket, use apr_os_sock_put() instead.
apr_status_t apr_os_sock_put ( apr_socket_t **  sock,
apr_os_sock_t thesock,
apr_pool_t cont 
)

Convert a socket from the os specific type to the APR type. If sock points to NULL, a socket will be created from the pool provided. If **sock does not point to NULL, the structure pointed to by sock will be reused and updated with the given socket.

Parameters
sockThe pool to use.
thesockThe socket to convert to.
contThe socket we are converting to an apr type.
Remarks
If it is a true socket, it is best to call apr_os_sock_make() and provide APR with more information about the socket.
apr_status_t apr_os_uuid_get ( unsigned char *  uuid_data)

Private: apr-util's apr_uuid module when supported by the platform