Add support for setclassresources() in the pipe transport on FreeBSD,
[exim.git] / src / OS / os.h-Linux
CommitLineData
6e2b4ccc 1/* $Cambridge: exim/src/OS/os.h-Linux,v 1.3 2005/02/17 10:04:41 ph10 Exp $ */
61ec970d
PH
2
3/* Exim: OS-specific C header file for Linux */
4
5#define CRYPT_H
6#define GLIBC_IP_OPTIONS
7#define HAVE_MMAP
6e2b4ccc 8#define HAVE_BSD_GETLOADAVG
26034054 9#define HAVE_SYS_STATVFS_H
61ec970d 10#define NO_IP_VAR_H
61ec970d
PH
11#define SIG_IGN_WORKS
12
6e2b4ccc
PH
13#define F_FREESP O_TRUNC
14typedef struct flock flock_t;
15
16#define os_strsignal strsignal
17#define OS_STRSIGNAL
18
19#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__NetBSD_kernel__)
20#define SIOCGIFCONF_GIVES_ADDR
21#define HAVE_SYS_MOUNT_H
22#endif
23
24#if defined(__linux__)
25
61ec970d
PH
26/* Some versions of Linux need explicit sync-ing of directories as well as
27files. This setting requests that. If the directory is on NFS, it may not
28be possible to sync it - in that case, Exim now should ignore the error. But
29if you have problems in that area, try undefining this. But be aware that you
30may be in a situation where files are not being properly "committed to stable
31storage" as quickly as Exim thinks they are. */
32
33#define NEED_SYNC_DIRECTORY
34
35/* Other OS have "const" in here */
36#define ICONV_ARG2_TYPE char **
37
61ec970d
PH
38#define os_find_running_interfaces os_find_running_interfaces_linux
39
40/* Need a prototype for the Linux-specific function. The structure hasn't
41been defined yet, so we need to pre-declare it. */
42
43struct ip_address_item;
44extern struct ip_address_item *os_find_running_interfaces_linux(void);
45
6e2b4ccc
PH
46#endif /* __linux__ */
47
61ec970d 48/* End */