JSON: support loadable-module build
[exim.git] / src / OS / os.h-SunOS5
1 /* Exim: OS-specific C header file for SunOS5 aka Solaris */
2 /* Copyright (c) The Exim Maintainers 2021 */
3 /* SPDX-License-Identifier: GPL-2.0-or-later */
4
5 #define CRYPT_H
6 #define HAVE_MMAP
7 #define HAVE_SYS_STATVFS_H
8 #define F_FAVAIL                f_favail
9 #define SIOCGIFCONF_GIVES_ADDR
10
11 #define HAVE_GETIPNODEBYNAME    1
12 #define HAVE_GETIPNODEBYADDR    1
13 #define EXIM_HAVE_OPENAT
14 #define EXIM_HAVE_FUTIMENS
15
16 #define HAVE_KSTAT
17 #define LOAD_AVG_KSTAT         "system_misc"
18 #define LOAD_AVG_KSTAT_MODULE  "unix"
19 #define LOAD_AVG_SYMBOL        "avenrun_1min"
20 #define LOAD_AVG_FIELD          value.ui32
21
22 #define os_strsignal            strsignal
23 #define OS_STRSIGNAL
24
25 /* This is needed for some early Solaris releases, but causes trouble
26 in the current ones, so it is out by default. */
27
28 /* #define EXIM_SOCKLEN_T       size_t */
29
30 /* This is different from Linux and all other PAM implementations,
31 it seems. */
32
33 #define PAM_CONVERSE_ARG2_TYPE  struct pam_message
34
35
36 /* default is non-const */
37 #define ICONV_ARG2_TYPE const char **
38
39 #if _POSIX_C_SOURCE < 200112L
40 # define MISSING_UNSETENV_3
41 #endif
42
43 #if _POSIX_C_SOURCE < 200809L
44 # define MISSING_POSIX_MEMALIGN
45 #endif
46
47
48 /* SunOS5 doesn't accept getcwd(NULL, 0) to auto-allocate
49 a buffer */
50
51 #define OS_GETCWD
52
53
54 #ifndef MIN
55 # define MIN(a,b) (((a)<(b))?(a):(b))
56 # define MAX(a,b) (((a)>(b))?(a):(b))
57 #endif
58
59 /* End */