db: avoid use of errno field name
[nvi.git] / dist / port.h.in
blob08342b09d900a8c8ec5874e66bf706e4bb2a8d7f
1 /* $Id: port.h.in,v 8.15 2001/01/01 20:26:48 skimo Exp $ (Berkeley) $Date: 2001/01/01 20:26:48 $ */
3 /*
4 * Declare the basic types, if they aren't already declared. Named and
5 * some system's db.h files protect them with __BIT_TYPES_DEFINED__.
6 */
7 #ifndef __BIT_TYPES_DEFINED__
8 #define __BIT_TYPES_DEFINED__
9 @u_int8_decl@
10 @int16_decl@
11 @u_int16_decl@
12 @int32_decl@
13 @u_int32_decl@
14 #endif
16 @u_char_decl@
17 @u_short_decl@
18 @u_int_decl@
19 @u_long_decl@
22 * XXX
23 * Handle function prototypes. This steps on name space that vi doesn't
24 * control, but all of the other solutions are worse.
26 #undef __P
27 #if defined(__STDC__) || defined(__cplusplus)
28 #define __P(protos) protos /* ANSI C prototypes */
29 #else
30 #define __P(protos) () /* K&R C preprocessor */
31 #endif
34 * XXX
35 * Some versions of System V changed the number of arguments to gettimeofday
36 * without changing the name.
38 #ifdef HAVE_BROKEN_GETTIMEOFDAY
39 #define gettimeofday(tv, tz) gettimeofday(tv)
40 #endif
42 /*
43 * XXX
44 * If we don't have mmap, we fake it with read and write, but we'll
45 * still need the header information.
47 #ifndef HAVE_SYS_MMAN_H
48 #define MAP_SHARED 1 /* share changes */
49 #define MAP_PRIVATE 2 /* changes are private */
50 #define PROT_READ 0x1 /* pages can be read */
51 #define PROT_WRITE 0x2 /* pages can be written */
52 #define PROT_EXEC 0x4 /* pages can be executed */
53 #endif
56 * XXX
57 * POSIX 1003.1 names for file descriptors.
59 #ifndef STDERR_FILENO
60 #define STDIN_FILENO 0 /* ANSI C #defines */
61 #define STDOUT_FILENO 1
62 #define STDERR_FILENO 2
63 #endif
66 * XXX
67 * POSIX 1003.1 names for seek settings.
69 #ifndef SEEK_END
70 #define SEEK_SET 0 /* POSIX 1003.1 seek values */
71 #define SEEK_CUR 1
72 #define SEEK_END 2
73 #endif
76 * Hack _POSIX_VDISABLE to \377 since Ultrix doesn't honor _POSIX_VDISABLE
77 * (treats it as ^@). The symptom is that the ^@ keystroke immediately
78 * drops core.
80 #ifdef HAVE_BROKEN_VDISABLE
81 #undef _POSIX_VDISABLE
82 #define _POSIX_VDISABLE ((unsigned char)'\377')
83 #endif
86 * XXX
87 * POSIX 1003.1 tty disabling character.
89 #ifndef _POSIX_VDISABLE
90 #define _POSIX_VDISABLE 0 /* Some systems used 0. */
91 #endif
94 * XXX
95 * 4.4BSD extension to only set the software termios bits.
97 #ifndef TCSASOFT /* 4.4BSD extension. */
98 #define TCSASOFT 0
99 #endif
102 * XXX
103 * POSIX 1003.1 maximum path length.
105 #ifndef MAXPATHLEN
106 #ifdef PATH_MAX
107 #define MAXPATHLEN PATH_MAX
108 #else
109 #define MAXPATHLEN 1024
110 #endif
111 #endif
114 * XXX
115 * MIN, MAX, historically in <sys/param.h>
117 #ifndef MAX
118 #define MAX(_a,_b) ((_a)<(_b)?(_b):(_a))
119 #endif
120 #ifndef MIN
121 #define MIN(_a,_b) ((_a)<(_b)?(_a):(_b))
122 #endif
125 * XXX
126 * "DB" isn't always portable, and we want the private information.
128 #define DB L__DB
129 #undef pgno_t /* IRIX has its own version. */
130 #define pgno_t L__db_pgno_t
133 * XXX
134 * 4.4BSD extension to provide lock values in the open(2) call.
136 #ifndef O_EXLOCK
137 #define O_EXLOCK 0
138 #endif
140 #ifndef O_SHLOCK
141 #define O_SHLOCK 0
142 #endif
145 * XXX
146 * POSIX 1003.1 bad file format errno.
148 #ifndef EFTYPE
149 #define EFTYPE EINVAL
150 #endif
153 * XXX
154 * POSIX 1003.2 RE length limit.
156 #ifndef _POSIX2_RE_DUP_MAX
157 #define _POSIX2_RE_DUP_MAX 255
158 #endif
161 * XXX
162 * 4.4BSD extension to determine if a program dropped core from the exit
163 * status.
165 #ifndef WCOREDUMP
166 #define WCOREDUMP(a) 0
167 #endif
170 * XXX
171 * Endian-ness of the machine.
173 #if !defined(LITTLE_ENDIAN)
174 #define LITTLE_ENDIAN 1234
175 #endif
176 #if !defined(BIG_ENDIAN)
177 #define BIG_ENDIAN 4321
178 #endif
179 #if !defined(BYTE_ORDER)
180 #if WORDS_BIGENDIAN == 1
181 #define BYTE_ORDER BIG_ENDIAN
182 #else
183 #define BYTE_ORDER LITTLE_ENDIAN
184 #endif
185 #endif
187 #ifndef HAVE_MEMCPY
188 #define memcpy memmove
189 #endif
191 #ifdef NEED_FPRINTF_PROTO
192 extern int fprintf( FILE *, const char *, ... );
193 #endif
195 #ifdef HAVE_PTHREAD
196 #define VI_DB_THREAD DB_THREAD
197 #else
198 #define VI_DB_THREAD 0
199 #endif