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

📄 readme

📁 < linux网络编程工具>>配套源码
💻
📖 第 1 页 / 共 5 页
字号:
		vprintf(3).  Note that the resulting fake implementation
		is not very elegant and may not even work on some
		architectures.
NEEDFSYNC	Define this if your standard C library does not define
		fsync(2).  This will try to simulate the operation using
		fcntl(2); if that is not available it does nothing, which
		isn't great, but at least it compiles and runs.
HASGETUSERSHELL	Define this to 1 if you have getusershell(3) in your
		standard C library.  If this is not defined, or is defined
		to be 0, sendmail will scan the /etc/shells file (no
		NIS-style support, defaults to /bin/sh and /bin/csh if
		that file does not exist) to get a list of unrestricted
		user shells.  This is used to determine whether users
		are allowed to forward their mail to a program or a file.
NEEDPUTENV	Define this if your system needs am emulation of the
		putenv(3) call.  Define to 1 to implement it in terms
		of setenv(3) or to 2 to do it in terms of primitives.
NOFTRUNCATE	Define this if you don't have the ftruncate(2) syscall.
		If you don't have this system call, there is an unavoidable
		race condition that occurs when creating alias databases.
GIDSET_T	The type of entries in a gidset passed as the second
		argument to getgroups(2).  Historically this has been an
		int, so this is the default, but some systems (such as
		IRIX) pass it as a gid_t, which is an unsigned short.
		This will make a difference, so it is important to get
		this right!  However, it is only an issue if you have
		group sets.
SLEEP_T		The type returned by the system sleep() function.
		Defaults to "unsigned int".  Don't worry about this
		if you don't have compilation problems.
ARBPTR_T	The type of an arbitrary pointer -- defaults to "void *".
		If you are an very old compiler you may need to define
		this to be "char *".
SOCKADDR_LEN_T	The type used for the third parameter to accept(2),
		getsockname(2), and getpeername(2), representing the
		length of a struct sockaddr.  Defaults to int.
SOCKOPT_LEN_T	The type used for the fifth parameter to getsockopt(2)
		and setsockopt(2), representing the length of the option
		buffer.  Defaults to int.
LA_TYPE		The type of load average your kernel supports.  These
		can be one of:
		 LA_ZERO (1) -- it always returns the load average as
			"zero" (and does so on all architectures).
		 LA_INT (2) to read /dev/kmem for the symbol avenrun and
			interpret as a long integer.
		 LA_FLOAT (3) same, but interpret the result as a floating
			point number.
		 LA_SHORT (6) to interpret as a short integer.
		 LA_SUBR (4) if you have the getloadavg(3) routine in your
			system library.
		 LA_MACH (5) to use MACH-style load averages (calls
			processor_set_info()),
		 LA_PROCSTR (7) to read /proc/loadavg and interpret it
			as a string representing a floating-point
			number (Linux-style).
		 LA_READKSYM (8) is an implementation suitable for some
			versions of SVr4 that uses the MIOC_READKSYM ioctl
			call to read /dev/kmem.
		 LA_DGUX (9) is a special implementation for DG/UX that uses
			the dg_sys_info system call.
		 LA_HPUX (10) is an HP-UX specific version that uses the
			pstat_getdynamic system call.
		 LA_IRIX6 (11) is an IRIX 6.x specific version that adapts
			to 32 or 64 bit kernels; it is otherwise very similar
			to LA_INT.
		 LA_KSTAT (12) uses the (Solaris-specific) kstat(3k)
			implementation.
		 LA_DEVSHORT (13) reads a short from a system file (default:
			/dev/table/avenrun) and scales it in the same manner
			as LA_SHORT.
		LA_INT, LA_SHORT, LA_FLOAT, and LA_READKSYM have several
		other parameters that they try to divine: the name of your
		kernel, the name of the variable in the kernel to examine,
		the number of bits of precision in a fixed point load average,
		and so forth.  LA_DEVSHORT uses _PATH_AVENRUN to find the
		device to be read to find the load average.
		In desperation, use LA_ZERO.  The actual code is in
		conf.c -- it can be tweaked if you are brave.
FSHIFT		For LA_INT, LA_SHORT, and LA_READKSYM, this is the number
		of bits of load average after the binary point -- i.e.,
		the number of bits to shift right in order to scale the
		integer to get the true integer load average.  Defaults to 8.
_PATH_UNIX	The path to your kernel.  Needed only for LA_INT, LA_SHORT,
		and LA_FLOAT.  Defaults to "/unix" on System V, "/vmunix"
		everywhere else.
LA_AVENRUN	For LA_INT, LA_SHORT, and LA_FLOAT, the name of the kernel
		variable that holds the load average.  Defaults to "avenrun"
		on System V, "_avenrun" everywhere else.
