Imported existing code

This commit is contained in:
Hazim Gazov
2010-04-02 02:48:44 -03:00
parent 48fbc5ae91
commit 7a86d01598
13996 changed files with 2468699 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef DSO_H
#define DSO_H
#include "apr_private.h"
#include "apr_general.h"
#include "apr_pools.h"
#include "apr_dso.h"
#include "apr.h"
#if APR_HAS_DSO
#ifdef HAVE_MACH_O_DYLD_H
#include <mach-o/dyld.h>
#endif
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#ifdef HAVE_DL_H
#include <dl.h>
#endif
#ifndef RTLD_NOW
#define RTLD_NOW 1
#endif
#ifndef RTLD_GLOBAL
#define RTLD_GLOBAL 0
#endif
#if (defined(__FreeBSD__) ||\
defined(__OpenBSD__) ||\
defined(__NetBSD__) ) && !defined(__ELF__)
#define DLSYM_NEEDS_UNDERSCORE
#endif
struct apr_dso_handle_t {
apr_pool_t *pool;
void *handle;
const char *errormsg;
};
#endif
#endif

View File

@@ -0,0 +1,137 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FILE_IO_H
#define FILE_IO_H
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_tables.h"
#include "apr_file_io.h"
#include "apr_file_info.h"
#include "apr_errno.h"
#include "apr_lib.h"
#include "apr_thread_mutex.h"
#ifndef WAITIO_USES_POLL
#include "apr_poll.h"
#endif
/* System headers the file I/O library needs */
#if APR_HAVE_FCNTL_H
#include <fcntl.h>
#endif
#if APR_HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if APR_HAVE_ERRNO_H
#include <errno.h>
#endif
#if APR_HAVE_STRING_H
#include <string.h>
#endif
#if APR_HAVE_STRINGS_H
#include <strings.h>
#endif
#if APR_HAVE_DIRENT_H
#include <dirent.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
#if APR_HAVE_UNISTD_H
#include <unistd.h>
#endif
#if APR_HAVE_STDIO_H
#include <stdio.h>
#endif
#if APR_HAVE_STDLIB_H
#include <stdlib.h>
#endif
#if APR_HAVE_SYS_UIO_H
#include <sys/uio.h>
#endif
#if APR_HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef BEOS
#include <kernel/OS.h>
#endif
#if BEOS_BONE
# ifndef BONE7
/* prior to BONE/7 fd_set & select were defined in sys/socket.h */
# include <sys/socket.h>
# else
/* Be moved the fd_set stuff and also the FIONBIO definition... */
# include <sys/ioctl.h>
# endif
#endif
/* End System headers */
#define APR_FILE_BUFSIZE 4096
struct apr_file_t {
apr_pool_t *pool;
int filedes;
char *fname;
apr_int32_t flags;
int eof_hit;
int is_pipe;
apr_interval_time_t timeout;
int buffered;
enum {BLK_UNKNOWN, BLK_OFF, BLK_ON } blocking;
int ungetchar; /* Last char provided by an unget op. (-1 = no char)*/
#ifndef WAITIO_USES_POLL
/* if there is a timeout set, then this pollset is used */
apr_pollset_t *pollset;
#endif
/* Stuff for buffered mode */
char *buffer;
int bufpos; /* Read/Write position in buffer */
unsigned long dataRead; /* amount of valid data read into buffer */
int direction; /* buffer being used for 0 = read, 1 = write */
unsigned long filePtr; /* position in file of handle */
#if APR_HAS_THREADS
struct apr_thread_mutex_t *thlock;
#endif
};
#if APR_HAS_LARGE_FILES && defined(_LARGEFILE64_SOURCE)
#define stat(f,b) stat64(f,b)
#define lstat(f,b) lstat64(f,b)
#define fstat(f,b) fstat64(f,b)
#define lseek(f,o,w) lseek64(f,o,w)
#define ftruncate(f,l) ftruncate64(f,l)
typedef struct stat64 struct_stat;
#else
typedef struct stat struct_stat;
#endif
struct apr_dir_t {
apr_pool_t *pool;
char *dirname;
DIR *dirstruct;
struct dirent *entry;
};
apr_status_t apr_unix_file_cleanup(void *);
mode_t apr_unix_perms2mode(apr_fileperms_t perms);
apr_fileperms_t apr_unix_mode2perms(mode_t mode);
#endif /* ! FILE_IO_H */

View File

