X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/0a49a7a4f1090b6f1ce1d0f9d969804c9226b53e..17c761988f30054827a9951761d93ffeeaad0cb7:/src/src/exim.h diff --git a/src/src/exim.h b/src/src/exim.h index 2c8a75c51..49f52474a 100644 --- a/src/src/exim.h +++ b/src/src/exim.h @@ -1,5 +1,3 @@ -/* $Cambridge: exim/src/src/exim.h,v 1.27 2009/11/16 19:50:36 nm4 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ @@ -50,6 +48,11 @@ making unique names. */ #define LOCALHOST_MAX 10 #endif +/* If not overriden by os.h, dynamic libraries have filenames ending .so */ +#ifndef DYNLIB_FN_EXT +# define DYNLIB_FN_EXT "so" +#endif + /* ANSI C standard includes */ #include @@ -74,6 +77,10 @@ making unique names. */ #include #endif +/* C99 integer types, figure out how to undo this if needed for older systems */ + +#include + /* Just in case some aged system doesn't define them... */ #ifndef INT_MAX @@ -350,6 +357,17 @@ to undefine it if resolv.h defines it. */ #undef __P #endif +/* If not defined by os.h, we do nothing special to push DNS resolver state +back to be available by the classic resolver routines. Also, provide +prototype for our get routine, unless defined away. */ + +#ifndef os_put_dns_resolver_res +# define os_put_dns_resolver_res(R) do {/**/} while(0) +#endif +#ifndef os_get_dns_resolver_res +res_state os_get_dns_resolver_res(void); +#endif + /* These three are to support the IP option logging code. Linux is different to everyone else and there are also other systems which don't have netinet/ip_var.h, so there's a general macro to control its inclusion. */ @@ -462,7 +480,7 @@ requires various things that are set therein. */ #include #endif -#if defined(USE_READLINE) || defined(EXPAND_DLFUNC) +#if defined(USE_READLINE) || defined(EXPAND_DLFUNC) || defined (LOOKUP_MODULE_DIR) #include #endif @@ -479,13 +497,15 @@ requires various things that are set therein. */ #endif /* Define a union to hold either an IPv4 or an IPv6 sockaddr structure; this -simplifies some of the coding. */ +simplifies some of the coding. We include the sockaddr to reduce type-punning +issues in C99. */ union sockaddr_46 { struct sockaddr_in v4; #if HAVE_IPV6 struct sockaddr_in6 v6; #endif + struct sockaddr v0; }; /* If SUPPORT_TLS is not defined, ensure that USE_GNUTLS is also not defined @@ -533,5 +553,4 @@ default to EDQUOT if it exists, otherwise ENOSPC. */ #endif #endif - /* End of exim.h */