1 /* 2 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3 * Use is subject to license terms. 4 */ 5 6 #ifndef _SUNW_PORT_AFTER_H 7 #define _SUNW_PORT_AFTER_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /* 14 * rename setnetgrent and endnetgrent which were formerly in a separate irs 15 * shared library. These functions should come from libc.so 16 */ 17 #define setnetgrent res_setnetgrent 18 #ifdef SETNETGRENT_ARGS 19 void setnetgrent(SETNETGRENT_ARGS); 20 #else 21 void setnetgrent(const char *netgroup); 22 #endif 23 24 #define endnetgrent res_endnetgrent 25 void endnetgrent(void); 26 27 28 /* 29 * include ports for the public header files. ISC's versions are quite different 30 * from those currently in OpenSolaris. 31 */ 32 33 #ifdef _RESOLV_H_ 34 #include <port_resolv.h> 35 #endif /* _RESOLV_H_ */ 36 37 #ifdef _NETDB_H 38 #include <port_netdb.h> 39 #endif /* _NETDB_H */ 40 41 #ifdef _ARPA_INET_H 42 #include <arpa/port_inet.h> 43 #endif /* _ARPA_INET_H */ 44 45 #ifdef _ARPA_NAMESER_H 46 #include <arpa/port_nameser.h> 47 #endif /* _ARPA_NAMESER_H */ 48 49 50 #ifdef _ARPA_NAMESER_COMPAT_H 51 /* no changes */ 52 #endif /* _ARPA_NAMESER_COMPAT_H */ 53 54 /* version-specific defines */ 55 #include <os_version.h> 56 57 /* 58 * Prior to 2.6, Solaris needs a prototype for gethostname(). 59 */ 60 #if (OS_MAJOR == 5 && OS_MINOR < 6) 61 extern int gethostname(char *, size_t); 62 #endif 63 /* 64 * gethostid() was not available until 2.5 65 * setsockopt(SO_REUSEADDR) fails on unix domain sockets before 2.5 66 * use ioctl(FIONBIO) rather than fcntl() calls to set/clear non-blocking i/o. 67 */ 68 #if (OS_MAJOR == 5 && OS_MINOR < 5) 69 #define GET_HOST_ID_MISSING 70 #define NO_UNIX_REUSEADDR 71 #define USE_FIONBIO_IOCTL 72 #endif 73 74 #if (OS_MAJOR == 5 && OS_MINOR < 11) 75 #define NEED_STRSEP 76 extern char *strsep(char **, const char *); 77 #endif 78 79 80 /* 81 * Solaris 2.5 and later have getrlimit(), setrlimit() and getrusage(). 82 */ 83 #if (OS_MAJOR > 5 || (OS_MAJOR == 5 && OS_MINOR >= 5)) 84 #include <sys/resource.h> 85 #define HAVE_GETRUSAGE 86 #define RLIMIT_TYPE rlim_t 87 #define RLIMIT_FILE_INFINITY 88 #endif 89 90 /* the default syslog facility of named/lwresd. */ 91 #ifndef ISC_FACILITY 92 #define ISC_FACILITY LOG_DAEMON 93 #endif 94 95 96 /* 97 * Solaris 8 has if_nametoindex(). 98 */ 99 #if (OS_MAJOR > 5 || (OS_MAJOR == 5 && OS_MINOR >= 8)) 100 #define USE_IFNAMELINKID 101 #endif 102 103 #undef ALIGN 104 #if (OS_MAJOR == 5 && OS_MINOR > 8) 105 #define ALIGN(x) (((uintptr_t)(x) + (sizeof (char *) - 1UL)) & \ 106 ~(sizeof (char *) - 1UL)) 107 #else 108 #define ALIGN(x) (((unsigned long)(x) + (sizeof (char *) - 1UL)) & \ 109 ~(sizeof (char *) - 1UL)) 110 #endif 111 112 #if (OS_MAJOR == 5 && OS_MINOR < 5) 113 #ifndef USE_FIONBIO_IOCTL 114 #define USE_FIONBIO_IOCTL 1 115 #endif 116 #endif 117 118 119 #ifdef __cplusplus 120 } 121 #endif 122 123 #endif /* _SUNW_PORT_AFTER_H */ 124