diff options
Diffstat (limited to 'rubbos/app/httpd-2.0.64/srclib/apr/include/arch')
60 files changed, 6295 insertions, 0 deletions
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/aix/apr_arch_dso.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/aix/apr_arch_dso.h new file mode 100644 index 00000000..d1cac684 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/aix/apr_arch_dso.h @@ -0,0 +1,41 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + +void *dlopen(const char *path, int mode); +void *dlsym(void *handle, const char *symbol); +const char *dlerror(void); +int dlclose(void *handle); + +struct apr_dso_handle_t { + apr_pool_t *pool; + void *handle; + const char *errormsg; +}; + +#endif + +#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/apr_private_common.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/apr_private_common.h new file mode 100644 index 00000000..3d8b7609 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/apr_private_common.h @@ -0,0 +1,37 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +/* + * This file contains private declarations common to all architectures. + */ + +#ifndef APR_PRIVATE_COMMON_H +#define APR_PRIVATE_COMMON_H + +#include "apr_pools.h" +#include "apr_tables.h" + +apr_status_t apr_filepath_list_split_impl(apr_array_header_t **pathelts, + const char *liststr, + char separator, + apr_pool_t *p); + +apr_status_t apr_filepath_list_merge_impl(char **liststr, + apr_array_header_t *pathelts, + char separator, + apr_pool_t *p); + +#endif /*APR_PRIVATE_COMMON_H*/ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_dso.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_dso.h new file mode 100644 index 00000000..0fbc9c1e --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_dso.h @@ -0,0 +1,38 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_errno.h" +#include "apr_dso.h" +#include "apr.h" +#include <kernel/image.h> +#include <string.h> + +#if APR_HAS_DSO + +struct apr_dso_handle_t { + image_id handle; /* Handle to the DSO loaded */ + apr_pool_t *pool; +}; + +#endif + +#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_proc_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_proc_mutex.h new file mode 100644 index 00000000..c60d8c62 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_proc_mutex.h @@ -0,0 +1,36 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_pools.h" +#include "apr_proc_mutex.h" +#include "apr_file_io.h" +#include "apr_general.h" +#include "apr_lib.h" +#include "apr_portable.h" + +struct apr_proc_mutex_t { + apr_pool_t *pool; + + /* Our lock :) */ + sem_id Lock; + int32 LockCount; +}; + +#endif /* PROC_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_cond.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_cond.h new file mode 100644 index 00000000..c9420b53 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_cond.h @@ -0,0 +1,46 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 <kernel/OS.h> +#include "apr_pools.h" +#include "apr_thread_cond.h" +#include "apr_file_io.h" +#include "apr_general.h" +#include "apr_lib.h" +#include "apr_portable.h" +#include "apr_ring.h" + +struct waiter_t { + APR_RING_ENTRY(waiter_t) link; + sem_id sem; +}; + +struct apr_thread_cond_t { + apr_pool_t *pool; + sem_id lock; + apr_thread_mutex_t *condlock; + thread_id owner; + /* active list */ + APR_RING_HEAD(active_list, waiter_t) alist; + /* free list */ + APR_RING_HEAD(free_list, waiter_t) flist; +}; + +#endif /* THREAD_COND_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_mutex.h new file mode 100644 index 00000000..bb7d4ae8 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_mutex.h @@ -0,0 +1,42 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 <kernel/OS.h> +#include "apr_pools.h" +#include "apr_thread_mutex.h" +#include "apr_file_io.h" +#include "apr_general.h" +#include "apr_lib.h" +#include "apr_portable.h" + +struct apr_thread_mutex_t { + apr_pool_t *pool; + + /* Our lock :) */ + sem_id Lock; + int32 LockCount; + + /* If we nest locks we need these... */ + int nested; + apr_os_thread_t owner; + int owner_ref; +}; + +#endif /* THREAD_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_rwlock.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_rwlock.h new file mode 100644 index 00000000..694b0d50 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_thread_rwlock.h @@ -0,0 +1,45 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 <kernel/OS.h> +#include "apr_pools.h" +#include "apr_thread_rwlock.h" +#include "apr_file_io.h" +#include "apr_general.h" +#include "apr_lib.h" +#include "apr_portable.h" + +struct apr_thread_rwlock_t { + apr_pool_t *pool; + + /* Our lock :) */ + sem_id Lock; + int32 LockCount; + /* Read/Write lock stuff */ + sem_id Read; + int32 ReadCount; + sem_id Write; + int32 WriteCount; + int32 Nested; + + thread_id writer; +}; + +#endif /* THREAD_RWLOCK_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_threadproc.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_threadproc.h new file mode 100644 index 00000000..13de0536 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/beos/apr_arch_threadproc.h @@ -0,0 +1,95 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_proc.h" +#include "apr_arch_file_io.h" +#include "apr_file_io.h" +#include "apr_thread_proc.h" +#include "apr_general.h" +#include "apr_portable.h" +#include <kernel/OS.h> +#include <signal.h> +#include <string.h> +#include <sys/wait.h> +#include <image.h> + +#ifndef THREAD_PROC_H +#define THREAD_PROC_H + +#define SHELL_PATH "/bin/sh" + +#define PTHREAD_CANCEL_AYNCHRONOUS CANCEL_ASYNCH; +#define PTHREAD_CANCEL_DEFERRED CANCEL_DEFER; + +#define PTHREAD_CANCEL_ENABLE CANCEL_ENABLE; +#define PTHREAD_CANCEL_DISABLE CANCEL_DISABLE; + +#define BEOS_MAX_DATAKEYS 128 + +struct apr_thread_t { + apr_pool_t *pool; + thread_id td; + void *data; + apr_thread_start_t func; + apr_status_t exitval; +}; + +struct apr_threadattr_t { + apr_pool_t *pool; + int32 attr; + int detached; + int joinable; +}; + +struct apr_threadkey_t { + apr_pool_t *pool; + int32 key; +}; + +struct beos_private_data { + const void ** data; + int count; + volatile thread_id td; +}; + +struct beos_key { + int assigned; + int count; + sem_id lock; + int32 ben_lock; + void (* destructor) (void *); +}; + +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; +}; + +struct apr_thread_once_t { + sem_id sem; + int hit; +}; + +#endif /* ! THREAD_PROC_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_dso.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_dso.h new file mode 100644 index 00000000..ea0fe8c2 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_dso.h @@ -0,0 +1,43 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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" + +#include <dlfcn.h> + +typedef struct sym_list sym_list; + +struct sym_list { + sym_list *next; + char *symbol; +}; + +struct apr_dso_handle_t { + apr_pool_t *pool; + void *handle; + const char *errormsg; + sym_list *symbols; + char *path; +}; + +#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_file_io.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_file_io.h new file mode 100644 index 00000000..7548a237 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_file_io.h @@ -0,0 +1,159 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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" + +/* 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 + +#include <fsio.h> + +/* 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)*/ + + /* 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_THREADS +#define file_lock(f) do { \ + if ((f)->thlock) \ + apr_thread_mutex_lock((f)->thlock); \ + } while (0) +#define file_unlock(f) do { \ + if ((f)->thlock) \ + apr_thread_mutex_unlock((f)->thlock); \ + } while (0) +#else +#define file_lock(f) do {} while (0) +#define file_unlock(f) do {} while (0) +#endif + +struct apr_dir_t { + apr_pool_t *pool; + char *dirname; + DIR *dirstruct; + struct dirent *entry; +}; + +typedef struct apr_stat_entry_t apr_stat_entry_t; + +struct apr_stat_entry_t { + struct stat info; + char *casedName; + apr_time_t expire; + NXPathCtx_t pathCtx; +}; + +#define MAX_SERVER_NAME 64 +#define MAX_VOLUME_NAME 64 +#define MAX_PATH_NAME 256 +#define MAX_FILE_NAME 256 + +#define DRIVE_ONLY 1 + +/* If the user passes d: vs. D: (or //mach/share vs. //MACH/SHARE), + * we need to fold the case to canonical form. This function is + * supposed to do so. + */ +apr_status_t filepath_root_case(char **rootpath, char *root, apr_pool_t *p); + +/* This function check to see of the given path includes a drive/volume + * specifier. If the _only_ parameter is set to DRIVE_ONLY then it + * check to see of the path only contains a drive/volume specifier and + * nothing else. + */ +apr_status_t filepath_has_drive(const char *rootpath, int only, apr_pool_t *p); + +/* This function compares the drive/volume specifiers for each given path. + * It returns zero if they match or non-zero if not. + */ +apr_status_t filepath_compare_drive(const char *path1, const char *path2, apr_pool_t *p); + +apr_status_t apr_unix_file_cleanup(void *); +apr_status_t apr_unix_child_file_cleanup(void *); + +apr_status_t apr_file_flush_locked(apr_file_t *thefile); +apr_status_t apr_file_info_get_locked(apr_finfo_t *finfo, apr_int32_t wanted, + apr_file_t *thefile); + +#endif /* ! FILE_IO_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_global_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_global_mutex.h new file mode 100644 index 00000000..4167d378 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_global_mutex.h @@ -0,0 +1,29 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_global_mutex.h" +#include "apr_thread_mutex.h" + +struct apr_global_mutex_t { + apr_pool_t *pool; + apr_thread_mutex_t *mutex; +}; + +#endif /* GLOBAL_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_internal_time.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_internal_time.h new file mode 100644 index 00000000..59f10672 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_internal_time.h @@ -0,0 +1,26 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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" + +#define TZONE (*___timezone()) + +void apr_netware_setup_time(void); + +#endif /* TIME_INTERNAL_H */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_networkio.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_networkio.h new file mode 100644 index 00000000..bcd7ec84 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_networkio.h @@ -0,0 +1,27 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + +/* Making sure that we include the correct networkio.h since the + the project file is configured to first look for headers in + arch/netware and then arch/unix. But in this specific case we + want arch/win32. +*/ +#include <../win32/apr_arch_networkio.h> + +#endif /* ! NETWORK_IO_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_pre_nw.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_pre_nw.h new file mode 100644 index 00000000..36d9942c --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_pre_nw.h @@ -0,0 +1,67 @@ +#ifndef __pre_nw__ +#define __pre_nw__ + +#include <stdint.h> + +#ifndef __GNUC__ +#pragma precompile_target "precomp.mch" +#endif + +#define NETWARE + +#define N_PLAT_NLM + +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ +#define FAR +#define far + +/* no-op for Codewarrior C compiler; a functions are cdecl + by default */ +#define cdecl + +/* if we have wchar_t enabled in C++, predefine this type to avoid + a conflict in Novell's header files */ +#ifndef __GNUC__ +#ifndef DOXYGEN +#if (__option(cplusplus) && __option(wchar_type)) +#define _WCHAR_T +#endif +#endif +#endif + +/* C9X defintion used by MSL C++ library */ +#define DECIMAL_DIG 17 + +/* some code may want to use the MS convention for long long */ +#ifndef __int64 +#define __int64 long long +#endif + +/* expat version */ +#define VERSION "expat_1.95.1" +#define EXPAT_MAJOR_VERSION 1 +#define EXPAT_MINOR_VERSION 95 +#define EXPAT_EDIT 2 + +#define XML_MAJOR_VERSION EXPAT_MAJOR_VERSION +#define XML_MINOR_VERSION EXPAT_MINOR_VERSION +#define XML_MICRO_VERSION EXPAT_EDIT + +#endif + + + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_proc_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_proc_mutex.h new file mode 100644 index 00000000..7a634c2e --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_proc_mutex.h @@ -0,0 +1,29 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_proc_mutex.h" +#include "apr_thread_mutex.h" + +struct apr_proc_mutex_t { + apr_pool_t *pool; + apr_thread_mutex_t *mutex; +}; + +#endif /* PROC_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_cond.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_cond.h new file mode 100644 index 00000000..b11a5f86 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_cond.h @@ -0,0 +1,29 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_cond.h" +#include <nks/synch.h> + +struct apr_thread_cond_t { + apr_pool_t *pool; + NXCond_t *cond; +}; + +#endif /* THREAD_COND_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_mutex.h new file mode 100644 index 00000000..0453799c --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_mutex.h @@ -0,0 +1,29 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_mutex.h" +#include <nks/synch.h> + +struct apr_thread_mutex_t { + apr_pool_t *pool; + NXMutex_t *mutex; +}; + +#endif /* THREAD_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_rwlock.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_rwlock.h new file mode 100644 index 00000000..d2dbd42f --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_thread_rwlock.h @@ -0,0 +1,29 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_rwlock.h" +#include <nks/synch.h> + +struct apr_thread_rwlock_t { + apr_pool_t *pool; + NXRwLock_t *rwlock; +}; + +#endif /* THREAD_RWLOCK_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_threadproc.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_threadproc.h new file mode 100644 index 00000000..713ed295 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_arch_threadproc.h @@ -0,0 +1,78 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_proc.h" +#include "apr_file_io.h" + +#include <sys/wait.h> + +#ifndef THREAD_PROC_H +#define THREAD_PROC_H + +#define SHELL_PATH "" +#define APR_DEFAULT_STACK_SIZE 65536 + +struct apr_thread_t { + apr_pool_t *pool; + NXContext_t ctx; + NXThreadId_t td; + char *thread_name; + apr_int32_t cancel; + apr_int32_t cancel_how; + void *data; + apr_thread_start_t func; + apr_status_t exitval; +}; + +struct apr_threadattr_t { + apr_pool_t *pool; + apr_size_t stack_size; + apr_int32_t detach; + char *thread_name; +}; + +struct apr_threadkey_t { + apr_pool_t *pool; + NXKey_t key; +}; + +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; + apr_int32_t addrspace; +}; + +struct apr_thread_once_t { + unsigned long value; +}; + +//struct apr_proc_t { +// apr_pool_t *pool; +// pid_t pid; +// apr_procattr_t *attr; +//}; + +#endif /* ! THREAD_PROC_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_private.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_private.h new file mode 100644 index 00000000..0282adfb --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/netware/apr_private.h @@ -0,0 +1,175 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +/* + * Note: + * This is the windows specific autoconf-like config file + * which unix would create at build time. + */ + +#ifdef NETWARE + +#ifndef APR_PRIVATE_H +#define APR_PRIVATE_H + +/* Include the public APR symbols, include our idea of the 'right' + * subset of the Windows.h header. This saves us repetition. + */ +#include "apr.h" + +#include <sys/types.h> +#include <stddef.h> +#include <stdio.h> +#include <stdlib.h> +#include <time.h> +#include <library.h> +#include <netware.h> + +/* Use this section to define all of the HAVE_FOO_H + * that are required to build properly. + */ +#define HAVE_DLFCN_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_SIGNAL_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_MMAN_H 1 +#define HAVE_FCNTL_H 1 +#define HAVE_ICONV_H 1 +#define HAVE_UTIME_H 1 + +#define HAVE_STRICMP 1 +#define HAVE_STRNICMP 1 +#define HAVE_STRDUP 1 +#define HAVE_STRSTR 1 +#define HAVE_MEMCHR 1 +#define HAVE_CALLOC 1 +#define HAVE_UTIME 1 + +#define HAVE_GETENV 1 +#define HAVE_SETENV 1 +#define HAVE_UNSETENV 1 + +#define HAVE_WRITEV 1 + +/*#define DSO_USE_DLFCN */ + +#ifdef NW_BUILD_IPV6 +#define HAVE_GETADDRINFO 1 +#define HAVE_GETNAMEINFO 1 +#endif + +/* 1 is used for SIGABRT on netware */ +/* 2 is used for SIGFPE on netware */ +/* 3 is used for SIGILL on netware */ +/* 4 is used for SIGINT on netware */ +/* 5 is used for SIGSEGV on netware */ +/* 6 is used for SIGTERM on netware */ +/* 7 is used for SIGPOLL on netware */ + +#define SIGKILL 11 +#define SA_NOCLDSTOP 12 +#define SIGALRM 13 +#define SIGCHLD 14 +#define SIGCONT 15 +#define SIGHUP 16 +#define SIGPIPE 17 +#define SIGQUIT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGUSR1 23 +#define SIGUSR2 24 + +#define SIGTRAP 25 +#define SIGIOT 26 +#define SIGBUS 27 +#define SIGSTKFLT 28 +#define SIGURG 29 +#define SIGXCPU 30 +#define SIGXFSZ 31 +#define SIGVTALRM 32 +#define SIGPROF 33 +#define SIGWINCH 34 +#define SIGIO 35 + +#if 0 +#define __attribute__(__x) + +/* APR COMPATABILITY FUNCTIONS + * This section should be used to define functions and + * macros which are need to make Windows features look + * like POSIX features. + */ +typedef void (Sigfunc)(int); +#endif + +#define strcasecmp(s1, s2) stricmp(s1, s2) +#define Sleep(t) delay(t) +#define lstat(a,b) stat(a,b) +#define _getch() getcharacter() + +#define SIZEOF_SHORT 2 +#define SIZEOF_INT 4 +#define SIZEOF_LONGLONG 8 +#define SIZEOF_CHAR 1 +#define SIZEOF_SSIZE_T SIZEOF_INT + +void netware_pool_proc_cleanup (); + +/* NLM registration routines for managing which NLMs + are using the library. */ +int register_NLM(void *NLMHandle); +int unregister_NLM(void *NLMHandle); + +/* Application global data management */ +extern int gLibId; +extern void *gLibHandle; + +typedef struct app_data { + int initialized; + void* gPool; + void* gs_aHooksToSort; + void* gs_phOptionalHooks; + void* gs_phOptionalFunctions; + void* gs_nlmhandle; + rtag_t gs_startup_rtag; + rtag_t gs_socket_rtag; + rtag_t gs_lookup_rtag; + rtag_t gs_event_rtag; + rtag_t gs_pcp_rtag; +} APP_DATA; + +int setGlobalPool(void *data); +void* getGlobalPool(); +int setStatCache(void *data); +void* getStatCache(); + +/* Redefine malloc to use the library malloc call so + that all of the memory resources will be owned + and can be shared by the library. */ +#undef malloc +#define malloc(x) library_malloc(gLibHandle,x) + +/* + * Include common private declarations. + */ +#include "../apr_private_common.h" + +#endif /*APR_PRIVATE_H*/ +#endif /*NETWARE*/ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_dso.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_dso.h new file mode 100644 index 00000000..2bda6b7c --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_dso.h @@ -0,0 +1,37 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + +struct apr_dso_handle_t { + apr_pool_t *cont; /* Context for returning error strings */ + HMODULE handle; /* Handle to the DSO loaded */ + apr_status_t load_error; + char *failed_module; +}; + +#endif + +#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_file_io.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_file_io.h new file mode 100644 index 00000000..60700656 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_file_io.h @@ -0,0 +1,80 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_private.h" +#include "apr_general.h" +#include "apr_thread_mutex.h" +#include "apr_file_io.h" +#include "apr_file_info.h" +#include "apr_errno.h" + +/* We have an implementation of mkstemp but it's not very multi-threading + * friendly & is part of the POSIX emulation rather than native so don't + * use it. + */ +#undef HAVE_MKSTEMP + +#define APR_FILE_BUFSIZE 4096 + +struct apr_file_t { + apr_pool_t *pool; + HFILE filedes; + char * fname; + int isopen; + int buffered; + int eof_hit; + apr_int32_t flags; + int timeout; + int pipe; + HEV pipeSem; + enum { BLK_UNKNOWN, BLK_OFF, BLK_ON } blocking; + + /* 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 + apr_thread_mutex_t *mutex;// mutex semaphore, must be owned to access the above fields +}; + +struct apr_dir_t { + apr_pool_t *pool; + char *dirname; + ULONG handle; + FILEFINDBUF3 entry; + int validentry; +}; + +apr_status_t apr_file_cleanup(void *); +apr_status_t apr_os2_time_to_apr_time(apr_time_t *result, FDATE os2date, + FTIME os2time); + +/* see win32/fileio.h for description of these */ +extern const char c_is_fnchar[256]; + +#define IS_FNCHAR(c) c_is_fnchar[(unsigned char)c] + +apr_status_t filepath_root_test(char *path, apr_pool_t *p); +apr_status_t filepath_drive_get(char **rootpath, char drive, + apr_int32_t flags, apr_pool_t *p); +apr_status_t filepath_root_case(char **rootpath, char *root, apr_pool_t *p); + +#endif /* ! FILE_IO_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_networkio.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_networkio.h new file mode 100644 index 00000000..5db2def0 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_networkio.h @@ -0,0 +1,71 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_private.h" +#include "apr_network_io.h" +#include "apr_general.h" +#include "apr_arch_os2calls.h" +#if APR_HAVE_NETDB_H +#include <netdb.h> +#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; + int nonblock; + int local_port_unknown; + int local_interface_unknown; + int remote_addr_unknown; + apr_int32_t netmask; + apr_int32_t inherit; + sock_userdata_t *userdata; +}; + +/* Error codes returned from sock_errno() */ +#define SOCBASEERR 10000 +#define SOCEPERM (SOCBASEERR+1) /* Not owner */ +#define SOCESRCH (SOCBASEERR+3) /* No such process */ +#define SOCEINTR (SOCBASEERR+4) /* Interrupted system call */ +#define SOCENXIO (SOCBASEERR+6) /* No such device or address */ +#define SOCEBADF (SOCBASEERR+9) /* Bad file number */ +#define SOCEACCES (SOCBASEERR+13) /* Permission denied */ +#define SOCEFAULT (SOCBASEERR+14) /* Bad address */ +#define SOCEINVAL (SOCBASEERR+22) /* Invalid argument */ +#define SOCEMFILE (SOCBASEERR+24) /* Too many open files */ +#define SOCEPIPE (SOCBASEERR+32) /* Broken pipe */ +#define SOCEOS2ERR (SOCBASEERR+100) /* OS/2 Error */ + +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); + +#endif /* ! NETWORK_IO_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_os2calls.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_os2calls.h new file mode 100644 index 00000000..3c739bfd --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_os2calls.h @@ -0,0 +1,59 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_errno.h" +#include <sys/types.h> +#include <sys/socket.h> + +extern int (*apr_os2_socket)(int, int, int); +extern int (*apr_os2_select)(int *, int, int, int, long); +extern int (*apr_os2_sock_errno)(); +extern int (*apr_os2_accept)(int, struct sockaddr *, int *); +extern int (*apr_os2_bind)(int, struct sockaddr *, int); +extern int (*apr_os2_connect)(int, struct sockaddr *, int); +extern int (*apr_os2_getpeername)(int, struct sockaddr *, int *); +extern int (*apr_os2_getsockname)(int, struct sockaddr *, int *); +extern int (*apr_os2_getsockopt)(int, int, int, char *, int *); +extern int (*apr_os2_ioctl)(int, int, caddr_t, int); +extern int (*apr_os2_listen)(int, int); +extern int (*apr_os2_recv)(int, char *, int, int); +extern int (*apr_os2_send)(int, const char *, int, int); +extern int (*apr_os2_setsockopt)(int, int, int, char *, int); +extern int (*apr_os2_shutdown)(int, int); +extern int (*apr_os2_soclose)(int); +extern int (*apr_os2_writev)(int, struct iovec *, int); +extern int (*apr_os2_sendto)(int, const char *, int, int, const struct sockaddr *, int); +extern int (*apr_os2_recvfrom)(int, char *, int, int, struct sockaddr *, int *); + +#define socket apr_os2_socket +#define select apr_os2_select +#define sock_errno apr_os2_sock_errno +#define accept apr_os2_accept +#define bind apr_os2_bind +#define connect apr_os2_connect +#define getpeername apr_os2_getpeername +#define getsockname apr_os2_getsockname +#define getsockopt apr_os2_getsockopt +#define ioctl apr_os2_ioctl +#define listen apr_os2_listen +#define recv apr_os2_recv +#define send apr_os2_send +#define setsockopt apr_os2_setsockopt +#define shutdown apr_os2_shutdown +#define soclose apr_os2_soclose +#define writev apr_os2_writev +#define sendto apr_os2_sendto +#define recvfrom apr_os2_recvfrom diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_proc_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_proc_mutex.h new file mode 100644 index 00000000..8caf3369 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_proc_mutex.h @@ -0,0 +1,31 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_proc_mutex.h" +#include "apr_file_io.h" + +struct apr_proc_mutex_t { + apr_pool_t *pool; + HMTX hMutex; + TID owner; + int lock_count; +}; + +#endif /* PROC_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_cond.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_cond.h new file mode 100644 index 00000000..648b85d1 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_cond.h @@ -0,0 +1,28 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_cond.h" +#include "apr_file_io.h" + +struct apr_thread_cond_t { + apr_pool_t *pool; +}; + +#endif /* THREAD_COND_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_mutex.h new file mode 100644 index 00000000..3ae2a41d --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_mutex.h @@ -0,0 +1,29 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_mutex.h" +#include "apr_file_io.h" + +struct apr_thread_mutex_t { + apr_pool_t *pool; + HMTX hMutex; +}; + +#endif /* THREAD_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_rwlock.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_rwlock.h new file mode 100644 index 00000000..7187d5cb --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_thread_rwlock.h @@ -0,0 +1,31 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_rwlock.h" +#include "apr_file_io.h" + +struct apr_thread_rwlock_t { + apr_pool_t *pool; + int readers; + HMTX write_lock; + HEV read_done; +}; + +#endif /* THREAD_RWLOCK_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_threadproc.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_threadproc.h new file mode 100644 index 00000000..c8017adb --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os2/apr_arch_threadproc.h @@ -0,0 +1,67 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_proc.h" +#include "apr_file_io.h" + +#ifndef THREAD_PROC_H +#define THREAD_PROC_H + +#define APR_THREADATTR_DETACHED 1 + +#define SHELL_PATH "cmd.exe" +#define APR_THREAD_STACKSIZE 65536 + +struct apr_threadattr_t { + apr_pool_t *pool; + unsigned long attr; + apr_size_t stacksize; +}; + +struct apr_thread_t { + apr_pool_t *pool; + struct apr_threadattr_t *attr; + unsigned long tid; + apr_thread_start_t func; + void *data; + apr_status_t exitval; +}; + +struct apr_threadkey_t { + apr_pool_t *pool; + unsigned long *key; +}; + +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; +}; + +struct apr_thread_once_t { + unsigned long sem; + char hit; +}; + +#endif /* ! THREAD_PROC_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os390/apr_arch_dso.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os390/apr_arch_dso.h new file mode 100644 index 00000000..4263297b --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/os390/apr_arch_dso.h @@ -0,0 +1,39 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + +#include <dll.h> + +struct apr_dso_handle_t { + dllhandle *handle; /* Handle to the DSO loaded */ + int failing_errno; /* Don't save the buffer returned by + strerror(); it gets reused */ + apr_pool_t *pool; +}; + +#endif + +#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_dso.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_dso.h new file mode 100644 index 00000000..bfd12b43 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_dso.h @@ -0,0 +1,62 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_file_io.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_file_io.h new file mode 100644 index 00000000..5606f5bc --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_file_io.h @@ -0,0 +1,140 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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" + +/* 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)*/ + + /* 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_THREADS +#define file_lock(f) do { \ + if ((f)->thlock) \ + apr_thread_mutex_lock((f)->thlock); \ + } while (0) +#define file_unlock(f) do { \ + if ((f)->thlock) \ + apr_thread_mutex_unlock((f)->thlock); \ + } while (0) +#else +#define file_lock(f) do {} while (0) +#define file_unlock(f) do {} while (0) +#endif + +struct apr_dir_t { + apr_pool_t *pool; + char *dirname; + DIR *dirstruct; + struct dirent *entry; +}; + +apr_status_t apr_unix_file_cleanup(void *); +apr_status_t apr_unix_child_file_cleanup(void *); + +mode_t apr_unix_perms2mode(apr_fileperms_t perms); +apr_fileperms_t apr_unix_mode2perms(mode_t mode); + +apr_status_t apr_file_flush_locked(apr_file_t *thefile); +apr_status_t apr_file_info_get_locked(apr_finfo_t *finfo, apr_int32_t wanted, + apr_file_t *thefile); + + +#endif /* ! FILE_IO_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_global_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_global_mutex.h new file mode 100644 index 00000000..3add9ecf --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_global_mutex.h @@ -0,0 +1,37 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_inherit.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_inherit.h new file mode 100644 index 00000000..5e14f67d --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_inherit.h @@ -0,0 +1,62 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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; \ +} \ +/* Deprecated */ \ +void apr_##name##_set_inherit(apr_##name##_t *the##name) \ +{ \ + apr_##name##_inherit_set(the##name); \ +} + +#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; \ +} \ +/* Deprecated */ \ +void apr_##name##_unset_inherit(apr_##name##_t *the##name) \ +{ \ + apr_##name##_inherit_unset(the##name); \ +} + +#endif /* ! INHERIT_H */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_internal_time.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_internal_time.h new file mode 100644 index 00000000..6e12c674 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_internal_time.h @@ -0,0 +1,24 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_misc.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_misc.h new file mode 100644 index 00000000..82351250 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_misc.h @@ -0,0 +1,67 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_networkio.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_networkio.h new file mode 100644 index 00000000..9d77e5c1 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_networkio.h @@ -0,0 +1,134 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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" + +/* 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 netmask; + apr_int32_t inherit; + sock_userdata_t *userdata; +}; + +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(mask, option) ((mask & option) ==option) + +#define apr_set_option(mask, option, on) \ + do { \ + if (on) \ + *mask |= option; \ + else \ + *mask &= ~option; \ + } while (0) + +#endif /* ! NETWORK_IO_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_proc_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_proc_mutex.h new file mode 100644 index 00000000..5f4b5acc --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_proc_mutex.h @@ -0,0 +1,130 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_HAS_POSIXSEM_SERIALIZE +extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_posix_methods; +#endif +#if APR_HAS_SYSVSEM_SERIALIZE +extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_sysv_methods; +#endif +#if APR_HAS_FCNTL_SERIALIZE +extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_fcntl_methods; +#endif +#if APR_HAS_FLOCK_SERIALIZE +extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_flock_methods; +#endif +#if APR_HAS_PROC_PTHREAD_SERIALIZE +extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_proc_pthread_methods; +#endif +#if APR_HAS_RWLOCK_SERIALIZE +extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_rwlock_methods; +#endif + + +#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_PROC_PTHREAD_SERIALIZE + pthread_mutex_t *pthread_interproc; +#endif +}; + +void apr_proc_mutex_unix_setup_lock(void); + +#endif /* PROC_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_shm.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_shm.h new file mode 100644 index 00000000..dbd9b9bc --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_shm.h @@ -0,0 +1,70 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_cond.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_cond.h new file mode 100644 index 00000000..fd9ed339 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_cond.h @@ -0,0 +1,42 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_mutex.h new file mode 100644 index 00000000..40cdef3c --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_mutex.h @@ -0,0 +1,39 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_rwlock.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_rwlock.h new file mode 100644 index 00000000..647ce264 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_thread_rwlock.h @@ -0,0 +1,49 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_threadproc.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_threadproc.h new file mode 100644 index 00000000..2955f502 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_arch_threadproc.h @@ -0,0 +1,104 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h new file mode 100644 index 00000000..c40a923b --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h @@ -0,0 +1,743 @@ +/* include/arch/unix/apr_private.h. Generated from apr_private.h.in by configure. */ +/* 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 */ +#define USE_THREADS 1 +/* #undef EGD_DEFAULT_SOCKET */ +/* #undef HAVE_isascii */ +#define DIRENT_INODE d_fileno +#define DIRENT_TYPE d_type + +/* Cross process serialization techniques */ +/* #undef USE_FLOCK_SERIALIZE */ +#define USE_SYSVSEM_SERIALIZE 1 +/* #undef USE_FCNTL_SERIALIZE */ +/* #undef USE_PROC_PTHREAD_SERIALIZE */ +/* #undef USE_PTHREAD_SERIALIZE */ + +/* #undef POSIXSEM_IS_GLOBAL */ +/* #undef SYSVSEM_IS_GLOBAL */ +/* #undef FCNTL_IS_GLOBAL */ +/* #undef FLOCK_IS_GLOBAL */ + +/* #undef HAVE_INT64_C */ + + +/* Define if crypt_r has uses CRYPTD */ +/* #undef CRYPT_R_CRYPTD */ + +/* Define if crypt_r uses struct crypt_data */ +#define CRYPT_R_STRUCT_CRYPT_DATA 1 + +/* Define to path of random device */ +#define DEV_RANDOM "/dev/random" + +/* Define if DSO support uses dlfcn.h */ +#define DSO_USE_DLFCN 1 + +/* 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 */ +#define GETHOSTBYNAME_R_GLIBC2 1 + +/* 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. */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if you have the <arpa/inet.h> header file. */ +#define HAVE_ARPA_INET_H 1 + +/* 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. */ +#define HAVE_CALLOC 1 + +/* 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 <crypt.h> header file. */ +#define HAVE_CRYPT_H 1 + +/* Define to 1 if you have the `crypt_r' function. */ +#define HAVE_CRYPT_R 1 + +/* Define to 1 if you have the <ctype.h> header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_SIGLIST 1 + +/* Define to 1 if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + +/* 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. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `dlopen' function. */ +/* #undef HAVE_DLOPEN */ + +/* Define to 1 if you have the `dlsym' function. */ +#define HAVE_DLSYM 1 + +/* Define to 1 if you have the <dl.h> header file. */ +/* #undef HAVE_DL_H */ + +/* Define if EGD is supported */ +/* #undef HAVE_EGD */ + +/* Define to 1 if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `flock' function. */ +#define HAVE_FLOCK 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define if fstat64 can be used */ +#define HAVE_FSTAT64 1 + +/* Define if F_SETLK is defined in fcntl.h */ +#define HAVE_F_SETLK 1 + +/* Define to 1 if you have the `gai_strerror' function. */ +#define HAVE_GAI_STRERROR 1 + +/* Define if getaddrinfo exists and works well enough for APR */ +#define HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getenv' function. */ +#define HAVE_GETENV 1 + +/* Define to 1 if you have the `getgrgid_r' function. */ +#define HAVE_GETGRGID_R 1 + +/* Define to 1 if you have the `getgrnam_r' function. */ +#define HAVE_GETGRNAM_R 1 + +/* Define to 1 if you have the `gethostbyaddr_r' function. */ +#define HAVE_GETHOSTBYADDR_R 1 + +/* Define to 1 if you have the `gethostbyname_r' function. */ +#define HAVE_GETHOSTBYNAME_R 1 + +/* Define if getnameinfo exists */ +#define HAVE_GETNAMEINFO 1 + +/* Define to 1 if you have the `getpass' function. */ +#define HAVE_GETPASS 1 + +/* Define to 1 if you have the `getpassphrase' function. */ +/* #undef HAVE_GETPASSPHRASE */ + +/* Define to 1 if you have the `getpwnam_r' function. */ +#define HAVE_GETPWNAM_R 1 + +/* Define to 1 if you have the `getpwuid_r' function. */ +#define HAVE_GETPWUID_R 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* Define if struct tm has a tm_gmtoff field */ +#define HAVE_GMTOFF 1 + +/* Define to 1 if you have the <grp.h> header file. */ +#define HAVE_GRP_H 1 + +/* Define to 1 if you have the `hstrerror' function. */ +#define HAVE_HSTRERROR 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the <io.h> header file. */ +/* #undef HAVE_IO_H */ + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the <kernel/OS.h> header file. */ +/* #undef HAVE_KERNEL_OS_H */ + +/* Define to 1 if you have the <langinfo.h> header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define to 1 if you have the `bsd' library (-lbsd). */ +/* #undef HAVE_LIBBSD */ + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +#define HAVE_LIBNSL 1 + +/* Define to 1 if you have the `resolv' library (-lresolv). */ +/* #undef HAVE_LIBRESOLV */ + +/* Define to 1 if you have the `sendfile' library (-lsendfile). */ +/* #undef HAVE_LIBSENDFILE */ + +/* Define to 1 if you have the `socket' library (-lsocket). */ +/* #undef HAVE_LIBSOCKET */ + +/* Define to 1 if you have the `truerand' library (-ltruerand). */ +/* #undef HAVE_LIBTRUERAND */ + +/* Define to 1 if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + +/* Define if LOCK_EX is defined in sys/file.h */ +#define HAVE_LOCK_EX 1 + +/* 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. */ +#define HAVE_MALLOC_H 1 + +/* Define if MAP_ANON is defined in sys/mman.h */ +#define HAVE_MAP_ANON 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `munmap' function. */ +#define HAVE_MUNMAP 1 + +/* Define to 1 if you have the <netdb.h> header file. */ +#define HAVE_NETDB_H 1 + +/* Define to 1 if you have the <netinet/in.h> header file. */ +#define HAVE_NETINET_IN_H 1 + +/* 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 */ +#define HAVE_NETINET_TCP_H 1 + +/* 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. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the `NSLinkModule' function. */ +/* #undef HAVE_NSLINKMODULE */ + +/* 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 `poll' function. */ +#define HAVE_POLL 1 + +/* Define if POLLIN is defined */ +#define HAVE_POLLIN 1 + +/* Define to 1 if you have the <poll.h> header file. */ +#define HAVE_POLL_H 1 + +/* Define to 1 if you have the <process.h> header file. */ +/* #undef HAVE_PROCESS_H */ + +/* Define to 1 if you have the <pthread.h> header file. */ +#define HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the `pthread_key_delete' function. */ +#define HAVE_PTHREAD_KEY_DELETE 1 + +/* Define to 1 if you have the `pthread_mutexattr_setpshared' function. */ +#define HAVE_PTHREAD_MUTEXATTR_SETPSHARED 1 + +/* Define if recursive pthread mutexes are available */ +#define HAVE_PTHREAD_MUTEX_RECURSIVE 1 + +/* Define if cross-process robust mutexes are available */ +#define HAVE_PTHREAD_MUTEX_ROBUST 1 + +/* Define if PTHREAD_PROCESS_SHARED is defined in pthread.h */ +#define HAVE_PTHREAD_PROCESS_SHARED 1 + +/* Define if pthread rwlocks are available */ +#define HAVE_PTHREAD_RWLOCKS 1 + +/* Define to 1 if you have the `pthread_rwlock_init' function. */ +#define HAVE_PTHREAD_RWLOCK_INIT 1 + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the <pwd.h> header file. */ +#define HAVE_PWD_H 1 + +/* Define to 1 if you have the <semaphore.h> header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the `semctl' function. */ +#define HAVE_SEMCTL 1 + +/* Define to 1 if you have the `semget' function. */ +#define HAVE_SEMGET 1 + +/* Define to 1 if you have the `sem_close' function. */ +#define HAVE_SEM_CLOSE 1 + +/* Define to 1 if you have the `sem_post' function. */ +#define HAVE_SEM_POST 1 + +/* Define if SEM_UNDO is defined in sys/sem.h */ +#define HAVE_SEM_UNDO 1 + +/* Define to 1 if you have the `sem_unlink' function. */ +#define HAVE_SEM_UNLINK 1 + +/* Define to 1 if you have the `sem_wait' function. */ +#define HAVE_SEM_WAIT 1 + +/* Define to 1 if you have the `sendfile' function. */ +#define HAVE_SENDFILE 1 + +/* Define to 1 if you have the `sendfilev' function. */ +/* #undef HAVE_SENDFILEV */ + +/* Define to 1 if you have the `send_file' function. */ +/* #undef HAVE_SEND_FILE */ + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `setsid' function. */ +#define HAVE_SETSID 1 + +/* 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. */ +#define HAVE_SHMAT 1 + +/* Define to 1 if you have the `shmctl' function. */ +#define HAVE_SHMCTL 1 + +/* Define to 1 if you have the `shmdt' function. */ +#define HAVE_SHMDT 1 + +/* Define to 1 if you have the `shmget' function. */ +#define HAVE_SHMGET 1 + +/* Define to 1 if you have the `shm_open' function. */ +#define HAVE_SHM_OPEN 1 + +/* Define to 1 if you have the `shm_unlink' function. */ +#define HAVE_SHM_UNLINK 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the <signal.h> header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `sigsuspend' function. */ +#define HAVE_SIGSUSPEND 1 + +/* Define to 1 if you have the `sigwait' function. */ +#define HAVE_SIGWAIT 1 + +/* Whether you have socklen_t */ +#define HAVE_SOCKLEN_T 1 + +/* 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. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the <stddef.h> header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdio.h> header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the `stricmp' function. */ +/* #undef HAVE_STRICMP */ + +/* Define to 1 if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strnicmp' function. */ +/* #undef HAVE_STRNICMP */ + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* 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. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the <sys/ioctl.h> header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the <sys/ipc.h> header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the <sys/mman.h> header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* 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. */ +#define HAVE_SYS_POLL_H 1 + +/* Define to 1 if you have the <sys/resource.h> header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the <sys/select.h> header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the <sys/sem.h> header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the <sys/sendfile.h> header file. */ +#define HAVE_SYS_SENDFILE_H 1 + +/* Define to 1 if you have the <sys/shm.h> header file. */ +#define HAVE_SYS_SHM_H 1 + +/* Define to 1 if you have the <sys/signal.h> header file. */ +#define HAVE_SYS_SIGNAL_H 1 + +/* Define to 1 if you have the <sys/socket.h> header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* 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. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/sysctl.h> header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* 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. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <sys/uio.h> header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define to 1 if you have the <sys/un.h> header file. */ +#define HAVE_SYS_UN_H 1 + +/* Define to 1 if you have the <sys/wait.h> header file. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define if TCP_CORK is defined in netinet/tcp.h */ +#define HAVE_TCP_CORK 1 + +/* 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. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the <time.h> header file. */ +#define HAVE_TIME_H 1 + +/* 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. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the <unix.h> header file. */ +/* #undef HAVE_UNIX_H */ + +/* Define to 1 if you have the `unsetenv' function. */ +#define HAVE_UNSETENV 1 + +/* Define to 1 if you have the `utime' function. */ +#define HAVE_UTIME 1 + +/* Define to 1 if you have the `utimes' function. */ +#define HAVE_UTIMES 1 + +/* Define if C compiler supports VLA */ +#define HAVE_VLA 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if you have the `writev' function. */ +#define HAVE_WRITEV 1 + +/* Define if EAI_ error codes from getaddrinfo are negative */ +#define NEGATIVE_EAI 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define 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 if resolv.h's res_state has the fields retrans/rety */ +#define RESOLV_RETRANSRETRY 1 + +/* Define to 1 if the `setpgrp' function takes no argument. */ +#define SETPGRP_VOID 1 + +/* */ +/* #undef SIGWAIT_TAKES_ONE_ARG */ + +/* The size of `char', as computed by sizeof. */ +#define SIZEOF_CHAR 1 + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `long double', as computed by sizeof. */ +#define SIZEOF_LONG_DOUBLE 16 + +/* The size of `long long', as computed by sizeof. */ +#define SIZEOF_LONG_LONG 8 + +/* The size of off_t */ +#define SIZEOF_OFF_T 8 + +/* The size of pid_t */ +#define SIZEOF_PID_T 4 + +/* The size of `short', as computed by sizeof. */ +#define SIZEOF_SHORT 2 + +/* The size of size_t */ +#define SIZEOF_SIZE_T 8 + +/* The size of ssize_t */ +#define SIZEOF_SSIZE_T 8 + +/* The size of `void*', as computed by sizeof. */ +#define SIZEOF_VOIDP 8 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if strerror returns int */ +/* #undef STRERROR_R_RC_INT */ + +/* Define if SysV semaphores affect threads within the process */ +/* #undef SYSVSEM_IS_GLOBAL */ + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define if APR supports threads */ +#define USE_THREADS 1 + +/* 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 int' 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 int' 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 */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h.in b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h.in new file mode 100644 index 00000000..7e6b4d9d --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h.in @@ -0,0 +1,742 @@ +/* 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 USE_THREADS +#undef EGD_DEFAULT_SOCKET +#undef HAVE_isascii +#undef DIRENT_INODE +#undef DIRENT_TYPE + +/* 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 + +#undef POSIXSEM_IS_GLOBAL +#undef SYSVSEM_IS_GLOBAL +#undef FCNTL_IS_GLOBAL +#undef FLOCK_IS_GLOBAL + +#undef HAVE_INT64_C + + +/* Define if crypt_r has uses CRYPTD */ +#undef CRYPT_R_CRYPTD + +/* Define if crypt_r uses struct crypt_data */ +#undef CRYPT_R_STRUCT_CRYPT_DATA + +/* Define to path of random device */ +#undef DEV_RANDOM + +/* 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 <crypt.h> header file. */ +#undef HAVE_CRYPT_H + +/* Define to 1 if you have the `crypt_r' function. */ +#undef HAVE_CRYPT_R + +/* 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 `dlopen' function. */ +#undef HAVE_DLOPEN + +/* Define to 1 if you have the `dlsym' function. */ +#undef HAVE_DLSYM + +/* Define to 1 if you have the <dl.h> header file. */ +#undef HAVE_DL_H + +/* Define if EGD is supported */ +#undef HAVE_EGD + +/* 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 fstat64 can be used */ +#undef HAVE_FSTAT64 + +/* Define if F_SETLK is defined in fcntl.h */ +#undef HAVE_F_SETLK + +/* 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 to 1 if you have the `hstrerror' function. */ +#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 <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 `nsl' library (-lnsl). */ +#undef HAVE_LIBNSL + +/* Define to 1 if you have the `resolv' library (-lresolv). */ +#undef HAVE_LIBRESOLV + +/* Define to 1 if you have the `sendfile' library (-lsendfile). */ +#undef HAVE_LIBSENDFILE + +/* Define to 1 if you have the `socket' library (-lsocket). */ +#undef HAVE_LIBSOCKET + +/* 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 `mmap' function. */ +#undef HAVE_MMAP + +/* 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 `NSLinkModule' function. */ +#undef HAVE_NSLINKMODULE + +/* 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 `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.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 if recursive pthread mutexes are available */ +#undef HAVE_PTHREAD_MUTEX_RECURSIVE + +/* Define if cross-process robust mutexes are available */ +#undef HAVE_PTHREAD_MUTEX_ROBUST + +/* 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 `sendfilev' function. */ +#undef HAVE_SENDFILEV + +/* 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 if resolv.h's res_state has the fields retrans/rety */ +#undef RESOLV_RETRANSRETRY + +/* Define to 1 if the `setpgrp' function takes no argument. */ +#undef SETPGRP_VOID + +/* */ +#undef SIGWAIT_TAKES_ONE_ARG + +/* The size of `char', as computed by sizeof. */ +#undef SIZEOF_CHAR + +/* The size of `int', as computed by sizeof. */ +#undef SIZEOF_INT + +/* The size of `long', as computed by sizeof. */ +#undef SIZEOF_LONG + +/* The size of `long double', as computed by sizeof. */ +#undef SIZEOF_LONG_DOUBLE + +/* The size of `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 `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 `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 + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + +/* Define if APR supports threads */ +#undef USE_THREADS + +/* 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 int' 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 int' 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 */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h.save b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h.save new file mode 100644 index 00000000..c40a923b --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/unix/apr_private.h.save @@ -0,0 +1,743 @@ +/* include/arch/unix/apr_private.h. Generated from apr_private.h.in by configure. */ +/* 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 */ +#define USE_THREADS 1 +/* #undef EGD_DEFAULT_SOCKET */ +/* #undef HAVE_isascii */ +#define DIRENT_INODE d_fileno +#define DIRENT_TYPE d_type + +/* Cross process serialization techniques */ +/* #undef USE_FLOCK_SERIALIZE */ +#define USE_SYSVSEM_SERIALIZE 1 +/* #undef USE_FCNTL_SERIALIZE */ +/* #undef USE_PROC_PTHREAD_SERIALIZE */ +/* #undef USE_PTHREAD_SERIALIZE */ + +/* #undef POSIXSEM_IS_GLOBAL */ +/* #undef SYSVSEM_IS_GLOBAL */ +/* #undef FCNTL_IS_GLOBAL */ +/* #undef FLOCK_IS_GLOBAL */ + +/* #undef HAVE_INT64_C */ + + +/* Define if crypt_r has uses CRYPTD */ +/* #undef CRYPT_R_CRYPTD */ + +/* Define if crypt_r uses struct crypt_data */ +#define CRYPT_R_STRUCT_CRYPT_DATA 1 + +/* Define to path of random device */ +#define DEV_RANDOM "/dev/random" + +/* Define if DSO support uses dlfcn.h */ +#define DSO_USE_DLFCN 1 + +/* 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 */ +#define GETHOSTBYNAME_R_GLIBC2 1 + +/* 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. */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if you have the <arpa/inet.h> header file. */ +#define HAVE_ARPA_INET_H 1 + +/* 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. */ +#define HAVE_CALLOC 1 + +/* 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 <crypt.h> header file. */ +#define HAVE_CRYPT_H 1 + +/* Define to 1 if you have the `crypt_r' function. */ +#define HAVE_CRYPT_R 1 + +/* Define to 1 if you have the <ctype.h> header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_SIGLIST 1 + +/* Define to 1 if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + +/* 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. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `dlopen' function. */ +/* #undef HAVE_DLOPEN */ + +/* Define to 1 if you have the `dlsym' function. */ +#define HAVE_DLSYM 1 + +/* Define to 1 if you have the <dl.h> header file. */ +/* #undef HAVE_DL_H */ + +/* Define if EGD is supported */ +/* #undef HAVE_EGD */ + +/* Define to 1 if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `flock' function. */ +#define HAVE_FLOCK 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define if fstat64 can be used */ +#define HAVE_FSTAT64 1 + +/* Define if F_SETLK is defined in fcntl.h */ +#define HAVE_F_SETLK 1 + +/* Define to 1 if you have the `gai_strerror' function. */ +#define HAVE_GAI_STRERROR 1 + +/* Define if getaddrinfo exists and works well enough for APR */ +#define HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getenv' function. */ +#define HAVE_GETENV 1 + +/* Define to 1 if you have the `getgrgid_r' function. */ +#define HAVE_GETGRGID_R 1 + +/* Define to 1 if you have the `getgrnam_r' function. */ +#define HAVE_GETGRNAM_R 1 + +/* Define to 1 if you have the `gethostbyaddr_r' function. */ +#define HAVE_GETHOSTBYADDR_R 1 + +/* Define to 1 if you have the `gethostbyname_r' function. */ +#define HAVE_GETHOSTBYNAME_R 1 + +/* Define if getnameinfo exists */ +#define HAVE_GETNAMEINFO 1 + +/* Define to 1 if you have the `getpass' function. */ +#define HAVE_GETPASS 1 + +/* Define to 1 if you have the `getpassphrase' function. */ +/* #undef HAVE_GETPASSPHRASE */ + +/* Define to 1 if you have the `getpwnam_r' function. */ +#define HAVE_GETPWNAM_R 1 + +/* Define to 1 if you have the `getpwuid_r' function. */ +#define HAVE_GETPWUID_R 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* Define if struct tm has a tm_gmtoff field */ +#define HAVE_GMTOFF 1 + +/* Define to 1 if you have the <grp.h> header file. */ +#define HAVE_GRP_H 1 + +/* Define to 1 if you have the `hstrerror' function. */ +#define HAVE_HSTRERROR 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the <io.h> header file. */ +/* #undef HAVE_IO_H */ + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the <kernel/OS.h> header file. */ +/* #undef HAVE_KERNEL_OS_H */ + +/* Define to 1 if you have the <langinfo.h> header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define to 1 if you have the `bsd' library (-lbsd). */ +/* #undef HAVE_LIBBSD */ + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +#define HAVE_LIBNSL 1 + +/* Define to 1 if you have the `resolv' library (-lresolv). */ +/* #undef HAVE_LIBRESOLV */ + +/* Define to 1 if you have the `sendfile' library (-lsendfile). */ +/* #undef HAVE_LIBSENDFILE */ + +/* Define to 1 if you have the `socket' library (-lsocket). */ +/* #undef HAVE_LIBSOCKET */ + +/* Define to 1 if you have the `truerand' library (-ltruerand). */ +/* #undef HAVE_LIBTRUERAND */ + +/* Define to 1 if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + +/* Define if LOCK_EX is defined in sys/file.h */ +#define HAVE_LOCK_EX 1 + +/* 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. */ +#define HAVE_MALLOC_H 1 + +/* Define if MAP_ANON is defined in sys/mman.h */ +#define HAVE_MAP_ANON 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `munmap' function. */ +#define HAVE_MUNMAP 1 + +/* Define to 1 if you have the <netdb.h> header file. */ +#define HAVE_NETDB_H 1 + +/* Define to 1 if you have the <netinet/in.h> header file. */ +#define HAVE_NETINET_IN_H 1 + +/* 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 */ +#define HAVE_NETINET_TCP_H 1 + +/* 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. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the `NSLinkModule' function. */ +/* #undef HAVE_NSLINKMODULE */ + +/* 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 `poll' function. */ +#define HAVE_POLL 1 + +/* Define if POLLIN is defined */ +#define HAVE_POLLIN 1 + +/* Define to 1 if you have the <poll.h> header file. */ +#define HAVE_POLL_H 1 + +/* Define to 1 if you have the <process.h> header file. */ +/* #undef HAVE_PROCESS_H */ + +/* Define to 1 if you have the <pthread.h> header file. */ +#define HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the `pthread_key_delete' function. */ +#define HAVE_PTHREAD_KEY_DELETE 1 + +/* Define to 1 if you have the `pthread_mutexattr_setpshared' function. */ +#define HAVE_PTHREAD_MUTEXATTR_SETPSHARED 1 + +/* Define if recursive pthread mutexes are available */ +#define HAVE_PTHREAD_MUTEX_RECURSIVE 1 + +/* Define if cross-process robust mutexes are available */ +#define HAVE_PTHREAD_MUTEX_ROBUST 1 + +/* Define if PTHREAD_PROCESS_SHARED is defined in pthread.h */ +#define HAVE_PTHREAD_PROCESS_SHARED 1 + +/* Define if pthread rwlocks are available */ +#define HAVE_PTHREAD_RWLOCKS 1 + +/* Define to 1 if you have the `pthread_rwlock_init' function. */ +#define HAVE_PTHREAD_RWLOCK_INIT 1 + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the <pwd.h> header file. */ +#define HAVE_PWD_H 1 + +/* Define to 1 if you have the <semaphore.h> header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the `semctl' function. */ +#define HAVE_SEMCTL 1 + +/* Define to 1 if you have the `semget' function. */ +#define HAVE_SEMGET 1 + +/* Define to 1 if you have the `sem_close' function. */ +#define HAVE_SEM_CLOSE 1 + +/* Define to 1 if you have the `sem_post' function. */ +#define HAVE_SEM_POST 1 + +/* Define if SEM_UNDO is defined in sys/sem.h */ +#define HAVE_SEM_UNDO 1 + +/* Define to 1 if you have the `sem_unlink' function. */ +#define HAVE_SEM_UNLINK 1 + +/* Define to 1 if you have the `sem_wait' function. */ +#define HAVE_SEM_WAIT 1 + +/* Define to 1 if you have the `sendfile' function. */ +#define HAVE_SENDFILE 1 + +/* Define to 1 if you have the `sendfilev' function. */ +/* #undef HAVE_SENDFILEV */ + +/* Define to 1 if you have the `send_file' function. */ +/* #undef HAVE_SEND_FILE */ + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `setsid' function. */ +#define HAVE_SETSID 1 + +/* 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. */ +#define HAVE_SHMAT 1 + +/* Define to 1 if you have the `shmctl' function. */ +#define HAVE_SHMCTL 1 + +/* Define to 1 if you have the `shmdt' function. */ +#define HAVE_SHMDT 1 + +/* Define to 1 if you have the `shmget' function. */ +#define HAVE_SHMGET 1 + +/* Define to 1 if you have the `shm_open' function. */ +#define HAVE_SHM_OPEN 1 + +/* Define to 1 if you have the `shm_unlink' function. */ +#define HAVE_SHM_UNLINK 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the <signal.h> header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `sigsuspend' function. */ +#define HAVE_SIGSUSPEND 1 + +/* Define to 1 if you have the `sigwait' function. */ +#define HAVE_SIGWAIT 1 + +/* Whether you have socklen_t */ +#define HAVE_SOCKLEN_T 1 + +/* 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. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the <stddef.h> header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdio.h> header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the `stricmp' function. */ +/* #undef HAVE_STRICMP */ + +/* Define to 1 if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strnicmp' function. */ +/* #undef HAVE_STRNICMP */ + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* 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. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the <sys/ioctl.h> header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the <sys/ipc.h> header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the <sys/mman.h> header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* 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. */ +#define HAVE_SYS_POLL_H 1 + +/* Define to 1 if you have the <sys/resource.h> header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the <sys/select.h> header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the <sys/sem.h> header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the <sys/sendfile.h> header file. */ +#define HAVE_SYS_SENDFILE_H 1 + +/* Define to 1 if you have the <sys/shm.h> header file. */ +#define HAVE_SYS_SHM_H 1 + +/* Define to 1 if you have the <sys/signal.h> header file. */ +#define HAVE_SYS_SIGNAL_H 1 + +/* Define to 1 if you have the <sys/socket.h> header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* 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. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/sysctl.h> header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* 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. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <sys/uio.h> header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define to 1 if you have the <sys/un.h> header file. */ +#define HAVE_SYS_UN_H 1 + +/* Define to 1 if you have the <sys/wait.h> header file. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define if TCP_CORK is defined in netinet/tcp.h */ +#define HAVE_TCP_CORK 1 + +/* 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. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the <time.h> header file. */ +#define HAVE_TIME_H 1 + +/* 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. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the <unix.h> header file. */ +/* #undef HAVE_UNIX_H */ + +/* Define to 1 if you have the `unsetenv' function. */ +#define HAVE_UNSETENV 1 + +/* Define to 1 if you have the `utime' function. */ +#define HAVE_UTIME 1 + +/* Define to 1 if you have the `utimes' function. */ +#define HAVE_UTIMES 1 + +/* Define if C compiler supports VLA */ +#define HAVE_VLA 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if you have the `writev' function. */ +#define HAVE_WRITEV 1 + +/* Define if EAI_ error codes from getaddrinfo are negative */ +#define NEGATIVE_EAI 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define 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 if resolv.h's res_state has the fields retrans/rety */ +#define RESOLV_RETRANSRETRY 1 + +/* Define to 1 if the `setpgrp' function takes no argument. */ +#define SETPGRP_VOID 1 + +/* */ +/* #undef SIGWAIT_TAKES_ONE_ARG */ + +/* The size of `char', as computed by sizeof. */ +#define SIZEOF_CHAR 1 + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `long double', as computed by sizeof. */ +#define SIZEOF_LONG_DOUBLE 16 + +/* The size of `long long', as computed by sizeof. */ +#define SIZEOF_LONG_LONG 8 + +/* The size of off_t */ +#define SIZEOF_OFF_T 8 + +/* The size of pid_t */ +#define SIZEOF_PID_T 4 + +/* The size of `short', as computed by sizeof. */ +#define SIZEOF_SHORT 2 + +/* The size of size_t */ +#define SIZEOF_SIZE_T 8 + +/* The size of ssize_t */ +#define SIZEOF_SSIZE_T 8 + +/* The size of `void*', as computed by sizeof. */ +#define SIZEOF_VOIDP 8 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if strerror returns int */ +/* #undef STRERROR_R_RC_INT */ + +/* Define if SysV semaphores affect threads within the process */ +/* #undef SYSVSEM_IS_GLOBAL */ + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define if APR supports threads */ +#define USE_THREADS 1 + +/* 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 int' 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 int' 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 */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_atime.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_atime.h new file mode 100644 index 00000000..47b75a95 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_atime.h @@ -0,0 +1,63 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 ATIME_H +#define ATIME_H + +#include "apr_private.h" +#include "apr_time.h" +#if APR_HAVE_TIME_H +#include <time.h> +#endif + +struct atime_t { + apr_pool_t *cntxt; + apr_time_t currtime; + SYSTEMTIME *explodedtime; +}; + + +/* Number of micro-seconds between the beginning of the Windows epoch + * (Jan. 1, 1601) and the Unix epoch (Jan. 1, 1970) + */ +#define APR_DELTA_EPOCH_IN_USEC APR_TIME_C(11644473600000000); + + +__inline void FileTimeToAprTime(apr_time_t *result, FILETIME *input) +{ + /* Convert FILETIME one 64 bit number so we can work with it. */ + *result = input->dwHighDateTime; + *result = (*result) << 32; + *result |= input->dwLowDateTime; + *result /= 10; /* Convert from 100 nano-sec periods to micro-seconds. */ + *result -= APR_DELTA_EPOCH_IN_USEC; /* Convert from Windows epoch to Unix epoch */ + return; +} + + +__inline void AprTimeToFileTime(LPFILETIME pft, apr_time_t t) +{ + LONGLONG ll; + t += APR_DELTA_EPOCH_IN_USEC; + ll = t * 10; + pft->dwLowDateTime = (DWORD)ll; + pft->dwHighDateTime = (DWORD) (ll >> 32); + return; +} + + +#endif /* ! ATIME_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_dso.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_dso.h new file mode 100644 index 00000000..e2e4e40f --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_dso.h @@ -0,0 +1,36 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + +struct apr_dso_handle_t { + apr_pool_t *cont; + void *handle; + apr_status_t load_error; +}; + +#endif + +#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_file_io.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_file_io.h new file mode 100644 index 00000000..dc3f442a --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_file_io.h @@ -0,0 +1,276 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_pools.h" +#include "apr_general.h" +#include "apr_tables.h" +#include "apr_thread_mutex.h" +#include "apr_file_io.h" +#include "apr_file_info.h" +#include "apr_errno.h" +#include "apr_arch_misc.h" + +#ifdef HAVE_SYS_STAT_H +#include <sys/stat.h> +#endif +#if APR_HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_FCNTL_H +#include <fcntl.h> +#endif +#ifdef HAVE_TIME_H +#include <time.h> +#endif +#if APR_HAVE_DIRENT_H +#include <dirent.h> +#endif +#ifdef HAVE_MALLOC_H +#include <malloc.h> +#endif + +#if APR_HAS_UNICODE_FS +#include "arch/win32/apr_arch_utf8.h" +#include <wchar.h> + +/* Helper functions for the WinNT ApiW() functions. APR treats all + * resource identifiers (files, etc) by their UTF-8 name, to provide + * access to all named identifiers. [UTF-8 completely maps Unicode + * into char type strings.] + * + * The _path flavors below provide us fast mappings of the + * Unicode filename //?/D:/path and //?/UNC/mach/share/path mappings, + * which allow unlimited (well, 32000 wide character) length names. + * These prefixes may appear in Unicode, but must not appear in the + * Ascii API calls. So we tack them on in utf8_to_unicode_path, and + * strip them right back off in unicode_to_utf8_path. + */ +apr_status_t utf8_to_unicode_path(apr_wchar_t* dststr, apr_size_t dstchars, + const char* srcstr); +apr_status_t unicode_to_utf8_path(char* dststr, apr_size_t dstchars, + const apr_wchar_t* srcstr); + +#endif /* APR_HAS_UNICODE_FS */ + +/* Another Helper functions for the WinNT ApiW() functions. We need to + * derive some 'resource' names (max length 255 characters, prefixed with + * Global/ or Local/ on WinNT) from something that looks like a filename. + * Since 'resource' names never contain slashes, convert these to '_'s + * and return the appropriate char* or wchar* for ApiA or ApiW calls. + */ + +void *res_name_from_filename(const char *file, int global, apr_pool_t *pool); + +#define APR_FILE_MAX MAX_PATH + +#define APR_FILE_BUFSIZE 4096 + +/* obscure ommissions from msvc's sys/stat.h */ +#ifdef _MSC_VER +#define S_IFIFO _S_IFIFO /* pipe */ +#define S_IFBLK 0060000 /* Block Special */ +#define S_IFLNK 0120000 /* Symbolic Link */ +#define S_IFSOCK 0140000 /* Socket */ +#define S_IFWHT 0160000 /* Whiteout */ +#endif + +/* Internal Flags for apr_file_open */ +#define APR_OPENINFO 0x00100000 /* Open without READ or WRITE access */ +#define APR_OPENLINK 0x00200000 /* Open a link itself, if supported */ +#define APR_READCONTROL 0x00400000 /* Read the file's owner/perms */ +#define APR_WRITECONTROL 0x00800000 /* Modifythe file's owner/perms */ +#define APR_WRITEATTRS 0x01000000 /* Modify the file's attributes */ +#define APR_STDIN_FLAG 0x02000000 /* Obtained via apr_file_open_stdin() */ +#define APR_STDOUT_FLAG 0x04000000 /* Obtained via apr_file_open_stdout() */ +#define APR_STDERR_FLAG 0x06000000 /* Obtained via apr_file_open_stderr() */ +#define APR_STD_FLAGS (APR_STDIN_FLAG | APR_STDOUT_FLAG | APR_STDERR_FLAG) + +/* Entries missing from the MSVC 5.0 Win32 SDK: + */ +#ifndef FILE_ATTRIBUTE_DEVICE +#define FILE_ATTRIBUTE_DEVICE 0x00000040 +#endif +#ifndef FILE_ATTRIBUTE_REPARSE_POINT +#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 +#endif +#ifndef FILE_FLAG_OPEN_NO_RECALL +#define FILE_FLAG_OPEN_NO_RECALL 0x00100000 +#endif +#ifndef FILE_FLAG_OPEN_REPARSE_POINT +#define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000 +#endif +#ifndef TRUSTEE_IS_WELL_KNOWN_GROUP +#define TRUSTEE_IS_WELL_KNOWN_GROUP 5 +#endif + +/* Information bits available from the WIN32 FindFirstFile function */ +#define APR_FINFO_WIN32_DIR (APR_FINFO_NAME | APR_FINFO_TYPE \ + | APR_FINFO_CTIME | APR_FINFO_ATIME \ + | APR_FINFO_MTIME | APR_FINFO_SIZE) + +/* Sneak the Readonly bit through finfo->protection for internal use _only_ */ +#define APR_FREADONLY 0x10000000 + +/* Private function for apr_stat/lstat/getfileinfo/dir_read */ +int fillin_fileinfo(apr_finfo_t *finfo, WIN32_FILE_ATTRIBUTE_DATA *wininfo, + int byhandle, apr_int32_t wanted); + +/* Private function that extends apr_stat/lstat/getfileinfo/dir_read */ +apr_status_t more_finfo(apr_finfo_t *finfo, const void *ufile, + apr_int32_t wanted, int whatfile); + +/* whatfile types for the ufile arg */ +#define MORE_OF_HANDLE 0 +#define MORE_OF_FSPEC 1 +#define MORE_OF_WFSPEC 2 + +/* quick run-down of fields in windows' apr_file_t structure that may have + * obvious uses. + * fname -- the filename as passed to the open call. + * dwFileAttricutes -- Attributes used to open the file. + * append -- Windows doesn't support the append concept when opening files. + * APR needs to keep track of this, and always make sure we append + * correctly when writing to a file with this flag set TRUE. + */ + +// for apr_poll.c; +#define filedes filehand + +struct apr_file_t { + apr_pool_t *pool; + HANDLE filehand; + BOOLEAN pipe; // Is this a pipe of a file? + OVERLAPPED *pOverlapped; + apr_interval_time_t timeout; + apr_int32_t flags; + + /* File specific info */ + apr_finfo_t *finfo; + char *fname; + DWORD dwFileAttributes; + int eof_hit; + BOOLEAN buffered; // Use buffered I/O? + int ungetchar; // Last char provided by an unget op. (-1 = no char) + int append; + + /* Stuff for buffered mode */ + char *buffer; + apr_size_t bufpos; // Read/Write position in buffer + apr_size_t dataRead; // amount of valid data read into buffer + int direction; // buffer being used for 0 = read, 1 = write + apr_off_t filePtr; // position in file of handle + apr_thread_mutex_t *mutex; // mutex semaphore, must be owned to access the above fields + + /* Pipe specific info */ +}; + +struct apr_dir_t { + apr_pool_t *pool; + HANDLE dirhand; + apr_size_t rootlen; + char *dirname; + char *name; + union { +#if APR_HAS_UNICODE_FS + struct { + WIN32_FIND_DATAW *entry; + } w; +#endif +#if APR_HAS_ANSI_FS + struct { + WIN32_FIND_DATAA *entry; + } n; +#endif + }; + int bof; +}; + +/* There are many goofy characters the filesystem can't accept + * or can confound the cmd.exe shell. Here's the list + * [declared in filesys.c] + */ +extern const char apr_c_is_fnchar[256]; + +#define IS_FNCHAR(c) (apr_c_is_fnchar[(unsigned char)(c)] & 1) +#define IS_SHCHAR(c) ((apr_c_is_fnchar[(unsigned char)(c)] & 2) == 2) + + +/* If the user passes APR_FILEPATH_TRUENAME to either + * apr_filepath_root or apr_filepath_merge, this fn determines + * that the root really exists. It's expensive, wouldn't want + * to do this too frequenly. + */ +apr_status_t filepath_root_test(char *path, apr_pool_t *p); + + +/* The apr_filepath_merge wants to canonicalize the cwd to the + * addpath if the user passes NULL as the old root path (this + * isn't true of an empty string "", which won't be concatenated. + * + * But we need to figure out what the cwd of a given volume is, + * when the user passes D:foo. This fn will determine D:'s cwd. + * + * If flags includes the bit APR_FILEPATH_NATIVE, the path returned + * is in the os-native format. + */ +apr_status_t filepath_drive_get(char **rootpath, char drive, + apr_int32_t flags, apr_pool_t *p); + + +/* If the user passes d: vs. D: (or //mach/share vs. //MACH/SHARE), + * we need to fold the case to canonical form. This function is + * supposed to do so. + */ +apr_status_t filepath_root_case(char **rootpath, char *root, apr_pool_t *p); + + +apr_status_t file_cleanup(void *); + +/** + * Internal function to create a Win32/NT pipe that respects some async + * timeout options. + * @param in new read end of the created pipe + * @param out new write end of the created pipe + * @param blocking_mode one of + * <pre> + * APR_FULL_BLOCK + * APR_READ_BLOCK + * APR_WRITE_BLOCK + * APR_FULL_NONBLOCK + * </pre> + * @remark It so happens that APR_FULL_BLOCK and APR_FULL_NONBLOCK + * are common to apr_procattr_io_set() in, out and err modes. + * Because APR_CHILD_BLOCK and APR_WRITE_BLOCK share the same value, + * as do APR_PARENT_BLOCK and APR_READ_BLOCK, it's possible to use + * that value directly for creating the stdout/stderr pipes. When + * creating the stdin pipe, the values must be transposed. + * @see apr_procattr_io_set + */ +apr_status_t apr_create_nt_pipe(apr_file_t **in, apr_file_t **out, + apr_int32_t blocking_mode, + apr_pool_t *p); + +/** @see apr_create_nt_pipe */ +#define APR_READ_BLOCK 3 +/** @see apr_create_nt_pipe */ +#define APR_WRITE_BLOCK 4 + +#endif /* ! FILE_IO_H */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_inherit.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_inherit.h new file mode 100644 index 00000000..88e6f0de --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_inherit.h @@ -0,0 +1,133 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 */ + +#if APR_HAS_UNICODE_FS && APR_HAS_ANSI_FS +/* !defined(_WIN32_WCE) is implicit here */ + +#define APR_IMPLEMENT_INHERIT_SET(name, flag, pool, cleanup) \ +APR_DECLARE(apr_status_t) apr_##name##_inherit_set(apr_##name##_t *the##name) \ +{ \ + IF_WIN_OS_IS_UNICODE \ + { \ +/* if (!SetHandleInformation(the##name->filehand, \ + * HANDLE_FLAG_INHERIT, \ + * HANDLE_FLAG_INHERIT)) \ + * return apr_get_os_error(); \ + */ } \ + ELSE_WIN_OS_IS_ANSI \ + { \ + HANDLE temp, hproc = GetCurrentProcess(); \ + if (!DuplicateHandle(hproc, the##name->filehand, \ + hproc, &temp, 0, TRUE, \ + DUPLICATE_SAME_ACCESS)) \ + return apr_get_os_error(); \ + CloseHandle(the##name->filehand); \ + the##name->filehand = temp; \ + } \ + return APR_SUCCESS; \ +} \ +/* Deprecated */ \ +APR_DECLARE(void) apr_##name##_set_inherit(apr_##name##_t *the##name) \ +{ \ + apr_##name##_inherit_set(the##name); \ +} + +#define APR_IMPLEMENT_INHERIT_UNSET(name, flag, pool, cleanup) \ +APR_DECLARE(apr_status_t) apr_##name##_inherit_unset(apr_##name##_t *the##name)\ +{ \ + IF_WIN_OS_IS_UNICODE \ + { \ +/* if (!SetHandleInformation(the##name->filehand, \ + * HANDLE_FLAG_INHERIT, 0)) \ + * return apr_get_os_error(); \ + */ } \ + ELSE_WIN_OS_IS_ANSI \ + { \ + HANDLE temp, hproc = GetCurrentProcess(); \ + if (!DuplicateHandle(hproc, the##name->filehand, \ + hproc, &temp, 0, FALSE, \ + DUPLICATE_SAME_ACCESS)) \ + return apr_get_os_error(); \ + CloseHandle(the##name->filehand); \ + the##name->filehand = temp; \ + } \ + return APR_SUCCESS; \ +} \ +/* Deprecated */ \ +APR_DECLARE(void) apr_##name##_unset_inherit(apr_##name##_t *the##name) \ +{ \ + apr_##name##_inherit_unset(the##name); \ +} + +#elif APR_HAS_ANSI_FS || defined(_WIN32_WCE) + +#define APR_IMPLEMENT_INHERIT_SET(name, flag, pool, cleanup) \ +APR_DECLARE(apr_status_t) apr_##name##_inherit_set(apr_##name##_t *the##name) \ +{ \ + HANDLE temp, hproc = GetCurrentProcess(); \ + if (!DuplicateHandle(hproc, the##name->filehand, \ + hproc, &temp, 0, TRUE, \ + DUPLICATE_SAME_ACCESS)) \ + return apr_get_os_error(); \ + CloseHandle(the##name->filehand); \ + the##name->filehand = temp; \ + return APR_SUCCESS; \ +} + +#define APR_IMPLEMENT_INHERIT_UNSET(name, flag, pool, cleanup) \ +APR_DECLARE(apr_status_t) apr_##name##_inherit_unset(apr_##name##_t *the##name)\ +{ \ + HANDLE temp, hproc = GetCurrentProcess(); \ + if (!DuplicateHandle(hproc, the##name->filehand, \ + hproc, &temp, 0, FALSE, \ + DUPLICATE_SAME_ACCESS)) \ + return apr_get_os_error(); \ + CloseHandle(the##name->filehand); \ + the##name->filehand = temp; \ + return APR_SUCCESS; \ +} + +#else /* APR_HAS_UNICODE_FS && !APR_HAS_ANSI_FS && !defined(_WIN32_WCE) */ + +#define APR_IMPLEMENT_INHERIT_SET(name, flag, pool, cleanup) \ +APR_DECLARE(apr_status_t) apr_##name##_inherit_set(apr_##name##_t *the##name) \ +{ \ +/* if (!SetHandleInformation(the##name->filehand, \ + * HANDLE_FLAG_INHERIT, \ + * HANDLE_FLAG_INHERIT)) \ + * return apr_get_os_error(); \ + */ return APR_SUCCESS; \ +} + +#define APR_IMPLEMENT_INHERIT_UNSET(name, flag, pool, cleanup) \ +APR_DECLARE(apr_status_t) apr_##name##_inherit_unset(apr_##name##_t *the##name)\ +{ \ +/* if (!SetHandleInformation(the##name->filehand, \ + * HANDLE_FLAG_INHERIT, 0)) \ + * return apr_get_os_error(); \ + */ return APR_SUCCESS; \ +} + +#endif /* defined(APR_HAS_UNICODE_FS) */ + +#endif /* ! INHERIT_H */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_misc.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_misc.h new file mode 100644 index 00000000..dc61ac61 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_misc.h @@ -0,0 +1,324 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + +/* ### create APR_HAVE_* macros for these? */ +#if APR_HAVE_STDLIB_H +#include <stdlib.h> +#endif +#if APR_HAVE_STRING_H +#include <string.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; +}; + +#define WSAHighByte 2 +#define WSALowByte 0 + +/* start.c and apr_app.c helpers and communication within misc.c + * + * They are not for public consumption, although apr_app_init_complete + * must be an exported symbol to avoid reinitialization. + */ +extern int APR_DECLARE_DATA apr_app_init_complete; + +int apr_wastrtoastr(char const * const * *retarr, + wchar_t const * const *arr, int args); + +/* Platform specific designation of run time os version. + * Gaps allow for specific service pack levels that + * export new kernel or winsock functions or behavior. + */ +typedef enum { + APR_WIN_UNK = 0, + APR_WIN_UNSUP = 1, + APR_WIN_95 = 10, + APR_WIN_95_B = 11, + APR_WIN_95_OSR2 = 12, + APR_WIN_98 = 14, + APR_WIN_98_SE = 16, + APR_WIN_ME = 18, + + APR_WIN_UNICODE = 20, /* Prior versions support only narrow chars */ + + APR_WIN_CE_3 = 23, /* CE is an odd beast, not supporting */ + /* some pre-NT features, such as the */ + APR_WIN_NT = 30, /* narrow charset APIs (fooA fns), while */ + APR_WIN_NT_3_5 = 35, /* not supporting some NT-family features. */ + APR_WIN_NT_3_51 = 36, + + APR_WIN_NT_4 = 40, + APR_WIN_NT_4_SP2 = 42, + APR_WIN_NT_4_SP3 = 43, + APR_WIN_NT_4_SP4 = 44, + APR_WIN_NT_4_SP5 = 45, + APR_WIN_NT_4_SP6 = 46, + + APR_WIN_2000 = 50, + APR_WIN_2000_SP1 = 51, + APR_WIN_2000_SP2 = 52, + APR_WIN_XP = 60 +} apr_oslevel_e; + +extern APR_DECLARE_DATA apr_oslevel_e apr_os_level; + +apr_status_t apr_get_oslevel(apr_oslevel_e *); + +/* The APR_HAS_ANSI_FS symbol is PRIVATE, and internal to APR. + * APR only supports char data for filenames. Like most applications, + * characters >127 are essentially undefined. APR_HAS_UNICODE_FS lets + * the application know that utf-8 is the encoding method of APR, and + * only incidently hints that we have Wide OS calls. + * + * APR_HAS_ANSI_FS is simply an OS flag to tell us all calls must be + * the unicode eqivilant. + */ + +#if defined(_WIN32_WCE) || defined(WINNT) +#define APR_HAS_ANSI_FS 0 +#else +#define APR_HAS_ANSI_FS 1 +#endif + +/* IF_WIN_OS_IS_UNICODE / ELSE_WIN_OS_IS_ANSI help us keep the code trivial + * where have runtime tests for unicode-ness, that aren't needed in any + * build which supports only WINNT or WCE. + */ +#if APR_HAS_ANSI_FS && APR_HAS_UNICODE_FS +#define IF_WIN_OS_IS_UNICODE if (apr_os_level >= APR_WIN_UNICODE) +#define ELSE_WIN_OS_IS_ANSI else +#else /* APR_HAS_UNICODE_FS */ +#define IF_WIN_OS_IS_UNICODE +#define ELSE_WIN_OS_IS_ANSI +#endif /* WINNT */ + +typedef enum { + DLL_WINBASEAPI = 0, // kernel32 From WinBase.h + DLL_WINADVAPI = 1, // advapi32 From WinBase.h + DLL_WINSOCKAPI = 2, // mswsock From WinSock.h + DLL_WINSOCK2API = 3, // ws2_32 From WinSock2.h + DLL_SHSTDAPI = 4, // shell32 From ShellAPI.h + DLL_NTDLL = 5, // shell32 From our real kernel + DLL_defined = 6 // must define as last idx_ + 1 +} apr_dlltoken_e; + +FARPROC apr_load_dll_func(apr_dlltoken_e fnLib, char *fnName, int ordinal); + +/* The apr_load_dll_func call WILL fault if the function cannot be loaded */ + +#define APR_DECLARE_LATE_DLL_FUNC(lib, rettype, calltype, fn, ord, args, names) \ + typedef rettype (calltype *apr_winapi_fpt_##fn) args; \ + static apr_winapi_fpt_##fn apr_winapi_pfn_##fn = NULL; \ + __inline rettype apr_winapi_##fn args \ + { if (!apr_winapi_pfn_##fn) \ + apr_winapi_pfn_##fn = (apr_winapi_fpt_##fn) \ + apr_load_dll_func(lib, #fn, ord); \ + return (*(apr_winapi_pfn_##fn)) names; }; \ + +/* Provide late bound declarations of every API function missing from + * one or more supported releases of the Win32 API + * + * lib is the enumerated token from apr_dlltoken_e, and must correspond + * to the string table entry in start.c used by the apr_load_dll_func(). + * Token names (attempt to) follow Windows.h declarations prefixed by DLL_ + * in order to facilitate comparison. Use the exact declaration syntax + * and names from Windows.h to prevent ambigutity and bugs. + * + * rettype and calltype follow the original declaration in Windows.h + * fn is the true function name - beware Ansi/Unicode #defined macros + * ord is the ordinal within the library, use 0 if it varies between versions + * args is the parameter list following the original declaration, in parens + * names is the parameter list sans data types, enclosed in parens + * + * #undef/re#define the Ansi/Unicode generic name to abate confusion + * In the case of non-text functions, simply #define the original name + */ + +#if !defined(_WIN32_WCE) && !defined(WINNT) + +#ifdef GetFileAttributesExA +#undef GetFileAttributesExA +#endif +APR_DECLARE_LATE_DLL_FUNC(DLL_WINBASEAPI, BOOL, WINAPI, GetFileAttributesExA, 0, ( + IN LPCSTR lpFileName, + IN GET_FILEEX_INFO_LEVELS fInfoLevelId, + OUT LPVOID lpFileInformation), + (lpFileName, fInfoLevelId, lpFileInformation)); +#define GetFileAttributesExA apr_winapi_GetFileAttributesExA +#undef GetFileAttributesEx +#define GetFileAttributesEx apr_winapi_GetFileAttributesExA + +#ifdef GetFileAttributesExW +#undef GetFileAttributesExW +#endif +APR_DECLARE_LATE_DLL_FUNC(DLL_WINBASEAPI, BOOL, WINAPI, GetFileAttributesExW, 0, ( + IN LPCWSTR lpFileName, + IN GET_FILEEX_INFO_LEVELS fInfoLevelId, + OUT LPVOID lpFileInformation), + (lpFileName, fInfoLevelId, lpFileInformation)); +#define GetFileAttributesExW apr_winapi_GetFileAttributesExW + +APR_DECLARE_LATE_DLL_FUNC(DLL_WINBASEAPI, BOOL, WINAPI, CancelIo, 0, ( + IN HANDLE hFile), + (hFile)); +#define CancelIo apr_winapi_CancelIo + +APR_DECLARE_LATE_DLL_FUNC(DLL_WINBASEAPI, BOOL, WINAPI, TryEnterCriticalSection, 0, ( + LPCRITICAL_SECTION lpCriticalSection), + (lpCriticalSection)); +#define TryEnterCriticalSection apr_winapi_TryEnterCriticalSection + +APR_DECLARE_LATE_DLL_FUNC(DLL_WINBASEAPI, BOOL, WINAPI, SwitchToThread, 0, ( + void), + ()); +#define SwitchToThread apr_winapi_SwitchToThread + +APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetEffectiveRightsFromAclW, 0, ( + IN PACL pacl, + IN PTRUSTEE_W pTrustee, + OUT PACCESS_MASK pAccessRights), + (pacl, pTrustee, pAccessRights)); +#define GetEffectiveRightsFromAclW apr_winapi_GetEffectiveRightsFromAclW + +APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetNamedSecurityInfoW, 0, ( + IN LPWSTR pObjectName, + IN SE_OBJECT_TYPE ObjectType, + IN SECURITY_INFORMATION SecurityInfo, + OUT PSID *ppsidOwner, + OUT PSID *ppsidGroup, + OUT PACL *ppDacl, + OUT PACL *ppSacl, + OUT PSECURITY_DESCRIPTOR *ppSecurityDescriptor), + (pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, + ppDacl, ppSacl, ppSecurityDescriptor)); +#define GetNamedSecurityInfoW apr_winapi_GetNamedSecurityInfoW + +APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetNamedSecurityInfoA, 0, ( + IN LPSTR pObjectName, + IN SE_OBJECT_TYPE ObjectType, + IN SECURITY_INFORMATION SecurityInfo, + OUT PSID *ppsidOwner, + OUT PSID *ppsidGroup, + OUT PACL *ppDacl, + OUT PACL *ppSacl, + OUT PSECURITY_DESCRIPTOR *ppSecurityDescriptor), + (pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, + ppDacl, ppSacl, ppSecurityDescriptor)); +#define GetNamedSecurityInfoA apr_winapi_GetNamedSecurityInfoA +#undef GetNamedSecurityInfo +#define GetNamedSecurityInfo apr_winapi_GetNamedSecurityInfoA + +APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetSecurityInfo, 0, ( + IN HANDLE handle, + IN SE_OBJECT_TYPE ObjectType, + IN SECURITY_INFORMATION SecurityInfo, + OUT PSID *ppsidOwner, + OUT PSID *ppsidGroup, + OUT PACL *ppDacl, + OUT PACL *ppSacl, + OUT PSECURITY_DESCRIPTOR *ppSecurityDescriptor), + (handle, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, + ppDacl, ppSacl, ppSecurityDescriptor)); +#define GetSecurityInfo apr_winapi_GetSecurityInfo + +APR_DECLARE_LATE_DLL_FUNC(DLL_SHSTDAPI, LPWSTR *, WINAPI, CommandLineToArgvW, 0, ( + LPCWSTR lpCmdLine, + int *pNumArgs), + (lpCmdLine, pNumArgs)); +#define CommandLineToArgvW apr_winapi_CommandLineToArgvW + +#endif /* !defined(_WIN32_WCE) && !defined(WINNT) */ + +#if !defined(_WIN32_WCE) + +APR_DECLARE_LATE_DLL_FUNC(DLL_NTDLL, DWORD, WINAPI, NtQueryTimerResolution, 0, ( + ULONG *pMaxRes, /* Minimum NS Resolution */ + ULONG *pMinRes, /* Maximum NS Resolution */ + ULONG *pCurRes), /* Current NS Resolution */ + (pMaxRes, pMinRes, pCurRes)); +#define QueryTimerResolution apr_winapi_NtQueryTimerResolution + +APR_DECLARE_LATE_DLL_FUNC(DLL_NTDLL, DWORD, WINAPI, NtSetTimerResolution, 0, ( + ULONG ReqRes, /* Requested NS Clock Resolution */ + BOOL Acquire, /* Aquire (1) or Release (0) our interest */ + ULONG *pNewRes), /* The NS Clock Resolution granted */ + (ReqRes, Acquire, pNewRes)); +#define SetTimerResolution apr_winapi_NtSetTimerResolution + +/* ### These are ULONG_PTR values, but that's int32 for all we care + * until the Win64 port is prepared. + */ +typedef struct PBI { + DWORD ExitStatus; + PVOID PebBaseAddress; + ULONG AffinityMask; + LONG BasePriority; + ULONG UniqueProcessId; + ULONG InheritedFromUniqueProcessId; +} PBI, *PPBI; + +APR_DECLARE_LATE_DLL_FUNC(DLL_NTDLL, DWORD, WINAPI, NtQueryInformationProcess, 0, ( + HANDLE hProcess, /* Obvious */ + INT info, /* Use 0 for PBI documented above */ + PVOID pPI, /* The PIB buffer */ + ULONG LenPI, /* Use sizeof(PBI) */ + ULONG *pSizePI), /* returns pPI buffer used (may pass NULL) */ + (hProcess, info, pPI, LenPI, pSizePI)); +#define QueryInformationProcess apr_winapi_NtQueryInformationProcess + +APR_DECLARE_LATE_DLL_FUNC(DLL_NTDLL, DWORD, WINAPI, NtQueryObject, 0, ( + HANDLE hObject, /* Obvious */ + INT info, /* Use 0 for PBI documented above */ + PVOID pOI, /* The PIB buffer */ + ULONG LenOI, /* Use sizeof(PBI) */ + ULONG *pSizeOI), /* returns pPI buffer used (may pass NULL) */ + (hObject, info, pOI, LenOI, pSizeOI)); +#define QueryObject apr_winapi_NtQueryObject + +#endif /* !defined(_WIN32_WCE) */ + +#endif /* ! MISC_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_networkio.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_networkio.h new file mode 100644 index 00000000..be6edc5b --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_networkio.h @@ -0,0 +1,80 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_network_io.h" +#include "apr_general.h" + +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; + SOCKET socketdes; + int type; /* SOCK_STREAM, SOCK_DGRAM */ + int protocol; + apr_sockaddr_t *local_addr; + apr_sockaddr_t *remote_addr; + int timeout_ms; /* MUST MATCH if timeout > 0 */ + apr_interval_time_t timeout; + apr_int32_t disconnected; + int local_port_unknown; + int local_interface_unknown; + int remote_addr_unknown; + apr_int32_t netmask; + apr_int32_t inherit; +#if APR_HAS_SENDFILE + /* As of 07.20.04, the overlapped structure is only used by + * apr_socket_sendfile and that's where it will be allocated + * and initialized. + */ + OVERLAPPED *overlapped; +#endif + sock_userdata_t *userdata; +}; + +#ifdef _WIN32_WCE +#ifndef WSABUF +typedef struct _WSABUF { + u_long len; /* the length of the buffer */ + char FAR * buf; /* the pointer to the buffer */ +} WSABUF, FAR * LPWSABUF; +#endif +#endif + +apr_status_t status_from_res_error(int); + +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(mask, option) ((mask & option) ==option) +#define apr_set_option(mask, option, on) \ + do { \ + if (on) \ + *mask |= option; \ + else \ + *mask &= ~option; \ + } while (0) + +#endif /* ! NETWORK_IO_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_proc_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_proc_mutex.h new file mode 100644 index 00000000..4e3e3993 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_proc_mutex.h @@ -0,0 +1,29 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_proc_mutex.h" + +struct apr_proc_mutex_t { + apr_pool_t *pool; + HANDLE handle; + const char *fname; +}; + +#endif /* PROC_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_cond.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_cond.h new file mode 100644 index 00000000..840949c2 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_cond.h @@ -0,0 +1,31 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_cond.h" + +struct apr_thread_cond_t { + apr_pool_t *pool; + HANDLE event; + int signal_all; + int num_waiting; + int signalled; +}; + +#endif /* THREAD_COND_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_mutex.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_mutex.h new file mode 100644 index 00000000..13d3c1cb --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_mutex.h @@ -0,0 +1,40 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_pools.h" + +typedef enum thread_mutex_type { + thread_mutex_critical_section, + thread_mutex_unnested_event, + thread_mutex_nested_mutex +} thread_mutex_type; + +/* handle applies only to unnested_event on all platforms + * and nested_mutex on Win9x only. Otherwise critical_section + * is used for NT nexted mutexes providing optimal performance. + */ +struct apr_thread_mutex_t { + apr_pool_t *pool; + thread_mutex_type type; + HANDLE handle; + CRITICAL_SECTION section; +}; + +#endif /* THREAD_MUTEX_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_rwlock.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_rwlock.h new file mode 100644 index 00000000..1177e529 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_thread_rwlock.h @@ -0,0 +1,30 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_thread_rwlock.h" + +struct apr_thread_rwlock_t { + apr_pool_t *pool; + HANDLE write_mutex; + HANDLE read_event; + LONG readers; +}; + +#endif /* THREAD_RWLOCK_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_threadproc.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_threadproc.h new file mode 100644 index 00000000..d5e43fd1 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_threadproc.h @@ -0,0 +1,69 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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_private.h" +#include "apr_thread_proc.h" +#include "apr_file_io.h" + +#ifndef THREAD_PROC_H +#define THREAD_PROC_H + +#define SHELL_PATH "cmd.exe" + +struct apr_thread_t { + apr_pool_t *pool; + HANDLE td; + apr_int32_t cancel; + apr_int32_t cancel_how; + void *data; + apr_thread_start_t func; + apr_status_t exitval; +}; + +struct apr_threadattr_t { + apr_pool_t *pool; + apr_int32_t detach; + apr_size_t stacksize; +}; + +struct apr_threadkey_t { + apr_pool_t *pool; + DWORD key; +}; + +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; + apr_child_errfn_t *errfn; + apr_int32_t errchk; +}; + +struct apr_thread_once_t { + long value; +}; + +extern apr_status_t apr_threadproc_init(apr_pool_t *pool); + +#endif /* ! THREAD_PROC_H */ + diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_utf8.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_utf8.h new file mode 100644 index 00000000..84f8bf77 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_arch_utf8.h @@ -0,0 +1,56 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 UTF8_H +#define UTF8_H + +#include "apr.h" +#include "apr_lib.h" +#include "apr_errno.h" + +/* If we ever support anything more exciting than char... this could move. + */ +typedef apr_uint16_t apr_wchar_t; + +/** + * An APR internal function for fast utf-8 octet-encoded Unicode conversion + * to the ucs-2 wide Unicode format. This function is used for filename and + * other resource conversions for platforms providing native Unicode support. + * + * @tip Only the errors APR_EINVAL and APR_INCOMPLETE may occur, the former + * when the character code is invalid (in or out of context) and the later + * when more characters were expected, but insufficient characters remain. + */ +APR_DECLARE(apr_status_t) apr_conv_utf8_to_ucs2(const char *in, + apr_size_t *inbytes, + apr_wchar_t *out, + apr_size_t *outwords); + +/** + * An APR internal function for fast ucs-2 wide Unicode format conversion to + * the utf-8 octet-encoded Unicode. This function is used for filename and + * other resource conversions for platforms providing native Unicode support. + * + * @tip Only the errors APR_EINVAL and APR_INCOMPLETE may occur, the former + * when the character code is invalid (in or out of context) and the later + * when more words were expected, but insufficient words remain. + */ +APR_DECLARE(apr_status_t) apr_conv_ucs2_to_utf8(const apr_wchar_t *in, + apr_size_t *inwords, + char *out, + apr_size_t *outbytes); + +#endif /* def UTF8_H */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_dbg_win32_handles.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_dbg_win32_handles.h new file mode 100644 index 00000000..471cd66d --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_dbg_win32_handles.h @@ -0,0 +1,217 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 APR_DBG_WIN32_HANDLES_H +#define APR_DBG_WIN32_HANDLES_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* USAGE: + * + * Add the following include to apr_private.h for internal debugging, + * or copy this header into apr/include add the include below to apr.h + * for really global debugging; + * + * #include "apr_dbg_win32_handles.h" + * + * apr_dbg_log is the crux of this function ... it uses Win32 API and + * no apr calls itself to log all activity to a file named for the + * executing application with a .pid suffix. Ergo several instances + * may be executing and logged at once. + * + * HANDLE apr_dbg_log(char* fn, HANDLE ha, char* fl, int ln, int nh + * [, HANDLE *hv, char *dsc...]) + * + * returns: the handle passed in ha, which is cast back to the real return type. + * + * formats one line into the debug log file if nh is zero; + * ha (hex) seq(hex) tid(hex) fn fl ln + * xxxxxxxx xxxxxxxx xxxxxxxx func() sourcefile:lineno + * The macro apr_dbg_rv makes this simple to implement for many APIs + * that simply take args that don't interest us, and return a handle. + * + * formats multiple lines (nh) into the debug log file for each hv/dsc pair + * (nh must correspond to the number of pairs); + * hv (hex) seq(hex) tid(hex) fn dsc fl ln + * xxxxxxxx xxxxxxxx xxxxxxxx func(arg) sourcefile:lineno + * In this later usage, hv is the still the return value but is not + * treated as a handle. + */ + +APR_DECLARE_NONSTD(HANDLE) apr_dbg_log(char* fn, HANDLE ha, char* fl, int ln, + int nh,/* HANDLE *hv, char *dsc */...); + +#define apr_dbg_rv(fn, args) (apr_dbg_log(#fn,(fn) args,__FILE__,__LINE__,0)) + +#define CloseHandle(h) \ + ((BOOL)apr_dbg_log("CloseHandle", \ + (HANDLE)(CloseHandle)(h), \ + __FILE__,__LINE__,1, \ + &(h),"")) + +#define CreateEventA(sd,b1,b2,nm) apr_dbg_rv(CreateEventA,(sd,b1,b2,nm)) +#define CreateEventW(sd,b1,b2,nm) apr_dbg_rv(CreateEventW,(sd,b1,b2,nm)) + +#define CreateFileA(nm,d1,d2,sd,d3,d4,h) apr_dbg_rv(CreateFileA,(nm,d1,d2,sd,d3,d4,h)) +#define CreateFileW(nm,d1,d2,sd,d3,d4,h) apr_dbg_rv(CreateFileW,(nm,d1,d2,sd,d3,d4,h)) + +#define CreateFileMappingA(fh,sd,d1,d2,d3,nm) apr_dbg_rv(CreateFileMappingA,(fh,sd,d1,d2,d3,nm)) +#define CreateFileMappingW(fh,sd,d1,d2,d3,nm) apr_dbg_rv(CreateFileMappingW,(fh,sd,d1,d2,d3,nm)) + +#define CreateMutexA(sd,b,nm) apr_dbg_rv(CreateMutexA,(sd,b,nm)) +#define CreateMutexW(sd,b,nm) apr_dbg_rv(CreateMutexW,(sd,b,nm)) + +#define CreateIoCompletionPort(h1,h2,pd1,d2) apr_dbg_rv(CreateIoCompletionPort,(h1,h2,pd1,d2)) + +#define CreateNamedPipeA(nm,d1,d2,d3,d4,d5,d6,sd) apr_dbg_rv(CreateNamedPipeA,(nm,d1,d2,d3,d4,d5,d6,sd)) +#define CreateNamedPipeW(nm,d1,d2,d3,d4,d5,d6,sd) apr_dbg_rv(CreateNamedPipeW,(nm,d1,d2,d3,d4,d5,d6,sd)) + +#define CreatePipe(ph1,ph2,sd,d) \ + ((BOOL)apr_dbg_log("CreatePipe", \ + (HANDLE)(CreatePipe)(ph1,ph2,sd,d), \ + __FILE__,__LINE__,2, \ + (ph1),"hRead", \ + (ph2),"hWrite")) + +#define CreateProcessA(s1,s2,sd1,sd2,b,d1,s3,s4,pd2,hr) \ + ((BOOL)apr_dbg_log("CreateProcessA", \ + (HANDLE)(CreateProcessA)(s1,s2,sd1,sd2,b,d1,s3,s4,pd2,hr), \ + __FILE__,__LINE__,2, \ + &((hr)->hProcess),"hProcess", \ + &((hr)->hThread),"hThread")) +#define CreateProcessW(s1,s2,sd1,sd2,b,d1,s3,s4,pd2,hr) \ + ((BOOL)apr_dbg_log("CreateProcessW", \ + (HANDLE)(CreateProcessW)(s1,s2,sd1,sd2,b,d1,s3,s4,pd2,hr), \ + __FILE__,__LINE__,2, \ + &((hr)->hProcess),"hProcess", \ + &((hr)->hThread),"hThread")) + +#define CreateSemaphoreA(sd,d1,d2,nm) apr_dbg_rv(CreateSemaphoreA,(sd,d1,d2,nm)) +#define CreateSemaphoreW(sd,d1,d2,nm) apr_dbg_rv(CreateSemaphoreW,(sd,d1,d2,nm)) + +#define CreateThread(sd,d1,fn,pv,d2,pd3) apr_dbg_rv(CreateThread,(sd,d1,fn,pv,d2,pd3)) + +#define DeregisterEventSource(h) \ + ((BOOL)apr_dbg_log("DeregisterEventSource", \ + (HANDLE)(DeregisterEventSource)(h), \ + __FILE__,__LINE__,1, \ + &(h),"")) + +#define DuplicateHandle(h1,h2,h3,ph4,d1,b,d2) \ + ((BOOL)apr_dbg_log("DuplicateHandle", \ + (HANDLE)(DuplicateHandle)(h1,h2,h3,ph4,d1,b,d2), \ + __FILE__,__LINE__,2, \ + (ph4),((h3)==GetCurrentProcess()) \ + ? "Target" : "EXTERN Target", \ + &(h2),((h1)==GetCurrentProcess()) \ + ? "Source" : "EXTERN Source")) + +#define GetCurrentProcess() \ + (apr_dbg_log("GetCurrentProcess", \ + (GetCurrentProcess)(),__FILE__,__LINE__,0)) + +#define GetCurrentThread() \ + (apr_dbg_log("GetCurrentThread", \ + (GetCurrentThread)(),__FILE__,__LINE__,0)) + +#define GetModuleHandleA(nm) apr_dbg_rv(GetModuleHandleA,(nm)) +#define GetModuleHandleW(nm) apr_dbg_rv(GetModuleHandleW,(nm)) + +#define GetStdHandle(d) apr_dbg_rv(GetStdHandle,(d)) + +#define LoadLibraryA(nm) apr_dbg_rv(LoadLibraryA,(nm)) +#define LoadLibraryW(nm) apr_dbg_rv(LoadLibraryW,(nm)) + +#define LoadLibraryExA(nm,h,d) apr_dbg_rv(LoadLibraryExA,(nm,h,d)) +#define LoadLibraryExW(nm,h,d) apr_dbg_rv(LoadLibraryExW,(nm,h,d)) + +#define OpenEventA(d,b,nm) apr_dbg_rv(OpenEventA,(d,b,nm)) +#define OpenEventW(d,b,nm) apr_dbg_rv(OpenEventW,(d,b,nm)) + +#define OpenFileMappingA(d,b,nm) apr_dbg_rv(OpenFileMappingA,(d,b,nm)) +#define OpenFileMappingW(d,b,nm) apr_dbg_rv(OpenFileMappingW,(d,b,nm)) + +#define RegisterEventSourceA(s1,s2) apr_dbg_rv(RegisterEventSourceA,(s1,s2)) +#define RegisterEventSourceW(s1,s2) apr_dbg_rv(RegisterEventSourceW,(s1,s2)) + +#define SetEvent(h) \ + ((BOOL)apr_dbg_log("SetEvent", \ + (HANDLE)(SetEvent)(h), \ + __FILE__,__LINE__,1, \ + &(h),"")) + +#define SetStdHandle(d,h) \ + ((BOOL)apr_dbg_log("SetStdHandle", \ + (HANDLE)(SetStdHandle)(d,h), \ + __FILE__,__LINE__,1,&(h),"")) + +#define socket(i1,i2,i3) \ + ((SOCKET)apr_dbg_log("socket", \ + (HANDLE)(socket)(i1,i2,i3), \ + __FILE__,__LINE__,0)) + +#define WaitForSingleObject(h,d) \ + ((DWORD)apr_dbg_log("WaitForSingleObject", \ + (HANDLE)(WaitForSingleObject)(h,d), \ + __FILE__,__LINE__,1,&(h),"Signaled")) + +#define WaitForSingleObjectEx(h,d,b) \ + ((DWORD)apr_dbg_log("WaitForSingleObjectEx", \ + (HANDLE)(WaitForSingleObjectEx)(h,d,b), \ + __FILE__,__LINE__,1,&(h),"Signaled")) + +#define WaitForMultipleObjects(d1,ah,b,d2) \ + ((DWORD)apr_dbg_log("WaitForMultipleObjects", \ + (HANDLE)(WaitForMultipleObjects)(d1,ah,b,d2), \ + __FILE__,__LINE__,1,ah,"Signaled")) + +#define WaitForMultipleObjectsEx(d1,ah,b1,d2,b2) \ + ((DWORD)apr_dbg_log("WaitForMultipleObjectsEx", \ + (HANDLE)(WaitForMultipleObjectsEx)(d1,ah,b1,d2,b2), \ + __FILE__,__LINE__,1,ah,"Signaled")) + +#define WSASocketA(i1,i2,i3,pi,g,dw) \ + ((SOCKET)apr_dbg_log("WSASocketA", \ + (HANDLE)(WSASocketA)(i1,i2,i3,pi,g,dw), \ + __FILE__,__LINE__,0)) + +#define WSASocketW(i1,i2,i3,pi,g,dw) \ + ((SOCKET)apr_dbg_log("WSASocketW", \ + (HANDLE)(WSASocketW)(i1,i2,i3,pi,g,dw), \ + __FILE__,__LINE__,0)) + +#define closesocket(sh) \ + ((int)apr_dbg_log("closesocket", \ + (HANDLE)(closesocket)(sh), \ + __FILE__,__LINE__,1,&(sh),"")) + +#define _beginthread(fn,d,pv) \ + ((unsigned long)apr_dbg_log("_beginthread", \ + (HANDLE)(_beginthread)(fn,d,pv), \ + __FILE__,__LINE__,0)) + +#define _beginthreadex(sd,d1,fn,pv,d2,pd3) \ + ((unsigned long)apr_dbg_log("_beginthreadex", \ + (HANDLE)(_beginthreadex)(sd,d1,fn,pv,d2,pd3), \ + __FILE__,__LINE__,0)) + +#ifdef __cplusplus +} +#endif + +#endif /* !defined(APR_DBG_WIN32_HANDLES_H) */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_private.h b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_private.h new file mode 100644 index 00000000..40a7f750 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/srclib/apr/include/arch/win32/apr_private.h @@ -0,0 +1,151 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +/* + * Note: + * This is the windows specific autoconf-like config file + * which unix would create at build time. + */ + +#ifdef WIN32 + +#ifndef APR_PRIVATE_H +#define APR_PRIVATE_H + +/* Include the public APR symbols, include our idea of the 'right' + * subset of the Windows.h header. This saves us repetition. + */ +#include "apr.h" + +/* + * Add a _very_few_ declarations missing from the restricted set of headers + * (If this list becomes extensive, re-enable the required headers above!) + * winsock headers were excluded by WIN32_LEAN_AND_MEAN, so include them now + */ +#ifndef SW_HIDE +#define SW_HIDE 0 +#endif + +/* For the misc.h late-loaded dynamic symbols, we need some obscure types + * Avoid dragging in wtypes.h unless it's absolutely necessary [generally + * not with APR itself, until some GUI-related security is introduced.] + */ +#ifndef _WIN32_WCE +#define HAVE_ACLAPI 1 +#ifdef __wtypes_h__ +#include <accctrl.h> +#else +#define __wtypes_h__ +#include <accctrl.h> +#undef __wtypes_h__ +#endif +#else +#define HAVE_ACLAPI 0 +#endif + +#if APR_HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if APR_HAVE_STDDEF_H +#include <stddef.h> +#endif +#include <stdio.h> +#if APR_HAVE_TIME_H +#include <time.h> +#endif + +/* Use this section to define all of the HAVE_FOO_H + * that are required to build properly. + */ +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_SIGNAL_H 1 +/* #define HAVE_STDDEF_H 1 why not? */ +#define HAVE_STDLIB_H 1 + +#define HAVE_STRICMP 1 +#define HAVE_STRNICMP 1 +#define HAVE_STRDUP 1 +#define HAVE_STRSTR 1 +#define HAVE_MEMCHR 1 + +#define SIGHUP 1 +/* 2 is used for SIGINT on windows */ +#define SIGQUIT 3 +/* 4 is used for SIGILL on windows */ +#define SIGTRAP 5 +#define SIGIOT 6 +#define SIGBUS 7 +/* 8 is used for SIGFPE on windows */ +#define SIGKILL 9 +#define SIGUSR1 10 +/* 11 is used for SIGSEGV on windows */ +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +/* 15 is used for SIGTERM on windows */ +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +/* 21 is used for SIGBREAK on windows */ +/* 22 is used for SIGABRT on windows */ +#define SIGTTIN 23 +#define SIGTTOU 24 +#define SIGURG 25 +#define SIGXCPU 26 +#define SIGXFSZ 27 +#define SIGVTALRM 28 +#define SIGPROF 29 +#define SIGWINCH 30 +#define SIGIO 31 + +/* APR COMPATABILITY FUNCTIONS + * This section should be used to define functions and + * macros which are need to make Windows features look + * like POSIX features. + */ +typedef void (Sigfunc)(int); + +#define sleep(t) Sleep((t) * 1000) + +#define SIZEOF_SHORT 2 +#define SIZEOF_INT 4 +#define SIZEOF_LONGLONG 8 +#define SIZEOF_CHAR 1 +#define SIZEOF_SSIZE_T SIZEOF_INT + +unsigned __stdcall SignalHandling(void *); +int thread_ready(void); + +#if !APR_HAVE_ERRNO_H +APR_DECLARE_DATA int errno; +#define ENOSPC 1 +#endif + +#if APR_HAVE_IPV6 +#define HAVE_GETADDRINFO 1 +#define HAVE_GETNAMEINFO 1 +#endif + +/* + * Include common private declarations. + */ +#include "../apr_private_common.h" + +#endif /*APR_PRIVATE_H*/ +#endif /*WIN32*/ |