1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/* 18 * Note: 19 * This is the netware-specific autoconf-like config file 20 * which unix creates at ./configure time. 21 */ 22 23#ifdef NETWARE 24 25#ifndef APR_PRIVATE_H 26#define APR_PRIVATE_H 27 28/* Pick up publicly advertised headers and symbols before the 29 * APR internal private headers and symbols 30 */ 31#include <apr.h> 32 33/* Pick up privately consumed headers */ 34#include <ndkvers.h> 35 36/* Include alloca.h to get compiler-dependent defines */ 37#include <alloca.h> 38 39#include <sys/types.h> 40#include <stddef.h> 41#include <stdio.h> 42#include <stdlib.h> 43#include <time.h> 44#include <library.h> 45#include <netware.h> 46 47/* Use this section to define all of the HAVE_FOO_H 48 * that are required to build properly. 49 */ 50#define HAVE_DLFCN_H 1 51#define HAVE_LIMITS_H 1 52#define HAVE_SIGNAL_H 1 53#define HAVE_STDDEF_H 1 54#define HAVE_STDLIB_H 1 55#ifndef USE_WINSOCK 56#define HAVE_SYS_SELECT_H 1 57#define HAVE_WRITEV 1 58#endif 59#define HAVE_SYS_STAT_H 1 60#define HAVE_SYS_MMAN_H 1 61#define HAVE_FCNTL_H 1 62#define HAVE_ICONV_H 1 63#define HAVE_UTIME_H 1 64 65#define HAVE_STRICMP 1 66#define HAVE_STRNICMP 1 67#define HAVE_STRDUP 1 68#define HAVE_STRSTR 1 69#define HAVE_MEMCHR 1 70#define HAVE_CALLOC 1 71#define HAVE_UTIME 1 72 73#define HAVE_GETENV 1 74#define HAVE_SETENV 1 75#define HAVE_UNSETENV 1 76 77#define HAVE_WRITEV 1 78 79#define HAVE_GETPASS_R 1 80/* 81 * Hack around older NDKs which have only the getpassword() function, 82 * a threadsafe, API-equivilant of getpass_r(). 83 */ 84#if (CURRENT_NDK_THRESHOLD < 709060000) 85#define getpass_r getpassword 86#endif 87 88/*#define DSO_USE_DLFCN */ 89 90#ifdef NW_BUILD_IPV6 91#define HAVE_GETADDRINFO 1 92#define HAVE_GETNAMEINFO 1 93#endif 94 95/* 1 is used for SIGABRT on netware */ 96/* 2 is used for SIGFPE on netware */ 97/* 3 is used for SIGILL on netware */ 98/* 4 is used for SIGINT on netware */ 99/* 5 is used for SIGSEGV on netware */ 100/* 6 is used for SIGTERM on netware */ 101/* 7 is used for SIGPOLL on netware */ 102 103#if (CURRENT_NDK_THRESHOLD < 306030000) 104#define SIGKILL 11 105#define SIGALRM 13 106#define SIGCHLD 14 107#define SIGCONT 15 108#define SIGHUP 16 109#define SIGPIPE 17 110#define SIGQUIT 18 111#define SIGSTOP 19 112#define SIGTSTP 20 113#define SIGTTIN 21 114#define SIGTTOU 22 115#define SIGUSR1 23 116#define SIGUSR2 24 117#endif 118 119#define SIGTRAP 25 120#define SIGIOT 26 121#define SIGSTKFLT 28 122#define SIGURG 29 123#define SIGXCPU 30 124#define SIGXFSZ 31 125#define SIGVTALRM 32 126#define SIGPROF 33 127#define SIGWINCH 34 128#define SIGIO 35 129 130#if (CURRENT_NDK_THRESHOLD < 406230000) 131#undef SA_NOCLDSTOP 132#define SA_NOCLDSTOP 0x00000001 133#endif 134#ifndef SIGBUS 135#define SIGBUS SIGSEGV 136#endif 137 138#define _getch getcharacter 139 140#define SIZEOF_SHORT 2 141#define SIZEOF_INT 4 142#define SIZEOF_LONGLONG 8 143#define SIZEOF_CHAR 1 144#define SIZEOF_SSIZE_T SIZEOF_INT 145 146void netware_pool_proc_cleanup(); 147 148/* NLM registration routines for managing which NLMs 149 are using the library. */ 150int register_NLM(void *NLMHandle); 151int unregister_NLM(void *NLMHandle); 152 153/* Application global data management */ 154extern int gLibId; 155extern void *gLibHandle; 156 157typedef struct app_data { 158 int initialized; 159 void* gPool; 160 void* gs_aHooksToSort; 161 void* gs_phOptionalHooks; 162 void* gs_phOptionalFunctions; 163 void* gs_nlmhandle; 164 rtag_t gs_startup_rtag; 165 rtag_t gs_socket_rtag; 166 rtag_t gs_lookup_rtag; 167 rtag_t gs_event_rtag; 168 rtag_t gs_pcp_rtag; 169 void* gs_ldap_xref_lock; 170 void* gs_xref_head; 171} APP_DATA; 172 173int setGlobalPool(void *data); 174void* getGlobalPool(); 175int setStatCache(void *data); 176void* getStatCache(); 177 178/* Redefine malloc to use the library malloc call so 179 that all of the memory resources will be owned 180 and can be shared by the library. */ 181#undef malloc 182#define malloc(x) library_malloc(gLibHandle,x) 183#ifndef __MWERKS__ 184#define _alloca alloca 185#endif 186 187/* 64-bit integer conversion function */ 188#define APR_INT64_STRFN strtoll 189 190#if APR_HAS_LARGE_FILES 191#define APR_OFF_T_STRFN strtoll 192#else 193#define APR_OFF_T_STRFN strtol 194#endif 195 196/* used to check DWORD overflow for 64bit compiles */ 197#define APR_DWORD_MAX 0xFFFFFFFFUL 198 199/* 200 * Include common private declarations. 201 */ 202#include "../apr_private_common.h" 203 204#endif /*APR_PRIVATE_H*/ 205#endif /*NETWARE*/ 206