/* * Copyright (C) 2005-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: port_before.h.in,v 1.27.128.3 2008/02/28 05:46:12 marka Exp $ */ #ifndef port_before_h #define port_before_h #include #ifdef NEED_SUN4PROTOS #define _PARAMS(x) x #endif struct group; /* silence warning */ struct passwd; /* silence warning */ struct timeval; /* silence warning */ struct timezone; /* silence warning */ #ifdef HAVE_SYS_TIMERS_H #include #endif #include #ifdef ISC_PLATFORM_NEEDTIMESPEC #include /* For time_t */ struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ }; #endif #ifndef HAVE_MEMMOVE #define memmove(a,b,c) bcopy(b,a,c) #endif @WANT_IRS_GR@ @WANT_IRS_NIS@ @WANT_IRS_PW@ @BSD_COMP@ @USE_POLL@ @HAVE_MD5@ @SOLARIS2@ @DO_PTHREADS@ @GETGROUPLIST_ARGS@ @GETNETBYADDR_ADDR_T@ @SETPWENT_VOID@ @SETGRENT_VOID@ @NET_R_ARGS@ @NET_R_BAD@ @NET_R_COPY@ @NET_R_COPY_ARGS@ @NET_R_END_RESULT@ @NET_R_END_RETURN@ @NET_R_ENT_ARGS@ @NET_R_OK@ @NET_R_RETURN@ @NET_R_SET_RESULT@ @NET_R_SETANSWER@ @NET_R_SET_RETURN@ @NETENT_DATA@ @GROUP_R_RETURN@ @GROUP_R_SET_RETURN@ @GROUP_R_SET_RESULT@ @GROUP_R_END_RETURN@ @GROUP_R_END_RESULT@ @GROUP_R_ARGS@ @GROUP_R_ENT_ARGS@ @GROUP_R_OK@ @GROUP_R_BAD@ @HOST_R_ARGS@ @HOST_R_BAD@ @HOST_R_COPY@ @HOST_R_COPY_ARGS@ @HOST_R_END_RESULT@ @HOST_R_END_RETURN@ @HOST_R_ENT_ARGS@ @HOST_R_ERRNO@ @HOST_R_OK@ @HOST_R_RETURN@ @HOST_R_SETANSWER@ @HOST_R_SET_RESULT@ @HOST_R_SET_RETURN@ @HOSTENT_DATA@ @NGR_R_ARGS@ @NGR_R_BAD@ @NGR_R_COPY@ @NGR_R_COPY_ARGS@ @NGR_R_CONST@ @NGR_R_END_RESULT@ @NGR_R_END_RETURN@ @NGR_R_END_ARGS@ @NGR_R_OK@ @NGR_R_RETURN@ @NGR_R_SET_CONST@ @NGR_R_SET_RESULT@ @NGR_R_SET_RETURN@ @NGR_R_SET_ARGS@ @NGR_R_PRIVATE@ #if !defined(NGR_R_SET_ARGS) && defined(NGR_R_END_ARGS) #define NGR_R_SET_ARGS NGR_R_END_ARGS #endif @PROTO_R_ARGS@ @PROTO_R_BAD@ @PROTO_R_COPY@ @PROTO_R_COPY_ARGS@ @PROTO_R_END_RESULT@ @PROTO_R_END_RETURN@ @PROTO_R_ENT_ARGS@ @PROTO_R_ENT_UNUSED@ @PROTO_R_OK@ @PROTO_R_SETANSWER@ @PROTO_R_RETURN@ @PROTO_R_SET_RESULT@ @PROTO_R_SET_RETURN@ @PROTOENT_DATA@ @PASS_R_ARGS@ @PASS_R_BAD@ @PASS_R_COPY@ @PASS_R_COPY_ARGS@ @PASS_R_END_RESULT@ @PASS_R_END_RETURN@ @PASS_R_ENT_ARGS@ @PASS_R_OK@ @PASS_R_RETURN@ @PASS_R_SET_RESULT@ @PASS_R_SET_RETURN@ @SERV_R_ARGS@ @SERV_R_BAD@ @SERV_R_COPY@ @SERV_R_COPY_ARGS@ @SERV_R_END_RESULT@ @SERV_R_END_RETURN@ @SERV_R_ENT_ARGS@ @SERV_R_ENT_UNUSED@ @SERV_R_OK@ @SERV_R_SETANSWER@ @SERV_R_RETURN@ @SERV_R_SET_RESULT@ @SERV_R_SET_RETURN@ @SERVENT_DATA@ #define DE_CONST(konst, var) \ do { \ union { const void *k; void *v; } _u; \ _u.k = konst; \ var = _u.v; \ } while (0) #define UNUSED(x) (x) = (x) @SOLARIS_BITTYPES@ @ISC_SOCKLEN_T@ #ifdef __GNUC__ #define ISC_FORMAT_PRINTF(fmt, args) \ __attribute__((__format__(__printf__, fmt, args))) #else #define ISC_FORMAT_PRINTF(fmt, args) #endif /* Pull in host order macros when _XOPEN_SOURCE_EXTENDED is defined. */ #if defined(__hpux) && defined(_XOPEN_SOURCE_EXTENDED) #include #endif #endif /*! \file */