4e6e9a91c9e86db3ece888d0ca13b897ffc91de3
[users/heiko/exim.git] / src / src / osfunctions.h
1 /*************************************************
2 *     Exim - an Internet mail transport agent    *
3 *************************************************/
4
5 /* Copyright (c) University of Cambridge 1995 - 2016 */
6 /* See the file NOTICE for conditions of use and distribution. */
7
8 /* Prototypes for os-specific functions. For utilities, we don't need the one
9 that uses a type that isn't defined for them. */
10
11 #ifndef COMPILE_UTILITY
12 extern ip_address_item *os_common_find_running_interfaces(void);
13 #endif
14
15 /* If these exist as a macro, then they're overridden away from us and we
16 rely upon the system headers to provide prototype declarations for us.
17 Notably, strsignal() is not in the Single Unix Specification (v3) and
18 predicting constness is awkward. */
19
20 #ifndef os_getloadavg
21 extern int           os_getloadavg(void);
22 #endif
23 #ifndef os_restarting_signal
24 extern void          os_restarting_signal(int, void (*)(int));
25 #endif
26 #ifndef os_non_restarting_signal
27 extern void          os_non_restarting_signal(int, void (*)(int));
28 #endif
29 #ifndef os_strexit
30 extern const char   *os_strexit(int);     /* char to match os_strsignal */
31 #endif
32 #ifndef os_strsignal
33 extern const char   *os_strsignal(int);   /* char to match strsignal in some OS */
34 #endif
35 #ifndef os_unsetenv
36 extern int           os_unsetenv(const uschar *);
37 #endif
38 #ifndef os_getcwd
39 extern uschar       *os_getcwd(uschar *, size_t);
40 #endif
41
42 /* End of osfunctions.h */