docs/143472: gethostname(3) references undefined value: HOST_NAME_MAX

Bruce Cran brucec at freebsd.org
Sat Feb 12 23:18:44 UTC 2011


On Saturday 12 February 2011 22:17:16 Garrett Wollman wrote:

> The Standard uses special typography to indicate these parameters; we
> should, too.

Having done further reading on opengroup.org I realised that the brackets do 
indicate that it's a value that can be obtained through sysconf(3).

However, it's not especially clear to readers unfamiliar with the Standard, 
and has confused people in the past - for example http://www.mail-
archive.com/bug-gnulib at gnu.org/msg14789.html .  I wonder if there's a way we 
can improve the documentation to make it clear that these values aren't 
necessarily preprocessor definitions?

I've attached a patch to sysconf(3) which adds documentation of 
{HOST_NAME_MAX} and others.

-- 
Bruce Cran
-------------- next part --------------
Index: sysconf.3
===================================================================
--- sysconf.3	(revision 218613)
+++ sysconf.3	(working copy)
@@ -28,7 +28,7 @@
 .\"	@(#)sysconf.3	8.3 (Berkeley) 4/19/94
 .\" $FreeBSD$
 .\"
-.Dd December 14, 2006
+.Dd Febuary 12, 2011
 .Dt SYSCONF 3
 .Os
 .Sh NAME
@@ -85,6 +85,9 @@
 The maximum number of open files per user id.
 .It Li _SC_PAGESIZE
 The size of a system page in bytes.
+.It Li _SC_PAGE_SIZE
+Equivalent to
+.It Li _SC_PAGESIZE .
 .It Li _SC_STREAM_MAX
 The minimum maximum number of streams that a process may have open
 at any one time.
@@ -160,10 +163,68 @@
 .It Li _SC_2_UPE
 Return 1 if the system supports the User Portability Utilities Option,
 otherwise \-1.
+.It Li _SC_AIO_LISTIO_MAX
+Maximum number of I/O operations in a single list I/O call supported.
+.It Li _SC_AIO_MAX
+Maximum number of outstanding asynchronous I/O operations supported.
+.It Li _SC_AIO_PRIO_DELTA_MAX
+The maximum amount by which a process can decrease its asynchronous I/O
+priority level from its own scheduling priority.
+.It Li _SC_DELAYTIMER_MAX
+Maximum number of timer expiration overruns.
+.It Li _SC_MQ_OPEN_MAX
+The maximum number of open message queue descriptors a process may hold.
+.It Li _SC_RTSIG_MAX
+Maximum number of realtime signals reserved for application use.
+.It Li _SC_SEM_NSEMS_MAX
+Maximum number of semaphores that a process may have.
+.It Li _SC_SEM_VALUE_MAX
+The maximum value a semaphore may have.
+.It Li _SC_SIGQUEUE_MAX
+Maximum number of queued signals that a process may send and have pending at
+the receiver(s) at any time.
+.It Li _SC_TIMER_MAX
+Maximum number of timers per process supported.
+.It Li _SC_GETGR_R_SIZE_MAX
+Suggested initial value for the size of the buffer required for a call to
+.Fn getgr
+functions or -1.
+.It Li _SC_GETPW_R_SIZE_MAX
+Suggested initial value for the size of the buffer required for a call to
+.Fn getpw
+functions or -1.
+.It Li _SC_HOST_NAME_MAX
+Maximum length of a host name (not including the terminating null) as
+returned from the
+.Fn gethostname
+function.
+.It Li _SC_LOGIN_NAME_MAX
+Maximum length of a login name.
+.It Li _SC_THREAD_STACK_MIN
+Minimum size in bytes of thread stack storage.
+.It Li _SC_THREAD_THREADS_MAX
+Maximum number of threads that can be created per process.
+.It Li _SC_TTY_NAME_MAX
+Maximum length of terminal device name.
+.It Li _SC_SYMLOOP_MAX
+Maximum number of symbolic links that can be reliably traversed in the
+resolution of a pathname in the absence of a loop.
+.It Li _SC_ATEXIT_MAX
+Maximum number of functions that may be registered with
+.Fn atexit .
+.It Li _SC_XOPEN_VERSION
+An integer value greater than or equal to 4,
+indicating the version of the X/Open Portability Guide to which this
+system conforms. 
+.It Li _SC_XOPEN_XCU_VERSION
+An integer value indicating the version of the XCU Specification to which
+this system conforms.
 .El
 .Pp
 These values also exist, but may not be standard:
 .Bl -tag -width 6n
+.It Li _SC_CPUSET_SIZE
+Size of the kernel cpuset.
 .It Li _SC_PHYS_PAGES
 The number of pages of physical memory.
 Note that it is possible that the product of this value and the value of


More information about the freebsd-doc mailing list