9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Use is subject to license terms.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifndef _SUNW_PORT_AFTER_H
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define _SUNW_PORT_AFTER_H
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef __cplusplus
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibextern "C" {
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * rename setnetgrent and endnetgrent which were formerly in a separate irs
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * shared library. These functions should come from libc.so
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define setnetgrent res_setnetgrent
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef SETNETGRENT_ARGS
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibvoid setnetgrent(SETNETGRENT_ARGS);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#else
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibvoid setnetgrent(const char *netgroup);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define endnetgrent res_endnetgrent
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibvoid endnetgrent(void);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * include ports for the public header files. ISC's versions are quite different
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * from those currently in OpenSolaris.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef _RESOLV_H_
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <port_resolv.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif /* _RESOLV_H_ */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef _NETDB_H
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <port_netdb.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif /* _NETDB_H */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef _ARPA_INET_H
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <arpa/port_inet.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif /* _ARPA_INET_H */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef _ARPA_NAMESER_H
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <arpa/port_nameser.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif /* _ARPA_NAMESER_H */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef _ARPA_NAMESER_COMPAT_H
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* no changes */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif /* _ARPA_NAMESER_COMPAT_H */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* version-specific defines */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <os_version.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Prior to 2.6, Solaris needs a prototype for gethostname().
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#if (OS_MAJOR == 5 && OS_MINOR < 6)
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibextern int gethostname(char *, size_t);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * gethostid() was not available until 2.5
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * setsockopt(SO_REUSEADDR) fails on unix domain sockets before 2.5
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * use ioctl(FIONBIO) rather than fcntl() calls to set/clear non-blocking i/o.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#if (OS_MAJOR == 5 && OS_MINOR < 5)
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define GET_HOST_ID_MISSING
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define NO_UNIX_REUSEADDR
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define USE_FIONBIO_IOCTL
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#if (OS_MAJOR == 5 && OS_MINOR < 11)
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define NEED_STRSEP
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibextern char *strsep(char **, const char *);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Solaris 2.5 and later have getrlimit(), setrlimit() and getrusage().
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#if (OS_MAJOR > 5 || (OS_MAJOR == 5 && OS_MINOR >= 5))
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <sys/resource.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define HAVE_GETRUSAGE
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define RLIMIT_TYPE rlim_t
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define RLIMIT_FILE_INFINITY
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* the default syslog facility of named/lwresd. */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifndef ISC_FACILITY
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define ISC_FACILITY LOG_DAEMON
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Solaris 8 has if_nametoindex().
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#if (OS_MAJOR > 5 || (OS_MAJOR == 5 && OS_MINOR >= 8))
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define USE_IFNAMELINKID
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#undef ALIGN
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#if (OS_MAJOR == 5 && OS_MINOR > 8)
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define ALIGN(x) (((uintptr_t)(x) + (sizeof (char *) - 1UL)) & \
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib ~(sizeof (char *) - 1UL))
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#else
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define ALIGN(x) (((unsigned long)(x) + (sizeof (char *) - 1UL)) & \
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib ~(sizeof (char *) - 1UL))
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#if (OS_MAJOR == 5 && OS_MINOR < 5)
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifndef USE_FIONBIO_IOCTL
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#define USE_FIONBIO_IOCTL 1
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifdef __cplusplus
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib}
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif /* _SUNW_PORT_AFTER_H */