⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 port_after.h

📁 被广泛使用的域名服务(DNS)软件
💻 H
字号:
/* (ISC = INTERACTIVE Systems Corporation in the next #ifdef, btw.) */#ifdef ISC# ifndef _POSIX_SOURCE#  define _POSIX_SOURCE# endif# define SYSV# define SVR3# define _SYSV3# define NEED_STRTOUL# define NEED_FTRUNCATE# define USE_POSIX# include <sys/bsdtypes.h># include <sys/sioctl.h># include <sys/stream.h># include <net/errno.h>#endif#if defined(__convex__)# if !defined(_POSIX_SOURCE)#  define _POSIX_SOURCE# endif# define USE_UTIME# define NEED_PUTENV#endif#if defined(_CRAY)# if !defined(_POSIX_SOURCE)#  define _POSIX_SOURCE# endif# define writev(a,b,c) __writev(a,b,c)# define setitimer(a,b,c) __setitimer(a,b,c)#endif/* This is for AIX 4.1.x */#ifdef _AIX41# include <sys/select.h># include <sys/time.h># include <time.h># define vfork fork#endif/* This is defined in the Makefile for INTERACTIVE compiles. */#if defined(ISC)# define ftruncate(a,b) __ftruncate(a,b)# define USE_MEMCPY# define USE_UTIME# define HAVE_FCHMOD#endif/* SCO UNIX defines only this unique symbol, apparently. */#if defined(M_UNIX)# define POSIX_SIGNALS# if !defined(_SCO_DS)/* This section is for 3.2v4.2/ODT3.0 and maybe also for 3.2v4.1/3.2v4.0 *//* XXX - why is this POSIX_SOURCE instead of _POSIX_SOURCE? */#  undef POSIX_SOURCE#  define HAVE_FCHMOD#  define NEED_WRITEV#  define writev(a,b,c) __writev(a,b,c)#  define ftruncate(a,b) __ftruncate(a,b)# endif#endif#ifdef NeXT# define NEED_PUTENV# define NEED_SETENV# define inet_addr(a) __inet_addr(a)#endif#if defined(__sgi)# define BSD 43# define vfork fork#endif#if defined(SUNOS4)# define BSD 43# define NEED_STRTOUL#endif#if defined(__osf__) && defined(__alpha) && defined(BSD) && (BSD < 199103)# undef BSD# define BSD 199103#endif#if defined(_AUX_SOURCE)# define vfork fork# define NEED_STRERROR# define NEED_STRTOUL# define SIG_FN void# define USE_MEMCPY#endif#if defined(apollo)# define HAVE_STDLIB_H#endif#if defined(SVR4) && !defined(SYSV)# define SYSV#endif#if defined(_POSIX_SOURCE) || defined(__sgi) || defined(__ultrix) || \	defined(__hpux) || (defined(BSD) && (BSD >= 199103)) || defined(sun)# define USE_POSIX#endif#if defined(__ultrix) && !defined(BSD)# define BSD 42#endif#if defined(host_mips) && defined(SYSTYPE_BSD43)# define RISCOS_BSD#endif#if defined(SYSV) || defined(__ultrix) || defined(__osf__) \	|| (defined(BSD) && BSD >= 199306) || defined(linux)# define USE_UTIME# define HAVE_SETVBUF#endif#if defined(SYSV) && !defined(SVR4)# define vfork fork#endif#if defined(sun) || defined(SVR4)# define NETREAD_BROKEN#endif#if defined(sun) && !defined(SVR4)# define NEED_TIMESPEC#endif#if !defined(BSD) || (BSD <= 199006)# if !defined(NeXT)#  define NEED_INETADDR# endif# define NEED_INETATON#endif#if defined(__hpux)# if defined(__STDC__)#  define select(a,b,c,d,e) select(a, (int *)b, (int *)c, (int *)d, e)#  define ctime(x) ctime((const time_t *)x)# endif /*__STDC__*/# if !defined(SYSV)#  define USE_UTIME#  define setlinebuf(x) setvbuf(x, NULL, _IOLBF, BUFSIZ)#  if !defined(SIGWINCH)  /*pre 9.0*/#   define SIGWINCH SIGWINDOW#  endif# endif /*SYSV*//* XXX: better autodetection of the need for "struct linger" would be nice */# if 0struct	linger {	int	l_onoff;		/* option on/off */	int	l_linger;		/* linger time */};# endif#endif /*__hpux*/#if defined(_SEQUENT_)# include <netinet/in_systm.h># define USE_UTIME# define USE_POSIX# define NEED_GETTIMEOFDAY# define _TIMEZONE timezoneBSDstruct timezoneBSD {	int tz_minuteswest;	int tz_dsttime;};#endif#ifndef __P# if defined(__STDC__) || defined(__GNUC__)#  define __P(x) x# else#  define __P(x) ()# endif#endif#ifndef _TIMEZONE# define _TIMEZONE timezone#endif#if defined(USE_POSIX) || defined(HAVE_STDLIB_H)# include <stdlib.h># if defined(__ultrix)#  define NEED_STRDUP# endif#else# if !defined(_SCO_DS)#  define NEED_STRDUP#  define NEED_STRTOUL# endif# ifndef NeXTextern char *getenv __P((char *));# elseextern char *getenv __P((const char *));# endif# if !defined(DMALLOC) && !defined(NeXT)extern char *malloc(), *realloc(), *calloc();extern void free();# endif#endif /*HAVE_STDLIB_H*/#if defined(USE_POSIX)# include <unistd.h># include <limits.h>#else# define STDIN_FILENO	0# define STDOUT_FILENO	1# define STDERR_FILENO	2extern int errno;extern int getdtablesize __P((void));# ifdef SHORT_FNAMESextern long pathconf __P((const char *path, int name));# endifextern char *optarg;extern int optind;int getopt(int argc, char * const *argv, const char *optstring);#endif /*USE_POSIX*/#ifndef UINT_MAX# ifdef __STDC__#  define UINT_MAX	4294967295u	/* max value of an "u_int" */# else#  define UINT_MAX	((unsigned)4294967295)  /* max value of an "u_int" */# endif#  define ULONG_MAX	UINT_MAX	/* max decimal value of a "u_long" */#endif#ifndef INT_MAX# define INT_MAX	2147483647	/* max decimal value of an "int" */#endif#ifndef RAND_MAX# define RAND_MAX	0x7fffffff#endif#ifndef	IN_LOOPBACKNET# define IN_LOOPBACKNET	127#endif#ifndef	INADDR_NONE# define INADDR_NONE	0xffffffff#endif#if defined(apollo)		/* Defined in /usr/include/netinet/in.h but doesn't work */#undef IP_OPTIONS#endif#if !defined(__STDC__) && !defined(const)# define const /*constant*/#endif#if !defined(__convex__) && (!defined(BSD) || (BSD < 199103))int	strcasecmp __P((const char *, const char *));#endif/* is USE_POSIX the right thing to use here? */#if (!defined(BSD) || (BSD <= 43)) && \	!defined(NeXT) && \	!defined(__convex__) && \	!defined(USE_POSIX)# if !defined(NCR)void	syslog();# endifchar	*ctime __P((const time_t *clock));# if !defined(M_UNIX)int	close(), setitimer(), recv(), sendto(), sigsetmask(),	atoi(), getpid(), fork(), read(), ioctl(),	setsockopt(), socket(), bind();# endif#endif#if !defined(bcopy)	/* some machines have their own macros for this */# if (defined(USE_POSIX) && !defined(SUNOS4)) || \	 (defined(__STDC__) && !defined(sun) && !defined(sequent) \	  && !defined(M_UNIX))/* use ANSI C3.159-1989 (``ANSI C'') functions if possible; * ideally we would change the code to use them and then * define them in terms of bcopy et al if !defined(__STDC__) * but that's more work. */#if defined(USE_MEMCPY)#  define bcopy(a,b,c) memcpy(b,a,c)#else#  define bcopy(a,b,c) memmove(b,a,c)#endif#  define bzero(a,b) memset(a,0,b)#  define bcmp(a,b,c) memcmp(a,b,c)# elseextern void bcopy();extern void bzero();extern int bcmp();# endif /* BSD */#endif /* bcopy */#if (!defined(BSD) || (BSD < 43) || defined(RISCOS_BSD)) \	&& !defined(USE_POSIX) && !defined(apollo) && !defined(sequent) \	&& !defined(M_UNIX)# define NEED_STRERROR#if !defined(ultrix) && !defined(NCR)# define NEED_PUTENV#endif#endif#if defined(SUNOS4)# define NEED_STRERROR# if defined(sun386)#  define pid_t int#  define NEED_STRCASECMP# endif#endif#if (!defined(BSD) || (BSD < 43)) && !defined(__hpux)# define NEED_MKSTEMP# define NEED_STRSEP# if !defined(__ultrix) && !defined(apollo)#  if !defined(_SCO_DS)#   define NEED_STRCASECMP#   define NEED_MKTEMP#   if !defined(SVR4)#    define NEED_STRPBRK#   endif#  endif# endif#endif#if defined(USE_POSIX)# define POSIX_SIGNALS#endif/* * Attempt to configure for type of function returned by signal-catching * functions (which signal and sigvec.sv_handler take a pointer to). * This can guess for BSD; otherwise, define SIG_FN externally. */#ifndef	SIG_FN# ifdef BSD#  if (BSD >= 199006) || defined(NeXT) || defined(__osf__) || defined(sun) \	|| defined(__ultrix) || defined(apollo) || defined(POSIX_SIGNALS)#   define SIG_FN void		/* signal-catching functions return void */#  else#   define SIG_FN int		/* signal-catching functions return int */#  endif# else /*BSD*/#  define SIG_FN void		/* signal-catching functions return void */# endif /*BSD*/#endif#if !defined(SIGUSR1) && !defined(SIGUSR2)# define SIGUSR1 SIGEMT# define SIGUSR2 SIGFPE#endif#if !defined(SIGCHLD)# define SIGCHLD SIGCLD#endif#if !defined(ntohl) && !defined(htonl) && defined(BSD) && (BSD <= 43)/* if these aren't null macros in netinet/in.h, extern them here. */extern u_short htons __P((u_short)), ntohs __P((u_short));extern u_long htonl __P((u_long)), ntohl __P((u_long));#endif#if defined(USE_POSIX) && !defined(sun) && !defined(__sgi) \	&& !defined(__convex__) && !defined(__ultrix) && !defined(_AUX_SOURCE)# define PORT_NONBLOCK	O_NONBLOCK# define PORT_WOULDBLK	EAGAIN#else# define PORT_NONBLOCK	O_NDELAY# define PORT_WOULDBLK	EWOULDBLOCK#endif#if defined(USE_POSIX) || !defined(SYSV)#define USE_WAITPID#endif#if !defined(USE_POSIX)#define waitpid(x,y,z) (wait3(y,z,(struct rusage *)NULL))#endif#if defined(NeXT) || defined(_AIX) || defined(sun386)# undef WIFEXITED# undef WEXITSTATUS# undef WIFSIGNALED# undef WTERMSIG#endif /* NeXT */#if defined(sequent)#define WEXITSTATUS(x)	((x).w_retcode)#define WTERMSIG(x)	((x).w_termsig)#define WAIT_T		union wait#endif /* sequent */#if !defined(WIFEXITED)# define WIFEXITED(x) (!(x & 0177))#endif#if !defined(WEXITSTATUS)# define WEXITSTATUS(x) (x >> 8)#endif#if !defined(WIFSIGNALED)# define WIFSIGNALED(x) ((x & 0177) && ((x & 0377) != 0177))#endif#if !defined(WTERMSIG)# define WTERMSIG(x) (x & 0177)#endif#if !defined(WAIT_T)# define WAIT_T int#endif#ifndef S_ISDIR# ifndef S_IFMT#  define S_IFMT 0170000# endif# ifndef S_IFDIR#  define S_IFDIR 0040000# endif# define S_ISDIR(m)	((m & S_IFMT) == S_IFDIR)#endif#ifndef S_ISREG# ifndef S_IFMT#  define S_IFMT 0170000# endif# ifndef S_IFREG#  define S_IFREG 0100000# endif# define S_ISREG(m)	((m & S_IFMT) == S_IFREG)#endif#ifndef S_ISFIFO# ifndef S_IFMT#  define S_IFMT 0170000# endif# ifndef S_IFIFO#  define S_IFIFO 0010000# endif# define S_ISFIFO(m)	((m & S_IFMT) == S_IFIFO)#endif#if defined(NEED_STRTOUL) && \	(defined(__ultrix) || defined(__osf__) || defined(NeXT))# undef NEED_STRTOUL#endif#if defined(__ultrix) || defined(__osf__)# define MAYBE_HESIOD#endif#ifndef FD_SET#define	NFDBITS		32#define	FD_SETSIZE	32#define	FD_SET(n, p)	((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))#define	FD_CLR(n, p)	((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))#define	FD_ISSET(n, p)	((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))#define FD_ZERO(p)	bzero((char *)(p), sizeof(*(p)))#endif#ifndef MIN# define MIN(x, y)	((x > y) ?y :x)#endif#ifndef MAX# define MAX(x, y)	((x > y) ?x :y)#endif#if !defined(PATH_MAX)# if defined(_POSIX_PATH_MAX)#  define PATH_MAX _POSIX_PATH_MAX# else#  if defined(MAXPATHLEN)#   define PATH_MAX MAXPATHLEN#  endif# endif#endif#if defined(BSD) || defined(__osf__) || defined(__convex__)# define HAVE_GETRUSAGE#endif/* May be set in the Makefile. */#if defined(HAVE_GETRUSAGE)# include <sys/resource.h>#endif/* *  Because Convex has true library function feof() which is *  patently wrong (it test bit _IOREAD) we need feof() as *  a macro. */#if defined(__convex__) && !defined(feof)#  define   feof(p)	((p)->_flag&_IOEOF)#endif#if defined(M_UNIX) || defined(linux)# define SPURIOUS_ECONNREFUSED#endif/* * Assume that a system has fchmod() unless something above says otherwise. */#if !defined(HAVE_FCHMOD)# define HAVE_FCHMOD XXX#endif/* * Some systems need _res to be linked into text rather than bss. */#if defined(__m88k__)# define __BIND_RES_TEXT#endif/* * We need to know the IPv6 address family number even on IPv4-only systems. * Note that this is NOT a protocol constant, and that if the system has its * own AF_INET6, different from ours below, all of BIND's libraries and * executables will need to be recompiled after the system <sys/socket.h> * has had this type added.  The type number below is correct on most BSD- * derived systems for which AF_INET6 is defined. */#ifndef AF_INET6#define AF_INET6	24#endif/* * Prototype the functions we'll be supplying. */#ifdef NEED_PUTENVextern int putenv __P((char *));#endif#ifdef NEED_GETTIMEOFDAYextern int gettimeofday __P((struct timeval *, struct _TIMEZONE *));#endif#if defined(SVR4) && defined(sun)extern int gethostname __P((char *, size_t));#endif#ifdef NEED_STRDUPextern char *strdup __P((const char *));#endif#ifdef NEED_STRSEPextern char *strsep __P((char **, const char *));#endif#ifdef NEED_TIMESPECstruct timespec {	time_t	tv_sec;		/* seconds */	long	tv_nsec;	/* nanoseconds */};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -