Data Structures | 
| struct   | apr_proc_t | 
Defines | 
| #define  | APR_PROC_CHECK_EXIT(x)   (x & APR_PROC_EXIT) | 
| #define  | APR_PROC_CHECK_SIGNALED(x)   (x & APR_PROC_SIGNAL) | 
| #define  | APR_PROC_CHECK_CORE_DUMP(x)   (x & APR_PROC_SIGNAL_CORE) | 
| #define  | APR_NO_PIPE   0 | 
| #define  | APR_FULL_BLOCK   1 | 
| #define  | APR_FULL_NONBLOCK   2 | 
| #define  | APR_PARENT_BLOCK   3 | 
| #define  | APR_CHILD_BLOCK   4 | 
| #define  | APR_NO_FILE   8 | 
| #define  | APR_READ_BLOCK   3 | 
| #define  | APR_WRITE_BLOCK   4 | 
| #define  | APR_NO_FILE   8 | 
| #define  | APR_LIMIT_CPU   0 | 
| #define  | APR_LIMIT_MEM   1 | 
| #define  | APR_LIMIT_NPROC   2 | 
| #define  | APR_LIMIT_NOFILE   3 | 
| #define  | APR_OC_REASON_DEATH   0 | 
| #define  | APR_OC_REASON_UNWRITABLE   1 | 
| #define  | APR_OC_REASON_RESTART   2 | 
| #define  | APR_OC_REASON_UNREGISTER   3 | 
| #define  | APR_OC_REASON_LOST   4 | 
| #define  | APR_OC_REASON_RUNNING   5 | 
| #define  | APR_PROC_DETACH_FOREGROUND   0 | 
| #define  | APR_PROC_DETACH_DAEMONIZE   1 | 
Typedefs | 
| typedef void(  | apr_child_errfn_t )(apr_pool_t *proc, apr_status_t err, const char *description) | 
| typedef struct apr_thread_t  | apr_thread_t | 
| typedef struct apr_threadattr_t  | apr_threadattr_t | 
| typedef struct apr_procattr_t  | apr_procattr_t | 
| typedef struct apr_thread_once_t  | apr_thread_once_t | 
| typedef struct apr_threadkey_t  | apr_threadkey_t | 
typedef struct  
apr_other_child_rec_t  | apr_other_child_rec_t | 
| typedef void *(APR_THREAD_FUNC *  | apr_thread_start_t )(apr_thread_t *, void *) | 
Enumerations | 
| enum   | apr_cmdtype_e {  
  APR_SHELLCMD, 
APR_PROGRAM, 
APR_PROGRAM_ENV, 
APR_PROGRAM_PATH, 
 
  APR_SHELLCMD_ENV
 
 } | 
| enum   | apr_wait_how_e { APR_WAIT, 
APR_NOWAIT
 } | 
| enum   | apr_exit_why_e { APR_PROC_EXIT =  1, 
APR_PROC_SIGNAL =  2, 
APR_PROC_SIGNAL_CORE =  4
 } | 
| enum   | apr_kill_conditions_e {  
  APR_KILL_NEVER, 
APR_KILL_ALWAYS, 
APR_KILL_AFTER_TIMEOUT, 
APR_JUST_WAIT, 
 
  APR_KILL_ONLY_ONCE
 
 } | 