SFS_TYPE	Encodes how your kernel can locate the amount of free
		space on a disk partition.  This can be set to SFS_NONE
		(0) if you have no way of getting this information,
		SFS_USTAT (1) if you have the ustat(2) system call,
		SFS_4ARGS (2) if you have a four-argument statfs(2)
		system call (and the include file is <sys/statfs.h>),
		SFS_VFS (3), SFS_MOUNT (4), SFS_STATFS (5) if you have
		the two-argument statfs(2) system call with includes in
		<sys/vfs.h>, <sys/mount.h>, or <sys/statfs.h> respectively,
		or SFS_STATVFS (6) if you have the two-argument statvfs(2)
		call.  The default if nothing is defined is SFS_NONE.
SFS_BAVAIL	with SFS_4ARGS you can also set SFS_BAVAIL to the field name
		in the statfs structure that holds the useful information;
		this defaults to f_bavail.
SPT_TYPE	Encodes how your system can display what a process is doing
		on a ps(1) command (SPT stands for Set Process Title).  Can
		be set to:
		SPT_NONE (0) -- Don't try to set the process title at all.
		SPT_REUSEARGV (1) -- Pad out your argv with the information;
			this is the default if none specified.
		SPT_BUILTIN (2) -- The system library has setproctitle.
		SPT_PSTAT (3) -- Use the PSTAT_SETCMD option to pstat(2)
			to set the process title; this is used by HP-UX.
		SPT_PSSTRINGS (4) -- Use the magic PS_STRINGS pointer (4.4BSD).
		SPT_SYSMIPS (5) -- Use sysmips() supported by NEWS-OS 6.
		SPT_SCO (6) -- Write kernel u. area.
		SPT_CHANGEARGV (7) -- Write pointers to our own strings into
			the existing argv vector.
SPT_PADCHAR	Character used to pad the process title; if undefined,
		the space character (0x20) is used.  This is ignored if
		SPT_TYPE != SPT_REUSEARGV
ERRLIST_PREDEFINED
		If set, assumes that some header file defines sys_errlist.
		This may be needed if you get type conflicts on this
		variable -- otherwise don't worry about it.
WAITUNION	The wait(2) routine takes a "union wait" argument instead
		of an integer argument.  This is for compatibility with
		old versions of BSD.
SCANF		You can set this to extend the F command to accept a
		scanf string -- this gives you a primitive parser for
		class definitions -- BUT it can make you vulnerable to
		core dumps if the target file is poorly formed.
SYSLOG_BUFSIZE	You can define this to be the size of the buffer that
		syslog accepts.  If it is not defined, it assumes a
		1024-byte buffer.  If the buffer is very small (under
		256 bytes) the log message format changes -- each
		e-mail message will log many more messages, since it
		will log each piece of information as a separate line
		in syslog.
BROKEN_RES_SEARCH
		On Ultrix (and maybe other systems?) if you use the
		res_search routine with an unknown host name, it returns
		-1 but sets h_errno to 0 instead of HOST_NOT_FOUND.  If
		you set this, sendmail considers 0 to be the same as
		HOST_NOT_FOUND.
NAMELISTMASK	If defined, values returned by nlist(3) are masked
		against this value before use -- a common value is
		0x7fffffff to strip off the top bit.
BSD4_4_SOCKADDR	If defined, socket addresses have an sa_len field that
		defines the length of this address.
SAFENFSPATHCONF	Set this to 1 if and only if you have verified that a
		pathconf(2) call with _PC_CHOWN_RESTRICTED argument on an
		NFS filesystem where the underlying system allows users to
		give away files to other users returns <= 0.  Be sure you
		try both on NFS V2 and V3.  Some systems assume that their
		local policy apply to NFS servers -- this is a bad
		assumption!  The test/t_pathconf.c program will try this
		for you -- you have to run it in a directory that is
		mounted from a server that allows file giveaway.
SIOCGIFCONF_IS_BROKEN
		Set this if your system has an SIOCGIFCONF ioctl defined,
		but it doesn't behave the same way as "most" systems (BSD,
		Solaris, SunOS, HP-UX, etc.)
SIOCGIFNUM_IS_BROKEN
		Set this if your system has an SIOCGIFNUM ioctl defined,
		but it doesn't behave the same way as "most" systems
		(Solaris, HP-UX).
NEED_PERCENTQ	Set this if your system doesn't support the printf
		format strings %lld or %llu.  If this is set, %qd and
		%qu are used instead.
FAST_PID_RECYCLE
		Set this if your system can reuse the same PID in the same
		second.
SO_REUSEADDR_IS_BROKEN
		Set this if your system has a setsockopt() SO_REUSEADDR
		flag but doesn't pay attention to it when trying to bind a
		socket to a recently closed port.
SNPRINTF_IS_BROKEN
		Set this if your system has an snprintf() implementation
		which does not NUL terminate the string being filled in.
		Use test/t_snprintf.c to test your system.

+-----------------------+
| COMPILE-TIME FEATURES |
+-----------------------+

There are a bunch of features that you can decide to compile in, such
as selecting various database packages and special protocol support.
Several are assumed based on other compilation flags -- if you want to
"un-assume" something, you probably need to edit conf.h.  Compilation
flags that add support for special features include:

