1 /* Copyright (C) 2000 MySQL AB
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; version 2 of the License.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
16 /* Header for NetWare compatible with MySQL */
18 #ifndef _config_netware_h
19 #define _config_netware_h
21 /* required headers */
31 #include <sys/types.h>
41 /* required adjustments */
43 #undef HAVE_RWLOCK_INIT
45 #undef HAVE_SYS_MMAN_H
50 #define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
51 #define HAVE_PTHREAD_SIGMASK 1
52 #define HAVE_PTHREAD_YIELD_ZERO_ARG 1
53 #define HAVE_BROKEN_REALPATH 1
55 /* changes made to make use of LibC-June-2004 for building purpose */
56 #undef HAVE_POSIX_SIGNALS
57 #undef HAVE_PTHREAD_ATTR_SETSCOPE
62 #undef HAVE_PTHREAD_SETSCHEDPARAM
67 /* no libc crypt() function */
72 #endif /* HAVE_OPENSSL */
74 /* Netware has an ancient zlib */
77 #undef HAVE_ARCHIVE_DB
79 /* include the old function apis */
80 #define USE_OLD_FUNCTIONS 1
82 /* no case sensitivity */
83 #define FN_NO_CASE_SENCE 1
85 /* the thread alarm is not used */
86 #define DONT_USE_THR_ALARM 1
88 /* signals do not interrupt sockets */
89 #define SIGNALS_DONT_BREAK_READ 1
91 /* signal by closing the sockets */
92 #define SIGNAL_WITH_VIO_CLOSE 1
94 /* On NetWare, stack grows towards lower address*/
95 #define STACK_DIRECTION -1
97 /* On NetWare, we need to set stack size for threads, otherwise default 16K is used */
98 #define NW_THD_STACKSIZE 65536
100 /* On NetWare, to fix the problem with the deletion of open files */
101 #define CANT_DELETE_OPEN_FILES 1
103 #define FN_LIBCHAR '\\'
104 #define FN_ROOTDIR "\\"
105 #define FN_DEVCHAR ':'
107 /* default directory information */
108 #define DEFAULT_MYSQL_HOME "sys:/mysql"
109 #define PACKAGE "mysql"
110 #define DEFAULT_BASEDIR "sys:/"
111 #define SHAREDIR "share/"
112 #define DEFAULT_CHARSET_HOME "sys:/mysql/"
113 #define DATADIR "data/"
115 /* 64-bit file system calls */
116 #define SIZEOF_OFF_T 8
117 #define off_t off64_t
118 #define chsize chsize64
119 #define ftruncate ftruncate64
120 #define lseek lseek64
121 #define pread pread64
122 #define pwrite pwrite64
125 /* do not use the extended time in LibC sys\stat.h */
126 #define _POSIX_SOURCE
128 /* Some macros for portability */
130 #define set_timespec(ABSTIME,SEC) { (ABSTIME).tv_sec=time(NULL)+(SEC); (ABSTIME).tv_nsec=0; }
132 /* extra protection against CPU Hogs on NetWare */
133 #define NETWARE_YIELD pthread_yield()
134 /* Screen mode for help texts */
135 #define NETWARE_SET_SCREEN_MODE(A) setscreenmode(A)
141 #endif /* _config_netware_h */