Functions | 
| apr_status_t  | apr_threadattr_create (apr_threadattr_t **new_attr, apr_pool_t *cont) | 
| apr_status_t  | apr_threadattr_detach_set (apr_threadattr_t *attr, apr_int32_t on) | 
| apr_status_t  | apr_threadattr_detach_get (apr_threadattr_t *attr) | 
| apr_status_t  | apr_threadattr_stacksize_set (apr_threadattr_t *attr, apr_size_t stacksize) | 
| apr_status_t  | apr_threadattr_guardsize_set (apr_threadattr_t *attr, apr_size_t guardsize) | 
| apr_status_t  | apr_thread_create (apr_thread_t **new_thread, apr_threadattr_t *attr, apr_thread_start_t func, void *data, apr_pool_t *cont) | 
| apr_status_t  | apr_thread_exit (apr_thread_t *thd, apr_status_t retval) | 
| apr_status_t  | apr_thread_join (apr_status_t *retval, apr_thread_t *thd) | 
| void  | apr_thread_yield (void) | 
| apr_status_t  | apr_thread_once_init (apr_thread_once_t **control, apr_pool_t *p) | 
| apr_status_t  | apr_thread_once (apr_thread_once_t *control, void(*func)(void)) | 
| apr_status_t  | apr_thread_detach (apr_thread_t *thd) | 
| apr_status_t  | apr_thread_data_get (void **data, const char *key, apr_thread_t *thread) | 
| apr_status_t  | apr_thread_data_set (void *data, const char *key, apr_status_t(*cleanup)(void *), apr_thread_t *thread) | 
| apr_status_t  | apr_threadkey_private_create (apr_threadkey_t **key, void(*dest)(void *), apr_pool_t *cont) | 
| apr_status_t  | apr_threadkey_private_get (void **new_mem, apr_threadkey_t *key) | 
| apr_status_t  | apr_threadkey_private_set (void *priv, apr_threadkey_t *key) | 
| apr_status_t  | apr_threadkey_private_delete (apr_threadkey_t *key) | 
| apr_status_t  | apr_threadkey_data_get (void **data, const char *key, apr_threadkey_t *threadkey) | 
| apr_status_t  | apr_threadkey_data_set (void *data, const char *key, apr_status_t(*cleanup)(void *), apr_threadkey_t *threadkey) | 
| apr_status_t  | apr_procattr_create (apr_procattr_t **new_attr, apr_pool_t *cont) | 
| apr_status_t  | apr_procattr_io_set (apr_procattr_t *attr, apr_int32_t in, apr_int32_t out, apr_int32_t err) | 
| apr_status_t  | apr_procattr_child_in_set (struct apr_procattr_t *attr, apr_file_t *child_in, apr_file_t *parent_in) | 
| apr_status_t  | apr_procattr_child_out_set (struct apr_procattr_t *attr, apr_file_t *child_out, apr_file_t *parent_out) | 
| apr_status_t  | apr_procattr_child_err_set (struct apr_procattr_t *attr, apr_file_t *child_err, apr_file_t *parent_err) | 
| apr_status_t  | apr_procattr_dir_set (apr_procattr_t *attr, const char *dir) | 
| apr_status_t  | apr_procattr_cmdtype_set (apr_procattr_t *attr, apr_cmdtype_e cmd) | 
| apr_status_t  | apr_procattr_detach_set (apr_procattr_t *attr, apr_int32_t detach) | 
| apr_status_t  | apr_procattr_limit_set (apr_procattr_t *attr, apr_int32_t what, struct rlimit *limit) | 
| apr_status_t  | apr_procattr_child_errfn_set (apr_procattr_t *attr, apr_child_errfn_t *errfn) | 
| apr_status_t  | apr_procattr_error_check_set (apr_procattr_t *attr, apr_int32_t chk) | 
| apr_status_t  | apr_procattr_addrspace_set (apr_procattr_t *attr, apr_int32_t addrspace) | 
| apr_status_t  | apr_procattr_user_set (apr_procattr_t *attr, const char *username, const char *password) | 
| apr_status_t  | apr_procattr_group_set (apr_procattr_t *attr, const char *groupname) | 
| apr_status_t  | apr_proc_fork (apr_proc_t *proc, apr_pool_t *cont) | 
| apr_status_t  | apr_proc_create (apr_proc_t *new_proc, const char *progname, const char *const *args, const char *const *env, apr_procattr_t *attr, apr_pool_t *pool) | 
| apr_status_t  | apr_proc_wait (apr_proc_t *proc, int *exitcode, apr_exit_why_e *exitwhy, apr_wait_how_e waithow) | 
| apr_status_t  | apr_proc_wait_all_procs (apr_proc_t *proc, int *exitcode, apr_exit_why_e *exitwhy, apr_wait_how_e waithow, apr_pool_t *p) | 
| apr_status_t  | apr_proc_detach (int daemonize) | 
| void  | apr_proc_other_child_register (apr_proc_t *proc, void(*maintenance)(int reason, void *, int status), void *data, apr_file_t *write_fd, apr_pool_t *p) | 
| void  | apr_proc_other_child_unregister (void *data) | 
| apr_status_t  | apr_proc_other_child_alert (apr_proc_t *proc, int reason, int status) | 
| void  | apr_proc_other_child_refresh (apr_other_child_rec_t *ocr, int reason) | 
| void  | apr_proc_other_child_refresh_all (int reason) | 
| apr_status_t  | apr_proc_kill (apr_proc_t *proc, int sig) | 
| void  | apr_pool_note_subprocess (apr_pool_t *a, apr_proc_t *proc, apr_kill_conditions_e how) | 
| apr_status_t  | apr_setup_signal_thread (void) | 
| apr_status_t  | apr_signal_thread (int(*signal_handler)(int signum)) | 
| apr_pool_t *  | apr_thread_pool_get (const apr_thread_t *thethread) | 
APR Thread and Process Library.