NDBM		Include support for "new" DBM library for aliases and maps.
		Normally defined in the Makefile.
NEWDB		Include support for Berkeley DB package (hash & btree)
		for aliases and maps.  Normally defined in the Makefile.
		If the version of NEWDB you have is the old one that does
		not include the "fd" call (this call was added in version
		1.5 of the Berkeley DB code), you must upgrade to the
		current version of Berkeley DB.
NIS		Define this to get NIS (YP) support for aliases and maps.
		Normally defined in the Makefile.
NISPLUS		Define this to get NIS+ support for aliases and maps.
		Normally defined in the Makefile.
HESIOD		Define this to get Hesiod support for aliases and maps.
		Normally defined in the Makefile.
NETINFO		Define this to get NeXT NetInfo support for aliases and maps.
		Normally defined in the Makefile.
LDAPMAP		Define this to get LDAP support for maps.
PH_MAP		Define this to get PH support for maps.
MAP_NSD		Define this to get nsd support for maps.
USERDB		Define this to 1 to include support for the User Information
		Database.  Implied by NEWDB or HESIOD.  You can use
		-DUSERDB=0 to explicitly turn it off.
IDENTPROTO	Define this as 1 to get IDENT (RFC 1413) protocol support.
		This is assumed unless you are running on Ultrix or
		HP-UX, both of which have a problem in the UDP
		implementation.  You can define it to be 0 to explicitly
		turn off IDENT protocol support.  If defined off, the code
		is actually still compiled in, but it defaults off; you
		can turn it on by setting the IDENT timeout in the
		configuration file.
IP_SRCROUTE	Define this to 1 to get IP source routing information
		displayed in the Received: header.  This is assumed on
		most systems, but some (e.g., Ultrix) apparently have a
		broken version of getsockopt that doesn't properly
		support the IP_OPTIONS call.  You probably want this if
		your OS can cope with it.  Symptoms of failure will be that
		it won't compile properly (that is, no support for fetching
		IP_OPTIONs), or it compiles but source-routed TCP connections
		either refuse to open or open and hang for no apparent reason.
		Ultrix and AIX3 are known to fail this way.
LOG		Set this to get syslog(3) support.  Defined by default
		in conf.h.  You want this if at all possible.
NETINET		Set this to get TCP/IP support.  Defined by default
		in conf.h.  You probably want this.
NETINET6	Set this to get IPv6 support.  Other configuration may
		be needed in conf.h for your particular operating system.
		Also, DaemonPortOptions must be set appropriately for
		sendmail to accept IPv6 connections.
NETISO		Define this to get ISO networking support.
NETUNIX		Define this to get Unix domain networking support.  Defined
		by default.  A few bizarre systems (SCO, ISC, Altos) don't
		support this networking domain.
NETNS		Define this to get NS networking support.
NETX25		Define this to get X.25 networking support.
SMTP		Define this to get the SMTP code.  Implied by NETINET
		or NETISO.
NAMED_BIND	If non-zero, include DNS (name daemon) support, including
		MX support.  The specs say you must use this if you run
		SMTP.  You don't have to be running a name server daemon
		on your machine to need this -- any use of the DNS resolver,
		including remote access to another machine, requires this
		option.  Defined by default in conf.h.  Define it to zero
		ONLY on machines that do not use DNS in any way.
QUEUE		Define this to get queueing code.  Implied by NETINET
		or NETISO; required by SMTP.  This gives you other good
		stuff -- it should be on.
DAEMON		Define this to get general network support.  Implied by
		NETINET or NETISO.  Defined by default in conf.h.  You
		almost certainly want it on.
MATCHGECOS	Permit fuzzy matching of user names against the full
		name (GECOS) field in the /etc/passwd file.  This should
		probably be on, since you can disable it from the config
		file if you want to.  Defined by default in conf.h.
MIME8TO7	If non-zero, include 8 to 7 bit MIME conversions.  This
		also controls advertisement of 8BITMIME in the ESMTP
		startup dialogue.
MIME7TO8	If non-zero, include 7 to 8 bit MIME conversions.
HES_GETMAILHOST	Define this to 1 if you are using Hesiod with the
		hes_getmailhost() routine.  This is included with the MIT
		Hesiod distribution, but not with the DEC Hesiod distribution.
XDEBUG		Do additional internal checking.  These don't cost too
		much; you might as well leave this on.
TCPWRAPPERS	Turns on support for the TCP wrappers library (-lwrap).
		See below for further information.
SECUREWARE	Enable calls to the SecureWare luid enabling/changing routines.
		SecureWare is a C2 security package added to several UNIX's
		(notably ConvexOS) to get a C2 Secure system.  This
		option causes mail delivery to be done with the luid of the
		recipient.
SHARE_V1	Support for the fair share scheduler, version 1.  Setting to
		1 causes final delivery to be done using the recipients
		resource limitations.  So far as I know, this is only

⌨️ 快捷键说明

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