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