update to pre-4.87 master
[exim.git] / src / OS / os.h-SunOS4
1 /* Exim: OS-specific C header file for SunOS4 */
2
3 #define LOAD_AVG_NEEDS_ROOT
4 #define HAVE_DEV_KMEM
5 #define LOAD_AVG_TYPE   long
6 #define LOAD_AVG_SYMBOL "_avenrun"
7 #define KERNEL_PATH     "/vmunix"
8
9 #define HAVE_MMAP
10 #define HAVE_SYS_VFS_H
11
12 #define F_FREESP     O_TRUNC
13 #define EXIT_FAILURE 1
14 #define EXIT_SUCCESS 0
15 typedef struct flock flock_t;
16
17 #define STRERROR_FROM_ERRLIST
18 #define memmove(a, b, c) bcopy(b, a, c)
19 #define strtoul(str, ptr, base) ((unsigned int)strtol((str),(ptr),(base)))
20
21 extern char *strerror(int);
22 extern int   sys_nerr;
23 extern char *sys_errlist[];
24
25 /* In ANSI C strtod() is defined in stdlib.h, but in SunOS4 it is defined in
26 floatingpoint.h which is called from math.h, which Exim doesn't include. */
27
28 extern double strtod(const char *, char **);
29
30 /* SunOS4 seems to define getc, ungetc, feof and ferror as macros only, not
31 as functions. We need to have them as assignable functions. Setting this
32 flag causes this to get done in exim.h. */
33
34 #define FUDGE_GETC_AND_FRIENDS
35
36 /* default is non-const */
37 #define ICONV_ARG2_TYPE const char **
38
39 /* End */