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

📄 defines.h

📁 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。它用安全、加密的网络连接工具代替了 telnet、ftp、 rlogin、rsh 和 rcp 工具。OpenSSH 支持
💻 H
📖 第 1 页 / 共 2 页
字号:
#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_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 TIMEVAL_TO_TIMESPEC#define	TIMEVAL_TO_TIMESPEC(tv, ts) {					\	(ts)->tv_sec = (tv)->tv_sec;					\	(ts)->tv_nsec = (tv)->tv_usec * 1000;				\}#endif#ifndef TIMESPEC_TO_TIMEVAL#define	TIMESPEC_TO_TIMEVAL(tv, ts) {					\	(tv)->tv_sec = (ts)->tv_sec;					\	(tv)->tv_usec = (ts)->tv_nsec / 1000;				\}#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) */#ifndef __dead# define __dead	__attribute__((noreturn))#endif/* *-*-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/* given pointer to struct cmsghdr, return pointer to data */#ifndef CMSG_DATA#define CMSG_DATA(cmsg) ((u_char *)(cmsg) + __CMSG_ALIGN(sizeof(struct cmsghdr)))#endif /* CMSG_DATA *//* * RFC 2292 requires to check msg_controllen, in case that the kernel returns * an empty list for some reasons. */#ifndef CMSG_FIRSTHDR#define CMSG_FIRSTHDR(mhdr) \	((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \	 (struct cmsghdr *)(mhdr)->msg_control : \	 (struct cmsghdr *)NULL)#endif /* CMSG_FIRSTHDR */#ifndef offsetof# define offsetof(type, member) ((size_t) &((type *)0)->member)#endif/* Function replacement / compatibility hacks */#if !defined(HAVE_GETADDRINFO) && (defined(HAVE_OGETADDRINFO) || defined(HAVE_NGETADDRINFO))# define HAVE_GETADDRINFO#endif#ifndef HAVE_GETOPT_OPTRESET# undef getopt# undef opterr# undef optind# undef optopt# undef optreset# undef optarg# define getopt(ac, av, o)  BSDgetopt(ac, av, o)# define opterr             BSDopterr# define optind             BSDoptind# define optopt             BSDoptopt# define optreset           BSDoptreset# define optarg             BSDoptarg#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(BROKEN_UPDWTMPX) && defined(HAVE_UPDWTMPX)# undef HAVE_UPDWTMPX#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#ifdef USE_BSM_AUDIT# define SSH_AUDIT_EVENTS# define CUSTOM_SSH_AUDIT_EVENTS#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#if defined(KRB5) && !defined(HEIMDAL)#  define krb5_get_err_text(context,code) error_message(code)#endif#if defined(SKEYCHALLENGE_4ARG)# define _compat_skeychallenge(a,b,c,d) skeychallenge(a,b,c,d)#else# define _compat_skeychallenge(a,b,c,d) skeychallenge(a,b,c)#endif/* Maximum number of file descriptors available */#ifdef HAVE_SYSCONF# define SSH_SYSFDMAX sysconf(_SC_OPEN_MAX)#else# define SSH_SYSFDMAX 10000#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#if defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW)# define USE_SHADOW#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#ifndef UT_LINESIZE# define UT_LINESIZE 8#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#ifdef HAVE_OSF_SIA# ifdef USE_SHADOW#  undef USE_SHADOW# endif# define CUSTOM_SYS_AUTH_PASSWD 1#endif/* HP-UX 11.11 */#ifdef BTMP_FILE# define _PATH_BTMP BTMP_FILE#endif#if defined(USE_BTMP) && defined(_PATH_BTMP)# define CUSTOM_FAILED_LOGIN#endif/** end of login recorder definitions */#endif /* _DEFINES_H */

⌨️ 快捷键说明

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