You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by bn...@apache.org on 2001/08/02 22:52:53 UTC
cvs commit: apr/include/arch/netware pre_nw.h apr_private.h apr.h
bnicholes 01/08/02 13:52:53
Added: include/arch/netware pre_nw.h apr_private.h apr.h
Log:
Adding NetWare specific headers
Revision Changes Path
1.1 apr/include/arch/netware/pre_nw.h
Index: pre_nw.h
===================================================================
#ifndef __pre_nw__
#define __pre_nw__
#pragma precompile_target "precomp.mch"
#define NETWARE
#define N_PLAT_NLM
/* hint for MSL C++ that we're on NetWare platform */
#define __NETWARE__
/* the FAR keyword has no meaning in a 32-bit environment
but is used in the SDK headers so we take it out */
#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 */
#if (__option(cplusplus) && __option(wchar_type))
#define _WCHAR_T
#endif
/* C9X defintion used by MSL C++ library */
#define DECIMAL_DIG 17
/* define long long typedefs for Watcom compatiblity */
typedef long long int64_t;
typedef unsigned long long uint64_t;
/* some code may want to use the MS convention for long long */
#ifndef __int64
#define __int64 long long
#endif
#endif
1.1 apr/include/arch/netware/apr_private.h
Index: apr_private.h
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
/*
* 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 <time.h>
//#include "memcheck.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_MALLOC_H 1
#define HAVE_SIGNAL_H 1
/* #define HAVE_STDDEF_H 1 why not? */
#define HAVE_STDLIB_H 1
#define HAVE_SYS_STAT_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 ALLOC_USE_MALLOC
#define DSO_USE_DLFCN
#if 0
#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
#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 * 1000)
#define Sleep(t) delay(t)
#define lstat(a,b) stat(a,b)
#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);
/* Macros to deal with using either a pool or an sms
* to do memory stuff...
*/
#define APR_CLEANUP_REGISTER(struct, data, func, scope) \
if (struct->pool) { \
apr_pool_cleanup_register(struct->pool, data, func, scope); \
} else { \
apr_sms_cleanup_register(struct->mem_sys, APR_CHILD_CLEANUP, \
data, func); \
}
#define APR_CLEANUP_REMOVE(struct, data, func) \
if (struct->pool) { \
apr_pool_cleanup_kill(struct->pool, data, func); \
} else { \
apr_sms_cleanup_unregister(struct->mem_sys, APR_CHILD_CLEANUP, \
data, func); \
}
#define APR_MEM_PSTRDUP(struct, ptr, str) \
if (struct->pool) { \
ptr = apr_pstrdup(struct->pool, str); \
} else { \
size_t len = strlen(str) + 1; \
ptr = (char*) apr_sms_calloc(struct->mem_sys, len); \
memcpy(ptr, str, len); \
}
#define APR_MEM_MALLOC(ptr, struct, type) \
if (struct->pool) { \
ptr = (type *)apr_palloc(struct->pool, sizeof(type)); \
} else { \
ptr = (type *)apr_sms_malloc(struct->mem_sys, sizeof(type)); \
}
#define APR_MEM_CALLOC(ptr, struct, type) \
if (struct->pool) { \
ptr = (type *)apr_pcalloc(struct->pool, sizeof(type)); \
} else { \
ptr = (type *)apr_sms_calloc(struct->mem_sys, sizeof(type)); \
}
#endif /*APR_PRIVATE_H*/
#endif /*NETWARE*/
1.1 apr/include/arch/netware/apr.h
Index: apr.h
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
/*
* Note: This is a NetWare specific version of apr.h. It is renamed to
* apr.h at the start of a Windows build.
*/
#ifdef NETWARE
#ifndef APR_H
#define APR_H
#include <sys/types.h>
#include <stddef.h>
#include <stdio.h>
#include <time.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <nks/thread.h>
#include <nks/synch.h>
#include <nks/time.h>
//#include <process.h>
#include <signal.h>
#include <WS2NLM.h>
#define _POSIX_THREAD_SAFE_FUNCTIONS 1
#define READDIR_IS_THREAD_SAFE 1
#define APR_INLINE __inline
#define APR_HAS_INLINE 1
#define __attribute__(__x)
#define ENUM_BITFIELD(e,n,w) signed int n : w
#define APR_HAVE_ARPA_INET_H 0
#define APR_HAVE_CONIO_H 0
#define APR_HAVE_CRYPT_H 0
#define APR_HAVE_CTYPE_H 1
#define APR_HAVE_DIRENT_H 1
#define APR_HAVE_ERRNO_H 1
#define APR_HAVE_FCNTL_H 1
#define APR_HAVE_IO_H 0
#define APR_HAVE_LIMITS_H 1
#define APR_HAVE_NETDB_H 0
#define APR_HAVE_NETINET_IN_H 0
#define APR_HAVE_PTHREAD_H 0
#define APR_HAVE_SIGNAL_H 1
#define APR_HAVE_STDARG_H 1
#define APR_HAVE_STDIO_H 1
#define APR_HAVE_STDLIB_H 1
#define APR_HAVE_STRING_H 1
#define APR_HAVE_STRINGS_H 0
#define APR_HAVE_SYS_SIGNAL_H 0
#define APR_HAVE_SYS_SOCKET_H 0
#define APR_HAVE_SYS_SYSLIMITS_H 0
#define APR_HAVE_SYS_TYPES_H 1
#define APR_HAVE_SYS_UIO_H 1
#define APR_HAVE_SYS_WAIT_H 0
#define APR_HAVE_UNISTD_H 1
#define APR_USE_FLOCK_SERIALIZE 0
#define APR_USE_SYSVSEM_SERIALIZE 0
#define APR_USE_FCNTL_SERIALIZE 0
#define APR_USE_PROC_PTHREAD_SERIALIZE 0
#define APR_USE_PTHREAD_SERIALIZE 0
#define APR_PROCESS_LOCK_IS_GLOBAL 0
#define APR_USES_ANONYMOUS_SHM 0
#define APR_USES_FILEBASED_SHM 0
#define APR_USES_KEYBASED_SHM 0
#define APR_FILE_BASED_SHM 0
#define APR_MEM_BASED_SHM 0
#define APR_HAVE_CORKABLE_TCP 0
#define APR_HAVE_GETRLIMIT 0
#define APR_HAVE_IN_ADDR 1
#define APR_HAVE_INET_ADDR 1
#define APR_HAVE_INET_NETWORK 0
#define APR_HAVE_IPV6 0
#define APR_HAVE_MEMCHR 1
#define APR_HAVE_MEMMOVE 1
#define APR_HAVE_SETRLIMIT 0
#define APR_HAVE_SIGACTION 0
#define APR_HAVE_STRCASECMP 1
#define APR_HAVE_STRDUP 1
#define APR_HAVE_STRICMP 1
#define APR_HAVE_STRNCASECMP 0
#define APR_HAVE_STRNICMP 1
#define APR_HAVE_STRSTR 1
#define APR_HAVE_STRUCT_RLIMIT 0
#define APR_HAVE_UNION_SEMUN 0
#if APR_HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
/* APR Feature Macros */
#define APR_HAS_SHARED_MEMORY 0
#define APR_HAS_THREADS 1
#define APR_HAS_SENDFILE 0
#define APR_HAS_MMAP 0
#define APR_HAS_FORK 0
#define APR_HAS_RANDOM 1
#define APR_HAS_XLATE 0
#define APR_HAS_OTHER_CHILD 0
#define APR_HAS_DSO 1
#define APR_HAS_UNICODE_FS 1
#define APR_HAS_USER 1
#define APR_HAS_LARGE_FILES 1
/* Not all platforms have a real INADDR_NONE. This macro replaces INADDR_NONE
* on all platforms.
*/
#define APR_INADDR_NONE INADDR_NONE
/* This macro indicates whether or not EBCDIC is the native character set.
*/
#define APR_CHARSET_EBCDIC 0
/* Typedefs that APR needs. */
typedef unsigned char apr_byte_t;
typedef short apr_int16_t;
typedef unsigned short apr_uint16_t;
typedef int apr_int32_t;
typedef unsigned int apr_uint32_t;
typedef INT64 apr_int64_t;
typedef unsigned INT64 apr_uint64_t;
typedef size_t apr_size_t;
typedef ssize_t apr_ssize_t;
typedef off_t apr_off_t;
typedef int apr_socklen_t;
//typedef int pid_t;
//typedef int uid_t;
//typedef int gid_t;
/* Mechanisms to properly type numeric literals */
#define APR_INT64_C(val) (val##i64)
//srj added in here, libc c no longer takes care of these
typedef unsigned char nuint8;
typedef unsigned short nuint16;
#define NGetLo8(a16) ((nuint8)((nuint16)(a16) & 0xFF))
#define NGetHi8(a16) ((nuint8)((nuint16)(a16) >> 8))
#if !defined( HIBYTE )
#define HIBYTE NGetHi8
#endif
#if !defined( LOBYTE )
#define LOBYTE NGetLo8
#endif
/* Definitions that APR programs need to work properly. */
#define APR_THREAD_FUNC __stdcall
/**
* APR_DECLARE_EXPORT is defined when building the APR dynamic library,
* so that all public symbols are exported.
*
* APR_DECLARE_STATIC is defined when including the APR public headers,
* to provide static linkage when the dynamic library may be unavailable.
*
* APR_DECLARE_STATIC and APR_DECLARE_EXPORT are left undefined when
* including the APR public headers, to import and link the symbols from the
* dynamic APR library and assure appropriate indirection and calling
* conventions at compile time.
*/
#if !defined(WIN32)
/**
* The public APR functions are declared with APR_DECLARE(), so they may
* use the most appropriate calling convention. Public APR functions with
* variable arguments must use APR_DECLARE_NONSTD().
*
* @deffunc APR_DECLARE(rettype) apr_func(args);
*/
#define APR_DECLARE(type) type
/**
* The public APR functions using variable arguments are declared with
* AP_DECLARE(), as they must use the C language calling convention.
*
* @deffunc APR_DECLARE_NONSTD(rettype) apr_func(args, ...);
*/
#define APR_DECLARE_NONSTD(type) type
/**
* The public APR variables are declared with AP_MODULE_DECLARE_DATA.
* This assures the appropriate indirection is invoked at compile time.
*
* @deffunc APR_DECLARE_DATA type apr_variable;
* @tip extern APR_DECLARE_DATA type apr_variable; syntax is required for
* declarations within headers to properly import the variable.
*/
#define APR_DECLARE_DATA
#elif defined(APR_DECLARE_STATIC)
#define APR_DECLARE(type) type __stdcall
#define APR_DECLARE_NONSTD(type) type
#define APR_DECLARE_DATA
#elif defined(APR_DECLARE_EXPORT)
#define APR_DECLARE(type) __declspec(dllexport) type __stdcall
#define APR_DECLARE_NONSTD(type) __declspec(dllexport) type
#define APR_DECLARE_DATA __declspec(dllexport)
#else
#define APR_DECLARE(type) __declspec(dllimport) type __stdcall
#define APR_DECLARE_NONSTD(type) __declspec(dllimport) type
#define APR_DECLARE_DATA __declspec(dllimport)
#endif
#define APR_SSIZE_T_FMT "d"
#define APR_SIZE_T_FMT "d"
#define APR_OFF_T_FMT "ld"
#define APR_OS_PROC_T_FMT "d"
/* Local machine definition for console and log output. */
#define APR_EOL_STR "\r\n"
typedef int apr_wait_t;
/* struct iovec is needed to emulate Unix writev */
//struct iovec {
// char* iov_base;
// int iov_len;
//};
/* Nasty Win32 .h ommissions we really need */
#define STDIN_FILENO 0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2
#if APR_HAS_UNICODE_FS
/* An arbitrary size that is digestable. True max is a bit less than 32000 */
#define APR_PATH_MAX 8192
#else /* !APR_HAS_UNICODE_FS */
#define APR_PATH_MAX MAX_PATH
#endif
///* These need to move into apr_compat.h when the symbol rename is complete
// */
//#define APR_EXPORT(t) APR_DECLARE(t)
//#define APR_EXPORT_NONSTD(t) APR_DECLARE_NONSTD(t)
//#define APR_VAR_EXPORT APR_DECLARE_DATA
//#define APR_VAR_IMPORT APR_DECLARE_DATA
#define APR_INT64_T_FMT "l64d"
#define APR_TIME_T_FMT APR_INT64_T_FMT
//#define apr_signal(a,b) signal(a,b)
//
//typedef int apr_wait_t;
#endif /* APR_H */
#endif /* NETWARE */