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

📄 defines.h

📁 OpenSSL Source code for SFTP, SSH, and many others
💻 H
字号:
#ifndef _DEFINES_H#define _DEFINES_H/* $Id: defines.h,v 1.90 2002/06/07 03:19:36 mouring Exp $ *//* Constants */#ifndef SHUT_RDWRenum{  SHUT_RD = 0,		/* No more receptions.  */  SHUT_WR,			/* No more transmissions.  */  SHUT_RDWR			/* No more receptions or transmissions.  */};# define SHUT_RD   SHUT_RD# define SHUT_WR   SHUT_WR# define SHUT_RDWR SHUT_RDWR#endif#ifndef IPTOS_LOWDELAY# define IPTOS_LOWDELAY          0x10# define IPTOS_THROUGHPUT        0x08# define IPTOS_RELIABILITY       0x04# define IPTOS_LOWCOST           0x02# define IPTOS_MINCOST           IPTOS_LOWCOST#endif /* IPTOS_LOWDELAY */#ifndef MAXPATHLEN# ifdef PATH_MAX#  define MAXPATHLEN PATH_MAX# else /* PATH_MAX */#  define MAXPATHLEN 64 /* Should be safe */# endif /* PATH_MAX */#endif /* MAXPATHLEN */#ifndef STDIN_FILENO# define STDIN_FILENO    0#endif#ifndef STDOUT_FILENO# define STDOUT_FILENO   1#endif#ifndef STDERR_FILENO# define STDERR_FILENO   2#endif#ifndef NGROUPS_MAX	/* Disable groupaccess if NGROUP_MAX is not set */#ifdef NGROUPS#define NGROUPS_MAX NGROUPS#else#define NGROUPS_MAX 0#endif#endif#ifndef O_NONBLOCK	/* Non Blocking Open */# define O_NONBLOCK      00004#endif#ifndef S_ISDIR# define S_ISDIR(mode)	(((mode) & (_S_IFMT)) == (_S_IFDIR))#endif /* S_ISDIR */#ifndef S_ISREG # define S_ISREG(mode)	(((mode) & (_S_IFMT)) == (_S_IFREG))#endif /* S_ISREG */#ifndef S_ISLNK# define S_ISLNK(mode)	(((mode) & S_IFMT) == S_IFLNK)#endif /* S_ISLNK */#ifndef S_IXUSR# define S_IXUSR			0000100	/* execute/search permission, */# define S_IXGRP			0000010	/* execute/search permission, */# define S_IXOTH			0000001	/* execute/search permission, */# define _S_IWUSR			0000200	/* write permission, */# define S_IWUSR			_S_IWUSR	/* write permission, owner */# define S_IWGRP			0000020	/* write permission, group */# define S_IWOTH			0000002	/* write permission, other */# define S_IRUSR			0000400	/* read permission, owner */# define S_IRGRP			0000040	/* read permission, group */# define S_IROTH			0000004	/* read permission, other */# define S_IRWXU			0000700	/* read, write, execute */# define S_IRWXG			0000070	/* read, write, execute */# define S_IRWXO			0000007	/* read, write, execute */#endif /* S_IXUSR */#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS)#define MAP_ANON MAP_ANONYMOUS#endif#ifndef MAP_FAILED# define MAP_FAILED ((void *)-1)#endif/* *-*-nto-qnx doesn't define this constant in the system headers */#ifdef MISSING_NFDBITS# define	NFDBITS (8 * sizeof(unsigned long))#endif/*SCO Open Server 3 has INADDR_LOOPBACK defined in rpc/rpc.h butincluding rpc/rpc.h breaks Solaris 6*/#ifndef INADDR_LOOPBACK#define INADDR_LOOPBACK ((ulong)0x7f000001)#endif/* Types *//* If sys/types.h does not supply intXX_t, supply them ourselves *//* (or die trying) */#ifndef HAVE_U_INTtypedef unsigned int u_int;#endif#ifndef HAVE_INTXX_T# if (SIZEOF_CHAR == 1)typedef char int8_t;# else#  error "8 bit int type not found."# endif# if (SIZEOF_SHORT_INT == 2)typedef short int int16_t;# else#  ifdef _CRAY#   if (SIZEOF_SHORT_INT == 4)typedef short int16_t;#   elsetypedef long  int16_t;#   endif#  else#   error "16 bit int type not found."#  endif /* _CRAY */# endif# if (SIZEOF_INT == 4)typedef int int32_t;# else#  ifdef _CRAYtypedef long  int32_t;#  else#   error "32 bit int type not found."#  endif /* _CRAY */# endif#endif/* If sys/types.h does not supply u_intXX_t, supply them ourselves */#ifndef HAVE_U_INTXX_T# ifdef HAVE_UINTXX_Ttypedef uint8_t u_int8_t;typedef uint16_t u_int16_t;typedef uint32_t u_int32_t;# define HAVE_U_INTXX_T 1# else#  if (SIZEOF_CHAR == 1)typedef unsigned char u_int8_t;#  else#   error "8 bit int type not found."#  endif#  if (SIZEOF_SHORT_INT == 2)typedef unsigned short int u_int16_t;#  else#   ifdef _CRAY#    if (SIZEOF_SHORT_INT == 4)typedef unsigned short u_int16_t;#    elsetypedef unsigned long  u_int16_t;#    endif#   else#    error "16 bit int type not found."#   endif#  endif#  if (SIZEOF_INT == 4)typedef unsigned int u_int32_t;#  else#   ifdef _CRAYtypedef unsigned long  u_int32_t;#   else#    error "32 bit int type not found."#   endif#  endif# endif#define __BIT_TYPES_DEFINED__#endif/* 64-bit types */#ifndef HAVE_INT64_T# if (SIZEOF_LONG_INT == 8)typedef long int int64_t;#   define HAVE_INT64_T 1# else#  if (SIZEOF_LONG_LONG_INT == 8)typedef long long int int64_t;#   define HAVE_INT64_T 1#  endif# endif#endif#ifndef HAVE_U_INT64_T# if (SIZEOF_LONG_INT == 8)typedef unsigned long int u_int64_t;#   define HAVE_U_INT64_T 1# else#  if (SIZEOF_LONG_LONG_INT == 8)typedef unsigned long long int u_int64_t;#   define HAVE_U_INT64_T 1#  endif# endif#endif#if !defined(HAVE_LONG_LONG_INT) && (SIZEOF_LONG_LONG_INT == 8)# define HAVE_LONG_LONG_INT 1#endif#ifndef HAVE_U_CHARtypedef unsigned char u_char;# define HAVE_U_CHAR#endif /* HAVE_U_CHAR */#ifndef HAVE_SIZE_Ttypedef unsigned int size_t;# define HAVE_SIZE_T#endif /* HAVE_SIZE_T */#ifndef HAVE_SSIZE_Ttypedef int ssize_t;# define HAVE_SSIZE_T#endif /* HAVE_SSIZE_T */#ifndef HAVE_CLOCK_Ttypedef long clock_t;# define HAVE_CLOCK_T#endif /* HAVE_CLOCK_T */#ifndef HAVE_SA_FAMILY_Ttypedef int sa_family_t;# define HAVE_SA_FAMILY_T#endif /* HAVE_SA_FAMILY_T */#ifndef HAVE_PID_Ttypedef int pid_t;# define HAVE_PID_T#endif /* HAVE_PID_T */#ifndef HAVE_SIG_ATOMIC_Ttypedef int sig_atomic_t;# define HAVE_SIG_ATOMIC_T#endif /* HAVE_SIG_ATOMIC_T */#ifndef HAVE_MODE_Ttypedef int mode_t;# define HAVE_MODE_T#endif /* HAVE_MODE_T */#if !defined(HAVE_SS_FAMILY_IN_SS) && defined(HAVE___SS_FAMILY_IN_SS)# define ss_family __ss_family#endif /* !defined(HAVE_SS_FAMILY_IN_SS) && defined(HAVE_SA_FAMILY_IN_SS) */#ifndef HAVE_SYS_UN_Hstruct	sockaddr_un {	short	sun_family;		/* AF_UNIX */	char	sun_path[108];		/* path name (gag) */};#endif /* HAVE_SYS_UN_H */#if defined(BROKEN_SYS_TERMIO_H) && !defined(_STRUCT_WINSIZE)#define _STRUCT_WINSIZEstruct winsize {      unsigned short ws_row;          /* rows, in characters */      unsigned short ws_col;          /* columns, in character */      unsigned short ws_xpixel;       /* horizontal size, pixels */      unsigned short ws_ypixel;       /* vertical size, pixels */};#endif/* *-*-nto-qnx does not define this type in the system headers */#ifdef MISSING_FD_MASK typedef unsigned long int	fd_mask;#endif/* Paths */#ifndef _PATH_BSHELL# define _PATH_BSHELL "/bin/sh"#endif#ifndef _PATH_CSHELL# define _PATH_CSHELL "/bin/csh"#endif#ifndef _PATH_SHELLS# define _PATH_SHELLS "/etc/shells"#endif#ifdef USER_PATH# ifdef _PATH_STDPATH#  undef _PATH_STDPATH# endif# define _PATH_STDPATH USER_PATH#endif#ifndef _PATH_STDPATH# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"#endif#ifndef _PATH_DEVNULL# define _PATH_DEVNULL "/dev/null"#endif#ifndef MAIL_DIRECTORY# define MAIL_DIRECTORY "/var/spool/mail"#endif#ifndef MAILDIR# define MAILDIR MAIL_DIRECTORY#endif#if !defined(_PATH_MAILDIR) && defined(MAILDIR)# define _PATH_MAILDIR MAILDIR#endif /* !defined(_PATH_MAILDIR) && defined(MAILDIR) */#ifndef _PATH_RSH# ifdef RSH_PATH#  define _PATH_RSH RSH_PATH# else /* RSH_PATH */#  define _PATH_RSH "/usr/bin/rsh"# endif /* RSH_PATH */#endif /* _PATH_RSH */#ifndef _PATH_NOLOGIN# define _PATH_NOLOGIN "/etc/nologin"#endif/* Define this to be the path of the xauth program. */#ifdef XAUTH_PATH#define _PATH_XAUTH XAUTH_PATH#endif /* XAUTH_PATH *//* derived from XF4/xc/lib/dps/Xlibnet.h */#ifndef X_UNIX_PATH#  ifdef __hpux#    define X_UNIX_PATH "/var/spool/sockets/X11/%u"#  else#    define X_UNIX_PATH "/tmp/.X11-unix/X%u"#  endif#endif /* X_UNIX_PATH */#define _PATH_UNIX_X X_UNIX_PATH#ifndef _PATH_TTY# define _PATH_TTY "/dev/tty"#endif/* Macros */#if defined(HAVE_LOGIN_GETCAPBOOL) && defined(HAVE_LOGIN_CAP_H)# define HAVE_LOGIN_CAP#endif#ifndef MAX# define MAX(a,b) (((a)>(b))?(a):(b))# define MIN(a,b) (((a)<(b))?(a):(b))#endif#ifndef roundup# define roundup(x, y)   ((((x)+((y)-1))/(y))*(y))#endif#ifndef timersub#define timersub(a, b, result)					\   do {								\      (result)->tv_sec = (a)->tv_sec - (b)->tv_sec;		\      (result)->tv_usec = (a)->tv_usec - (b)->tv_usec;		\      if ((result)->tv_usec < 0) {				\	 --(result)->tv_sec;					\	 (result)->tv_usec += 1000000;				\      }								\   } while (0)#endif#ifndef __P# define __P(x) x#endif#if !defined(IN6_IS_ADDR_V4MAPPED)# define IN6_IS_ADDR_V4MAPPED(a) \	((((u_int32_t *) (a))[0] == 0) && (((u_int32_t *) (a))[1] == 0) && \	 (((u_int32_t *) (a))[2] == htonl (0xffff)))#endif /* !defined(IN6_IS_ADDR_V4MAPPED) */#if !defined(__GNUC__) || (__GNUC__ < 2)# define __attribute__(x)#endif /* !defined(__GNUC__) || (__GNUC__ < 2) *//* *-*-nto-qnx doesn't define this macro in the system headers */#ifdef MISSING_HOWMANY# define howmany(x,y)	(((x)+((y)-1))/(y))#endif#ifndef OSSH_ALIGNBYTES#define OSSH_ALIGNBYTES	(sizeof(int) - 1)#endif#ifndef __CMSG_ALIGN#define	__CMSG_ALIGN(p) (((u_int)(p) + OSSH_ALIGNBYTES) &~ OSSH_ALIGNBYTES)#endif/* Length of the contents of a control message of length len */#ifndef CMSG_LEN#define	CMSG_LEN(len)	(__CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))#endif/* Length of the space taken up by a padded control message of length len */#ifndef CMSG_SPACE#define	CMSG_SPACE(len)	(__CMSG_ALIGN(sizeof(struct cmsghdr)) + __CMSG_ALIGN(len))#endif/* Function replacement / compatibility hacks */#if !defined(HAVE_GETADDRINFO) && (defined(HAVE_OGETADDRINFO) || defined(HAVE_NGETADDRINFO))# define HAVE_GETADDRINFO#endif#ifndef HAVE_GETOPT_OPTRESET#define getopt(ac, av, o)  BSDgetopt(ac, av, o)#endif/* In older versions of libpam, pam_strerror takes a single argument */#ifdef HAVE_OLD_PAM# define PAM_STRERROR(a,b) pam_strerror((b))#else# define PAM_STRERROR(a,b) pam_strerror((a),(b))#endif#ifdef PAM_SUN_CODEBASE# define PAM_MSG_MEMBER(msg, n, member) ((*(msg))[(n)].member)#else# define PAM_MSG_MEMBER(msg, n, member) ((msg)[(n)]->member)#endif#if defined(BROKEN_GETADDRINFO) && defined(HAVE_GETADDRINFO)# undef HAVE_GETADDRINFO#endif#if defined(BROKEN_GETADDRINFO) && defined(HAVE_FREEADDRINFO)# undef HAVE_FREEADDRINFO#endif#if defined(BROKEN_GETADDRINFO) && defined(HAVE_GAI_STRERROR)# undef HAVE_GAI_STRERROR#endif#if !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY)# define memmove(s1, s2, n) bcopy((s2), (s1), (n))#endif /* !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY) */#if defined(HAVE_VHANGUP) && !defined(HAVE_DEV_PTMX)#  define USE_VHANGUP#endif /* defined(HAVE_VHANGUP) && !defined(HAVE_DEV_PTMX) */#ifndef GETPGRP_VOID# define getpgrp() getpgrp(0)#endif/* OPENSSL_free() is Free() in versions before OpenSSL 0.9.6 */#if !defined(OPENSSL_VERSION_NUMBER) || (OPENSSL_VERSION_NUMBER < 0x0090600f)# define OPENSSL_free(x) Free(x)#endif#if !defined(HAVE___func__) && defined(HAVE___FUNCTION__)#  define __func__ __FUNCTION__#elif !defined(HAVE___func__)#  define __func__ ""#endif/* * Define this to use pipes instead of socketpairs for communicating with the * client program.  Socketpairs do not seem to work on all systems. * * configure.ac sets this for a few OS's which are known to have problems * but you may need to set it yourself *//* #define USE_PIPES 1 *//** ** login recorder definitions **//* FIXME: put default paths back in */#ifndef UTMP_FILE#  ifdef _PATH_UTMP#    define UTMP_FILE _PATH_UTMP#  else#    ifdef CONF_UTMP_FILE#      define UTMP_FILE CONF_UTMP_FILE#    endif#  endif#endif#ifndef WTMP_FILE#  ifdef _PATH_WTMP#    define WTMP_FILE _PATH_WTMP#  else#    ifdef CONF_WTMP_FILE#      define WTMP_FILE CONF_WTMP_FILE#    endif#  endif#endif/* pick up the user's location for lastlog if given */#ifndef LASTLOG_FILE#  ifdef _PATH_LASTLOG#    define LASTLOG_FILE _PATH_LASTLOG#  else#    ifdef CONF_LASTLOG_FILE#      define LASTLOG_FILE CONF_LASTLOG_FILE#    endif#  endif#endif/* The login() library function in libutil is first choice */#if defined(HAVE_LOGIN) && !defined(DISABLE_LOGIN)#  define USE_LOGIN#else/* Simply select your favourite login types. *//* Can't do if-else because some systems use several... <sigh> */#  if defined(UTMPX_FILE) && !defined(DISABLE_UTMPX)#    define USE_UTMPX#  endif#  if defined(UTMP_FILE) && !defined(DISABLE_UTMP)#    define USE_UTMP#  endif#  if defined(WTMPX_FILE) && !defined(DISABLE_WTMPX)#    define USE_WTMPX#  endif#  if defined(WTMP_FILE) && !defined(DISABLE_WTMP)#    define USE_WTMP#  endif#endif/* I hope that the presence of LASTLOG_FILE is enough to detect this */#if defined(LASTLOG_FILE) && !defined(DISABLE_LASTLOG)#  define USE_LASTLOG#endif/** end of login recorder definitions */#endif /* _DEFINES_H */

⌨️ 快捷键说明

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