@@ -0,0 +1,36 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef GLOBAL_MUTEX_H
#define GLOBAL_MUTEX_H
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_lib.h"
#include "apr_global_mutex.h"
#include "apr_arch_proc_mutex.h"
#include "apr_arch_thread_mutex.h"
struct apr_global_mutex_t {
apr_pool_t *pool;
apr_proc_mutex_t *proc_mutex;
#if APR_HAS_THREADS
apr_thread_mutex_t *thread_mutex;
#endif /* APR_HAS_THREADS */
};
#endif /* GLOBAL_MUTEX_H */

View File

@@ -0,0 +1,51 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef INHERIT_H
#define INHERIT_H
#include "apr_inherit.h"
#define APR_INHERIT (1 << 24) /* Must not conflict with other bits */
#define APR_IMPLEMENT_INHERIT_SET(name, flag, pool, cleanup) \
apr_status_t apr_##name##_inherit_set(apr_##name##_t *the##name) \
{ \
if (the##name->flag & APR_FILE_NOCLEANUP) \
return APR_EINVAL; \
if (!(the##name->flag & APR_INHERIT)) { \
the##name->flag |= APR_INHERIT; \
apr_pool_child_cleanup_set(the##name->pool, \
(void *)the##name, \
cleanup, apr_pool_cleanup_null); \
} \
return APR_SUCCESS; \
}
#define APR_IMPLEMENT_INHERIT_UNSET(name, flag, pool, cleanup) \
apr_status_t apr_##name##_inherit_unset(apr_##name##_t *the##name) \
{ \
if (the##name->flag & APR_FILE_NOCLEANUP) \
return APR_EINVAL; \
if (the##name->flag & APR_INHERIT) { \
the##name->flag &= ~APR_INHERIT; \
apr_pool_child_cleanup_set(the##name->pool, \
(void *)the##name, \
cleanup, cleanup); \
} \
return APR_SUCCESS; \
}
#endif /* ! INHERIT_H */

View File

@@ -0,0 +1,23 @@
/* Copyright 2001-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef TIME_INTERNAL_H
#define TIME_INTERNAL_H
#include "apr.h"
void apr_unix_setup_time(void);
#endif /* TIME_INTERNAL_H */

View File

@@ -0,0 +1,66 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef MISC_H
#define MISC_H
#include "apr.h"
#include "apr_portable.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_pools.h"
#include "apr_getopt.h"
#include "apr_thread_proc.h"
#include "apr_file_io.h"
#include "apr_errno.h"
#include "apr_getopt.h"
#if APR_HAVE_STDIO_H
#include <stdio.h>
#endif
#if APR_HAVE_SIGNAL_H
#include <signal.h>
#endif
#if APR_HAVE_PTHREAD_H
#include <pthread.h>
#endif
#if APR_HAVE_STDLIB_H
#include <stdlib.h>
#endif
#if APR_HAVE_STRING_H
#include <string.h>
#endif
#ifdef BEOS
#include <kernel/OS.h>
#endif
struct apr_other_child_rec_t {
apr_pool_t *p;
struct apr_other_child_rec_t *next;
apr_proc_t *proc;
void (*maintenance) (int, void *, int);
void *data;
apr_os_file_t write_fd;
};
#if defined(WIN32) || defined(NETWARE)
#define WSAHighByte 2
#define WSALowByte 0
#endif
#endif /* ! MISC_H */

View File

@@ -0,0 +1,141 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef NETWORK_IO_H
#define NETWORK_IO_H
#include "apr.h"
#include "apr_private.h"
#include "apr_network_io.h"
#include "apr_errno.h"
#include "apr_general.h"
#include "apr_lib.h"
#ifndef WAITIO_USES_POLL
#include "apr_poll.h"
#endif
/* System headers the network I/O library needs */
#if APR_HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if APR_HAVE_SYS_UIO_H
#include <sys/uio.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#if APR_HAVE_ERRNO_H
#include <errno.h>
#endif
#if APR_HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#if APR_HAVE_UNISTD_H
#include <unistd.h>
#endif
#if APR_HAVE_STRING_H
#include <string.h>
#endif
#if APR_HAVE_NETINET_TCP_H
#include <netinet/tcp.h>
#endif
#if APR_HAVE_NETINET_SCTP_UIO_H
#include <netinet/sctp_uio.h>
#endif
#if APR_HAVE_NETINET_SCTP_H
#include <netinet/sctp.h>
#endif
#if APR_HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#if APR_HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
#if APR_HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#if APR_HAVE_SYS_SOCKIO_H
#include <sys/sockio.h>
#endif
#if APR_HAVE_NETDB_H
#include <netdb.h>
#endif
#if APR_HAVE_FCNTL_H
#include <fcntl.h>
#endif
#if APR_HAVE_SYS_SENDFILE_H
#include <sys/sendfile.h>
#endif
#if APR_HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
/* End System Headers */
#ifndef HAVE_POLLIN
#define POLLIN 1
#define POLLPRI 2
#define POLLOUT 4
#define POLLERR 8
#define POLLHUP 16
#define POLLNVAL 32
#endif
typedef struct sock_userdata_t sock_userdata_t;
struct sock_userdata_t {
sock_userdata_t *next;
const char *key;
void *data;
};
struct apr_socket_t {
apr_pool_t *cntxt;
int socketdes;
int type;
int protocol;
apr_sockaddr_t *local_addr;
apr_sockaddr_t *remote_addr;
apr_interval_time_t timeout;
#ifndef HAVE_POLL
int connected;
#endif
int local_port_unknown;
int local_interface_unknown;
int remote_addr_unknown;
apr_int32_t options;
apr_int32_t inherit;
sock_userdata_t *userdata;
#ifndef WAITIO_USES_POLL
/* if there is a timeout set, then this pollset is used */
apr_pollset_t *pollset;
#endif
};
const char *apr_inet_ntop(int af, const void *src, char *dst, apr_size_t size);
int apr_inet_pton(int af, const char *src, void *dst);
void apr_sockaddr_vars_set(apr_sockaddr_t *, int, apr_port_t);
#define apr_is_option_set(skt, option) \
(((skt)->options & (option)) == (option))
#define apr_set_option(skt, option, on) \
do { \
if (on) \
(skt)->options |= (option); \
else \
(skt)->options &= ~(option); \
} while (0)
#endif /* ! NETWORK_IO_H */

View File

@@ -0,0 +1,112 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef PROC_MUTEX_H
#define PROC_MUTEX_H
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_lib.h"
#include "apr_proc_mutex.h"
#include "apr_pools.h"
#include "apr_portable.h"
#include "apr_file_io.h"
#include "apr_arch_file_io.h"
/* System headers required by Locks library */
#if APR_HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if APR_HAVE_STDIO_H
#include <stdio.h>
#endif
#if APR_HAVE_FCNTL_H
#include <fcntl.h>
#endif
#ifdef HAVE_SYS_IPC_H
#include <sys/ipc.h>
#endif
#ifdef HAVE_SYS_SEM_H
#include <sys/sem.h>
#endif
#ifdef HAVE_SYS_FILE_H
#include <sys/file.h>
#endif
#if APR_HAVE_STDLIB_H
#include <stdlib.h>
#endif
#if APR_HAVE_UNISTD_H
#include <unistd.h>
#endif
#if APR_HAVE_STRING_H
#include <string.h>
#endif
#ifdef HAVE_SYS_MMAN_H
#include <sys/mman.h>
#endif
#if APR_HAVE_PTHREAD_H
#include <pthread.h>
#endif
#if APR_HAVE_SEMAPHORE_H
#include <semaphore.h>
#endif
/* End System Headers */
struct apr_proc_mutex_unix_lock_methods_t {
unsigned int flags;
apr_status_t (*create)(apr_proc_mutex_t *, const char *);
apr_status_t (*acquire)(apr_proc_mutex_t *);
apr_status_t (*tryacquire)(apr_proc_mutex_t *);
apr_status_t (*release)(apr_proc_mutex_t *);
apr_status_t (*cleanup)(void *);
apr_status_t (*child_init)(apr_proc_mutex_t **, apr_pool_t *, const char *);
const char *name;
};
typedef struct apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_lock_methods_t;
/* bit values for flags field in apr_unix_lock_methods_t */
#define APR_PROCESS_LOCK_MECH_IS_GLOBAL 1
#if !APR_HAVE_UNION_SEMUN && defined(APR_HAS_SYSVSEM_SERIALIZE)
union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
};
#endif
struct apr_proc_mutex_t {
apr_pool_t *pool;
const apr_proc_mutex_unix_lock_methods_t *meth;
const apr_proc_mutex_unix_lock_methods_t *inter_meth;
int curr_locked;
char *fname;
#if APR_HAS_SYSVSEM_SERIALIZE || APR_HAS_FCNTL_SERIALIZE || APR_HAS_FLOCK_SERIALIZE
apr_file_t *interproc;
#endif
#if APR_HAS_POSIXSEM_SERIALIZE
sem_t *psem_interproc;
#endif
#if APR_HAS_PROC_PTHREAD_SERIALIZE
pthread_mutex_t *pthread_interproc;
#endif
};
void apr_proc_mutex_unix_setup_lock(void);
#endif /* PROC_MUTEX_H */

View File

@@ -0,0 +1,69 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef SHM_H
#define SHM_H
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_lib.h"
#include "apr_shm.h"
#include "apr_pools.h"
#include "apr_file_io.h"
#include "apr_network_io.h"
#include "apr_portable.h"
#ifdef HAVE_SYS_MMAN_H
#include <sys/mman.h>
#endif
#ifdef HAVE_SYS_IPC_H
#include <sys/ipc.h>
#endif
#ifdef HAVE_SYS_MUTEX_H
#include <sys/mutex.h>
#endif
#ifdef HAVE_SYS_SHM_H
#include <sys/shm.h>
#endif
#if !defined(SHM_R)
#define SHM_R 0400
#endif
#if !defined(SHM_W)
#define SHM_W 0200
#endif
#ifdef HAVE_SYS_FILE_H
#include <sys/file.h>
#endif
/* Not all systems seem to have MAP_FAILED defined, but it should always
* just be (void *)-1. */
#ifndef MAP_FAILED
#define MAP_FAILED ((void *)-1)
#endif
struct apr_shm_t {
apr_pool_t *pool;
void *base; /* base real address */
void *usable; /* base usable address */
apr_size_t reqsize; /* requested segment size */
apr_size_t realsize; /* actual segment size */
const char *filename; /* NULL if anonymous */
#if APR_USE_SHMEM_SHMGET || APR_USE_SHMEM_SHMGET_ANON
int shmid; /* shmem ID returned from shmget() */
#endif
};
#endif /* SHM_H */

View File

@@ -0,0 +1,41 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef THREAD_COND_H
#define THREAD_COND_H
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_lib.h"
#include "apr_thread_mutex.h"
#include "apr_thread_cond.h"
#include "apr_pools.h"
#if APR_HAVE_PTHREAD_H
#include <pthread.h>
#endif
/* XXX: Should we have a better autoconf search, something like
* APR_HAS_PTHREAD_COND? -aaron */
#if APR_HAS_THREADS
struct apr_thread_cond_t {
apr_pool_t *pool;
pthread_cond_t cond;
};
#endif
#endif /* THREAD_COND_H */

View File

@@ -0,0 +1,38 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef THREAD_MUTEX_H
#define THREAD_MUTEX_H
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_thread_mutex.h"
#include "apr_portable.h"
#include "apr_atomic.h"
#if APR_HAVE_PTHREAD_H
#include <pthread.h>
#endif
#if APR_HAS_THREADS
struct apr_thread_mutex_t {
apr_pool_t *pool;
pthread_mutex_t mutex;
};
#endif
#endif /* THREAD_MUTEX_H */

View File

@@ -0,0 +1,48 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef THREAD_RWLOCK_H
#define THREAD_RWLOCK_H
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_thread_rwlock.h"
#include "apr_pools.h"
#if APR_HAVE_PTHREAD_H
/* this gives us pthread_rwlock_t */
#include <pthread.h>
#endif
#if APR_HAS_THREADS
#ifdef HAVE_PTHREAD_RWLOCKS
struct apr_thread_rwlock_t {
apr_pool_t *pool;
pthread_rwlock_t rwlock;
};
#else
struct apr_thread_rwlock_t {
apr_pool_t *pool;
};
#endif
#endif
#endif /* THREAD_RWLOCK_H */

View File

@@ -0,0 +1,103 @@
/* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "apr.h"
#include "apr_private.h"
#include "apr_thread_proc.h"
#include "apr_file_io.h"
#include "apr_arch_file_io.h"
/* System headers required for thread/process library */
#if APR_HAVE_PTHREAD_H
#include <pthread.h>
#endif
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
#if APR_HAVE_SIGNAL_H
#include <signal.h>
#endif
#if APR_HAVE_STRING_H
#include <string.h>
#endif
#if APR_HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
#if APR_HAVE_STRING_H
#include <string.h>
#endif
/* End System Headers */
#ifndef THREAD_PROC_H
#define THREAD_PROC_H
#define SHELL_PATH "/bin/sh"
#if APR_HAS_THREADS
struct apr_thread_t {
apr_pool_t *pool;
pthread_t *td;
void *data;
apr_thread_start_t func;
apr_status_t exitval;
};
struct apr_threadattr_t {
apr_pool_t *pool;
pthread_attr_t attr;
};
struct apr_threadkey_t {
apr_pool_t *pool;
pthread_key_t key;
};
struct apr_thread_once_t {
pthread_once_t once;
};
#endif
struct apr_procattr_t {
apr_pool_t *pool;
apr_file_t *parent_in;
apr_file_t *child_in;
apr_file_t *parent_out;
apr_file_t *child_out;
apr_file_t *parent_err;
apr_file_t *child_err;
char *currdir;
apr_int32_t cmdtype;
apr_int32_t detached;
#ifdef RLIMIT_CPU
struct rlimit *limit_cpu;
#endif
#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
struct rlimit *limit_mem;
#endif
#ifdef RLIMIT_NPROC
struct rlimit *limit_nproc;
#endif
#ifdef RLIMIT_NOFILE
struct rlimit *limit_nofile;
#endif
apr_child_errfn_t *errfn;
apr_int32_t errchk;
};
#endif /* ! THREAD_PROC_H */

View File

@@ -0,0 +1,730 @@
/* include/arch/unix/apr_private.h.in. Generated from configure.in by autoheader. */
#ifndef APR_PRIVATE_H
#define APR_PRIVATE_H
/* Various #defines we need to know about */
#undef EGD_DEFAULT_SOCKET
/* Cross process serialization techniques */
#undef USE_FLOCK_SERIALIZE
#undef USE_SYSVSEM_SERIALIZE
#undef USE_FCNTL_SERIALIZE
#undef USE_PROC_PTHREAD_SERIALIZE
#undef USE_PTHREAD_SERIALIZE
/* Define as function which can be used for conversion of strings to
apr_int64_t */
#undef APR_INT64_STRFN
/* Define as function used for conversion of strings to apr_off_t */
#undef APR_OFF_T_STRFN
/* Define to path of random device */
#undef DEV_RANDOM
/* Define if struct dirent has an inode member */
#undef DIRENT_INODE
/* Define if struct dirent has a d_type member */
#undef DIRENT_TYPE
/* Define if DSO support uses dlfcn.h */
#undef DSO_USE_DLFCN
/* Define if DSO support uses dyld.h */
#undef DSO_USE_DYLD
/* Define if DSO support uses shl_load */
#undef DSO_USE_SHL
/* Define to list of paths to EGD sockets */
#undef EGD_DEFAULT_SOCKET
/* Define if fcntl locks affect threads within the process */
#undef FCNTL_IS_GLOBAL
/* Define if flock locks affect threads within the process */
#undef FLOCK_IS_GLOBAL
/* Define if gethostbyaddr is thread safe */
#undef GETHOSTBYADDR_IS_THREAD_SAFE
/* Define if gethostbyname is thread safe */
#undef GETHOSTBYNAME_IS_THREAD_SAFE
/* Define if gethostbyname_r has the glibc style */
#undef GETHOSTBYNAME_R_GLIBC2
/* Define if gethostbyname_r has the hostent_data for the third argument */
#undef GETHOSTBYNAME_R_HOSTENT_DATA
/* Define to 1 if you have the `alloca' function. */
#undef HAVE_ALLOCA
/* Define to 1 if you have the <alloca.h> header file. */
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define if BONE_VERSION is defined in sys/socket.h */
#undef HAVE_BONE_VERSION
/* Define to 1 if you have the <ByteOrder.h> header file. */
#undef HAVE_BYTEORDER_H
/* Define to 1 if you have the `calloc' function. */
#undef HAVE_CALLOC
/* Define to 1 if you have the <conio.h> header file. */
#undef HAVE_CONIO_H
/* Define to 1 if you have the `create_area' function. */
#undef HAVE_CREATE_AREA
/* Define to 1 if you have the `create_sem' function. */
#undef HAVE_CREATE_SEM
/* Define to 1 if you have the <crypt.h> header file. */
#undef HAVE_CRYPT_H
/* Define to 1 if you have the <ctype.h> header file. */
#undef HAVE_CTYPE_H
/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
don't. */
#undef HAVE_DECL_SYS_SIGLIST
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <dir.h> header file. */
#undef HAVE_DIR_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <dl.h> header file. */
#undef HAVE_DL_H
/* Define if EGD is supported */
#undef HAVE_EGD
/* Define if the epoll interface is supported */
#undef HAVE_EPOLL
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `flock' function. */
#undef HAVE_FLOCK
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
/* Define if F_SETLK is defined in fcntl.h */
#undef HAVE_F_SETLK
/* Define if getaddrinfo accepts the AI_ADDRCONFIG flag */
#undef HAVE_GAI_ADDRCONFIG
/* Define to 1 if you have the `gai_strerror' function. */
#undef HAVE_GAI_STRERROR
/* Define if getaddrinfo exists and works well enough for APR */
#undef HAVE_GETADDRINFO
/* Define to 1 if you have the `getenv' function. */
#undef HAVE_GETENV
/* Define to 1 if you have the `getgrgid_r' function. */
#undef HAVE_GETGRGID_R
/* Define to 1 if you have the `getgrnam_r' function. */
#undef HAVE_GETGRNAM_R
/* Define to 1 if you have the `gethostbyaddr_r' function. */
#undef HAVE_GETHOSTBYADDR_R
/* Define to 1 if you have the `gethostbyname_r' function. */
#undef HAVE_GETHOSTBYNAME_R
/* Define if getnameinfo exists */
#undef HAVE_GETNAMEINFO
/* Define to 1 if you have the `getpass' function. */
#undef HAVE_GETPASS
/* Define to 1 if you have the `getpassphrase' function. */
#undef HAVE_GETPASSPHRASE
/* Define to 1 if you have the `getpwnam_r' function. */
#undef HAVE_GETPWNAM_R
/* Define to 1 if you have the `getpwuid_r' function. */
#undef HAVE_GETPWUID_R
/* Define to 1 if you have the `getrlimit' function. */
#undef HAVE_GETRLIMIT
/* Define to 1 if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R
/* Define if struct tm has a tm_gmtoff field */
#undef HAVE_GMTOFF
/* Define to 1 if you have the <grp.h> header file. */
#undef HAVE_GRP_H
/* Define if hstrerror is present */
#undef HAVE_HSTRERROR
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define to 1 if you have the `isinf' function. */
#undef HAVE_ISINF
/* Define to 1 if you have the `isnan' function. */
#undef HAVE_ISNAN
/* Define to 1 if you have the <kernel/OS.h> header file. */
#undef HAVE_KERNEL_OS_H
/* Define to 1 if you have the `kqueue' function. */
#undef HAVE_KQUEUE
/* Define to 1 if you have the <langinfo.h> header file. */
#undef HAVE_LANGINFO_H
/* Define to 1 if you have the `bsd' library (-lbsd). */
#undef HAVE_LIBBSD
/* Define to 1 if you have the `sendfile' library (-lsendfile). */
#undef HAVE_LIBSENDFILE
/* Define to 1 if you have the `truerand' library (-ltruerand). */
#undef HAVE_LIBTRUERAND
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
/* Define if LOCK_EX is defined in sys/file.h */
#undef HAVE_LOCK_EX
/* Define to 1 if you have the <mach-o/dyld.h> header file. */
#undef HAVE_MACH_O_DYLD_H
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define if MAP_ANON is defined in sys/mman.h */
#undef HAVE_MAP_ANON
/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
/* Define to 1 if you have the `mkstemp64' function. */
#undef HAVE_MKSTEMP64
/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP
/* Define to 1 if you have the `mmap64' function. */
#undef HAVE_MMAP64
/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <netinet/sctp.h> header file. */
#undef HAVE_NETINET_SCTP_H
/* Define to 1 if you have the <netinet/sctp_uio.h> header file. */
#undef HAVE_NETINET_SCTP_UIO_H
/* Defined if netinet/tcp.h is present */
#undef HAVE_NETINET_TCP_H
/* Define to 1 if you have the <net/errno.h> header file. */
#undef HAVE_NET_ERRNO_H
/* Define to 1 if you have the `nl_langinfo' function. */
#undef HAVE_NL_LANGINFO
/* Define to 1 if you have the <os2.h> header file. */
#undef HAVE_OS2_H
/* Define to 1 if you have the <osreldate.h> header file. */
#undef HAVE_OSRELDATE_H
/* Define to 1 if you have the <OS.h> header file. */
#undef HAVE_OS_H
/* Define to 1 if you have the `poll' function. */
#undef HAVE_POLL
/* Define if POLLIN is defined */
#undef HAVE_POLLIN
/* Define to 1 if you have the <poll.h> header file. */
#undef HAVE_POLL_H
/* Define to 1 if you have the <process.h> header file. */
#undef HAVE_PROCESS_H
/* Define to 1 if you have the `pthread_attr_setguardsize' function. */
#undef HAVE_PTHREAD_ATTR_SETGUARDSIZE
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
/* Define to 1 if you have the `pthread_key_delete' function. */
#undef HAVE_PTHREAD_KEY_DELETE
/* Define to 1 if you have the `pthread_mutexattr_setpshared' function. */
#undef HAVE_PTHREAD_MUTEXATTR_SETPSHARED
/* Define to 1 if you have the `pthread_mutexattr_setrobust_np' function. */
#undef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP
/* Define if recursive pthread mutexes are available */
#undef HAVE_PTHREAD_MUTEX_RECURSIVE
/* Define if PTHREAD_PROCESS_SHARED is defined in pthread.h */
#undef HAVE_PTHREAD_PROCESS_SHARED
/* Define if pthread rwlocks are available */
#undef HAVE_PTHREAD_RWLOCKS
/* Define to 1 if you have the `pthread_rwlock_init' function. */
#undef HAVE_PTHREAD_RWLOCK_INIT
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if you have the <semaphore.h> header file. */
#undef HAVE_SEMAPHORE_H
/* Define to 1 if you have the `semctl' function. */
#undef HAVE_SEMCTL
/* Define to 1 if you have the `semget' function. */
#undef HAVE_SEMGET
/* Define to 1 if you have the `sem_close' function. */
#undef HAVE_SEM_CLOSE
/* Define to 1 if you have the `sem_post' function. */
#undef HAVE_SEM_POST
/* Define if SEM_UNDO is defined in sys/sem.h */
#undef HAVE_SEM_UNDO
/* Define to 1 if you have the `sem_unlink' function. */
#undef HAVE_SEM_UNLINK
/* Define to 1 if you have the `sem_wait' function. */
#undef HAVE_SEM_WAIT
/* Define to 1 if you have the `sendfile' function. */
#undef HAVE_SENDFILE
/* Define to 1 if you have the `sendfile64' function. */
#undef HAVE_SENDFILE64
/* Define to 1 if you have the `sendfilev' function. */
#undef HAVE_SENDFILEV
/* Define to 1 if you have the `sendfilev64' function. */
#undef HAVE_SENDFILEV64
/* Define to 1 if you have the `send_file' function. */
#undef HAVE_SEND_FILE
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `setrlimit' function. */
#undef HAVE_SETRLIMIT
/* Define to 1 if you have the `setsid' function. */
#undef HAVE_SETSID
/* Define to 1 if you have the `set_h_errno' function. */
#undef HAVE_SET_H_ERRNO
/* Define to 1 if you have the `shmat' function. */
#undef HAVE_SHMAT
/* Define to 1 if you have the `shmctl' function. */
#undef HAVE_SHMCTL
/* Define to 1 if you have the `shmdt' function. */
#undef HAVE_SHMDT
/* Define to 1 if you have the `shmget' function. */
#undef HAVE_SHMGET
/* Define to 1 if you have the `shm_open' function. */
#undef HAVE_SHM_OPEN
/* Define to 1 if you have the `shm_unlink' function. */
#undef HAVE_SHM_UNLINK
/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
/* Define to 1 if you have the <signal.h> header file. */
#undef HAVE_SIGNAL_H
/* Define to 1 if you have the `sigsuspend' function. */
#undef HAVE_SIGSUSPEND
/* Define to 1 if you have the `sigwait' function. */
#undef HAVE_SIGWAIT
/* Whether you have socklen_t */
#undef HAVE_SOCKLEN_T
/* Define if SO_ACCEPTFILTER is defined in sys/socket.h */
#undef HAVE_SO_ACCEPTFILTER
/* Define to 1 if you have the <stdarg.h> header file. */
#undef HAVE_STDARG_H
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R
/* Define to 1 if you have the `stricmp' function. */
#undef HAVE_STRICMP
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
/* Define to 1 if you have the `strnicmp' function. */
#undef HAVE_STRNICMP
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the <sysapi.h> header file. */
#undef HAVE_SYSAPI_H
/* Define to 1 if you have the <sysgtime.h> header file. */
#undef HAVE_SYSGTIME_H
/* Define to 1 if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the <sys/ipc.h> header file. */
#undef HAVE_SYS_IPC_H
/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/mutex.h> header file. */
#undef HAVE_SYS_MUTEX_H
/* Define to 1 if you have the <sys/poll.h> header file. */
#undef HAVE_SYS_POLL_H
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/sem.h> header file. */
#undef HAVE_SYS_SEM_H
/* Define to 1 if you have the <sys/sendfile.h> header file. */
#undef HAVE_SYS_SENDFILE_H
/* Define to 1 if you have the <sys/shm.h> header file. */
#undef HAVE_SYS_SHM_H
/* Define to 1 if you have the <sys/signal.h> header file. */
#undef HAVE_SYS_SIGNAL_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/sockio.h> header file. */
#undef HAVE_SYS_SOCKIO_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/sysctl.h> header file. */
#undef HAVE_SYS_SYSCTL_H
/* Define to 1 if you have the <sys/syslimits.h> header file. */
#undef HAVE_SYS_SYSLIMITS_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <sys/uio.h> header file. */
#undef HAVE_SYS_UIO_H
/* Define to 1 if you have the <sys/un.h> header file. */
#undef HAVE_SYS_UN_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define if TCP_CORK is defined in netinet/tcp.h */
#undef HAVE_TCP_CORK
/* Define if TCP_NOPUSH is defined in netinet/tcp.h */
#undef HAVE_TCP_NOPUSH
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define to 1 if you have the <time.h> header file. */
#undef HAVE_TIME_H
/* Define to 1 if you have the <tpfeq.h> header file. */
#undef HAVE_TPFEQ_H
/* Define to 1 if you have the <tpfio.h> header file. */
#undef HAVE_TPFIO_H
/* Define if truerand is supported */
#undef HAVE_TRUERAND
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <unix.h> header file. */
#undef HAVE_UNIX_H
/* Define to 1 if you have the `unsetenv' function. */
#undef HAVE_UNSETENV
/* Define to 1 if you have the `utime' function. */
#undef HAVE_UTIME
/* Define to 1 if you have the `utimes' function. */
#undef HAVE_UTIMES
/* Define if C compiler supports VLA */
#undef HAVE_VLA
/* Define to 1 if you have the `waitpid' function. */
#undef HAVE_WAITPID
/* Define to 1 if you have the `writev' function. */
#undef HAVE_WRITEV
/* Define if EAI_ error codes from getaddrinfo are negative */
#undef NEGATIVE_EAI
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define if POSIX semaphores affect threads within the process */
#undef POSIXSEM_IS_GLOBAL
/* Define if pthread_attr_getdetachstate() has one arg */
#undef PTHREAD_ATTR_GETDETACHSTATE_TAKES_ONE_ARG
/* Define if pthread_getspecific() has two args */
#undef PTHREAD_GETSPECIFIC_TAKES_TWO_ARGS
/* Define if readdir is thread safe */
#undef READDIR_IS_THREAD_SAFE
/* Define to 1 if the `setpgrp' function takes no argument. */
#undef SETPGRP_VOID
/* */
#undef SIGWAIT_TAKES_ONE_ARG
/* The size of a `char', as computed by sizeof. */
#undef SIZEOF_CHAR
/* The size of a `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of a `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* The size of off_t */
#undef SIZEOF_OFF_T
/* The size of pid_t */
#undef SIZEOF_PID_T
/* The size of a `short', as computed by sizeof. */
#undef SIZEOF_SHORT
/* The size of size_t */
#undef SIZEOF_SIZE_T
/* The size of ssize_t */
#undef SIZEOF_SSIZE_T
/* The size of a `void*', as computed by sizeof. */
#undef SIZEOF_VOIDP
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define if strerror returns int */
#undef STRERROR_R_RC_INT
/* Define if SysV semaphores affect threads within the process */
#undef SYSVSEM_IS_GLOBAL
/* Define if use of generic atomics is requested */
#undef USE_GENERIC_ATOMICS
/* Define if apr_wait_for_io_or_timeout() uses poll(2) */
#undef WAITIO_USES_POLL
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `long' if <sys/types.h> does not define. */
#undef off_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
#undef ssize_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Make sure we have ssize_t defined to be something */
#undef ssize_t
/* switch this on if we have a BeOS version below BONE */
#if BEOS && !HAVE_BONE_VERSION
#define BEOS_R5 1
#else
#define BEOS_BONE 1
#endif
#ifdef SIGWAIT_TAKES_ONE_ARG
#define apr_sigwait(a,b) ((*(b)=sigwait((a)))<0?-1:0)
#else
#define apr_sigwait(a,b) sigwait((a),(b))
#endif
/*
* Include common private declarations.
*/
#include "../apr_private_common.h"
#endif /* APR_PRIVATE_H */