diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2')
207 files changed, 49907 insertions, 0 deletions
diff --git a/static/netbsd/man2/ChangeLog.2 b/static/netbsd/man2/ChangeLog.2 new file mode 100644 index 00000000..30571bf6 --- /dev/null +++ b/static/netbsd/man2/ChangeLog.2 @@ -0,0 +1,12868 @@ +2001-05-21 Akim Demaille <akim@epita.fr> + + Version 2.50. + +2001-05-19 Akim Demaille <akim@epita.fr> + + * tests/tools.at: s/undefined macro/possibly undefined macro/. + +2001-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SEARCH_LIBS): Unobfuscate. + +2001-05-19 Akim Demaille <akim@epita.fr> + + * autoconf.sh: s/undefined macro/possibly undefined macro/. + +2001-05-19 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Particular Programs): Explain the + `AC_PROG_LEX invoked multiple times' message. + Reported by Rainer Orth as PR Autoconf/177. + +2001-05-19 Akim Demaille <akim@epita.fr> + + * autoheader.sh: Fix file names used in error messages. + Reported by Rainer Orth as PR Autoconf/178. + +2001-05-19 Akim Demaille <akim@epita.fr> + + * tests/compile.at (AC_PROG_CPP via CC): Invoke AC_PROG_CC instead + if using `cc'. + +2001-05-19 Akim Demaille <akim@epita.fr> + + * tests/compile.at (GNU Fortran 77): Don't AS_EXIT when using + AT_CHECK_MACRO since it skips tests embedded in configure.ac. + Remove files which might have been created when invoking the + compiler. + Reported by Nicolas Joly. + +2001-05-14 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Shellology): Document a quirk in + here-document handling on OpenBSD. + +2001-05-11 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_PROG_PREPROC_WORKS_IFELSE): No longer use the + `maybe' strategy: first try cpp's exit status, then its stderr. + (AC_PROG_CPP, AC_PROG_CXXCPP): Adjust. + * tests/compile.at (AC_PROG_CPP via CC): Simplify mycc. + Remove unrelated code. + +2001-05-10 Akim Demaille <akim@epita.fr> + + * tests/compile.at (AC_PROG_CPP via CC): New. + From Daniel Carroll. + +2001-04-27 Akim Demaille <akim@epita.fr> + + If AC_PROG_CC is invoked but not AC_PROG_CPP, then CPPFLAGS is not + AC_SUBST'ed. + Reported by Ralf Corsepius. + + * aclang.m4 (_AC_ARG_VAR_CPPFLAGS, _AC_ARG_VAR_LDFLAGS): New. + (AC_PROG_CC, AC_PROG_CPP, AC_PROG_CXX, AC_PROG_CXXCPP) + (AC_PROG_F77): Use them. + +2001-04-27 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_PROG_PREPROC_WORKS): Rename and extend as... + (_AC_PROG_PREPROC_WORKS_IFELSE): this. + Adjust to admit + (AC_PROG_CPP, AC_PROG_CXXCPP): Use it. + Reported by Daniel Carroll. + +2001-04-26 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Use two backslashes + before double quotes in the copyright notice, since the native + OpenBSD shell removes single backslashes in here-documents with + unquoted delimiters. + +2001-04-25 Nicolas Joly <njoly@pasteur.fr> + + * acgeneral.m4 (_AC_RUN_IFELSE): Clean `core' files. + +2001-04-24 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi (The GNU build system): Add this chapter + introducing Autoconf+Automake+Libtool, and fix references in the + introduction. + +2001-04-24 Akim Demaille <akim@epita.fr> + + On HP-UX 10 `ranlib --version' creates `./--version'. + Reported by Bob Proulx and Jim Meyering. + + * acgeneral.m4 (AC_CHECK_PROG, AC_PATH_PROG): Do not invoke the + program with --version. + +2001-04-22 Jim Meyering <meyering@lucent.com> + + * acfunctions.m4 (AC_FUNC_MEMCMP): Remove `int main () {' and the + trailing `}', since AC_LANG_PROGRAM provides them. + +2001-04-20 Akim Demaille <akim@epita.fr> + + * configure.in: Bump to 2.49f. + +2001-04-20 Akim Demaille <akim@epita.fr> + + Version 2.49e. + +2001-04-20 Akim Demaille <akim@epita.fr> + + * tests/foreign.at (Libtool): Ignore configure's stderr. + +2001-04-20 Tim Van Holder <tim.van.holder@pandora.be> + + * acgeneral.m4 (AC_OUTPUT): Close the descriptor before running + config.status so config.log is properly created on MS-DOS. + +2001-04-20 Nicolas Joly <njoly@pasteur.fr> + + * tests/atspecific.m4 (AT_CHECK_AUTOUPDATE): Be robust to missing + or broken autoupdate. + * tests/tools.at: Likewise. + * tests/Makefile.am (CLEANFILES): Also clean Libtool files. + +2001-04-18 Tim Van Holder <tim.van.holder@pandora.be> + + * acgeneral.m4 (_AC_INIT_SRCDIR): Handle + backslashes (DOS paths) for $ac_confdir and $srcdir. + +2001-04-17 Akim Demaille <akim@epita.fr> + + Don't mess with FDs. + + * acgeneral.m4 (_AC_INIT_DEFAULTS_FDS): Remove, replace with + inline setting up of AS_MESSAGE_FD. + (AS_MESSAGE_LOG_FD): Do not define, so that AS_MESSAGE does not + output in it before... + (_AC_INIT_CONFIG_LOG): here, which is run after the handling of + options. + +2001-04-18 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Replace documentation for obsolete + AC_LIBOBJ_DECL with clearer documentation for AC_LIBSOURCE + and AC_LIBSOURCES, improving the AC_LIBOBJ docs as well. + +2001-04-17 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Fixes for punctuation and grammar.. Replace + "..." with "@dots{}" except when "..." is in literal code. + +2001-04-17 Nicolas Joly <njoly@pasteur.fr> + + * acgeneral.m4 (_AC_LINK_IFELSE): Be sure to remove temporary + `conftest.$ac_objext', as some compilers may forget it. + +2001-04-16 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_INIT_VERSION): Use AC_PACKAGE_NAME and + AC_PACKAGE_VERSION only if they are defined. + (_AC_OUTPUT_CONFIG_STATUS): Likewise. + +2001-04-15 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Alter response on + `config.status --version' to be more compliant with the GNU Coding + Standards. + +2001-04-13 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Still more minor modifications for clarity, + felicity, and grammar. + +2001-04-11 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi (AC_F77_WRAPPERS): Mention C++ as well as C. + In the example, don't #ifdef F77_FUNC before using it, as that + would push any errors to link-time rather than compile-time; note + that the user can test this to invoke alternative behavior. + +2001-04-11 Akim Demaille <akim@epita.fr> + + * autoconf.sh (Task script): Be sure that `forbidden.rx' and + `allowed.rx' exist when AWK loads then. + Reported by Rainer Orth. + +2001-04-11 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: A few more minor modifications for clarity, + grammar, and formatting. + +2001-04-10 Lars J. Aas <larsa@sim.no> + + * Makefile.am: AC_SUBST fixes for PACKAGE_NAME, VERSION, PACKAGE... + * configure.in: Moved here. + Suggested by Akim Demaille and Raja R Harinath. + +2001-04-10 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Re-enable logging to + `config.log' from `config.status', but delay logging till after + command line option processing. + +2001-04-10 Lars J. Aas <larsa@sim.no> + + * autoupdate.in (print_usage): print "\ at end of line does not + work as expected, so change block to here-doc instead. + (print_version): Same. + +2001-04-09 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Replace all tab characters with (8) spaces, + lest the formatting of example code, etcetera, be messed up. + +2001-04-09 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Rephrase various parts for clarity, felicity, + and/or grammar. + +2001-04-09 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Clean up cache documentation: Document + --config-cache/-C option, and recommend instead of --cache-file. + Indent example AC_CACHE_VAL macros for clarity. Add new + "Cache Checkpointing" section for AC_CACHE_SAVE (and + AC_CACHE_LOAD), so that the "Cache Files" section focuses solely + on features visible to end-users (e.g. to better fit the cross + references). Various minor rewordings for clarity, felicity, + and/or grammar. + +2001-04-09 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Revert to "configure.in" in the history, since + "configure.ac" wasn't used in the past, and in any case it is + probably a good idea to preserve this section verbatim. + +2001-04-09 Steven G. Johnson <stevenj@alum.mit.edu> + + * AUTHORS: Fix grammar. + +2001-04-09 Lars J. Aas <larsa@sim.no> + + * Makefile.am: Manual addition of @PACKAGE@ substitution variable + needed by dist rules. Added explanatory comment. + Problem reported and comment suggested by Raja R Harinath. + +2001-04-06 Lars J. Aas <larsa@sim.no> + + * Makefile.am: Manual addition of @VERSION@ substitution variable + as a temporary Automake fix. Reported by Raja R Harinath. + +2001-04-04 Lars J. Aas <larsa@sim.no> + + * acgeneral (_AC_INIT_CONFIG_LOG): New macro for setting up the + config.log file. + (_AC_INIT_DEFAULTS_FDS): Log to /dev/null instead of config.log. + (AC_INIT): Invoke _AC_INIT_CONFIG_LOG after _AC_INIT_VERSION. + +2001-04-04 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (_AC_INIT_DEFAULTS): Produce better version + information for config.log header. + (_AC_INIT_VERSION): Produce better version information for + `configure --version'. + +2001-03-30 Steven G. Johnson <stevenj@alum.mit.edu> + + * doc/autoconf.texi: Use "invalid" instead of "illegal," as + suggested by the GNU coding standards. + +2001-03-30 Tim Van Holder <tim.van.holder@pandora.be> + + * m4sh.m4 (AS_BASENAME): New. + (AS_SHELL_SANITIZE): Set `$as_me'. + * acgeneral.m4: Don't set as_me; AS_SHELL_SANITIZE now does this. + * tests/atgeneral.m4: Likewise. + (AT_INIT): Use $PATH_SEPARATOR for walking the path. + * autoconf.sh: Be DOS-friendly when setting as_me and M4. + Add quotes to support spaces in $tmp. + Work around problem in DJGPP port of awk by using a temporary file. + * autoheader.sh: Be DOS-friendly when setting as_me. + * autoreconf.sh: Be DOS-friendly when setting as_me, dir and + template_dir. + +2001-03-27 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (AC_INIT_VERSION): Improved version information string + for `configure --version'. + +2001-03-27 Akim Demaille <akim@epita.fr> + + * autoheader.sh (config_h): Be robust to new lines when extracting + the first argument of AC_CONFIG_HEADERS. + Reported by Lars J. Aas. + +2001-03-27 Tim Van Holder <tim.van.holder@pandora.be> + + * doc/autoconf.texi: Minor tweaks. + +2001-03-27 Tim Van Holder <tim.van.holder@pandora.be> + + * Makefile.am, configure.in: autoupdate is a Perl script. + +2001-03-20 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools): Some about + `touch'. + From Jim Meyering, Volker Borchert, and Peter Eisentraut. + +2001-03-20 Akim Demaille <akim@epita.fr> + + * tests/foreign.at (Libtool): Don't skip 1.3.5. + Invoke AC_CANONICAL_SYSTEM ---for some reason AC_CANONICAL_HOST is + not enough for 1.3.5. + From Lars J. Aas. + +2001-03-20 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4: s/Testing suite/Test suite/g. + From Jim. + (AT_INIT): Adjust the error message on invalid options. + * tests/foreign.at (Libtool): Skip Libtool 1.3 too. + +2001-03-20 Kevin Ryde <user42@zip.com.au> + + * doc/autoconf.texi: A couple of grammatical tweaks. + +2001-03-19 Akim Demaille <akim@epita.fr> + + * configure.in: Bump to 2.49e. + +2001-03-19 Akim Demaille <akim@epita.fr> + + Version 2.49d. + +2001-03-19 Akim Demaille <akim@epita.fr> + + * tests/tools.at (AWK portability): Don't rely on `empty'. + +2001-03-19 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Fix the at_diff test. + Reported by Nicolas Joly. + +2001-03-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_PREPROC_IFELSE): Redirect stdout out of the + _AC_EVAL_STDERR invocation to avoid `illegal io' on Ultrix. + Reported by Harlan Stenn, and fixed by Jim Meyering. + +2001-03-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Don't hard code + `/bin/sh', use $SHELL. + From Paul Eggert. + +2001-03-19 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (AC_FUNC_STRERROR_R): Update to + fileutils-4.0.42's. + +2001-03-19 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Don't always create `empty', rather + do it only when diffing `/dev/null' is not supported. + And use `at-devnull' instead of `empty'. + +2001-03-13 Akim Demaille <akim@epita.fr> + + * autoscan.pl, autoupdate.in: Use `use' instead of `require' to + require some version of Perl, so that the test is performed at + compile time, not run time. + Suggested by Nicolas Joly. + +2001-03-13 Tim Van Holder <tim.van.holder@pandora.be> + + * tests/aclocal.m4: Fix some typos. Also ignore $PATH_SEPARATOR. + * tests/atconfig.in: Set PATH_SEPARATOR to the proper + path separator. Set SHELL here... + * tests/atgeneral.m4: ... instead of here. Use $PATH_SEPARATOR + when setting AUTOTEST_PATH. Don't default tests to "all" before + deciding whether the help text is needed. + * tests/semantics.at: Use the correct path separator. + +2001-03-13 Tim Van Holder <tim.van.holder@pandora.be> + + * doc/autoconf.texi: Expand section on DOS issues. + Add link to the `doschk' package. Fix minor typo. + Clean up white spaces. + +2001-03-13 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_PROG_F77_C_O): define F77_NO_MINUS_C_MINUS_O + when test fails, not when it succeeds(!). + +2001-03-13 Akim Demaille <akim@epita.fr> + + * tests/tools.at (AWK portability): Use AT_CHECK to check for GNU + AWK so that there is always a AT_CHECK between + AT_SETUP/AT_CLEANUP. + Reported by Nicolas Joly. + +2001-03-13 Akim Demaille <akim@epita.fr> + + * tests/tools.at: Be sure to remove configure.ac~. + +2001-03-13 Raja R Harinath <harinath@cs.umn.edu> + + * autoupdate.in (File::Basename): Use package. + (%ac_macros, %au_macros): Save only base filenames. + +2001-03-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT): In the AU_DEFUN definition, don't try + to issue an obsolete message, it can't work for macros being + defined both with AC_DEFUN and AU_DEFUN. + Hence do it in the AC_DEFUN definition. + +2001-03-06 Pavel Roskin <proski@gnu.org> + + * tests/base.at (AC_TRY_*): Escape `^' - it's a pipe command + separator on Tru64 v5.1. + Reported by Nicolas Joly. + +2001-03-05 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Register at-setup-line and + at-check-line for removal. + Check for the presence of at-check-line only when $at_test was + really a test. + Reported by Pavel. + +2001-03-04 Pavel Roskin <proski@gnu.org> + + * tests/atgeneral.m4 (AT_INIT): s/am_me/as_me/. Quote AT_CHECK + in the error message. + +2001-03-02 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_INIT_PREPARE): Quote `$$*' correctly. + +2001-02-28 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Warn when at-check-line is + missing. + * tests/tools.at (Syntax of the scripts): Use AT_CHECK to test + /bin/sh -n. Exit 77 on failure. + Reported by Harlan Stenn. + +2001-02-28 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE_FS_SEPARATORS): Use `.;.' instead + of `.;`pwd`': if pwd is c:/foo, we might walk through `.:c' + (fails), and then `/foo' which might succeed, resulting in + believing `;' is the right path separator. + +2001-02-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AH_VERBATIM, AH_TEMPLATE): New, use AS_ESCAPE, not + _AS_QUOTE. + (_AH_VERBATIM_OLD, _AH_TEMPLATE_OLD): New, used for bugward + compatibility in... + (AC_DEFINE, AC_DEFINE_UNQUOTED): here. + +2001-02-26 Pavel Roskin <proski@gnu.org> + + * autoupdate.in (&mktmpdir): Strip the newline from the output + of mktemp. + +2001-02-26 Pavel Roskin <proski@gnu.org> + + * man/Makefile.am: autoupdate.1 now depends on autoupdate.in. + +2001-02-25 Tim Van Holder <tim.van.holder@pandora.be> + + * autoupdate.in: Support DOS paths. Initialize $tmp to + avoid warnings. Default $autoconf to 'autoconf'. + +2001-02-25 Akim Demaille <akim@epita.fr> + + * autoupdate.in (&END): Try to preserve the exit status. + Use backquotes where more readable. + Internal details should be dumped when $debug, not when $verbose. + +2001-02-25 Akim Demaille <akim@epita.fr> + + * autoupdate.in (&mktmpdir): New. + (&END): Remove $tmp. + (&parse_args): Handle -d and -l. + +2001-02-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE): Remove conf$$* on exit. + * m4sh.m4 (_AS_LN_S_PREPARE, _AS_BROKEN_TEST_PREPARE): + s/conftest/conf$$/ to avoid race conditions. + From Lars J. Aas. + +2001-02-25 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_PROG_INSTALL): Use ac_path_separator. + Restore the IFS earlier. + Suggested by Tim Van Holder. + +2001-02-25 Akim Demaille <akim@epita.fr> + + * m4sh.m4 (_AS_TEST_PREPARE): Rename as... + (_AS_BROKEN_TEST_PREPARE): this. + (_AS_TEST_PREPARE): New dummy but working version of this macro. + * acspecific.m4 (AC_PROG_INSTALL): Use AS_EXECUTABLE_P. + +2001-02-25 Akim Demaille <akim@epita.fr> + + * autoupdate.in (&parse_args): Support `-'. + +2001-02-25 Akim Demaille <akim@epita.fr> + + * autoupdate.in: Less Bournisms, more Wallisms. + +2001-02-23 Jim Meyering <meyering@lucent.com> + + * acgeneral.m4 (_AC_INIT_PREPARE_FS_SEPARATORS): Fix typo: s/;/:/ + * acgeneral.m4 (_AC_INIT_PREPARE_FS_SEPARATORS): Revert that change. + There was no typo. + +2001-02-22 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Typos and formatting changes. + +2001-02-21 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Use `AS_EXIT(0)' instead + of `exit 0' when exiting config.status. + +2001-02-21 Tim Van Holder <tim.van.holder@pandora.be> + + * doc/autoconf.texi: Add new node discussing issues related to + file systems (DOS, specifically). Document DJGPP's bash's special + handling of $PATH_SEPARATOR. + +2001-02-21 Akim Demaille <akim@epita.fr> + + * autoupdate.in: New. Replaces autoupdate.sh. + +2001-02-21 Akim Demaille <akim@epita.fr> + + * autoscan.pl (&find_configure_ac): New. + +2001-02-20 Paul Martinolich <martinol@datasync.com> + + * autoscan.pl (check_configure_ac): Pretty missing macro warnings + output. + +2001-02-19 Paul Eggert <eggert@twinsun.com> + + * aclang.m4 (AC_C_INLINE): Define "inline" to empty if the + compiler doesn't support 'static inline'. This is needed for + Encore Umax-3.0.9.16b. + +2001-02-19 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_LANG_COMPILER_WORKS): Rename as... + (_AC_COMPILER_EXEEXT_WORKS): this. Use the `a.out' or `a.exe' + left by _AC_COMPILER_EXEEXT_DEFAULT to check if the compiler works. + (_AC_COMPILER_EXEEXT_CROSS): Extract from the above macro. + (_AC_COMPILER_EXEEXT): Use them. + Adjust all the compiler looking macros to check for EXEEXT + *first*, then OBJEXT. + Set ac_exeext yourself. + (_AC_COMPILER_EXEEXT_O): Don't. + +2001-02-07 Pavel Roskin <proski@gnu.org> + + * tests/atspecific.m4 (AT_CONFIGURE_AC): Double quote constant + part of the second argument to AT_DATA. + * tests/compile.at (AC_PROG_CPP with warnings): Fix underquoting + in a call to _AT_CHECK_AC_MACRO. + (AC_PROG_CPP without warnings): Likewise. + +2001-02-11 Jim Meyering <meyering@lucent.com> + + Ensure that even `autoscan --version' fails when e.g., + writing to a full disk. + * autoscan.pl (END): New function. + + * autoscan.pl: Misc. clean-up: + Move declarations of variables into the scope where they're used. + Use `qw'. Don't use `$_'. + +2001-02-06 Paul Eggert <eggert@twinsun.com> + + * acspecific.m4 (AC_SYS_LARGEFILE_TEST_INCLUDES): Don't reject + C++ compilers that are masquerading as C compilers, and that + incorrectly reject large integers. + +2001-02-07 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (AC_OUTPUT): Remove $(srcdir), ${srcdir} and + @srcdir@ from VPATH if srcdir is "." and replace blank VPATH + lines with empty lines to preserve line numbers. + Original version by Derek Price. + +2001-02-07 Derek Price <derek.price@openavenue.com> + + * acgeneral.m4 (_AC_LIBOBJ): Call AC_LIBSOURCE with '.c' extension + appended to function name. + +2001-02-06 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_RUN_LOG, _AC_RUN_LOG_STDERR, AC_RUN_LOG): New. + (_AC_EVAL_STDERR, _AC_EVAL): Use them. + (_AC_INIT_PREPARE_FS_SEPARATORS): Use AC_RUN_LOG. + +2001-02-05 Derek Price <derek.price@openavenue.com> + + * autoheader.sh: Only set config_h for the first call to + AC_CONFIG_HEADERS. + +2001-02-05 Jim Meyering <meyering@lucent.com> + + * acspecific.m4 (AC_SYS_LARGEFILE): Add ULL suffix to the + integer constants. + +2001-02-05 Akim Demaille <akim@epita.fr> + + acfunctions.m4 was still using the old AC_LIBOBJ_DECL. + Reported by Derek R. Price. + + * tests/semantics.at (AC_REPLACE_FUNCS): New test. + * acfunctions.m4 (AC_REPLACE_FUNCS, _AC_LIBOBJ_ALLOCA): Use + AC_LIBSOURCES. + +2001-02-03 Pavel Roskin <proski@gnu.org> + + * tests/base.at (AC_TRY_COMMAND): Add a colon between "then" and + "else". Separate commands inside AC_TRY_COMMAND with semicolons. + From Nicolas Joly. + +2001-02-03 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_LOG_COMPLETE): Removed, dead code. + +2001-02-03 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK): Use + AC_LIBSOURCES. + +2001-02-03 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LIBOBJ_DECL): Remove. + (AC_LIBSOURCES, AC_LIBSOURCE): New. + +2001-02-02 Akim Demaille <akim@epita.fr> + + * tests/base.at (AC_TRY_COMMAND): Fix the test. + From Nicolas Joly. + + The following patch went into Autoconf between the two previous + entries: + + * acgeneral.m4 (AC_TRY_COMMAND): Use the old code, using a tmp + variable, to recover multiline robustness. + Reported by Tim Van Holder. + * tests/base.at (AC_TRY_COMMAND): New. + +2001-02-02 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_COMPUTE_INT_COMPILE): Rename all occurences + of ac_try to ac_mid to avoid a name clash. + +2001-02-02 Pavel Roskin <proski@gnu.org> + + * autoscan.pl (scan_c_file): When in verbose mode, don't print + out hashes common for the whole package. Do it in scan_files() + instead. + (scan_makefile): Likewise. + (scan_sh_file): Likewise. + Thanks to Jim Meyering for improved implementation. + +2001-02-01 Pavel Roskin <proski@gnu.org> + + * autoreconf.sh: Fix the case when the verbose output was not + redirected to stderr as everywhere else. + +2001-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + + * acgeneral.m4 (_AC_OUTPUT_SUBDIRS): Remove configure.ac + from check for ac_sub_configure. + +2001-01-30 Akim Demaille <akim@epita.fr> + + The recent addition of `exit's prototype in confdefs.h causes + AC_OUTPUT_MAKE_DEFS to include junky -D switches. + Reported by Wolfgang Mueller. + + * tests/torture.at (#define header templates): Include trash in + confdefs.h. + * tests/atgeneral.at (AT_INIT): Don't expect `find' to support + -maxdepth, hence don't use -follow either. + Reported by Nicolas Joly. + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS) <confdef2opt.sed>: In the + `quote' section, `p'rint the result. + If neither `#define' pattern match, just call `d' to start a new + cycle. + Invoke this sed program with -n. + +2001-01-30 Akim Demaille <akim@epita.fr> + + * tests/compile.at: New test. + * tests/atspecific.at (AT_CHECK): When given 77 as expected exit + status, don't include the `skip' mechanism. + +2001-01-30 Akim Demaille <akim@epita.fr> + + * tests/base.at (AC_CACHE_CHECK): Typo and clean up. + Check only --quiet. + +2001-01-30 Paul Eggert <eggert@twinsun.com> + + * autoheader.sh: Don't pass a string to 'echo' that might + possibly contain backslashes. + +2001-01-29 Pavel Roskin <proski@gnu.org> + + Don't use filenames that can be reduced to "conftest" on DOS. + + * acfunctions.m4 (AC_FUNC_MMAP): Use conftest.mmap, not + conftestmmap. + (AC_FUNC_UTIME_NULL): Use conftest.data, not conftestdata. + * acspecific.m4 (AC_PROG_MAKE_SET): Use conftest.make, not + conftestmake. + (_AC_PATH_X_XMKMF): Use conftest.dir, not conftestdir. + * acgeneral.m4 (AC_ARG_PROGRAM): Use conftest.sed, not + conftestsed. + * m4/sanity.m4: Use conftest.file, not conftestfile. + * doc/autoconf.texi (Guidelines for Test Programs): Suggest + using conftest.data, not conftestdata. + +2001-01-29 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4: Don't redirect builtins' stderr as Ultrix + hates this: use a subshell. + +2001-01-29 Assar Westerlund <assar@sics.se> + + * m4sh.m4 (_AS_TEST_PREPARE): Discard output when testing `test + -x' and `test -f' to avoid confusing users with error messages. + (AS_MKDIR_P): Invert order of separators in IFS to avoid problem + with some shells adding backslash between fields and parsing the + result for escapes. + * doc/autoconf.texi (Special Shell Variables): Document IFS. + +2001-01-29 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_PROG_F77): Improve documentation of the compilers + that are tried, add a few new ones (cft77, af77, epcf90, xlf95, g95), + and put pgf90 in the right place (before the F95 compilers). + +2001-01-29 Jim Meyering <meyering@lucent.com> + + * autoscan.pl: Do scan `configure.ac' when you claim it. + From Raja R Harinath. + (@kinds): Use `qw', rather than lots of quotes and commas. + (%generic_macro): Use single quotes around literals. + ($configure_scan): Define global, and use it instead of the literal. + Use `warn' in place of `printf STDERR'. + +2001-01-29 Akim Demaille <akim@epita.fr> + + * autoscan.pl: `Formatting++' changes: prototypes all the + functions, no longer use `&' to call functions as it disables + prototype checking, topological sort so that functions are defined + before being used, and put an Autoconf like nice comment to + describe the functions. + (output): Accept a CONFIGURE_SCAN parameter, and open CONF. + +2001-01-29 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SITE_LOAD): Let config.log know what you load. + +2001-01-27 Akim Demaille <akim@epita.fr> + + Follow Tim Van Holder's suggestions for a uniform handling of + symlinks. + + * m4sh.m4: Stay in `as_', not `ac_'. + (_AS_LN_S_PREPARE): Eve out from... + * acspecific.m4 (AC_PROG_LN_S): here. Adjust. + * m4sh.m4 (AS_LN_S): New. + (AS_SHELL_PREPARE): Call _AS_LN_S_PREPARE. + +2001-01-26 Assar Westerlund <assar@sics.se> + + * autoreconf.sh (find): Fix precedence. + (aclocal): Same as below for autoheader. + +2001-01-26 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (autoheader): Run it when there is no template, as + there is no risk to override a handwritten template. + From Assar Westerlund. + +2001-01-26 Akim Demaille <akim@epita.fr> + + * aclang.m4: dnl AC_ARG_VAR's newline. + (AC_PROG_CC, AC_PROG_F77, AC_PROG_CXX): AC_ARG_VAR(LDFLAGS). + * acgeneral.m4 (AC_CHECK_LIB): Don't do it. + +2001-01-26 Akim Demaille <akim@epita.fr> + + * tests/mktests.sh: Handle DOS issues: directory separator, single + dot in file names, and one actual bug: when set -e, running + (false; true) will of course fail, use (false || true). + From Tim Van Holder. + +2001-01-26 Tim Van Holder <tim.van.holder@pandora.be> + + * tests/Makefile.am (testsuite): Use testsuite.tmp, not + testsuite-tmp as temporary file. + +2001-01-25 Assar Westerlund <assar@sics.se> + + * autoreconf.sh: Also find configure.in. + +2001-01-24 Akim Demaille <akim@epita.fr> + + * configure.in: Bump to 2.49d. + +2001-01-24 Akim Demaille <akim@epita.fr> + + Version 2.49c. + +2001-01-24 Jim Meyering <meyering@lucent.com> + + * autoscan.pl (output): Detect/report a close failure. + +2001-01-24 Akim Demaille <akim@epita.fr> + + Preserve INSTALL too. + + * acgeneral.m4 (_AC_OUTPUT_FILES): Use ac_INSTALL for internal + computations, and therefore use INSTALL where ac_given_INSTALL + was used. + (_AC_OUTPUT_SUBDIRS): There is no point in computing INSTALL in + here. It's not even used. + +2001-01-24 Akim Demaille <akim@epita.fr> + + While preserved in configure, srcdir is trashed in config.status. + Reported by Ralf Corsepius. + + * tests/aclocal.m4 (AC_STATE_SAVE): It is ok to modify + CONFIG_STATUS, DEFS, prefix and exec_prefix. + It is OK to produce config.* files. + * tests/atspecific.m4 (AT_CONFIGURE_AC): Save the env *after* + AC_OUTPUT to check that it doesn't break anything by itself. + * tests/torture.m4 (srcdir): New test, from Ralf Corsepius. + * acgeneral.m4 (_AC_OUTPUT_FILES): Use ac_top_srcdir and ac_srcdir + to preserve srcdir and top_srcdir. + Remove any use of `ac_given_srcdir' as `$srcdir' being preserved + is usable. + +2001-01-24 Alexandre Duret-Lutz <duret_g@epita.fr> + + configure -q did not work since 2000-11-03. + + * acgeneral.m4 (_AC_INIT_DEFAULTS_FDS): Don't check for $silent, + tie AS_MESSAGE_FD to stdout unconditionally. + (_AC_INIT_PARSE_ARGS): If $silent redirect AS_MESSAGE_FD to + /dev/null. + * tests/base.at (AC_CACHE_CHECK): New test. + +2001-01-24 Tim Van Holder <tim.van.holder@pandora.be> + + * m4sh.m4 (AS_EXECUTABLE_P, _AS_TEST_PREPARE): New macros. + (AS_SANITIZE_SHELL): Call _AS_TEST_PREPARE. + * acgeneral.m4 (AC_CHECK_PROG, AC_PATH_PROG): Use AS_EXECUTABLE_P + instead of test -f. + +2001-01-24 Akim Demaille <akim@epita.fr> + + * autoscan.pl (generic_macro): s/AC_CHECK_FUNCTIONS/AC_CHECK_FUNCS/. + * acfunctions: Just like the previous patch. + +2001-01-24 Akim Demaille <akim@epita.fr> + + * autoscan.pl (@kinds, %generic_macro): New. + (&init_tables): Use them. + * acheaders: Run `autoconf -t AC_CHECK_HEADERS:'$1'' on the fileutils, + and include all these headers in here. + Don't specify `AC_CHECK_HEADERS' as it's the default. + +2001-01-24 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Just like the previous patch, but for + AC_CHECK_FUNCS, AC_CHECK_TYPES, and AC_CHECK_MEMBERS. + +2001-01-24 Akim Demaille <akim@epita.fr> + + * autoscan.pl (print_unique): Push all the macro invocation + locations. + (output_headers): For headers that need to be checked, push either + the specialized macro, or the generic macro call. + (check_configure_ac): Handle AC_CHECK_HEADERS. + +2001-01-24 Raja R Harinath <harinath@cs.umn.edu> + + Some non-srcdir build fixes. + * configure.in (BUGS): Look for file in $srcdir. + * tests/Makefile.am (MACRO_FILES): Use '..', not '$(top_srcdir)'. + +2001-01-24 Akim Demaille <akim@epita.fr> + + Don't AC_SUBST too much, as it makes Automake include those + variables in Makefiles, and drives autoscan to require unneeded + programs. + + * acgeneral.m4 (_AC_INIT_PREPARE): Don't AC_SUBST CFLAGS, + CPPFLAGS, CXXFLAGS and LDFLAGS. + (AC_ARG_VAR): AC_SUBST the var. + Document it only once, even if there are several different docs. + * aclang.m4 (AC_PROG_CPP): Declare CPP and CPPFLAGS to AC_ARG_VAR. + (AC_PROG_CXXCPP): Declare CXXCPP and CPPFLAGS. + +2001-01-24 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_expand_once): Accept a witness. + +2001-01-23 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_EXPAND_ONCE): Remove, use m4_expand_once. + (AC_DIVERT_ONCE): Move to... + * m4sugar.m4 (m4_expand_once): here. + +2001-01-23 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_LANG_SET): Turn off optimizations. + +2001-01-23 Akim Demaille <akim@epita.fr> + + * configure.in: If this is a beta, dump the core of BUGS. + * tests/base.at (AC_REQUIRE & AC_LANG): New test, currently failing. + +2001-01-23 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Don't use `defined' to check whether an array is + defined. + Don't use parens with `defined'. + +2001-01-23 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE): Be sure to quote hashes to + avoid M4 thinking it's comments. + +2001-01-23 Tim Van Holder <tim.van.holder@pandora.be> + + * aclang.m4 (_AC_COMPILER_EXEEXT_O): Use + AS_IF([AC_TRY_EVAL(ac_link)]) instead of AC_LINK_IFELSE to + avoid depending on ac_exeext before it's found. + (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Check for the + executable extension BEFORE checking whether the compiler + works, as that test depends on a correct ac_exeext. + +2001-01-23 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE) <trap>: Typo. + +2001-01-22 Pavel Roskin <proski@gnu.org> + + * autoscan.pl: Use "use strict". Declare all global variables + or make them private. Make all local variables private. + (find_autoconf): New, moved some code from the top level. + Use %ENV outside quotes to eliminate a warning. + +2001-01-22 Tim Van Holder <tim.van.holder@pandora.be> + + * acspecific.m4 (AC_PROG_LN_S): Detect DJGPP < 2.04, which only + supports 'ln -s' for executables. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * autoscan.pl ($dir, $autoconf): New. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * autoscan.pl ($headers, $functions, $identifiers, $libraries): + Also register locations of their requirement instead of a simple + counter. + (&check_configure_ac): Close TRACES. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Formatting changes. + Check `configure.ac' or `configure.in' if present. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * autoscan.pl (&wanted): Don't register `Makefile' when + `Makefile.in' is present. + Factor the simplification of $name. + (&scan_makefile, &scan_sh_file): Instead of counting the number of + occurrences where a program/makevar is wanted, register file:line. + Adjust the verbose output. + (&check_configure_ac): Report the location where the macro is required. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Instead of undefined globals, set them to empty + values. + (%needed_macros): New. + (&check_configure_ac): New. Call it. + (&output_libraries): Eve out from &output_programs. + (&print_unique): For the time being register in %needed_macros + only argument less macros. + +2001-01-22 Lars J. Aas <larsa@sim.no> + + * aclang.m4 (_AC_PROG_CXX_EXIT_DECLARATION): First try no declaration, + then '#include <stdlib.h>', before trying the explicit declarations. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_COMPILE_IFELSE): Wrap the test -s in + AC_TRY_COMMAND to improve config.log. + (_AC_INIT_DEFAULTS): Don't define ac_exeext and ac_objext to + highlight failures. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Work around a currently + impossible to describe bug of SunOS 4.1.3 which causes a shell + crash when using `VAR=${VAR="$default"}'. + Reported and diagnosed by Kevin Ryde. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (AC_FUNC_GETGROUPS): Typo :(. + +2001-01-22 Lars J. Aas <larsa@sim.no> + + * aclang.m4 (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O): + Export ac_cv_exeext so ltconfig believes the value is cached and + skips its own faulty test. + +2001-01-22 Jim Meyering <meyering@lucent.com> + + * actypes.m4 (AC_TYPE_GETGROUPS): Double quote the test program + body. + +2001-01-22 Tim Van Holder <tim.van.holder@pandora.be> + + * aclang.m4 (AC_LANG_INT_SAVE, AC_LANG_INT_SAVE(C)): Use + conftest.val, not conftestval. + * acgeneral.m4 (_AC_COMPUTE_INT_RUN, _AC_COMPUTE_INT): + Likewise. + +2001-01-22 Akim Demaille <akim@epita.fr> + + Create actypes.m4. + + * acgeneral.m4 (AC_CHECK_SIZEOF, _AC_CHECK_TYPE_NEW) + (AC_CHECK_TYPES, _AC_CHECK_TYPE_OLD) + (_AC_CHECK_TYPE_REPLACEMENT_TYPE_P, _AC_CHECK_TYPE_MAYBE_TYPE_P) + (AC_CHECK_TYPE, AC_CHECK_MEMBER, AC_CHECK_MEMBERS): Move into... + * actypes.m4: here. + * acgeneral.m4 (AC_TYPE_GETGROUPS, AM_TYPE_PTRDIFF_T) + (AC_TYPE_UID_T, AC_TYPE_SIZE_T, AC_TYPE_PID_T, AC_TYPE_OFF_T) + (AC_TYPE_MODE_T, AC_INT_16_BITS, AC_LONG_64_BITS, AC_TYPE_SIGNAL) + (AC_STRUCT_TM, AC_STRUCT_TIMEZONE, AC_STRUCT_ST_BLKSIZE) + (AC_STRUCT_ST_BLOCKS, AC_STRUCT_ST_RDEV): Move into... + * actypes.m4: here. + Adjust the test suite. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Include a default case for non + existing tests. + * tests/atspecific.m4 (AT_CONFIGURE_AC, AT_CHECK_ENV) + (AT_CHECK_AUTOUPDATE, AT_CHECK_AU_MACRO): New. + Spread their use. + (AT_CHECK_MACRO): Pass `-W obsolete' to autoconf. + * tests/semantics.at (AC_HAVE_FUNCS): Obsolete, don't check. + * tests/mktest.sh: Create one test file per Autoconf source + file instead of separating syntax/update. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Some about diff and cmp. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * sh.m4 (AS_ESCAPE): New. + (_AS_QUOTE_IFELSE): Use it. + * tests/atgeneral.m4 (AT_INIT) <SHELL>: Define and use. + <--help> Don't display the options help when tests were selected. + Document -d. + <at_skip_list>: New. + <testsuite.log>: Give a banner, include ChangeLog snippets, list + the failed and skipped tests. + Remove useless $at_traceoff in sub shells, this improves the + readability of the traces by removing testsuite's implementation + details. + (AT_CHECK): Filter out the shell traces from the tested command's + stderr. + Use AS_ESCAPE. + Don't register experr and expout for clean up, as it's hairy and + easier to do from... + Support STDOUT = stdout, and STDERR = stderr. + Force the output of shell traces. + (AT_INIT): Here. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT, AC_OUTPUT): Don't take care of completing + the log. + (_AC_INIT_PREPARE): Do it in the trap 0. + +2001-01-22 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Instead of undefined globals, set them to empty + values. + (%needed_macros): New. + (&check_configure_ac): New. Call it. + (&output_libraries): Eve out from &output_programs. + (&print_unique): For the time being register in %needed_macros + only argument less macros. + +2001-01-22 Raja R Harinath <harinath@cs.umn.edu>, + Tim Van Holder <tim.van.holder@pandora.be>, + Jim Meyering <jim@meyering.net> + + * acspecific.m4 (AC_AIX): Fix typo: s/@\$/@%/. + +2001-01-19 Akim Demaille <akim@epita.fr> + + Catch only used patterns. + Reported by the whole Autoconf community. + + * m4sh.m4 (AS_INIT): New. + * acgeneral.m4 (AC_PLAIN_SCRIPT): Use it. + Forbid only AC, AU, AH and AM. + +2001-01-19 Akim Demaille <akim@epita.fr> + + Optimizing AC_LANG was broken. Test and fix. + + * aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)): Don't + use _AC_LANG_ABBREV so that you don't depend upon _AC_LANG. + (_AC_LANG_SET): New. + (AC_LANG, AC_LANG_PUSH, AC_LANG_POP): Use it. + * tests/compile.at: Test AC_LANG, AC_LANG_PUSH & AC_LANG_POP. + +2001-01-19 Akim Demaille <akim@epita.fr> + + * sugar.m4 (m4_require): Missing dnl. + +2001-01-18 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PLAIN_SCRIPT): AF_INET, AF_UNIX, AR_FLAGS, + AS_FLAGS are OK. + +2001-01-18 Tim Van Holder <tim.van.holder@pandora.be> + + * m4sh.m4 (AS_MKDIR_P): Properly support DOS-style paths. + +2001-01-18 Akim Demaille <akim@epita.fr> + + * tests/foreign.at (Autoconf & Libtool): `configure.in', not `.ac' + since Libtool does not yet support it. + Let the test suite be more verbose about at-path. + From Patrick Welche. + +2001-01-18 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4 (AT_CHECK_DEFINES): Discard + STDLIB|INTTYPES|MEMORY|STRING|UNISTD. + * tests/semantics.at (AC_CHECK_SIZEOF): Don't check the presence + of default headers, as it's machine dependent. + Reported by Jim Meyering and Nicolas Joly. + +2001-01-18 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Don't leave macro names in comments. + * aclang.m4: Likewise. + * configure.in: Likewise. + * tests/semantics.at: Likewise. + * tests/tools.at: Likewise. + +2001-01-18 Akim Demaille <akim@epita.fr> + + Medium term goal: AC_ macros can be tested with -W obsolete. + + * acgeneral.m4 (AC_RUN_IFELSE): Accept IF-CROSS-COMPILING. + (AC_TRY_RUN): Use it. + * acfunctions.m4: Start ousting AC_TRY_RUN and AC_TRY_COMPILE. + * acspecific.m4 (AC_AIX, AC_MINIX, AC_ISC_POSIX): AC_BEFORE on + AC_COMPILE_IFELSE and AC_RUN_IFELSE. + +2001-01-18 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INCLUDES_DEFAULT): Force the newline to avoid + bad surprises. + Reported by Jim. + +2001-01-18 Akim Demaille <akim@epita.fr> + + Require a perfect divert push/pop balance. + + * m4sugar.m4 (m4_divert, m4_divert_push, m4_divert_pop): Keep + track of them in m4_divert_stack. + (m4_divert_pop): Accept the expected current diversion as + argument and m4_fatal if incorrect, or if there is nothing to pop. + (globally): Specify the known m4_divert_pop. + Preserve symbolic values when possible. + * acgeneral.m4: No longer push the first diversion. + Specify the known m4_divert_pop. + (AC_PLAIN_SCRIPT): When m4_divert_push a diversion, m4_wrap its + pop. + (AC_INIT): Run AC_PLAIN_SCRIPT first, not last. + * tests/m4sh.at (AS_DIRNAME & AS_DIRNAME_SED): Can't use m4_defun + without m4_init. + * m4sugar.m4: Likewise. + +2001-01-18 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_defn, m4_undefine, m4_popdef): Unlike the + builtin, fail on undefined symbols. + * tests/torture.at (Torturing config.status): Stop playing nasty + tricks with changequote. + (AC_DEFUBST): Move here from... + * tests/aclocal.m4: there. + +2001-01-18 Akim Demaille <akim@epita.fr> + + Various cleanups and consistency checks. + + * m4sugar.m4: Formatting changes. + * acgeneral.m4 (AC_DIVERT_PUSH, AC_DIVERT_POP, AC_REQUIRE) + (AC_DIAGNOSE, AC_FATAL, AC_MSG_WARN, AC_MSG_NOTICE, AC_MSG_ERROR): + Use m4_copy to define them, in order to keep a good $0. + (AC_INIT): AC_LANG_PUSH C, not AC_LANG, to initialize the stack. + * aclang.m4 (AC_LANG_PUSH): Dont't use m4_defn on undefined macros. + (AC_LANG_POP): Admit an argument specifying the language we quit + when popping. + Adjust Autoconf's AC_LANG_POPs. + * tests/tools.at (AWK portability): Don't depend on AC_INIT. + (autoconf --trace: user macros): Obviously I + meant TRACE1, not AC_TRACE1. + +2001-01-17 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_undefine, m4_popdef): Don't tolerate undefined + arguments. + (_m4_expansion_stack): Rename as... + (m4_expansion_stack): this, and change its value: instead of using + the pushdef stack to stack each *line* of the stack, each + definition contains the whole stack. I.e., to display the whole + stack, instead of popdefing and displaying each definition, just + display the current definition. + (m4_expansion_stack_push, m4_expansion_stack_pop): New. + * tests/atspecific.m4 (AT_CHECK_AUTOCONF): Let $2 be the expected + exit status. + * tests/m4sugar.m4 (m4_require: circular dependencies): New test. + +2001-01-17 Pavel Roskin <proski@gnu.org> + + * m4sugar.m4 (m4_normalize): New macro - superposition of + m4_flatten and m4_strip. + (m4_join): Use m4_normalize. + * acgeneral.m4 (AC_FOREACH): Use m4_normalize. + (AC_CONFIG_HEADERS): Normalize the first argument. + (AC_CONFIG_LINKS): Likewise. + (AC_CONFIG_SUBDIRS): Likewise. + +2001-01-17 Tim Van Holder <tim.van.holder@pandora.be> + + * acgeneral.m4 (_AC_OUTPUT_SUBDIRS): Quote $ac_sub_srcdir uses. + +2001-01-16 Akim Demaille <akim@epita.fr> + + Work around the Ultrix limitations on ``multiple redirections''. + Reported by Harlan Stenn. + + * acgeneral.m4 (_AC_EVAL_STDERR): New. + (_AC_PREPROC_IFELSE): Use it. + +2001-01-16 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_data_files): Fix the computation of PATH. + +2001-01-16 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_LOG_COMPLETE): Eve out from AC_OUTPUT. + (_AC_INIT_DEFAULTS, AC_OUTPUT): Use it. + +2001-01-16 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Lots of additions and changes. + (File Descriptors): New. + (Limitations of Make): New. + +2001-01-16 Akim Demaille <akim@epita.fr> + + * m4sh.m4 (AS_EXIT): Don't rely on exit == exit $?. + Reported by Tim Van Holder. + +2001-01-16 Akim Demaille <akim@epita.fr> + + * Makefile.am (editpl, editsh): Merge into... + (edit). + * m4sh.m4 (AS_UNAME): Eved out from... + * acgeneral.m4 (_AC_INIT_DEFAULTS): here. + (_AC_INIT_PACKAGE): Define AC_PACKAGE_NAME. + (_AC_INIT_PARSE_ARGS): AC_SUBST the PACKAGE_ variables. + Propagate their use in the executables and the test suite. + * tests/atgeneral.m4 (PATH): Include only absolute paths. + (AT_INIT): Use AS_UNAME. + +2001-01-16 Akim Demaille <akim@epita.fr> + + When default headers are used, check for their presence. + Suggested by Jim. + + * acgeneral.m4 (_AC_INIT_DEFAULTS): Don't define + ac_includes_default, since... + (_AC_INCLUDES_DEFAULT_REQUIREMENTS): this new macro does. + (AC_INCLUDES_DEFAULT): Require the former when default includes + are used. + (AC_CHECK_MEMBERS, _AC_CHECK_TYPE_NEW): Don't require + AC_HEADERS_STDC, that's a job for stupendous AC_INCLUDES_DEFAULT. + * acfunctions.m4 (AC_FUNC_MALLOC): Check for stdlib.h. + +2001-01-15 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Normalize sh samples. + +2001-01-15 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Simplify the hairy display of the + identity of the tests. + +2001-01-15 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): When the suite failed, complain + before creating the debug scripts. + Create a log file. + When ignoring a test, display a reassuring `ok' for stressed + users, and say `skipped' instead. + Simply run `testsuite' with the failed tests instead of running + the debug scripts, this avoids having zillions of banners `Testing + Blabla 2.13' (another means to avoid these banners is to have the + test suite succeed :-). + +2001-01-15 Akim Demaille <akim@epita.fr> + + * sh.m4 (AS_BOX, _AS_BOX_LITERAL, _AS_BOX_INDIR): New. + * tests/atgeneral.m4: Use it. + +2001-01-15 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_VAR_INDIR_IFELSE): Move as... + * m4sh.m4 (AS_LITERAL_IF): this. + (AS_IFELSE): Rename as... + (AS_IF): this. + +2001-01-12 Akim Demaille <akim@epita.fr> + + With `expr's that return `0' on failures, the executable suffix is + `0'. Test and fix. + Reported by Assar Westerlund. + + * Makefile.am (maintainer-check): New target. + * tests/Makefile.am (maintainer-check, maintainer-check-posix) + (maintainer-check-c++, expr): Likewise. + * configure.in (EXPR): Look for it. + * tests/atgeneral.m4 (AT_CHECK): Propagate $2's default value. + * tests/compile.at (Extensions): New test. + * aclang.m4 (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O): + Distinguish files with or without a dot. + +2001-01-12 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Last changes for `configure.ac'. + (_AC_INIT_HELP, _AC_OUTPUT_SUBDIRS): Take `configure.ac' into + account. + * autoreconf.sh: Likewise. + +2001-01-11 Motoyuki Kasahara <m-kasahr@sra.co.jp> + + * acfunctions.m4 (AC_FUNC_MEMCMP): Missing comma in AC_TRY_RUN + invocation. + +2001-01-11 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_PROG_CXX_EXIT_DECLARATION): New. + (AC_PROG_CC, AC_PROG_CXX): Use it. + (AC_PROG_CC_STDC): Be sure to remove tmp files. + * tests/compile.at (AC_TRY_LINK_FUNC): Don't use exit to test it, + since it produces a prototype which conflicts with the one + computed by _AC_PROG_CXX_EXIT_DECLARATION. + * tests/semantics.at (AC_CHECK_FUNCS, AC_HAVE_FUNCS): Likewise. + (AC_HAVE_FUNCS): Test AC_HAVE_FUNCS! + +2001-01-11 Kevin Ryde <user42@zip.com.au> + + * autoconf.texi (Shellology): Fix an @end itemize, and a typo. + +2001-01-11 Kelly Anderson <tgcorp@attglobal.net> + + * autoconf.sh (M4): Handle PC drive letters. + * autoupdate.sh: Likewise. + +2001-01-11 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_PROG_F77): Add pgf90 to the list of compilers to + look for, after the other Fortran 90 compilers. + +2001-01-11 Akim Demaille <akim@epita.fr> + + * aclang.m4: Use m4_copy to duplicate macros. + (AC_LANG_PUSH): In order to have AC_LANG's simplifications + effective, be sure to let _AC_LANG be the old language before + calling AC_LANG. + +2000-12-25 Pavel Roskin <proski@gnu.org> + + * autoreconf.sh: s/localddir/localdir/. + Reported by Motoyuki Kasahara. + +2000-12-23 Akim Demaille <akim@epita.fr> + + * autoconf.sh: Promote `configure.ac' over `configure.in'. + * autoreconf.sh: Likewise. + * autoheader.sh: Ditto. + * autoupdate.sh: Similarly. + * doc/autoconf.texi: Adjust. + * tests/atspecific.m4: Be sure to remove configure.in. + Adjust the test suite to use `configure.ac'. + +2000-12-22 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_EVAL, AC_TRY_EVAL, AC_TRY_COMMAND): Be a + single statement, so that one can make pipes with AC_TRYs, just as + in 2.13. + +2000-12-20 Lars J. Aas <larsa@sim.no> + + * aclang.m4 (_AC_COMPILER_OBJEXT, _AC_COMPILER_EXEEXT_O): + Make the order of arguments for ls count by splitting the ls + command into a sequence of ls commands. + +2000-12-20 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_LANG_COMPILER_GNU): Be sure to have `choke me' on + the seventh column so that the SGI Fortran compiler really chokes + on it. + From Ezra Peisach. + +2000-12-20 Akim Demaille <akim@epita.fr> + + * tests/foreign.at (Autoconf & Libtool): Ignore Libtool version + 1.3.[0-5]. + * tests/compile.at (GNU Fortran 77): Use AS_EXIT. + +2000-12-20 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CLEANUP_FILE_IFELSE): Fix the regexp: the + pattern ` state* ' was added many times for `*' was improperly + escaped. + (AT_INIT): Remove the data files before running the tests. + Define AT_data_files and output it. + (AT_SETUP): Don't. + (_m4_divert(TEST)): Remove, now useless. + +2000-12-20 Akim Demaille <akim@epita.fr> + + * aclang.m4: `dnl' the AC_LANG_PUSH and AC_LANG_POP. + (AC_PROG_CXXCPP, AC_PROG_CPP): Set the current language instead of + just asserting it, since these macros can be called directly. + Reported by Raja R. Harinath. + +2000-12-19 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Installation Directory Variables): More info + on prefix and exec_prefix. + +2000-12-19 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_COMPILER_OBJEXT): Don't rely on + _AC_COMPILE_IFELSE which uses ac_objext in a `test -s'. + Reported by Lars J. Aas. + +2000-12-19 Akim Demaille <akim@epita.fr> + + * tests/compile.at (AC_PROG_CPP without warnings, GNU Fortran 77): + Use AC_TRY_COMMAND when running commands, to enrich the logs. + +2000-12-19 Akim Demaille <akim@epita.fr>, Mo DeJong <mdejong@cygnus.com> + + * aclang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): New. + (_AC_COMPILER_EXEEXT_O): Extracted from... + (_AC_COMPILER_EXEEXT): here. Adjust. + +2000-12-19 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CHECK): Make exit status report more + visible. + * tests/atspecific.m4 (AT_CHECK_AUTOCONF): Support FLAGS, STDOUT + and STDERR. + (AT_CHECK_CONFIGURE): Support plenty, cleanup defs when needed. + Spread their use in the whole suite. + Simplify a few AT_CLEANUPs. + +2000-12-19 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CHECK): Accept if-failed and + if-not-failed. + * tests/atspecific.m4 (AT_CHECK_CONFIGURE): Use it in order to + dump config.log when configure failed. Before, the log was + reported only on success. + +2000-12-19 Akim Demaille <akim@epita.fr> + + * tests/foreign.at: New file. + +2000-12-19 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_BANNER, AT_CLEANUP): Formatting changes. + +2000-12-18 Pavel Roskin <proski@gnu.org> + + * Makefile.am: Add a comment explaining why suffix rules are not + used there. + +2000-12-15 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: If the "allowed" pattern is not defined set it + to "^$". + * tests/tools.at (autoconf: forbidden tokens, basic): New test. + (autoconf: forbidden tokens): Renamed to ... + (autoconf: forbidden tokens, exceptions): ... this. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_PROG_CXXCPP, AC_PROG_CPP): Require AC_PROG_CXX/CC. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * tests/compile.at (GNU Fortran 77): G77 is a `yes'/`' var. + Reported by Ezra Peisach. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * tests/compile.at (GNU Fortran 77): s/g77/G77/. + Reported by Ezra Peisach. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * man/Makefile.am (.x.1): Fix to work properly with + builddir != srcdir. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)) + (AC_PROG_CPP, AC_PROG_CXXCPP, AC_PROG_GCC_TRADITIONAL) + (_AC_PROG_CC_G, AC_PROG_CC_C_O, _AC_PROG_CXX_G, AC_PROG_CC_STDC): + Don't use `${CC-cc}' since now the AC_REQUIRE machinery guarantees + that $CC is defined. And if not, it's a bug which must be + observable. + * acspecific.m4 (AC_SYS_LARGEFILE): Likewise. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_PREPROC_IFELSE): Use ac_status as set by + AC_TRY_EVAL. + (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE): More alike, + using AS_IFELSE, and systematically AC_TRY_COMMAND when testing + something (for the logs). + +2000-12-15 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_PROG_PREPROC_WORKS): Use _AC_PREPROC_IFELSE. + * acgeneral.m4 (_AC_TRY_CPP): Its last use was that above, so + inline it into... + (_AC_PREPROC_IFELSE): here. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Forget about `-n'. + Adjust so that `./testsuite -h 1 2' explains only tests 1 & 2. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_EVAL): New. + (AC_TRY_EVAL, AC_TRY_COMMAND): Use it. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_PREPROC_IFELSE, AC_PREPROC_IFELSE): New. + (AC_TRY_CPP): Use AC_PREPROC_IFELSE. + (AC_CHECK_MEMBER, AC_CHECK_DECL, _AC_CHECK_TYPE_NEW): Quote + properly. + * acheaders.m4 (AC_CHECK_HEADER): Quote properly, use + AC_PREPROC_IFELSE. + * acspecific.m4 (_AC_PATH_X_DIRECT): Use AC_PREPROC_IFELSE. + +2000-12-15 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_init): Catch `dnl'. + +2000-12-15 Pavel Roskin <proski@gnu.org> + + * m4sh.sh (AS_ERROR): Restore dnl at the end of the macro. + +2000-12-14 Pavel Roskin <proski@gnu.org> + + * tests/semantics.at (AC_CHECK_TYPES): There are two tests with + this name. Rename the second one to "AC_CHECK_TYPES: backward + compatibility" + (AC_TRY_LINK_FUNC): Removed. It's now in tests/compile.at. + (C keywords): Likewise. + (AC_PROG_CPP with warnings): Likewise. + (AC_PROG_CPP without warnings): Likewise. + +2000-12-14 Akim Demaille <akim@epita.fr> + + Put back AC_CYGWIN etc. under the responsibility of the + configure.in maintainer, but discourage its use. + + * acspecific.m4 (_AC_CYGWIN, _AC_MINGW32, _AC_EMXOS2): Rename as... + (AC_CYGWIN, AC_MINGW32, AC_EMXOS2): these. + AU defined on top of AC_CANONICAL_HOST and $host_os. + * tests/mktests.sh (update_exclude_list): Add AC_CYGWIN, + AC_MINGW32, and AC_EMXOS2. + +2000-12-13 Pavel Roskin <proski@gnu.org> + + * m4sugar.m4 (m4_file_append): Add a newline after _m4eof, + otherwise _m4eof is appended to the output on FreeBSD 4.0. + * tests/atgeneral.m4 (AT_INIT): Avoid using unbalanced "y" + in sed, use "s" instead. + * tests/mktests.sh: Don't use \? in sed - it's a GNU extension. + Use separate patterns for A[CU]_DEFUN and AC_DEFUN_ONCE. + +2000-12-13 Akim Demaille <akim@epita.fr> + + EXEEXT and OBJEXT don't need to know $CYGWIN etc. + + * acspecific.m4 (AC_EXEEXT, AC_OBJEXT, _AC_EXEEXT, _AC_OBJEXT): + Move as... + * aclang.m4 (AC_EXEEXT, AC_OBJEXT, _AC_COMPILER_EXEEXT) + (_AC_COMPILER_OBJEXT): these. + (_AC_COMPILER_EXEEXT): Use _AC_LINK_IFELSE. + Don't depend upon $CYGWIN and the like. + (_AC_COMPILER_OBJEXT): Model after _AC_COMPILER_EXEEXT. + Skip more extensions. + Use _AC_COMPILE_IFELSE. + +2000-12-12 Pavel Roskin <proski@gnu.org> + + * Makefile.am: Don't use suffix rules for perl and shell + scripts. Use explicit rules instead. + +2000-12-12 Pavel Roskin <proski@gnu.org> + + * autoscan.pl (init_tables): Allow spaces on the right hand side + in autoscan tables. Die if there are no spaces at all. + (scan_c_file): Use \b instead of \W so that keywords match at + the beginning and the end of the line. + (scan_sh_file): Likewise. + (scan_makefile): Likewise. Use \B to match before `-l'. + (output): Suggest AC_CONFIG_HEADER if any C/C++ sources are + found. + * acidentifiers: Update macros for structure members st_blksize + and st_rdev. + +2000-12-12 Akim Demaille <akim@epita.fr> + + * tests/compile.at (GNU Fortran 77): Be robust to compilers that + choke on `--version'. + +2000-12-12 Akim Demaille <akim@epita.fr> + + * tests/suite.at: Run `tools.at' first. + +2000-12-12 Akim Demaille <akim@epita.fr> + + * tests/aclocal.m4 (AC_STATE_SAVE): Use a more precise regexp to + keep envvars. + +2000-12-12 Akim Demaille <akim@epita.fr> + + AS_ERROR was not properly saving data in the log file. + + * sh.m4 (AS_WARN, AS_ERROR): Use AS_MESSAGE. + (_AS_ECHO): Fix quotation. + (AS_MESSAGE): Use `as_me'. + * acgeneral.m4: More banners in the log. + (_AC_INIT_DEFAULTS): Compute as_me before using it. + +2000-12-08 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (System Services) <AC_PATH_XTRA>: Adjust the + documentation about X_DISPLAY_MISSING to the code. + +2000-12-07 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): More robust computation of + ac_tests_pattern. + Reported by Andrej Borsenkow. + +2000-12-07 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_EXEEXT): Skip *.pdb. + From Paul Berrevoets. + +2000-12-07 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CHECK): Bad typo: assign `exit 1' to + at_continue if something failed, not `:'. + * tests/semantics.at (AC_PATH_XTRA): New. + * acspecific.m4 (_AC_PATH_X): New, extracted form AC_PATH_X. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * configure.in: Bump version to 2.49c. + +2000-12-06 Akim Demaille <akim@epita.fr> + + Version 2.49b. + +2000-12-06 Akim Demaille <akim@epita.fr> + + Stop playing with FDs in Autotest. + + * tests/atgeneral.m4 (AT_INIT): Set up FD 5. + (AT_CHECK): Instead of using exec to globally change the FDs of + `testsuite', enclose the body of the test into a + `(..) >stdout 2>stderr'. + In every case, when verbose, display the differences between + expected and observed (stdout, stderr, exit status). + Let `0' be the default for EXIT-STATUS. + Support EXIT-STATUS == `ignore'. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * tests/tools.at (autoconf: forbidden tokens): Adjust expected + result. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * man/config.guess.x: New file. + * man/config.sub.x: New file. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * tests/aclocal.m4 (AT_STATE_SAVE): Don't even try to preserve + egrep error messages, AT_CHECK will find them. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools) <awk>: `for' on + arrays is nondeterministic across AWK implementations. + * tests/tools.at (autoconf: forbidden tokens): Sort the error + message to guarantee its uniqueness. + +2000-12-06 Akim Demaille <akim@epita.fr> + + The SunOS' egrep fails to process properly the `egrep' invocations + of the test suite. + + * tests/aclocal.m4 (AC_STATE_SAVE): If egrep fails, remove the + output file. + * tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Don't check `state-*' + if the files are not present. + + * m4sugar.m4 (m4_join): Rename as... + (m4_smash): this. + * tests/aclocal.m4 (join): Move as... + * m4sugar.m4 (m4_flatten): this. + * autoconf.sh (trace.m4): Rename m4_smash as m4_flatten. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * autoconf.sh (task trace): s/m4/$M4/. + * autoheader.sh: When loading trace.sh, catch errors and exit with + a decent error message. + * tests/tools.at: Be sure to test autoconf --trace before + autoheader. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CHECK): Fix the m4_ifval invocation. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_LANG): Be `smart': don't issue the sh code if the + current language did not change. + (AC_LANG_ASSERT): New. + (AC_PROG_CPP, AC_PROG_CXXCPP): Assert the language. + (_AC_PROG_F77_V, _AC_F77_NAME_MANGLING): Don't require + AC_PROG_F77, the code you include does it. + (AC_F77_LIBRARY_LDFLAGS): Set the language. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (ifelse): Rename as... + (m4_if): this. + * autoconf.m4 (ifelse): Restore. + +2000-12-06 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_dquote, m4_pattern_forbid, m4_pattern_allow) + (m4_cr_letters, m4_cr_LETTERS, m4_cr_Letters, m4_cr_digits) + (m4_cr_symbols1, m4_cr_symbols2, m4_re_string, m4_re_word) + (m4_init): New macros. + (m4_token_allow): Remove. + * acgeneral.m4: Don't push BODY into the diversion stack. + (AC_PLAIN_SCRIPT): Do it. + Call m4_init, define the Autoconf patterns. + (AC_INIT): Use AC_PLAIN_SCRIPT. + Remove the useless `dnl' (those where the current diversion is + KILL). + * autoconf.sh (m4_common): Fix quotation. + (finalize.awk): Load forbidden.rx and allowed.rx. + Split the line into tokens, and check their validity. + * tests/tools.at (Forbidden tokens): Adjust. + +2000-12-05 Bob Wilson <bwilson@tensilica.com> + + * acspecific.m4 (_AC_OBJEXT, _AC_EXEEXT): Ignore .d files produced + by CFLAGS=-MD. + +2000-12-05 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_PROG_F77): Temporarily set ac_ext to F to run + _AC_LANG_COMPILER_GNU. + From Steven G. Johnson. + * tests/compile.at (GNU Fortran 77): New test. + +2000-12-05 Akim Demaille <akim@epita.fr> + + * tests/tools.at (autoupdate): Strengthen and check autoupdate's + idempotency. + +2000-12-05 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4 (_AT_CHECK_AC_MACRO): s/cp -f/mv -f/. + +2000-12-01 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Don't escape + backquotes in AC_MSG_ERROR. Fix error message. + +2000-12-01 Pavel Roskin <proski@gnu.org> + + * tests/atgeneral.m4 (AT_INIT): Use ${CONFIG_SHELL-/bin/sh} + to run the testsuite from the debug scripts. + Suggested by Alexandre Oliva. + +2000-11-30 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Assignments): Don't use $? from an + assignment. + +2000-11-30 Akim Demaille <akim@epita.fr> + + * sh.m4 (AS_EXIT): Don't rely on false exiting 1. + Actually, always use `(exit $val); exit', don't try to be tricky. + * doc/autoconf.texi (Limitations of Builtins) <false>: new. + +2000-11-30 Akim Demaille <akim@epita.fr> + + * sh.m4 (_AS_EXPR_PREPARE): Don't rely on the exit status of a + back quote evaluation since the very system for which the test was + written does not propagate it. Groumph! + +2000-11-30 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_EXEEXT): Also remove conftest$ac_exeext. + Reported by Pavel. + +2000-11-30 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_EXEEXT, _AC_OBJEXT): Make the two macros more + alike: a loop over a sorted list of possible files. + Don't cleanup on errors, the trap will do it. + Cleanup when there are no errors. + (_AC_EXEEXT): Use the empty string instead of `no' as the cached + value. + Be sure to prefer `.exe' to `' when the two are observable. + Suggested by Lars and Earnie. + +2000-11-30 Akim Demaille <akim@epita.fr> + + When using Cygwin, in spite of all their efforts, it may happen + that `confestval' be read in binary mode. The shell then fails to + properly strip the \r\n. + Reported by Lars J. Aas. + + * aclang.m4 (AC_LANG_INT_SAVE): Don't add any trailing new line, + and close the file. + Suggested by Peter Eisentraut. + +2000-11-30 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Systemology): New section. + Some about QNX 4. + +2000-11-30 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Special Shell Variables): Document RANDOM. + +2000-11-30 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools): Some about cp + and mv, thanks to Ian. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_OBJEXT): Skip *.tds, special case .o and + .obj. + Suggested by Lars. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix the portability of + the default assignment of CONFIG_FILES, CONFIG_HEADERS, + CONFIG_LINKS and CONFIG_COMMANDS. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CACHE_SAVE): Use the `clear' trick to work + around broken seds. + (_AC_OUTPUT_HEADERS, _AC_OUTPUT_FILES): Rename the sed labels to + match the Autoconf documentation. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Shell Substitutions): More on the variations + around ${foo=bar}. + (Assignments): Rewrite as a summary of the previous section. + * acgeneral.m4 (AC_CACHE_SAVE): Be protected against the Solaris' + `${foo='${bar}'}' bug. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_HEADERS, _AC_OUTPUT_FILES): Don't use + `... echo "error: \\\`$f'" ...` + as it's not portable to BSDI 1.3. + Do this instead: + `... echo "error: $f" ...` + Reported by Daniele Arena. + +2000-11-29 Akim Demaille <akim@epita.fr> + + QNX 4.2.5's expr always exits 1 when `:' is used with parens. + + * doc/autoconf.texi (Limitations of Usual Tools) <expr>: More + information, thanks to Paul Berrevoets, Paul Eggert and David + Morgan. + * sh.m4 (_AS_EXPR_PREPARE): New. + (AS_DIRNAME): Use it. + +2000-11-29 Akim Demaille <akim@epita.fr> + + sizeof (struct {char a,b; }) is not required to be 2. + Reported by Johan Danielsson. + + * tests/semantics.at (AC_CHECK_SIZEOF): Define charchar as an + array of 2 chars. + Suggested by Alexandre. + +2000-11-29 Akim Demaille <akim@epita.fr> + + Provide a means to display banners in the test suite. + + * tests/atgeneral.m4 (AT_INIT): Initialize `AT_banner_ordinal'. + Execute the epilogue of the tests only if a test was run. + Don't build the value of `at_tests_all' with a for loop: expand + `AT_TESTS_ALL'. + (AT_SETUP): Build `AT_TESTS_ALL'. + (AT_BANNER): New. + Adjust all the former banners to use it. + (AT_CHECK): Don't trace the decoding of `$?'. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_DEFINE, AT_UNDEFINE, AT_SHIFT) + (AT_INCLUDE): Remove, use the m4_ macros. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (ifval, ifset, ifdef, ifndef, m4_ifvanl): Rename as... + (m4_ifval, m4_ifset, m4_ifdef, m4_ifndef, m4_ifvaln): this. + (m4_n): New macro. + (m4_ifvaln): Use it. + * autoconf.m4 (ifdef): Restore it. + +2000-11-29 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_errprint, divnum, errprint, esyscmd): Rename as... + (m4_errprintn, m4_divnum, m4_errprint, m4_esyscmd): this. + * autoconf.m4: Restore them. + +2000-11-28 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Fortran 77 Compiler Characteristics): + Don't suggest obsolete AC_LANG_FORTRAN77. + (Language Choice): Better preamble. + +2000-11-28 Pavel Roskin <proski@gnu.org> + + * doc/install.texi: Minor changes to eliminate TeX warnings. + * doc/autoconf.texi: Likewise. Typo fixes. + +2000-11-23 Akim Demaille <akim@epita.fr> + + * tests/atconfig.in: Move code into... + * tests/atgeneral.m4 (AT_INIT): here. + Use AS_SHELL_SANITIZE. + +2000-11-23 Akim Demaille <akim@epita.fr> + + Have the test suite list of the test groups and their references. + + * tests/atgeneral.m4 (_m4_divert(SUITE_PRO)): Remove, replaced + by... + (_m4_divert(DEFAULT), _m4_divert(OPTIONS), _m4_divert(HELP)) + (_m4_divert(SETUP)): these. + (_m4_divert(SUITE_EPI)): Rename as... + (_m4_divert(TAIL)): this. + (AT_INIT): Adjust to the new diversions. + Insert the magic number. + Accept test groups as cli argument. + List the test groups. + Rename TESTS, test, and tests as at_tests_all, at_test, and + at_tests. + Have the debug scripts pass options to test suite. + Remove their banner. + * tests/atspecific.m4: Don't divert to 0. + * suite.at: Don't insert the magic number. + +2000-11-23 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_divert, m4_undivert): Support named diversions. + * tests/atgeneral.m4 (_m4_divert(SUITE_PRO), _m4_divert(TESTS)) + (_m4_divert(SUITE_EPI), _m4_divert(TEST)): New diversions. + Push the first two diversions. + (AT_INIT): Don't. + (AT_INIT, AT_SETUP, AT_CLEANUP): Adjust to use the named + diversions. + +2000-11-23 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CLEANUP): Factor the computation of + at_test_count into... + (AT_INIT): here. + Use an sh variable, at_data_files, instead of an hard coded list. + +2000-11-23 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CLEAN_FILE_IFELSE, AT_CLEANUP_FILE) + (AT_CLEANUP_FILES): New macros. + (AT_SETUP, AT_CHECK, AT_CLEANUP): Use them. + (AT_CHECK): Fix a use of at_verbose. + * tests/atspecific.m4 (AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER) + (AT_CHECK_CONFIGURE): New macros. + +2000-11-23 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT) <at_verbose>: Be a :/echo variable. + <at_silent>: Remove. + (AT_CLEANUP): Clean up the diversion use. + +2000-11-23 Akim Demaille <akim@epita.fr> + + Factor part of the prologue of the tests. + + * tests/atgeneral.m4 (AT_SETUP, AT_CLEANUP): No longer handle + at_stop_on_error. + (AT_INIT): After having checked whether the test failed, break out + of the loop if requested (-e). + +2000-11-23 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_SETUP): Don't build at-check-line, that's + AT_CHECK's job. + Remove the code depending upon `at_skip_mode': it's unused. + +2000-11-23 Akim Demaille <akim@epita.fr> + + * tests/atconfig.in: Remove the `snippet' marks, there are no + longer used. + * tests/atgeneral.m4: Likewise. + +2000-11-23 Akim Demaille <akim@epita.fr> + + Factor the epilogue of the tests. + + * tests/atgeneral.m4 (AT_CLEANUP): Move the reading of at_status + into... + (AT_INIT): here, at the end of the `case'. + +2000-11-23 Akim Demaille <akim@epita.fr> + + The debug scripts are only wrapper around testsuite, asking for a + specific test. + + * tests/atgeneral.m4 (AC_INIT) <at_debug>: New variable, new + option, -d, to disable the creation of the debug scripts (when + testsuite was already launched from one). + <at_test_count>: Really compute it instead of using the number of + the last test run. + +2000-11-23 Akim Demaille <akim@epita.fr> + + Transform Autotest's body into a `for test; case $test'. + As a known side effect, currently any code outside + AT_SETUP/AT_CLEANUP is discarded. + + * acgeneral.m4 (_m4_divert(KILL)): Move to... + * m4sugar.m4: here. + * tests/atgeneral.m4 (AT_INIT): Use m4_divert_push/pop instead of + m4_divert. + Put all the tests inside a for;case. + Define TESTS. + (AT_SETUP, AT_CLEANUP): Open/close each case. + +2000-11-23 Akim Demaille <akim@epita.fr> + + Move divert and undivert into m4_. + + * m4sugar.m4 (m4_divert, divert, undivert): Rename as... + (m4_divert_text, m4_divert, m4_undivert): this. + * autoconf.m4 (divert, undivert): Restore them for user macros only. + +2000-11-23 Akim Demaille <akim@epita.fr> + + Move Autotest on top of M4sh. + + * tests/atgeneral.m4: Import M4sh. + Adjust the differences on the names of the builtins (define etc.). + (AT_CASE): Remove, use m4_case. + (AT_SETUP): Don't use `AT_group_description', `$1' is OK. + * tests/atspecific.m4 (m4_for, m4_foreach): Remove, use those of + M4sugar. + * tests/m4sugar.at: Strengthen the quotation and adjust to the new + macro names. + * tests/m4sh.at: Ditto. + * tests/torture.at: Ditto. + * tests/base.at: Ditto. + * m4sh.m4: Import M4sugar. + * autoconf.m4: Don't import M4sugar, M4sh does. + +2000-11-20 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_RUN_IFELSE): `==' in test is not portable, + replace with `='. + +2000-11-17 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_DEFAULTS): Also include `PATH' and + `/bin/machine' in the log. + +2000-11-17 Akim Demaille <akim@epita.fr> + + Let AC_TRY_RUN be more verbose + + * acgeneral.m4 (_AC_RUN_IFELSE): Instead of canceling the output + of the test program, save it into the log. + Save the exit status, and report it in the log when non zero. + Just use `(./conftest)' instead of `(./conftest; exit)'. + +2000-11-17 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_DEFAULTS) <ac_includes_default>: Include + sys/stat.h. + * acspecific.m4 (AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_BLOCKS) + (AC_STRUCT_ST_RDEV): Simplify. + * acfunctions.m4 (AC_FUNC_MMAP): Include sys/stat.h unconditionally. + * doc/autoconf.texi (Default Includes): Adjust. + (Particular Structures) <AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV>: + Adjust. + +2000-11-16 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools) <expr>: + expr 'a' : '\(b\)'. + From Paul Eggert. + +2000-11-16 Akim Demaille <akim@epita.fr> + + Reorder the test suite so that low level features are tested + before high level ones. + + * tests/semantics.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): + (missing templates): Move to... + * tests/torture.at: here. + Reorder the file so that the torture test is last. + * tests/semantics.at (AC_TRY_LINK_FUNC, AC_PROG_CPP with warnings) + (AC_PROG_CPP without warnings): Move to... + * tests/compile.at: here, new file. + * tests/suite.at: Run `torture' and then `compile' before + `semantics'. + +2000-11-16 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_SYS_LARGEFILE): _AC_SYS_LARGEFILE_SOURCE no + longer exist. + +2000-11-16 Akim Demaille <akim@epita.fr> + + POSIX doesn't require s/[^/]// to work. + From Paul Eggert and Johan Danielsson. + + * doc/autoconf.texi (Limitations of Usual Tools) <sed>: + Reorganize. Document this issue. + * autoupdate.sh (dir): Use `,' as separator instead of `/' + * autoreconf.sh: Likewise. + * autoupdate.sh: Ditto. + +2000-11-16 Paul Eggert <eggert@twinsun.com> + + * m4/largefile.m4 (_AC_SYS_LARGEFILE_SOURCE): Remove, replaced by... + (_AC_SYS_LARGEFILE_TEST_INCLUDES): this. + (AC_SYS_LARGEFILE_MACRO_VALUE): Use AC_LANG_PROGRAM instead of + _AC_SYS_LARGEFILE_SOURCE, i.e., don't pass + _AC_SYS_LARGEFILE_TEST_INCLUDES by default: this isn't desirable + when checking for fseeko. + (AC_SYS_LARGEFILE): Pass AC_SYS_LARGEFILE_TEST_INCLUDES to + _AC_SYS_LARGEFILE_MACRO_VALUE, since it no longer does this for us. + +2000-11-16 Akim Demaille <akim@epita.fr> + + Provide a means for escaping the forbidden patterns test. + + * tests/tools.at (Forbidden tokens): Test m4_token_allow. + * m4sugar.m4 (m4_file_append, m4_token_allow): New macros. + * autoconf.sh (task script): Pass `tmp' and `verbose' to + finalize.awk. + (finalize.awk::check_patterns): Eve out from the body. + (finalize.awk): Read `$tmp/tokens_allowed', and don't complain for + these exceptions. + +2000-11-14 Paul Eggert <eggert@twinsun.com> + + * acspecific.m4 (AC_SYS_LARGEFILE): Don't worry about + whether fseeko and ftello are properly declared. + * acfunctions.m4 (AC_FUNC_FSEEKO): New macro, which worries about + fseeko (and presumably ftello). Do not set _XOPEN_SOURCE; that + causes too many problems in practice. + * acfunctions (fteelo, fseeko): Trigger AC_FUNC_FSEEKO. + * doc/autoconf.texi: Adjust. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Builtins): Comment `true'. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * BUGS: New file. + Be sure to read this file if you're using a non released Autoconf. + * tests/tools.at (Syntax of the scripts): The non built tools are + in `$top_srcdir', not `..'. + (autoconf --trace): When using `-i' we need the src tree, not the + build tree. + +2000-11-14 Akim Demaille <akim@epita.fr> + + A single m4_require is enough. + + * m4sugar.m4 (_m4_require): $2 defaults to $1. + Rename as... + (m4_require): this. + * acgeneral.m4 (_AC_REQUIRE): Remove, use m4_require if you want + to get into the gory details. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_DEFAULTS_ENVIRONMENT): Rename as... + * m4sh.m4 (AS_SHELL_SANITIZE): this. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Don't neutralize + autoconf's warnings. + +2000-11-14 Akim Demaille <akim@epita.fr> + + Set AC_LANG_PREPROC_REQUIRE which replaces AC_REQUIRE_CPP. + The main difference is that the former requires AC_LANG_COMPILER. + + * aclang (AC_LANG_PREPROC, AC_LANG_PREPROC(C), AC_LANG_PREPROC(C++)) + (AC_LANG_PREPROC(Fortran 77), AC_LANG_PREPROC_REQUIRE): New + macros. Issue a warning when looking for the Fortran 77 + preprocessor instead of an error. + (AC_LANG_COMPILER): Check that it is run before the corresponding + AC_LANG_PREPROC. + (AC_PROG_C + (AC_LANG_COMPILER_REQUIRE): Don't call directly + AC_LANG_COMPILER(_AC_LANG), rather invoke AC_LANG_COMPILER so that + the generic code in AC_LANG_COMPILER is run. + (AC_REQUIRE_CPP): Use AC_LANG_PREPROC_REQUIRE. + (AC_PROG_CC, AC_PROG_CXX): Don't require being run before the + corresponding AC_LANG_PREPROC: AC_LANG_COMPILER does it. + + + Propagate AC_LANG_PREPROC_REQUIRE. + + * acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP): Use it instead of + AC_REQUIRE_CPP. + * acspecific.m4 (_AC_DECL_YYTEXT, AC_PATH_X): Don't + AC_REQUIRE_CPP, inner macro will do it. + * aclang.m4 (AC_PROG_GCC_TRADITIONAL, AC_C_STRINGIZE) + (AC_C_PROTOTYPES): Likewise. + (AC_C_STRINGIZE): Yeeks! The body of AC_CACHE_CHECK was not + quoted. Use @%:@ do assist Emacs. + + + For some reason (don't ask), this revamping revealed that + AC_PROG_CC_STDC, because of the `break', does not clean its tmp + files. + + * aclang.m4 (AC_PROG_CC_STDC): Extract the creation of conftest.c + out of AC_COMPILE_IFELSE. + Be sure to clean the tmp files. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * tests/m4sh.at (AS_DIRNAME & AS_DIRNAME_SED): Simplify. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (AC_FUNC_ALLOCA): Don't require AC_PROG_CPP, + since (i) you actually need a compiler, (ii) AC_TRY_LINK handles + it. + * acheaders.m4 (AC_HEADER_STDC): Don't require AC_PROG_CPP, + AC_TRY_CPP does it. + +2000-11-14 Akim Demaille <akim@epita.fr> + + Create acheaders.m4. + + * acgeneral.m4 (AC_CHECK_HEADER, AC_CHECK_HEADERS) + (AH_CHECK_HEADERS): Move to... + * acheaders.m4: here, a new file. + * acspecific.m4 (_AC_CHECK_HEADER_DIRENT, AH_CHECK_HEADERS_DIRENT) + (AC_HEADER_DIRENT, AC_HEADER_MAJOR, AC_HEADER_STAT, AC_HEADER_STDC) + (AC_HEADER_SYS_WAIT, AC_HEADER_TIME) + (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H) + (_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL, AC_HEADER_TIOCGWINSZ): Move + to... + * acheaders.m4: here. + +2000-11-14 Akim Demaille <akim@epita.fr> + + Move AC_MSG_* into M4sh. + + * acgeneral.m4 (_AC_SH_QUOTE, _AC_SH_QUOTE_IFELSE, _AC_ECHO): Move + to... + * m4sh.m4 (_AS_QUOTE, _AS_QUOTE_IFELSE, _AS_ECHO): here. + (AS_MESSAGE, AS_WARN, AS_ERROR): New. + * acgeneral.m4 (AC_MSG_NOTICE, AC_MSG_WARN, AC_MSG_ERROR): Use them. + (AC_FD_MSG, AC_FD_LOG): Be AU_ALIAS'es of... + (AS_MESSAGE_FD, AS_MESSAGE_LOG_FD): new. + Adjust all dependencies. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Spread some AS_EXIT and AC_MSG_ERROR. + (AC_OUTPUT): Don't play with trap, use ac_clean_files. + +2000-11-14 Akim Demaille <akim@epita.fr> + + Use AC_MSG_ERROR in `config.status', but adjust AC_MSG_* to use $0 + instead of hard coded `configure'. + + * acgeneral.m4 (AC_COPYRIGHT): s/configure.in/__file__/. + (_AC_INIT_DEFAULTS_FDS): Append to AC_FD_LOG instead of creating + it. No longer insert the configure banner. + (_AC_INIT_DEFAULTS): Create config.log with the banner. + Define `as_me'. + (_AC_INIT_PARSE_ARGS, _AC_INIT_PREPARE, AC_MSG_NOTICE) + (AC_MSG_CHECKING, AC_MSG_RESULT, AC_MSG_RESULT_UNQUOTED) + (AC_MSG_WARN, AC_MSG_ERROR, AC_MSG_ERROR, AC_TRY_CPP) + (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE) + (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_PROG_F77_V_OUTPUT): Use + `$as_me' instead of `configure'. + (AC_OUTPUT): Get rid of the UCA, and of the empty line when + dumping confdefs.h into config.log. + (_AC_OUTPUT_CONFIG_STATUS): Use _AC_INIT_DEFAULTS_FDS. + Print a banner. + Use AC_MSG_ERROR and AC_MSG_NOTICE. + * acgeneral.m4 (AC_CACHE_LOAD, _AC_OUTPUT_FILES, _AC_OUTPUT_LINKS) + (_AC_OUTPUT_HEADERS): Use AC_MSG_NOTICE. + * tests/semantics.at (missing templates): Adjust. + +2000-11-14 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (autoconf Invocation): Explain `-W error' + gives back traces. + +2000-11-11 Pavel Roskin <proski@gnu.org> + + * acfunctions.m4 (AC_CHECK_FUNCS): Add missing m4 quotes. + (AC_FUNC_GETPGRP): Likewise. + * acspecific.m4 (AC_AIX): Likewise. + * m4/init.m4 (AM_INIT_AUTOMAKE): Likewise. + * m4/missing.m4 (AM_MISSING_PROG): Likewise. + * m4/sanity.m4 (AM_SANITY_CHECK): Likewise. + +2000-11-11 Pavel Roskin <proski@gnu.org> + + * acfunctions.m4: Always quote first argument of AC_MSG_ERROR, + AC_MSG_WARN, AC_MSG_CHECKING, AC_MSG_RESULT, + AC_MSG_RESULT_UNQUOTED. + * acgeneral.m4: Likewise. + * aclang.m4: Likewise. + * acspecific.m4: Likewise. + * configure.in: Likewise. + * doc/autoconf.texi: Likewise. + +2000-11-10 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Particular Structures): Fix examples for + AC_STRUCT_ST_BLKSIZE and AC_STRUCT_ST_RDEV. + +2000-11-10 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Limitations of Usual Tools): Don't use + uncommon abbreviations. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Builtins): Some information + about `trap'. + Document the FreeBSD bug observed by Pavel. + +2000-11-10 Pavel Roskin <proski@gnu.org> + + * autoscan.pl (scan_files): Eliminate a warning if no C files + are found. + (output): Likewise. Use AC_CONFIG_SRCDIR and AC_CONFIG_FILES + instead of old-style arguments for AC_INIT and AC_OUTPUT. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools): `&' in sed's rhs + is portable. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Shell Substitutions): Some information about + Solaris' sh handling of ``foo=${foo='}'}'' collected by Alexandre, + reported by David Taylor. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * tests/m4sh.at (Negated classes in globbing): New test. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Builtins): `for i; do'. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Shellology): Some about /usr/xpg4/bin/sh on + Solaris. + Sort the entries. + Some words about POSIX vs Bourne shell. + From Russ Allbery and Robert Lipe. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Shell Substitutions): Split into... + (Shell Substitutions, Assignments): these. + Move them before `Special Shell Variables'. + (Shell Substitutions): Include information on `$()' from Russ + Allbery. + +2000-11-10 Akim Demaille <akim@epita.fr> + + When running + + AC_INIT + AC_PROG_CC + AC_LANG_COMPILER_REQUIRE + + AC_PROG_CC is expanded twice, because AC_PROG_CC provides + `AC_PROG_CC', and not `AC_LANG_COMPILER(C)' as expected by + AC_LANG_COMPILER_REQUIRE. + + * aclang.m4 (AC_LANG_COMPILER(C)): Instead of calling AC_PROG_CC, + require it. + (AC_LANG_COMPILER(C++), AC_LANG_COMPILER(Fortran 77)): Likewise. + +2000-11-10 Akim Demaille <akim@epita.fr> + + * m4sh.m4 (AS_MKDIR_P, AS_DIRNAME_SED): Don't shell quote $1. + Adjust callers. + Reported by Paul Eggert. + * tests/m4sh.at: Sort. + +2000-11-09 Pavel Roskin <proski@gnu.org> + + * install-sh: Use ":" instead of "true". + +2000-11-09 Pavel Roskin <proski@gnu.org> + + * tests/tools.at (Syntax of the scripts): Check "autoreconf" + only once. Check "install-sh", "mkinstalldirs" and "missing". + +2000-11-09 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_COMPUTE_INT_COMPILE): Use ":" instead of + "true". + * tests/atgeneral.m4 (AT_INIT): Likewise. + * tests/tools.at (Syntax of the scripts): Likewise. + +2000-11-09 Pavel Roskin <proski@gnu.org> + + * tests/m4sugar.at (m4_warn): Adjusted to accept stack dump when + -Werror is used. + +2000-11-08 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (_m4_expansion_stack_dump): Really rename as... + (m4_expansion_stack_dump): this. + +2000-11-08 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_LANG_PROGRAM(Fortran 77): Complain about $1 having + a value. + Reported by Paul Martinolich. + (_AC_LANG_COMPILER_GNU): Pass the test as the body of + AC_LANG_PROGRAM, not the prologue. + +2000-11-07 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: Temporarily disable recognizing of abbreviated + long options - it's hard to maintain them by hand. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * ifnames.sh: Likewise. + +2000-11-07 Akim Demaille <akim@epita.fr> + + * aclang.m4 (ac_cv_prog_gcc, ac_cv_prog_gxx, ac_cv_prog_g77): + Be AU_DEFUN'd, not AU_ALIAS'd. + Reported by Ralf Corsepius. + * tests/mktests.sh (exclude_list): Skip these variables. + +2000-11-07 Akim Demaille <akim@epita.fr> + + m4_syscmd was reestablished as `syscd' intead of `syscmd' because + instead of `s/^m4_//', m4_copy_unm4 was running `s/[m4_]//'. + + * m4sugar.m4 (m4_copy_unm4): Fix. + +2000-11-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECKING): Is not an alias of AC_MSG_NOTICE, + hence use AU_DEFUN, not AU_ALIAS. + +2000-11-03 Jim Meyering <meyering@lucent.com> + + * acfunctions.m4 (AC_FUNC_FNMATCH): Add a test to detect + the d*/*1 vs d/s/1 bug. + Add a couple more test cases to catch bugs in glibc 2.1.95. + Include fnmatch.h unconditionally + Mention the GNU C library. + From Paul Eggert. + +2000-11-03 Akim Demaille <akim@epita.fr> + + AC_CONFIG_AUX_DIR_DEFAULTS overrides AC_CONFIG_AUX_DIR. Ouch. + Reported by Paul Martinolich. + + * acgeneral.m4 (AC_PROVIDE): Don't forget to `m4_provide'!!! + Tss, novice... + * tests/base.at (AC_REQUIRE & AC_PROVIDE): New test. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_location): When using its value, don't use + `m4_defn', since m4_location is not a variable, it's a macro which + expands to __file__:__line__. + * tests/m4sugar.at (m4_warn): New test. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * tests/tools.at (unexpanded macros): Strengthen. + * autoconf.sh (finalize.awk): Use `sub' instead of `index' + + `substr'. + More comments. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * Makefile.am (.m4.m4f): Check that processing produces only + comments and empty lines. + Check that freezing produced no output. + * m4sugar.m4: Commentize what was not. + * m4sh.m4: Likewise. + * aclang.m4: Formatting changes. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * autoconf.m4 (define): Reestablish only after having read the + `ac' files. + Adjust all the Autoconf code to use `m4_define', not `define'. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AU_ALIAS): Don't forget to pass the arguments to + the new macro... + Reported by Ezra Peisach. + * tests/semantics.m4 (AC_HAVE_FUNCS): New test. + * tests/tools.at (autoupdate): As a benign side effect, updating a + macro that takes no argument produces `UPDATED([])', no longer + `UPDATED()'. Adjust the test. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * autoconf.m4: Instead of reactivating the macros before reading + Autoconf's files, do it afterwards, so that Autoconf promotes the + right use, but users still can use the old names. + Of course this revealed numerous non updated uses of old macros in + Autoconf's files. Adjust them. + But for the time being, keep `define' alive for Autoconf. + +2000-11-03 Akim Demaille <akim@epita.fr> + + AC_REQUIRE and AC_DEFUN_ONCE don't work properly together. This + caused strange messages about AC_ARG_PROGRAM. + Reported by Jim Meyering. + + * acgeneral.m4 (AC_DEFUN_ONCE): Fix the indirection to + m4_defun_once. + * m4sugar.m4 (m4_defun_once): Also define + `m4_location(MACRO-NAME)'. s/ac_warn/m4_warn/. + Use `m4_defn' to read `m4_location'. + * tests/base.at (AC_REQUIRE & AC_DEFUN_ONCE): Two new tests. + +2000-11-03 Akim Demaille <akim@epita.fr> + + Set up config.log earlier so that AC_MSG_ERROR and AC_MSG_WARN can + be used early. + + * acgeneral.m4 (_AC_INIT_DEFAULTS): Call `_AC_INIT_PREPARE_FDS'. + (_AC_INIT_PREPARE): Don't. + (_AC_INIT_PREPARE_ENVIRONMENT, _AC_INIT_PREPARE_FDS): Rename as... + (_AC_INIT_DEFAULTS_ENVIRONMENT, _AC_INIT_DEFAULTS_FDS): these, + since they are called from `_AC_INIT_DEFAULTS', not + `_AC_INIT_PREPARE'. + (_AC_INIT_DEFAULTS_FDS): Dump `$@' in config.log, not + `$ac_configure_args' which is not computed yet. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): TRIPLET can include `_' and + `-'. + Reported by Andreas Jaeger. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * m4sh.m4 (_AS_UNSET_PREPARE): New macro, eved from + _AC_INIT_PREPARE_ENVIRONMENT, and fixed: set `FOO' before trying + to unset it: `unset' exits 1 if the variable is not defined. + (AS_UNSET): Require it. Use `as_unset' not `ac_unset'. + * acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Use it. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (builtin, changecom, changequote, decr, dumpdef) + (incr, index, indir, len, syscmd, sysval, traceoff, traceon): + Rename as... + (m4_builtin, m4_changecom, m4_changequote, m4_decr, m4_dumpdef) + (m4_incr, m4_index, m4_indir, m4_len, m4_syscmd, m4_sysval) + (m4_traceoff, m4_traceon): these. + * autoconf.m4 (builtin, changecom, decr, incr, index, indir, len) + (syscmd, sysval, traceoff, traceon): Reactivate. + +2000-11-03 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_rename_m4, m4_copy_unm4): New macros. + Use them. + (debugfile, debugmode, m4exit, m4wrap, maketemp, patsubst, regexp) + (substr, translit, m4_wrap): Rename as... + (m4_debugfile, m4_debugmode, m4_exit, m4_wrap, m4_maketemp) + (m4_patsubst, m4_regexp, m4_substr, m4_translit, m4_text_wrap): these. + Adjust all dependencies. + * acgeneral.m4: Adjust. + * tests/m4sugar.at: Adjust. + * autoconf.m4 (m4exit, patsubst, regexp, substr, translit): + Reestablish them. + +2000-11-02 Akim Demaille <akim@epita.fr> + + The documentation is not clear about the obsoleteness of + `acconfig.h', `config.h.top', and `config.h.bot'. + Reported by Aharon Robbins. + + * doc/autoconf.texi (Making configure Scripts) + (Automatic Remaking, Defining Symbols, Distributing): Forget about + these files. + (acconfig.h): Reword. + Display the old scheme presenting the dependencies between input + and output files. + (Changed File Names): Clarify. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools): Some about + dirname. + +2000-11-02 Pavel Roskin <proski@gnu.org> + + * ifnames.sh: Put the opening brace on the same line with + patterns. Reported by Paul Martinolich. + * tests/tools.at (AWK portability): Check ifnames. + (ifnames): New test for ifnames. + * THANKS: Updated. + +2000-11-02 Pavel Roskin <proski@gnu.org> + + * m4/atconfig.m4 (AT_CONFIG): s/AT_TESTPATH/AUTOTEST_PATH/ + because AT_TESTPATH looks like a macro. + * tests/atconfig.in: Likewise. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * autoconf.sh (trace.m4): Move all the M4 builtins into `at_'. + Catch the failures of the big pipe. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * tests/tools.at (Tracing M4 builtins): New test. + * autoconf.sh (trace_format): Fix its computation. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CHECK): Check stderr first, since if both + stdout and stderr fail, differences on the latter are probably + more significant than on the former. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * autoconf.sh (task trace) [debug]: Instead of a long pipe, extend + trace.m4. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * autoupdate.sh (m4.txt): Use `dumpdef' and m4 to build it. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (popdef, pushdef): Rename as... + (m4_popdef, m4_pushdef): these. + Adjust dependencies. + * acgeneral.m4: Adjust. + * aclang.m4: Likewise. + * autoconf.m4 (popdef, pushdef): Reactivate them. + +2000-11-02 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_CHECK, AT_CLEANUP): Be more verbose when + `-v' is passed. + +2000-11-01 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: Using trap-safe "exit". + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * tests/base.at: Use AS_EXIT instead of exit in configure.in. + * tests/m4sh.at: Likewise. + * tests/semantics.at: Likewise. + +2000-11-01 Akim Demaille <akim@epita.fr> + + In M4sugar, move `define', `undefine', and `defn' into the `m4_' + name space. + + * m4sugar.m4 (m4_define, m4_defn, m4_undefine): New macros. + (define, defn, undefine): Undefine. + Adjust all uses. + * m4sh.m4: Adjust. + * autoconf.m4: Reenable these builtins. + * m4sugar.m4 (m4_expansion_stack_dump): Use m4_copy. + +2000-11-01 Akim Demaille <akim@epita.fr> + + GNU M4 1.4 improperly handle the traces of copies of builtins. + + * autoconf.sh (task trace): When tracing `BUILTIN' also trace + `m4_BUILTIN'. + +2000-11-01 Akim Demaille <akim@epita.fr> + + Autoupdate should not depend upon foreign macros. + + * autoupdate.sh (ac.m4): Use `_au_define', not `define'. + (input.m4): Use `_au_BUILTIN' not `BUILTIN'. + +2000-11-01 Akim Demaille <akim@epita.fr> + + * m4sugar.m4 (m4_fatal): Dump the expansion stack. + * acgeneral.m4 (AC_FATAL): Use m4_fatal. + +2000-11-01 Akim Demaille <akim@epita.fr> + + Move the `defun' handling into M4sugar. + + * m4sugar.m4 (_m4_divert(GROW), _m4_expansion_stack_dump) + _m4_defun_pro, _m4_defun_epi, m4_defun, $1, m4_defun_once) + m4_before, _m4_require, m4_require, m4_expand_once, m4_provide) + m4_provide_ifelse): New macros. + * acgeneral.m4 (_AC_EXPANSION_STACK_DUMP, _AC_DEFUN_PRO) + _AC_DEFUN_EPI): Removed. + (AC_DEFUN, AC_DEFUN_ONCE, _AC_REQUIRE, AC_REQUIRE) + AC_PROVIDE_IFELSE, AC_FATAL): Reimplement atop M4sugar. + +2000-11-01 Raja R Harinath <harinath@cs.umn.edu> + + * tests/tools.at (autoupdating AC_LINK_FILES): Invoke autoconf + like in the rest of the tests. + +2000-11-01 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: Typo: s/m4__warnings/m4_warnings/. + +2000-10-31 Pavel Roskin <proski@gnu.org> + + * autoupdate.sh: Check that $sed understands the meaning of "\b" + instead of checking "--version". + +2000-10-31 Akim Demaille <akim@epita.fr> + + Move the handling of classified warnings into M4sugar. + + * m4sugar.m4 (m4_diagnose): Remove. + (m4_warning): New. + * acgeneral.m4 (AC_WARNING_IFELSE, _AC_WARNING_IFELSE) + (_AC_WARNING_ERROR_IFELSE, __AC_WARNING_ERROR_IFELSE) + (_AC_DIAGNOSE, AC_DIAGNOSE): Rename as... + * m4sugar.m4 (m4_warning_ifelse, _m4_warning_ifelse) + (_m4_warning_error_ifelse, __m4_warning_error_ifelse) + (_m4_warn, m4_warn): these. + * acgeneral.m4 (AC_DIAGNOSE): Wrapper around `m4_warn'. + * autoconf.sh: Define `m4_warnings' instead of `_AC_WARNINGS'. + +2000-10-30 Pavel Roskin <proski@gnu.org> + + * acspecific.m4 (AC_PATH_XTRA): Use AC_LANG_PROGRAM() as the + argument to AC_LINK_IFELSE. + +2000-10-30 Pavel Roskin <proski@gnu.org> + + * m4sh.m4 (AS_EXIT): Use "false" for exit code 1, ":" for 0. + * acgeneral.m4 (AC_MSG_ERROR): Don't use m4_default for the + second argument - AS_EXIT takes care of it. + +2000-10-30 Akim Demaille <akim@epita.fr> + + * m4sugar.m4: Formatting changes. + +2000-10-30 Akim Demaille <akim@epita.fr> + + Move the handling of diversions into M4sugar. + + * acgeneral.m4 (_AC_DIVERT, AC_DIVERT, AC_DIVERT_PUSH) + (AC_DIVERT_POP): Move to... + * m4sugar.m4 (_m4_divert, m4_divert, m4_divert_push) + (m4_divert_pop): here. + * acgeneral.m4: Adjust to use only the M4sugar macros. + Nevertheless... + (AC_DIVERT_PUSH, AC_DIVERT_POP): New wrappers around the M4sugar + macros. + (_AC_DIVERT(...)): Rename all the diversions names as... + (_m4_divert(...)): these. + +2000-10-30 Pavel Roskin <proski@gnu.org> + + * m4sh.m4 (AS_EXIT): New macro that exits and makes sure that $? + is set correctly within the exit trap. + (AS_TMPDIR): Use it. + * acgeneral.m4 (AC_MSG_ERROR): Likewise, + +2000-10-29 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (AC_CHECK_TOOL): Set VARIABLE also when using the + cache. From Jim Meyering. + (AC_PATH_TOOL): Likewise. + +2000-10-29 Pavel Roskin <proski@gnu.org> + + * tests/atgeneral.m4 (AT_CHECK): Warn if the expected exit status + is different from what we got. Don't preserve exit status other + than 77. + +2000-10-29 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: When scanning for unexpanded macros match only + words beginning with "A?_" and "m4_" or containing "_A?_". + Strip the comments before the matching. Don't use character + ranges. + +2000-10-29 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_INIT_PREPARE): Don't use a newline before + accessing $? - newlines in "trap" reset $? to 0 on FreeBSD 4.0. + +2000-10-29 Jim Meyering <meyering@lucent.com> + + * acgeneral.m4 (AC_MSG_WARN): Now that this macro expands to + two stmts, enclose them in `{' ... `}'. + +2000-10-28 Pavel Roskin <proski@gnu.org> + + * aclang.m4 (AC_REQUIRE_CPP): Don't default to C++ - call AC_FATAL + for unsupported languages. + +2000-10-27 Pavel Roskin <proski@gnu.org> + + * acfunctions.m4 (AC_FUNC_MMAP): Remove conftestmmap from the + shell, not from the test program. + +2000-10-27 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Limitations of Builtins): Recommend using + AC_MSG_ERROR instead of exit. + (Autoconf Language): Fix examples. + +2000-10-27 Pavel Roskin <proski@gnu.org> + + * tests/suite.at: Move "-*- Autoconf -*-" to the second line. + +2000-10-27 Akim Demaille <akim@epita.fr> + + Use AC_MSG_ERROR in the test suite, not just `exit'. + + * tests/README: New file. + * tests/semantics.at: Don't just `exit 1' or `exit 77' from + configure.in: call AC_MSG_ERROR. + * tests/base.m4: Likewise. + * tests/m4sh.at: Likewise. + * tests/semantics.at (AT_CHECK_PROGS_PREPARE): New macro, eved + out of... + (AC_CHECK_PROG & AC_PATH_PROG): here. + Split into two individual tests... + (AC_CHECK_PROG & AC_CHECK_PROGS, AC_PATH_PROG & AC_PATH_PROGS): these. + +2000-10-27 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: Recognize short options followed by arguments + without separators. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. Recognize abbreviations for + "--autoconf-dir" and "--m4dir". + * autoupdate.sh: Likewise. Recognize abbreviations for + "--autoconf-dir". + +2000-10-26 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: Don't show obsolete options on "--help". Report + obsolete options to stderr. Adjust list of options. Correct + processing of options. Process options with values separated by + "=" first, so that abbreviations work. Don't accept "=" with + short options. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * ifnames.sh: There is no "--verbose" option. + * doc/autoconf.texi: Option "-A" requires an argument. + (autoreconf Invocation): Document "--install", "--symlink", + "--m4dir" and the options passed to Automake. + +2000-10-26 Akim Demaille <akim@epita.fr> + + * shell.m4: Rename as... + * m4sh.m4: this. + * tests/m4sugar.m4, tests/shell.m4, tests/torture.m4: Rename as... + * tests/m4sugar.at, tests/m4sh.at, tests/torture.at: these. + * tests/semantics.m4, tests/base.m4, tests/suite.m4: Rename as... + * tests/semantics.at, tests/base.at, tests/suite.at: these. + * tests/tools.m4, tests/update.m4, tests/syntax.m4: Rename as... + * tests/tools.at, tests/update.at, tests/syntax.at: these. + * tests/mktests.sh: Adjust the output file names. + +2000-10-25 Pavel Roskin <proski@gnu.org> + + * autoupdate.sh: Redirect stdin for sed to /dev/null to avoid + hangs with non-GNU versions of sed. + +2000-10-25 Akim Demaille <akim@epita.fr> + + Move the Autoconf independent shell macros into the file + `shell.m4' and the name space `AS_*'. + + * acgeneral.m4 (AC_SHELL_IFELSE, _AC_SHELL_TMPDIR, AC_SHELL_UNSET) + (AC_SHELL_MKDIR_P, AC_SHELL_DIRNAME): Rename and move to... + * shell.m4 (AS_IFELSE, AS_TMPDIR, AS_UNSET, AS_MKDIR_P) + (AS_DIRNAME): here, a new file. + Adjust all dependencies. + + * tests/base.m4 (m4_wrap): Eve out into... + * tests/shell.m4: here, new file. + * tests/base.m4 (AC_SHELL_MKDIR_P) + (AC_SHELL_DIRNAME & AC_SHELL_DIRNAME_SED): Eve out into... + * tests/m4sugar.m4 (AS_MKDIR_P, AS_DIRNAME & AS_DIRNAME_SED): + here, new file. + Adjust the test suite. + +2000-10-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SHELL_DIRNAME): Split its code into... + (AC_SHELL_DIRNAME_EXPR, AC_SHELL_DIRNAME_SED): these new macros. + * tests/base.m4 (AC_SHELL_DIRNAME & AC_SHELL_DIRNAME_SED): New + test. + +2000-10-25 Pavel Roskin <proski@gnu.org> + + * tests/aclocal.m4 (AC_ENV_SAVE): Rename to ... + (AC_STATE_SAVE): ... this. Save the list of all files + in the current directory. + * tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Compare lists of + files created by AC_ENV_SAVE. Remove state* before and after + the test. + +2000-10-25 Pavel Roskin <proski@gnu.org> + + * Makefile.am: Add acversion.m4.in to EXTRA_DIST. + +2000-10-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SHELL_DIRNAME): The sed fall back was producing + twice the output for it was not using `-n' and used `p'. Remove + the latter. + +2000-10-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE_FDS): Give some information on + the host in config.log. + +2000-10-24 Pavel Roskin <proski@gnu.org> + + * tests/mktests.sh: Set locale to C to make sure that syntax.m4 + and update.m4 are locale-independent. + +2000-10-24 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_CACHE_DUMP): Add a missing separator for sed + commands. + +2000-10-24 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AT_FILE_DEPENDENCY): Rename as... + (AC_FILE_DEPENDENCY_TRACE): this. + +2000-10-24 Lars J. Aas <larsa@sim.no> + + * m4sugar.m4: (m4_tolower, m4_toupper): New macros. + * acgeneral.m4 (AC_PREFIX_PROGRAM): Use m4_toupper(). + * aclang.m4 (AC_F77_FUNC): Use m4_toupper()/m4_tolower(). + +2000-10-24 Pavel Roskin <proski@gnu.org> + + * m4sugar.m4 (m4_quote): Comment change. + +2000-10-24 Akim Demaille <akim@epita.fr> + + Start avoiding dependence upon character ranges. + + * acgeneral.m4 (_AC_INIT_DEFAULTS): Introduce `ac_cr_AZ', + `ac_cr_az', `ac_cr_09', `ac_cr_alnum' and `ac_hostname'. + Spread their use. + +2000-10-24 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT): Don't play with `trap'. + (_AC_INIT_PREPARE): Trap after having created config.log. + Also trap on 0. + When trapped, report why in config.log. + (AC_MSG_WARN, AC_MSG_ERROR): Also output the message in + config.log. + +2000-10-24 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SHELL_DIRNAME): Rename as... + (AC_SHELL_DIRNAME): this. + s/X$1/X[]$1/ so that when $1 is a macro, it's given a chance to be + expanded. + (AC_PREFIX_PROGRAM): Use AC_SHELL_DIRNAME. + Quote properly. + +2000-10-24 Akim Demaille <akim@epita.fr> + + * tests/tools.m4 (Syntax of the scripts): Specify the path to the + tested program, some shells don't honor the PATH with `sh PROG'. + +2000-10-23 Akim Demaille <akim@epita.fr> + + Since GNU M4 now comes with its libm4 (binary), to avoid + ambiguities let's rename `libm4' (M4 code) as `m4sugar': + + Readability And Greater Understanding Stands 4 M4sugar + + name coined by Lars J. Aas. + + * libm4.m4: Rename as... + * m4sugar.m4: this. + All dependencies adjusted. + +2000-10-23 Akim Demaille <akim@epita.fr> + + * tests/mktests.sh (update_exclude_list, syntax_exclude_list): Add + `AC_PREREQ'. + * tests/tools.m4: Globally, don't use `../' to invoke the tested + tools, since the PATH is properly set, and in most cases it + obfuscates the test code. + (autoupdating AC_PREREQ): New tests. + +2000-10-23 Akim Demaille <akim@epita.fr> + + In order to check that all the CPP symbols which are AC_DEFINE'd + are properly templated, autoheader traces + AC_DEFINE/AC_DEFINE_UNQUOTED. Only literals can be traced, and + actually tracing non literals produces invalid autoheader input. + Hence, provide a means to trace calls to + AC_DEFINE/AC_DEFINE_UNQUOTED with literals. + + * acgeneral.m4 (AC_DEFINE_TRACE, AC_DEFINE_TRACE_LITERAL): New + macros. + (AC_DEFINE, AC_DEFINE_UNQUOTED): Use AC_DEFINE_TRACE. + * autoheader.sh: Trace AC_DEFINE_TRACE_LITERAL, not + AC_DEFINE/AC_DEFINE_UNQUOTED. + +2000-10-23 Akim Demaille <akim@epita.fr> + + Let autoupdate change AC_PREREQ to require the current version of + Autoconf. + + * acgeneral.m4 (_AC_VERSION_UNLETTER, _AC_VERSION_COMPARE): Move + to... + * libm4.m4 (m4_version_unletter, m4_version_compare): here. + Adjust dependencies. + * acgeneral.m4 (AU::AC_PREREQ): New macro. + * autoupdate.sh: Fail when `m4 input.m4' fails. + +2000-10-21 Pavel Roskin <proski@gnu.org> + + * acfunctions.m4 (AC_FUNC_CHOWN): Remove temporary files on exit. + (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise. + (AC_FUNC_SELECT_ARGTYPES): Likewise. + (AC_FUNC_UTIME_NULL): Likewise. + * acgeneral.m4 (_AC_COMPUTE_INT): Likewise. + * aclang.m4 (_AC_F77_NAME_MANGLING): Likewise. + * acspecific.m4 (_AC_SYS_LARGEFILE_MACRO_VALUE): Likewise. + +2000-10-20 Pavel Roskin <proski@gnu.org> + + * tests/tools.m4 (autoupdating AC_LINK FILES): Clean up "src1" + and "src2" at the end of the test. + +2000-10-19 Pavel Roskin <proski@gnu.org> + + * NEWS: Documented changes in AC_PROG_CPP and AC_TRY_CPP. + * doc/autoconf.texi (Compilers and Preprocessors): Likewise. + * acgeneral.m4 (AC_TRY_CPP): Comment changes. + +2000-10-19 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Shellology): Documented quirks in ash-0.2. + +2000-10-18 Pavel Roskin <proski@gnu.org> + + * mdate-sh: Removed, its copy remains in the doc/ directory. + +2000-10-18 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_TOOLS): Use `$' when reading a variable. + +2000-10-18 Morten Eriksen <mortene@sim.no> + + * aclang.m4 (_AC_PROG_CC_G): Use the _AC_COMPILE_IFELSE macro + instead of reinventing the wheel. This also takes care of a bug + where the "-g" option was accepted if the compiler silently exits + with status unequal to 0. + (_AC_PROG_CXX_G): Likewise. + (AC_PROG_CC): As _AC_PROG_CC_G depends on $ac_objext and + $ac_exeext, move the expansion of _AC_OBJEXT and _AC_EXEEXT in + front of _AC_PROG_CC_G. + (AC_PROG_CXX, AC_PROG_F77): Likewise. + +2000-10-18 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (AT_INIT): Avoid foo="`bar`", foo=`bar` is + enough. + Use grep to check the presence of a string in a stream. + * m4/atconfig.m4: Quote. + +2000-10-18 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SHELL_DIRNAME): Quote the `sed' fall back. + +2000-10-18 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_PROG_LN_S): If neither `ln -s' nor `ln' work, + fall back to `cp'. + +2000-10-17 Morten Eriksen <mortene@sim.no> + + * acgeneral.m4 (AC_CHECK_TOOL): As AC_CHECK_PROG first tests the + value of the VARIABLE argument when looking for executables, we + need to set it to the correct value from AC_CHECK_TOOL when not + just passing on the incoming VARIABLE directly. + (AC_CHECK_TOOLS, AC_PATH_TOOL): Likewise. + +2000-10-17 Assar Westerlund <assar@sics.se> + + * acgeneral.m4 (_AC_INIT_PREPARE): Move the + _AC_INIT_PREPARE_ENVIRONMENT invocation to... + (_AC_INIT_DEFAULTS): here, so that we keep the same known + environment for more of the script. + +2000-10-17 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (The GNU build system): Sketch of new a + chapter. + +2000-10-17 Akim Demaille <akim@epita.fr> + + Somehow, the adjustment of `mktests.sh' claimed on 2000-10-17 by + myself (`Fix autoupdate...') was not applied. + + * tests/mktests.sh (update_exclude_egrep): Add AC_INIT, AC_OUTPUT, + AC_LINK_IFELSE. + +2000-10-17 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_PROG, AC_CHECK_PROGS, AC_PATH_PROG) + (AC_PATH_PROGS, AC_PATH_TOOL, AC_CHECK_TOOL, AC_CHECK_TOOLS): Fix + the quotation. + (AC_PATH_TOOL, AC_CHECK_TOOL, AC_CHECK_TOOLS): Check with the + $ac_tool_prefix iff it is not empty. + +2000-10-17 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Particular Programs): Some notes on the + portability of Flex. + +2000-10-17 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE) + (_AC_RUN_IFELSE): Before compiling, remove the files expected to + be produced. + (_AC_LINK_IFELSE, _AC_RUN_IFELSE): You don't create object files, + so don't remove them. + +2000-10-17 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_FATAL): Use _AC_EXPANSION_STACK_DUMP. + (_AC_REQUIRE): Use AC_FATAL. + +2000-10-17 Akim Demaille <akim@epita.fr> + + Give a means to report where the macros have been defined in error + messages. + + * libm4.m4 (m4_location): New macro. + (m4_errprint): Rename as... + (m4_diagnose): this. Use m4_location. + Adjust dependencies. + (m4_errprint): New macro, similar to `errprint' but for an + additional trailing `\n'. + * acgeneral.m4 (AC_DEFUN, AC_DEFUN_ONCE): Define `m4_location($1)' + to the current location (i.e., that of the definition of $1). + (_AC_DEFUN_PRO, _AC_REQUIRE): Also push the location of the + current macro in the stack. + (_AC_EXPANSION_STACK_DUMP): Adjust. + +2000-10-17 Akim Demaille <akim@epita.fr> + + Fix autoupdate: updating `AC_OUTPUT_COMMANDS' was failing because + it includes another AU defined macro. + + * autoupdate.sh (input.m4:_au_defun): New macro. + (au.m4): Use it instead of inlining _au_enable/_au_disable + invocations in the definition of all these macros. + (input.m4:__au_enable, input.m4:__au_disable): New macros. + (input.m4:_au_enable, input.m4:_au_disable): Use them. + * tests/mktests.sh (update_exclude_list): Add `AC_OUTPUT'. + Running it twice in a configure.in is not valid. + Add `AC_LINK_FILES' since it requires arguments. + * tests/tools.m4 (autoupdating AC_LINK_FILES): New test. + +2000-10-17 Raja R Harinath <harinath@cs.umn.edu> + + * Makefile.am (MAINTAINERCLEANFILES): Add acversion.m4. + (INSTALL.txt): Put into $(srcdir). + (acversion.m4): Build here ... + * configure.in (AC_OUTPUT): Not here. + + * tests/Makefile.am (MACRO_FILES): Don't use $(top_srcdir). + (syntax.m4): Create in $(srcdir). + (update.m4): Likewise. + * tests/atspecific.m4 (AT_CHECK_UPDATE): Look for autoconf + macros in the top source directory. + +2000-10-16 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_LANG_COMPILER_GNU): New macro, which unifies... + (_AC_PROG_F77_GNU, _AC_PROG_CC_GNU, _AC_PROG_CXX_GNU): Remove. + Adjust dependencies. + (ac_cv_prog_gcc, ac_cv_prog_gxx, ac_cv_prog_g77): AU_ALIAS'ed. + +2000-10-16 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Adjust copyright notice. + * acspecific.m4: Likewise. + * acoldnames.m4: Likewise. + * acversion.m4.in: Likewise. + * autoconf.sh: Likewise. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. + * autoscan.pl: Likewise. + * autoupdate.sh: Likewise. + * ifnames.sh: Likewise. + +2000-10-16 Pavel Roskin <proski@gnu.org> + + * tests/aclocal.m4: Don't consider variables @, '*', '?' and + '#' in the output of `set' - they are modified by zsh. + +2000-10-14 Pavel Roskin <proski@gnu.org> + + * m4/missing.m4 (AM_MISSING_PROG): Use $SHELL to run "missing". + * configure.in: Don't add $SHELL to the path of help2man - + it is already added by AM_MISSING_PROG. + +2000-10-13 Akim Demaille <akim@epita.fr> + + * tests/mktests.sh: If ever it fails, touch the output files + ``a` la missing''. + +2000-10-13 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LINKER_OPTION): Ahem, err, use `$' when + consulting a variable... + +2000-10-13 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Typos in comments spotted by Pavel. + +2000-10-12 Pavel Roskin <proski@gnu.org> + + * acspecific.m4 (AC_PROG_LEX): Don't assume that lex exists. + Don't run _AC_DECL_YYTEXT if it doesn't. Always check libl and + libfl regardless of the $LEX value. + +2000-10-12 Morten Eriksen <mortene@sim.no> + + * acgeneral.m4 (AC_CONFIG_SUBDIRS): Fixed nasty typo. + +2000-10-12 Akim Demaille <akim@epita.fr> + + * tests/mktests.sh: Backslash the quote in the heredocs to help + syntax highlighting tools. + * tests/atspecific.m4 (AT_CHECK_UPDATE): Give a better AT_SETUP + title. + +2000-10-12 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SH_QUOTE): Issue an `obsolete' warning for use + of backquotes, instead of a `syntax' warning. + +2000-10-12 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_VAR_IN_INDIR, AC_VAR_IF_SET): Rename as... + (AC_VAR_INDIR_IFELSE, AC_VAR_SET_IFELSE): this. + +2000-10-12 Akim Demaille <akim@epita.fr> + + * tests/mktests.sh: Remove tmp files. + +2000-10-12 Akim Demaille <akim@epita.fr> + + Macros used by AC_LANG_COMPILER macros shall not AC_REQUIRE + AC_LANG_COMPILER by the way of AC_COMPILE_IFELSE etc. + + * acspecific.m4 (_AC_EXEEXT): Use _AC_LINK_IFELSE, not + AC_LINK_IFELSE to avoid AC_REQUIREing AC_PROG_CC which precisely + requires _AC_EXEEXT. + Don't run _AC_CYGWIN, _AC_MINGW32, _AC_EMXOS2. + * aclang.m4 (_AC_PROG_F77_G): Use _AC_COMPILE_IFELSE, not + AC_COMPILE_IFELSE. + (_AC_LANG_COMPILER_WORKS): Use _AC_LINK_IFELSE, not + AC_LINK_IFELSE. + +2000-10-12 Akim Demaille <akim@epita.fr> + + Diagnose AC_REQUIRE circular dependencies. + + * acgeneral.m4 (_AC_DEFUN_PRO, _AC_DEFUN_EPI): Keep a stack of + macro expansions, _AC_EXPANSION_STACK. + Use `_AC_EXPANDING(FOO)' to record the fact that `FOO' is being + expanded. + (_AC_REQUIRE): Diagnose required macros which are already being + expanded. + Record in _AC_EXPANSION_STACK the AC_REQUIRE calls. + (_AC_EXPANSION_STACK_DUMP): New macro. + +2000-10-12 Akim Demaille <akim@epita.fr> + + * libm4.m4 (m4_dumpdefs, _m4_dumpdefs_up, _m4_dumpdefs_down): New + macros. + +2000-10-11 Pavel Roskin <proski@gnu.org> + + * tests/atgeneral.m4 (AT_CHECK): Make sure that $? is set to 0 + if diffs have succeeded. + +2000-10-11 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE) + (_AC_RUN_IFELSE): New macros which are the former + AC_COMPILE_IFELSE etc. without AC_LANG_COMPILER_REQUIRE. + (AC_COMPILE_IFELSE, AC_LINK_IFELSE, AC_RUN_IFELSE): Use them. + +2000-10-11 Morten Eriksen <mortene@sim.no> + + * acgeneral.m4 (AC_RUN_IFELSE): Add missing executable suffix. + * aclang.m4 (_AC_LANG_COMPILER_WORKS): Likewise. + * aclang.m4 (AC_PROG_CC_C_O, AC_PROG_F77_C_O): Fix typos where + $objext were used instead of $ac_objext. + +2000-10-05 Akim Demaille <akim@epita.fr> + + Check that updated scripts are valid scripts. + + * tests/mktests.sh: Generate `syntax.m4' directly. + * tests/macros.m4: Remove. + Adjust dependencies. + * tests/mktests.sh: Generate `update.m4' too. + * tests/update.m4: New generated file. + Adjust dependencies. + * tests/atspecific.m4 (AT_CHECK_UPDATE): New macro. + +2000-10-05 Akim Demaille <akim@epita.fr> + + * tests/mktests.sh: New file, which replaces the code inlined in + Makefile.am. + * src/Makefile.am (macros.m4): Use `mktests.sh'. + * tests/suite.m4: Reorder from low level to high level. + +2000-10-02 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_LANG_ABBREV, _AC_LANG_ABBREV(C)) + (_AC_LANG_ABBREV(C++), _AC_LANG_ABBREV(Fortran 77): New macros. + (AC_LANG_(C), AC_LANG_(C++), AC_LANG_(Fortran 77)): Don't define + AC_LANG_ABBREV. + (_AC_PROG_PREPROC_WORKS): Adjust. + * acgeneral.m4 (_AC_TRY_CPP): Likewise. + +2000-10-02 Pavel Roskin <proski@gnu.org> + + * acspecific.m4 (AC_PROG_LEX): Use AC_DEFUN_ONCE. + (AC_DECL_YYTEXT): Don't use AC_REQUIRE because autoupdate + would place it into configure.in but it's not allowed + outside AC_DEFUN. + +2000-10-02 Pavel Roskin <proski@gnu.org> + + * tests/Makefile.am: Macros defined by AC_DEFUN_ONCE should + go to macros.m4 for testing. + +2000-09-28 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (AC_SHELL_UNSET): Don't rely on variable + assignments changing $?. + +2000-09-28 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_OUTPUT_FILES): Fixed exit status. + (_AC_OUTPUT_HEADERS): Exit if the header template is missing. + +2000-09-28 Pavel Roskin <proski@gnu.org> + + * acfunctions.m4: Formatting fixes. + * acgeneral.m4: Likewise. + * aclang.m4: Likewise. + * acspecific.m4: Likewise. + * libm4.m4: Likewise. + +2000-09-27 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (AC_CHECK_PROG): Added protection against spaces + in $PATH. + * acspecific.m4 (AC_PROG_INSTALL): Likewise. + +2000-09-27 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (AC_CHECK_LIB): only call AH_CHECK_LIB if + ACTION-IF-TRUE is not given. + (AH_CHECK_LIB): related comment changes. + +2000-09-27 Pavel Roskin <proski@gnu.org> + + * aclang.m4 (_AC_LANG_COMPILER_WORKS): Remove []dnl because it + resulted in invalid shell code. + +2000-09-27 Lars J. Aas <larsa@sim.no> + + * autoconf.sh: Report full macro name for missing macros. + +2000-09-27 J. David Anglin <dave@hiauly1.hia.nrc.ca> + + * autoheader.sh: Fix trap (EXIT) status. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * autoconf.sh: Change `exit' to `{ (exit 1); exit; }' after m4 and + awk commands to ensure exit state is in a defined state. + +2000-09-25 Alexandre Oliva <oliva@lsd.ic.unicamp.br> + + * tests/semantics.m4 (AC_PROG_CPP with warning): Simplified. + +2000-09-25 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Use + _AC_INIT_PREPARE_ENVIRONMENT to make the shell running + config.status sane and POSIX-compatible. + +2000-09-25 Pavel Roskin <proski@gnu.org> + + * autoheader.sh: Don't check status of variable assignments - + it's undefined in ash 0.2. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * autoconf.sh: Likewise. Also eliminated command substitution + inside variable expansion - ash 0.2 coredumps on it. + +2000-09-21 Pavel Roskin <proski@gnu.org> + + * tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Check stderr from + autoconf and autoheader. Expected warnings disabled by "-W none" + Preceding comment removed as no longer relevant. + * tests/semantics.m4 (AC_CHECK_PROG & AC_PATH_PROG): Check + stderr from autoconf. + (AC_PATH_PROG & AC_PATH_PROGS): Likewise. + (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Likewise. + * tests/tools.m4 (autoheader): Check that autoheader prints + a warning for missing templates. Check stderr from autoconf. + * tests/torture.m4 (config.status under extreme conditions): + Check stderr from autoconf and autoheader. + (command line interface): Check stderr from autoconf. + +2000-09-21 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix usage info for + config.status - file arguments are optional. + +2000-09-21 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_OUTPUT_FILES): Ensure that config.status + exits if any input file is missing. + * tests/semantics.m4 (missing templates): Test it. + +2000-09-21 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_SHELL_TMPDIR): Don't check status of variable + assignment - it's undefined in ash 0.2. + +2000-09-21 Akim Demaille <akim@epita.fr> + + * src/atgeneral.m4 (AC_CHECK): Display stderr including when the + test failed because of stdout. + +2000-09-21 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4: Formatting changes. + (AT_INIT): Let `at_stop_on_error' and `at_verbose' be `:'/`false' + variables instead of `'/`1'. + `at_check_stds' replaces `at_no_redirs'. + Rename `Snippet 3' as `Snippet 4'. + Introduce `Snippet 3' for variable initializations. + Adjust the dependencies. + (AT_CHECK): Don't show diff's result unless verbose. + +2000-09-20 Pavel Roskin <proski@gnu.org> + + * tests/Makefile.am: AC_PREFIX_PROGRAM and AC_F77_FUNC excluded + from testing because they require an argument. + * tests/atspecific.m4: Make sure that configure doesn't write + anything to stderr. + +2000-09-20 Pavel Roskin <proski@gnu.org> + + * acspecific.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Cache + variable wasn't always set inside AC_CACHE_CHECK. + (_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL): Likewise. + From Nicolas Joly. + +2000-09-20 Pavel Roskin <proski@gnu.org> + + * libm4.m4 (m4_ifvanl): Don't output a newline for empty + arguments. + +2000-09-19 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4 (AT_TEST_MACRO): Rename as... + (AT_CHECK_MACRO): this. All dependencies adjusted. + +2000-09-19 Akim Demaille <akim@epita.fr> + + * tests/aclocal.m4.new (AC_ENV_SAVE): Skip POW_LIB, used by + AC_FUNC_STRTOD. + From Bernard Dautrevaux. + +2000-09-19 Pavel Roskin <proski@gnu.org> + + * tests/atgeneral.m4 (AT_DATA): Use _ATEOF instead of EOF. + +2000-09-19 Pavel Roskin <proski@gnu.org> + + * tests/semantics.m4 (AC_PROG_CPP with warnings): Minor + simplification. + +2000-09-19 Akim Demaille <akim@epita.fr> + + * autoconf.sh (optarg): More robust expr invocation. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * autoheader.sh: Likewise. + Reported by Bernard Dautrevaux. + +2000-09-19 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (AU_ALIAS): Do not use `defn' since then autoupdate + would replace an old macro call with the new macro body instead of + the new macro call. + * tests/tools.m4 (autoupdate): Test an AU_ALIAS'd macro update. + +2000-09-19 Pavel Roskin <proski@gnu.org> + + * tests/atspecific.m4 (_AT_CHECK_AC_MACRO): New macro. + (AT_TEST_MACRO): Use it. + * tests/semantics.m4 (AC_PROG_CPP with warnings, AC_PROG_CPP + without warnings): New tests. + +2000-09-18 Ruediger Kuhlmann <autoconf-list@ruediger-kuhlmann.de> + + * acgeneral.m4 (_AC_OUTPUT_SUBDIRS): Check for configure.gnu + as well. + (_AC_INIT_HELP): Likewise. + (NEWS): Note checking for configure.gnu. + * doc/autoconf.texi: Document checking for configure.gnu when + recursing subdirectories. + +2000-09-18 Jim Meyering <meyering@lucent.com> + + * acfunctions.m4 (AC_FUNC_GETLOADAVG): Restore the initial value + of LIBS. Otherwise, everyone ends up linking with -lelf for some + configurations. + Reported by Mike Stone. + +2000-09-14 Pavel Roskin <proski@gnu.org> + + * aclang.m4 (AC_PROG_CPP): Use double quotes in the for loop + and eliminate ac_tmp_cpp. + (AC_PROG_CXXCPP): Use double quotes in the for loop and + eliminate ac_tmp_cxxcpp. + +2000-09-14 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_TRY_CPP): Don't filter out conftest.$ac_ext + from the output - it is only printed by Visual C that gives + correct exit status. + * aclang.m4 (AC_PROG_CPP): Don't try '${CC-cc} -nologo -E' + by the same reason. + +2000-09-12 Pavel Roskin <proski@gnu.org> + + * aclocal.m4 (_AC_PROG_CPP_WORKS): Don't use AC_REQUIRE_CPP - + it's useless here. Rename to ... + (_AC_PROG_PREPROC_WORKS): ... this. + +2000-09-12 Ruediger Kuhlmann <autoconf-list@ruediger-kuhlmann.de> + + * acspecific.m4 (AC_PROG_INSTALL): Exclude c:install on AmigaOS. + +2000-09-12 Akim Demaille <akim@epita.fr> + + The test suite fails on some hosts because for instance + AC_INIT + AC_CHECK_FUNC(exit) + will not look for a compiler, it will just use `cc'. + Macros that need a compiler should require one. + + * acgeneral.m4 (_AC_REQUIRE): New macro, which is actually the + previous version of AC_REQUIRE plus the possibility to distinguish + the name of the symbol being AC_PROVIDE'd, and the text to expand. + (AC_REQUIRE): Reimplement in terms of _AC_REQUIRE. + * aclang.m4 (AC_LANG_COMPILER, AC_LANG_COMPILER_REQUIRE) + (AC_LANG_COMPILER(C), AC_LANG_COMPILER(C++)) + (AC_LANG_COMPILER(Fortran 77)): + New macros. + * acgeneral.m4 (AC_COMPILE_IFELSE, AC_LINK_IFELSE, AC_RUN_IFELSE): + Require a compiler. + (AC_TRY_RUN): Formatting changes. + * acfunctions.m4 (AC_FUNC_SETPGRP): Quote properly. The previous + changes revealed the weaknesses of this macro. + +2000-09-12 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_TRY_CPP): New macro. It runs the preprocessor + and checks whether it produces errors or warnings. Don't put grep + output into a variable, use another grep instead. + (AC_TRY_CPP): Use _AC_TRY_CPP. Copy conftest.err to config.log + if the case of an error. + * aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)): + define AC_LANG_ABBREV to the short language name. + (_AC_PROG_CPP_WORKS): New macro. It checks whether the current + preprocessor can be used to check for existence of headers. + Most code taken from ... + (AC_PROG_CPP): ... here. Use _AC_PROG_CPP_WORKS. Use shell + "for" to find working CPP. Use AC_LANG_PUSH(C) and AC_LANG_POP - + it's a macro for C only. + (AC_PROG_CXXCPP): Rewritten using _AC_PROG_CPP_WORKS. + +2000-09-12 Akim Demaille <akim@epita.fr> + + * autoupdate.sh (sed): Look for GNU sed. + (usage): Ask for GNU sed. + +2000-09-12 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (AC_EGREP_CPP): Use additional quotes instead of + changequote. + +2000-09-12 Ruediger Kuhlmann <autoconf-list@ruediger-kuhlmann.de> + + * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WIDTH): Add trailing + semicolon to final fi. + +2000-09-11 Pavel Roskin <proski@gnu.org> + + * acgeneral.m4 (_AC_WARNING_ERROR_IFELSE) + (__AC_WARNING_ERROR_IFELSE): New macros for checking whether + warnings should be considered errors. + (_AC_DIAGNOSE): Use _AC_WARNING_ERROR_IFELSE. + +2000-09-11 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: Properly report names of unexpanded macros that + begin with an underscore. + +2000-09-11 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi (Preset Output Variables): Correctly specify + what languages are affected by CPPFLAGS, LDFLAGS and LIBS. + Extended description of LDFLAGS and LIBS. + (Compilers and Preprocessors, C Compiler Characteristics): + Recommend Automake as the source of ansi2knr. + (Autoconf Language, Quotation and Nested Macros): English fixes. + (Quotation and Nested Macros): Unclear example replaced with + an explanation of when m4 expands quotes. Added explanation why + unquoted calls are dangerous. + +2000-09-08 Pavel Roskin <proski@gnu.org> + + * doc/autoconf.texi: Always use one space before the opening + parenthesis in @defmac. + +2000-09-06 Morten Eriksen <mortene@sim.no> + + * acspecific.m4 (_AC_OBJEXT): No longer use AC_COMPILE_IFELSE, + which uses $ac_objext hence depends upon _AC_OBJEXT. + * aclang.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Call + _AC_OBJEXT before _AC_EXEEXT since the latter needs $ac_objext. + +2000-09-06 Bernard Dautrevaux <dautrevaux@objectlive.com> + + * acspecific.m4 (_AC_EXEEXT): Set extension to void if linking + creates both an unsuffixed file and suffixed ones. + +2000-09-06 Peter Eisentraut <peter_e@gmx.net> + + * autoconf.texi: English and typo fixes. + +2000-09-05 Pavel Roskin <proski@gnu.org> + + * autoconf.sh: Consider undefined macros as errors. + * tests/base.m4 (unexpanded macros): Expect error, not warning. + +2000-09-05 Dave Love <fx@gnu.org> + + * aclang.m4 (_AC_PROG_F77_GNU): Run command from standard input so + that we can get some standard output. + +2000-09-04 Peter Eisentraut <peter_e@gmx.net> + + * autoscan.pl: Repair broken Getopt::Long use. + +2000-09-04 Akim Demaille <akim@epita.fr> + + * configure.in: Bump version to 2.49b. + * Makefile.am (bin_SCRIPTS): Depend upon configure.in. + +2000-08-11 Akim Demaille <akim@epita.fr> + + Version 2.49a. + +2000-08-11 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_NO_EXECUTABLES): New macro. + +2000-08-11 Akim Demaille <akim@epita.fr> + + * tests/base.m4 (AC_SHELL_MKDIR_P): Remove `a' too. + +2000-08-11 Akim Demaille <akim@epita.fr> + + * configure.in: Bump version to 2.49a. + +2000-08-11 J. David Anglin <dave@hiauly1.hia.nrc.ca> + + * autoconf.sh: Change `exit N' to `(exit N); exit' to provide + the correct exit status when an exit trap is taken. + +2000-08-11 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (AM_FUNC_ERROR_AT_LINE, AM_FUNC_FNMATCH, + AM_FUNC_MKTIME, AM_FUNC_OBSTACK, AM_FUNC_STRTOD): Deactivate + their AU_ALIAS definition: Automake 1.4 does not quote the name of + these macros, hence when Autoconf reads Automake's definition the + name is expanded with unpredictable results. + +2000-08-09 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (Installing Autoconf extensions files): Remove. + +2000-08-09 Akim Demaille <akim@epita.fr> + + * autoconf.sh (finalize.awk): Don't leave spaces before the user + function calls. + Reported by John David Anglin. + * doc/autoconf.texi (Limitations of Usual Tools): Start the AWK + section. + * tests/tools.m4 (AWK portability): New test. + +2000-08-08 Pavel Roskin <proski@gnu.org> + + * Makefile.am: Substitute @bindir@ in shell scripts, needed by + autoheader. + +2000-08-07 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (_AC_LIBOBJ_ALLOCA, AC_REPLACE_FUNCS): Simplify + ${foo} into $foo. + * aclang.m4 (AC_LANG(C), AC_LANG(C++)): Move some internal + comments into the header comment. + * acgeneral.m4 (AC_TRY_CPP): Likewise. + +2000-08-07 Akim Demaille <akim@epita.fr> + + * tests/tools.m4 (undefined macros): New test. + +2000-08-07 Akim Demaille <akim@epita.fr> + + * autoconf.sh (finalize.awk): New subtool, eved from the previous + literal AWK program that performed the `oline' and quadrigraphs + substitution. + Fix its `oline' computation which was dead wrong when there are + empty lines (i.e., always). + Enhance it in order to look for and report unexpanded macro. + Don't let it pretend there are bugs in Autoconf (c:, the test + suite makes this scenario pretty unlikely as opposed to an actual + user bug. + Catch `m4_' too. + Remove the shell snippet which used to do this. + +2000-08-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_MSG_NOTICE): New macro, suggested by Pavel + Roskin. + (AC_MSG_ERROR): Use it. + +2000-08-04 Ruediger Kuhlmann <uck4@rz.uni-karlsruhe.de> + + * acspecific.m4 (AC_PROG_RANLIB): Use AC_CHECK_TOOL. + * doc/autoconf.texi (Limitations of Usual Tools): Typos. + +2000-08-04 Akim Demaille <akim@epita.fr> + + Solaris' /usr/ucb/expr, and SunOS' /usr/bin/expr fail with the `:' + operator when \(\) is used, and matches a string longer than 120 + characters. + Reported by Geoff Keating. + + * doc/autoconf.texi (Limitations of Usual Tools): Some words about + this. + * acgeneral.m4 (_AC_SHELL_DIRNAME): Fall back to echo|sed if expr + fails. + From Paul Eggert. + +2000-08-04 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: (AC_RUN_IFELSE, AC_LINK_IFELSE, AC_COMPILE_IFELSE): + Don't create the source file if none is given, and in this case, + don't remove it either. + +2000-08-04 Akim Demaille <akim@epita.fr> + + * libm4.m4 (m4_ifvanl): New macro. + * acgeneral.m4: Use it. + +2000-08-02 Akim Demaille <akim@epita.fr> + + Release Automake from being a substitute to Autoconf. + + * acspecific.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H, + _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL, AC_HEADER_TIOCGWINSZ, + AC_SYS_POSIX_TERMIOS): New macros from both Automake and the + fileutils. + +2000-08-02 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G): Recent changes + inverted the results. Fix that. + +2000-08-02 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Special Shell Variables): More emphasis on + the dangers of character ranges. + From Paul Eggert. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * autoheader.sh (_ac_warnings): Be robust to LC_COLLATE. + `IFS=,; echo ,' will give a comma. Take this into account. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_PROG_CC): Also try to find $target_alias-cc. + +2000-08-01 Akim Demaille <akim@epita.fr> + + AC_VALIDATE_CACHED_SYSTEM_TUPLE no longer works properly since the + AC_CANONICAL_* revamping. + Reported by Peter Eisentraut. + In fact, let's just use the precious variables handling. + + * acgeneral.m4 (AC_VALIDATE_CACHED_SYSTEM_TUPLE): Obsoleted. + (_AC_ARG_VAR_PRECIOUS): New macro, eved from... + (AC_ARG_VAR): this macro. Adjust. + (_AC_INIT_PREPARE): `build_alias', `host_alias', and + `target_alias' are precious. + * doc/autoconf.texi: Adjust. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Neutralize also + LC_COLLATE and LC_NUMERIC. + * autoconf.m4: Don't rely on character ranges with tr. + * doc/autoconf.texi (Special Shell Variables): Adjust. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (_AC_LIBOBJ_STRTOD, AC_FUNC_STRTOD, + AM_FUNC_STRTOD): New macros, from Automake. + * acfunctions: Adjust. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * acidentifiers: Catch ptrdiff_t. + * acspecific.m4 (AM_TYPE_PTRDIFF_T): AU define. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Be ready to handle AC_CHECK_TYPES requests. + Quote properly the output. + Remove useless backslashes. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (AC_FUNC_ONSTACK): New macro, from + Automake. + * doc/autoconf.texi (Particular Functions): Adjust. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * acfunctions.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from + Automake. + * doc/autoconf.texi (Particular Functions): Adjust. + +2000-08-01 Akim Demaille <akim@epita.fr> + + Create acfunctions.m4, in charge of the macros related to + functions. + + * acgeneral.m4 (AC_CHECK_FUNC, AC_CHECK_FUNCS, AC_REPLACE_FUNCS): + Move to... + * acfunctions.m4: here, new file. + * acspecific.m4 (_AC_LIBOBJ_ALLOCA, AC_FUNC_ALLOCA, AC_FUNC_CHOWN, + AC_FUNC_CLOSEDIR_VOID, AC_FUNC_FNMATCH, AC_FUNC_GETGROUPS, + _AC_LIBOBJ_GETLOADAVG, AC_FUNC_GETLOADAVG, AC_FUNC_GETMNTENT, + AC_FUNC_GETPGRP, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, + AC_FUNC_MALLOC, AC_FUNC_MEMCMP, AC_FUNC_MKTIME, AC_FUNC_MMAP, + AC_FUNC_SELECT_ARGTYPES, AC_FUNC_SETPGRP, _AC_FUNC_STAT, + AC_FUNC_STAT, AC_FUNC_LSTAT, AC_FUNC_STRERROR_R, AC_FUNC_STRFTIME, + AC_FUNC_VFORK, AC_FUNC_VPRINTF, AC_FUNC_WAIT3, AC_FUNC_UTIME_NULL, + AC_FUNC_STRCOLL, AC_FUNC_SETVBUF_REVERSED): Likewise. + * Makefile.am: Adjust. + + Move also the old definitions into acfunctions.m4, and adjust the + test suite. + + * acgeneral.m4 (AU_ALIAS): New macro. + * acoldnames (AC_FUNC_CHECK, AC_HAVE_FUNCS, AC_ALLOCA, + AC_GETLOADAVG, AC_MMAP, AC_SETVBUF_REVERSED, AC_STRCOLL, + AC_UTIME_NULL, AC_VFORK, AC_VPRINTF, AC_WAIT3, AM_FUNC_FNMATCH, + AM_FUNC_MKTIME, fp_FUNC_FNMATCH): Move to... + * acfunctions.m4: here, using AU_ALIAS. + * acgeneral.m4 (AC_FD_CC, AC_CANONICAL_SYSTEM): Use AU_ALIAS to + define them. + * acoldnames.m4: Use AU_ALIAS instead of AU_DEFUN. + * tests/Makefile.am (MACRO_FILES): Adjust. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Use Getopt::Long; + * acidentifiers: Classify, sort. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_PROG_CXX_GNU, _AC_PROG_CC_GNU, _AC_PROG_F77_GNU): + Use grep instead of egrep, don't redirect stderr. + +2000-08-01 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_NOTICE): Adjust so that there are no + empty lines in the header comments (should be `#' alone instead). + Reported by Didier Verna. + +2000-08-01 Greg A. Woods <woods@weird.com> + + * doc/autoconf.texi (Installation Directory Variables): + Clarifications and typos. + +2000-08-01 Didier Verna <didier@lrde.epita.fr> + + * acgeneral.m4 (AC_REVISION): Put a dot at the end of the line. + (_AC_INIT_HELP): Output the bug report address at + the end of a `configure --help' output. + (_AC_INIT_NOTICE): Ditto, but at the top of `configure'. + +2000-07-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE_FDS): New macro, pulled out of + (_AC_INIT_PREPARE): here, where it is called from. + * aclang.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G): Don't test -z "`foo`". + +2000-07-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_DIVERT(INIT_PARSE_ARGS)): Rename as... + (_AC_DIVERT(PARSE_ARGS)): this. Adjust dependencies. + (AC_ARG_WITH): Remove spurious newline. + (AC_ARG_VAR): No longer save precious variables in + ac_configure_args, rather snapshot them twice (one kept + unmodified, another one to be written to/overwritten by the cache + file). + (AC_CACHE_SAVE): Let the cache variables named `ac_cv_env_*' + be overwritten when loading the cache (i.e., don't use the + : ${foo=...} trick). + (_AC_ARG_VAR_VALIDATE): Compare the two snapshots of the precious + variables. + (_AC_INIT_PREPARE): Call it after having loaded the cache file. + +2000-07-28 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_LANG_CONFTEST, _AC_PROG_CC_GNU, _AC_PROG_CXX_GNU, + _AC_PROG_F77_GNU): Use ac_ext. Use _ACEOF instead of ACEOF. + +2000-07-28 Akim Demaille <akim@epita.fr> + + * autoconf.sh (--warnings): Catch `no-category', not `nocategory'. + * autoheader.sh: Likewise. + * acgeneral.m4 (_AC_WARNING_IFELSE): Adjust. + +2000-07-28 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Installation Directory Variables): New + section, Eved off from `Preset Output Variables', i.e., was a + small part of it, grew independent, and is its equal (at least). + (Coding Style): `$#' padding. + * Makefile.am (editsh, editpl): Do what the doc says you do: use + @datadir\@ instead of @''datadir''@. + +2000-07-28 Akim Demaille <akim@epita.fr> + + * aclang.m4 (_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU, + _AC_PROG_F77_GNU): Use ac_ext. Use ACEOF instead of EOF. + (AC_LANG_CONFTEST): New macro. + (_AC_PROG_CC_G, AC_PROG_CC_C_O, _AC_PROG_CXX_G, AC_PROG_F77_C_O, + _AC_PROG_F77_V_OUTPUT): Use it. + * acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP, AC_COMPILE_IFELSE, + AC_LINK_IFELSE, AC_RUN_IFELSE): Likewise. + +2000-07-24 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_F77_FUNC): New macro to give the user a clean + way of accessing Fortran name-mangling information other than + through CPP, and without having to know the different possible + name-mangling schemes. + * autoconf.texi: Documented AC_F77_FUNC + +2000-07-24 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_CHECK_TYPE_BUILTIN_P): Add `off_t' and + `size_t' which are often used too. + Fix a bug which prevents recognition of `bool' and `char'. + (_AC_CHECK_TYPE_MAYBE_TYPE_P): New macro. + (AC_CHECK_TYPE): Use it. + +2000-07-19 Peter Eisentraut <peter_e@gmx.net> + + * Makefile.am: Remove INSTALL.txt by maintainer-clean target. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * autoupdate.sh: Typo: s/infile/file/. + +2000-07-19 Martin Wilck <martin@tropos.de> + + * aclang.m4 (AC_F77_NAME_MANGLING): Obsolete, becomes + _AC_F77_NAME_MANGLING. + (_AC_F77_NAME_MANGLING): Use independent checks for the + name mangling of symbols with and without underscores. + Use algorithm with for loops instead of recursive macro calls. + (AC_F77_WRAPPERS): Adapt to changes in _AC_F77_NAME_MANGLING. + * doc/autoconf.texi (Fortran 77 Compiler Characteristics): + Remove documentation of AC_F77_NAME_MANGLING. + Remove documentation of f77_case and f77_underscore. + Replace AC_F77_FUNC_WRAPPER with AC_F77_WRAPPERS. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * NEWS: Fresh air. + * TODO: Fresh blood. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (autoheader Invocation): Explain the purpose + of autoheader. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Various English fixes from Jim. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Compilers and Preprocessors, Obsolete + Macros): Don't give boring internal details. + (Language Choice): Typo. + (Limitations of Builtins): Some about `!', `set', `$@'. + (Coding Style): Some about $[@] quotation. + Some about cross-compilation. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (dir): When verbose, say what are the tools you + will use. + +2000-07-19 Akim Demaille <akim@epita.fr> + + Warnings related to obsolete constructs should be properly + classified. + + * acspecific.m4 (AC_RSH, AC_USG, AC_MEMORY_H, AC_DIR_HEADER, + AC_INT_16_BITS, AC_LONG_64_BITS, AC_STRUCT_ST_BLKSIZE, + AC_STRUCT_ST_RDEV, AC_HAVE_POUNDBANG, AC_ARG_ARRAY): Use + `AC_DIAGNOSE(obsolete, ...)' instead of `AC_WARNING'. + +2000-07-19 Akim Demaille <akim@epita.fr> + + autoconf -W error does not work. + + * acgeneral.m4 (_AC_DIAGNOSE): use _AC_WARNING_IFELSE, + _AC_WARNING_ENABLE is dead. + +2000-07-19 Akim Demaille <akim@epita.fr> + + Martin Wilck found a Fortran 77 compiler which always exits with + success. + + * acgeneral.m4 (AC_COMPILE_IFELSE): Also check that the output + file was created and is nonempty. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Introduction): More about CVS, Gnats, the web + pages, and the mailing lists. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Prerequisite Macros): Dedocument AC_PROVIDE. + (Coding Style): Move some into... + (Macro Definitions): here. + +2000-07-19 Akim Demaille <akim@epita.fr> + + The --help message should have paragraphs starting with a title, + the options, and then optionally a small paragraph. + + * acgeneral.m4 (AC_DIVERT_ONCE): New macro. + (HELP_VAR_END): New diversion. + (AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): Use AC_DIVERT_ONCE. + (AC_ARG_VAR): Follow the --help style. + * acspecific.m4 (AC_PATH_X): Use AC_DIVERT_ONCE. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_PROG_CC): Don't require AC_PROG_F77, require + AC_PROG_CC instead. + From Martin Wilck. + (AC_PROG_F77_C_O): Require AC_PROG_F77. + Use a cache variable independent of $F77. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * autoreconf.sh: Accept --symbolic and -s. + +2000-07-19 Akim Demaille <akim@epita.fr> + + Make it clear that the regular user does not need --macrodir. + In fact, rename this option as -A, --autoconf-dir. + + * autoconf.sh: Complain when -m, --macrodir is used. + Accept -A, --autoconf-dir. + Use $autoconf_dir instead of $AC_MACRODIR. + Adjust --help. + * autoheader.sh: Likewise. + * autoscan.sh: Likewise. + * autoupdate.sh: Likewise. + Use $optarg. + * autoreconf.sh: Likewise. + * doc/autoconf.texi: Adjust. + * tests: Adjust the test suite. + +2000-07-19 Akim Demaille <akim@epita.fr> + + * autoreconf.sh: Forward --debug to sub tools. + Let them share the same tmp dir. + +2000-07-18 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_MING32): Rename as AC_MINGW32. + +2000-07-18 Steven G. Johnson <stevenj@alum.mit.edu> + + Fixed bug where the F77 compiler output was parsed differently + when detecting the verbose flag than when scanning for linker + options, and as a result the former test failed (under AIX/xlf). + + * aclang.m4 (_AC_PROG_F77_V_OUTPUT): New macro to get the + output of linking an F77 program with a given verbose flag, + and preprocess it as required to scan for linker flags. + (_AC_PROG_F77_V): Use the above macro here... + (AC_F77_LIBRARY_LDFLAGS): ...and here, enforcing consistency. + +2000-07-17 Martin Wilck <martin@tropos.de> + + * autoupdate.sh (autoconf): s,$updated,$tmp/updated,. + +2000-07-17 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Configuration Actions): Explain the + behavior of AC_CONFIG_HEADERS and AC_CONFIG_FILES with respect to + absolute and relative filenames, and stdin/stdout. + (config.status invocation): Likewise. + +2000-07-17 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Configuration Actions): Explain the + behavior of AC_CONFIG_HEADERS and AC_CONFIG_FILES with respect to + absolute and relative filenames, and stdin/stdout. + (config.status invocation): Likewise. + +2000-07-13 Akim Demaille <akim@epita.fr> + + Make it easier to trace what autoreconf does. + + * autoheader.sh: Be more verbose, and always report your name in + verbose messages. + * autoconf.sh: Likewise. + * autoreconf.sh: Likewise. + (update.sh): Redirect ls' stderr to /dev/null. + +2000-07-13 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS): Properly + handle absolute input file names. + From Alexandre Oliva. + +2000-07-12 Martin Wilck <martin@tropos.de> + + * aclang.m4 (AC_PROG_F77): Delete AC_BEFORE(AC_PROG_CPP) that + leads to unnecessary warnings if both C and Fortran are checked. + (AC_PROG_F77_C_O): AC_REQUIRE AC_PROG_F77 instead of pretend you + need to be AC_BEFORE it. + +2000-07-12 Akim Demaille <akim@epita.fr> + + * autoconf.sh (_ac_warnings): Fix call to tr. + Reported by Johan Danielsson. + +2000-07-11 Martin Wilck <martin@tropos.de> + + * aclang.m4 (_AC_PROG_F77_V): New macro to determine the flag that + causes the compiler to output verbose linking information. + (AC_F77_LIBRARY_LDFLAGS): Use _AC_PROG_F77_V instead of + simply "-v" + (AC_F77_LIBRARY_LDFLAGS): New algorithm to parse flags, uses + set/shift shell commands. + (AC_F77_LIBRARY_LDFLAGS): Set FLIBS at end, after determining + ac_cv_flibs. + +2000-07-11 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_DEFAULTS) <ac_max_here_lines>: Set to 38 + instead of 48, to pass the test on RISC/OS 4.52. + +2000-07-11 Akim Demaille <akim@epita.fr> + + !*^&$@ sed portability problems... The test on AC_CHECK_TYPES is + failing on RISC/OS 4.52 because of the forget-to-reset-the-flag + bug in its sed. + + * acgeneral.m4 (_AC_OUTPUT_HEADERS): Work around this bug. + +2000-07-11 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_INT_16_BITS, AC_LONG_64_BITS): s/ac_check/ac_cv/. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS): Look for + the input files first in $builddir, then $srcdir. + Suggested by Lars J. Aas, designed by Alexandre Oliva. + +2000-07-10 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS): + Accept special filename '-' for stdin and stdout. + +2000-07-10 Akim Demaille <akim@epita.fr> + + Alexandre's suggestions. + + * autoreconf.sh (update.sh): Use `ls -1dt' instead of `-lt'. + Use test instead of sed. + <automake>: If automake is used, always run it: it has its own + mechanism not to update if unneeded. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_PROG_ECHO): Modernize. + +2000-07-10 Akim Demaille <akim@epita.fr> + + Stop being ridiculous :*( + + * acgeneral.m4 (_AC_SHELL_DIRNAME): When using m4 the argument + is named `$1' not `$dir'. + When using m4 you ought to quote properly. + When using m4, you should check that there are not too many shell + quotes (inside the macro itself, and where it is called). + When you do this, Autoconf, hm, works better. + +2000-07-10 Steven G. Johnson <stevenj@alum.mit.edu> + + Improve --help documentation of important environment variables. + + * acgeneral.m4 (_AC_INIT_HELP): Direct reader to descriptions + of useful variables at the end of the --help. + (AC_ARG_VAR): Emphasize use of environment variables to override + and/or help the configure script. Ensure that a given variable + is only documented once in the --help. + (AC_CHECK_LIB): Call AC_ARG_VAR to document and register the + LDFLAGS variable, and... + (AC_CHECK_HEADER): do the same for the CPPFLAGS variable. + * aclang.m4 (AC_PROG_CC): Call AC_ARG_VAR to document and register + the CC and CFLAGS variables, and do the same for... + (AC_PROG_CXX): CXX and CXXFLAGS, and... + (AC_PROG_F77): F77 and FFLAGS. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * Makefile.am (wget-update): New target. + (WGET): New variable. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Coding Style): Some more constraints :). + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_FUNC_STRERROR_R): Aaaaaaarg! Don't leave the + AC_DEFINE inside the AC_CACHE_CHECK. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_FUNC_STAT, AC_FUNC_STAT, AC_FUNC_LSTAT): New + macros, from Jim's stat.m4 and lstat.m4 serial 6. + * doc/autoconf.texi (Particular Functions): Document + * acfunctions: Add them. + +2000-07-10 Akim Demaille <akim@epita.fr> + + AC_LIBOBJ when used by AC_REPLACE_FUNCS should not complain for + variables as argument. + + * acgeneral.m4 (_AC_LIBOBJ): Same as the former AC_LIBOBJ, but + takes an additional argument: action to perform when non-literal + argument. + (AC_LIBOBJ): Use it. + (AC_REPLACE_FUNCS): Use _AC_LIBOBJ, not AC_LIBOBJ. + +2000-07-10 Akim Demaille <akim@epita.fr> + + LANGUAGE should be neutralized too. + + * acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Do it. + * doc/autoconf.texi (Special Shell Variables): Mention it. + +2000-07-10 Akim Demaille <akim@epita.fr> + + Set autoconf's default warnings to `syntax'. + + In fact, honor the most recent specification in the concatenation + of `syntax',$WARNINGS,<options> in that order. + Implement support for `none' and `noCATEGORY' so that the options + may override the previous choices. + Suggested by Didier Verna. + + * acgeneral.m4 (_AC_WARNING_IFELSE): New macro. + (AC_WARNING_IFELSE): Use this macro to implement the new specs. + (AC_WARNING): The empty category must not be used, default to + `syntax'. + * doc/autoconf.texi (autoconf Invocation, Reporting Messages): Adjust. + * autoconf.sh: Adjust. + Use `optarg' to fetch the arguments of options. + Fix a bug in the handling of `--trace='. + + * acgeneral.m4 (AC_CACHE_VAL): Typo: the macro was complaining iff + it shouldn't have. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (--install, --symlink): New options. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (dots, aclocal_m4, acconfig_h): Remove. + Adjust dependencies. + When using $verbose, redirect to stderr. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh: Clarify the difference between the location of + `aclocal.m4' and that of the location Autoconf extensions. + (-M, --m4dir): New option. + (aclocal_flags): Do not use $localdir, but $m4dir. + (localdir_opt): Remove, since $autoconf, $autoheader already + include `-l $localdir'. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoconf.sh (task install): We no longer use AC_INCLUDE. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acoldnames.m4: Remove the obsolete comments. The technology is + now detailed in `autoupdate'. + Quote the names being defined. + Formatting changes. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_DEFUNCT): Remove. + (AC_RSH, AC_UNISTD_H, AC_USG, AC_MEMORY_H, AC_DIR_HEADER, + AC_INT_16_BITS, AC_LONG_64_BITS): They're alive!... + * doc/autoconf.texi (Obsolete Macros): but not fresh. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (debug): New variable. + (tmp): s/ac/ar/. + <options handling>: Support --debug. + * doc/autoconf.texi: Adjust. + +2000-07-10 Akim Demaille <akim@epita.fr> + + Fix the bugs recently introduced in autoreconf. + + * autoreconf.sh: Don't run automake when the package is not using + it. + When checking whether autoheader should be rerun, don't ask + config.h to be newer than stamp-h and vice-versa. + Remove an unbalanced `fi'. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (run_aclocal): Rename as `uses_aclocal' to avoid + the convention clash with autoconf.sh where `run_foo' is the + command to run `foo'. + (uses_autoheader): New variable. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (update.sh): New sub program. + Use it in the whole process. + (acconfig_h): New variable. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh <run_aclocal>: Use false/: instead of no/yes. + Formatting and factoring changes. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh: You too can have a $tmp dir if you wish. + (alflags.sed): New sub sed program. + Compute the flags of aclocal from Makefile.am instead of + Makefile.in, it is unlikely that aclocal be used but not automake, + while it is convenient to be able to run autoreconf even if + automake was not run yet. + Use `autoconf --trace' to get the list of configuration headers. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PLAIN_SCRIPT): New macro. + * tests/base.m4 (m4_wrap, AC_REQUIRE, AC_SHELL_MKDIR_P): Use it. + * autoconf.sh: Properly handle the case where `$output' is `-' + (i.e., stdout). + Handle `-ofile', not just `-o file'. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh: Formatting changes. + When verbose, display exactly what you do, not just a synopsis. + When using `$verbose' don't use quotes to avoid spurious spaces + for empty arguments. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (force): Instead of yes/no, use :/false. + Adjust the code. + (automake_deps, automake_force): No longer used. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SHELL_DIRNAME): Use an `expr' solution instead + of echo|sed. + From Paul Eggert. + * doc/autoconf.texi (Limitations of Usual Tools): Include the + words from Paul about `|' with expr(1). + +2000-07-10 Akim Demaille <akim@epita.fr> + + * aclang.m4: Promote s,,, over s%%%, and `sed prog' over `sed -e + prog'. + * acgeneral.m4: Likewise. + * acspecific.m4: Likewise. + * doc/autoconf.texi (Limitations of Usual Tools, Coding Style): + Likewise. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * autoconf.sh: When using `mktemp -d', be sure that the directory + was created. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * AUTHORS: Update. + * doc/autoconf.texi: Free Franc,ois Pinard from iftex and ifinfo, + use @,c. + Don't use `@code{m4}' when you mean M4, just as you shall not say + `@code{cc}' when you refer to the C language. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)): Set + ac_gnu_compiler. + (_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU, _AC_PROG_F77_GNU): Compute + ac_gnu_compiler. + * acgeneral.m4 (AC_LINKER_OPTION): Adjust. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Move the code + processing the result of AC_PROG_CC_G, AC_PROG_CXX_G, and + AC_PROG_F77_G into them. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Multiple Cases, Quotation Rule Of Thumb): + Follow the coding style. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Obsoleting Macros): Is not a subsection of + `Dependencies Between Macros', but rather a section of `Writing + Macros'. + +2000-07-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Coding Style): New node. + +2000-07-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SHELL_MKDIR_P): s/ac_dir/ac_mkdir_dir/ to avoid + clashes with the numerous ac_dir loops. + Reported by Lars J. Aas. + +2000-07-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SHELL_DIRNAME): Return `.', not `' when there + is no directory part. + +2000-07-07 Franc,ois Pinard <pinard@iro.umontreal.ca> + + * tests/atgeneral.m4 (AT_CHECK): Fix a redirection problem. + +2000-07-07 Akim Demaille <akim@epita.fr> + + AC_REVISION must not AC_REQUIRE AC_INIT, it leaves the diversions + in a messy state. Don't even try to emulate AC_REQUIRE: just + introduce a diversion just for AC_REVISION, and let the magic + happen. + Fixes Autoconf PR/134, from Raja R Harinath. + + * acgeneral.m4 (_AC_DIVERT(REVISION)): New diversion. + (AC_REVISION): Don't require AC_INIT, dump in your diversion. + (_AC_INIT): Delete, inline its body in... + (AC_INIT): here. + (_AC_INIT_NOTICE, _AC_INIT_COPYRIGHT): New macros so that... + (AC_INIT): be more uniform. + (AC_INIT, AC_REVISION, AC_COPYRIGHT): `define', don't AC_DEFUN. + +2000-07-07 Martin Wilck <martin@tropos.de> + + * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Keep -lm, if a Fortran + compiler needs it, it is likely to be required when linking C/C++ + with Fortran. + <-YP,*>: Fix the list of arguments to loop on. + Don't mess with the user variable name space. + <ac_ld_run_path>: Prepend LD_RUN_PATH directories with -R only + when running Solaris (without this, link errors occur). + +2000-07-06 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SHELL_DIRNAME): Fix quotation. + +2000-07-06 Akim Demaille <akim@epita.fr> + + * aclang.m4: Formatting and quotations changes. + +2000-07-06 Raja R Harinath <harinath@cs.umn.edu> + + * aclang.m4 (AC_LANG_INT_SAVE(C++)): Be a copy of + AC_LANG_INT_SAVE(C), not AC_LANG_INT_SAVE_TRY(C). + Fixes Autoconf PR/133. + +2000-07-06 Mo DeJong <mdejong@cygnus.com> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS, AC_CHECK_TOOLS): Change + warning message printed when only --host is given. Fix printing + of multiple compiler cache values, use PATH argument. + * aclang.m4 (AC_LANG_COMPILER_WORKS): Print the cross compile + status, fix problem where two results were printed at once. + +2000-07-06 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SHELL_TMPDIR): Typo. + +2000-07-06 Alexandre Oliva <oliva@lsd.ic.unicamp.br> + + * acgeneral.m4 (_AC_SHELL_DIRNAME): Behave properly when the + argument has trailing slashes, and when its depth is just one + (`/tmp'). + +2000-07-06 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (_AC_SHELL_DIRNAME): New macro. + (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_OUTPUT_LINKS): + Use _AC_SHELL_DIRNAME. + +2000-07-06 Martin Wilck <martin@tropos.de> + + * aclang.m4 (AC_PROG_F77): Add two compilers, + lf95 (Lahey/Fujitsu Fortran) and pgf77 (Portland Group Fortran) + (_AC_PROG_F77_G): Some Fortran compilers produce stdout/stderr + output even if no errors occur - check exit status rather than + output. + +2000-07-05 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_SHELL_TMPDIR): When using `mktemp -d', be sure + that the directory was created: under Ultrix 4.3 it just returns + a name, but does not create the directory. + Reported by Christian Krackowizer. + +2000-07-03 Lars J. Aas <larsa@sim.no> + + * acgeneral.m4 (AC_SHELL_MKDIR_P): New macro. + (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_OUTPUT_LINKS, + AC_PROG_INSTALL): Use AC_SHELL_MKDIR_P. + * tests/base.m4 (AC_SHELL_MKDIR_P): Test it. + +2000-07-04 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CACHE_LOAD): Be ready to read the cache even + when `.' is not in the PATH. + * doc/install.texi (configure Invocation): Adjust. + +2000-06-30 Jim Meyering <meyering@lucent.com> + + * acgeneral.m4 (AC_REQUIRE): Tweak a diagnostic. + +2000-06-30 Alexandre Oliva <oliva@lsd.ic.unicamp.br> + + Re-enable the old behavior of --host and --build. + + * acgeneral.m4 (build_alias): Set to host_alias if --build is not + given but --host is, and enable cross-compile auto-detection. If + both are, and are different, enable cross compilation. + (AC_CANONICAL_HOST): Adjust help message. + (cross_compiling): Enclose in quotes when testing. + * aclang.m4 (_AC_LANG_COMPILER_WORKS): If cross_compiling is + maybe, set it to yes or no depending on the result of the + execution test. + * doc/autoconf.texi: Document the change. + * doc/install.texi: Likewise. + +2000-06-27 Jim Meyering <meyering@lucent.com> + + * acspecific.m4 (_AC_LIBOBJ_GETLOADAVG): Put quotes around use of + `$ac_cv_lib_elf_elf_begin', since that variable may not be defined. + From Volker Borchert. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Fix various typos. + (Limitations of Usual Tools) <sed>: Anchors and groups. + (Language Choice): Don't mention cross_compiling here, do it... + (Specifying Names) <--host>: here. + (Obsoleting Macros): Don't document AC_DEFUNCT, it's going to be + removed anyway, obsoleted itself by AU_DEFUN. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CACHE_VAL): Swap the arguments of `regexp'. + Reported by Alexandre Oliva. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (automake, aclocal): New variables. Import + $AUTOMAKE and $ACLOCAL. + Pass --verbose to the tools. + Avoid using plenty of variables, just append to existing + variables. + * doc/autoconf.texi: List options in the order --help, --version, + --verbose, --debug, and then specific options. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Various Texinfo adjustments. + (Specifying Names): When describing the system triplets, use the + same names as the shell variables. + (System Type Variables): Delete, merge its content into... + (Canonicalizing): here. + Clarify the difference between the `foo_target' and `foo' + variables. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS, _AC_OUTPUT_CONFIG_STATUS): + s/echo | sed/expr/. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CONFIG_LINKS, AC_CONFIG_HEADERS, + AC_CONFIG_COMMANDS, AC_CONFIG_FILES): Use a shell variable instead + of an m4 variable to store what must be done, so that sh + conditionals are honored. + (_AC_OUTPUT_LINKS, _AC_OUTPUT_HEADERS, + _AC_OUTPUT_COMMANDS, _AC_OUTPUT_FILES): Adjust. + * tests/semantics.m4: Test the four AC_CONFIG sisters. + * doc/autoconf.texi (Configuration Actions): Promote the use of + literals, show it works properly with sh conditionals. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CACHE_VAL): Too many people put AC_DEFINE in + the commands-to-set-it part of it. Give them a warning. + +2000-06-26 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Prerequisite Macros): More about AC_REQUIRE. + +2000-06-26 Akim Demaille <akim@epita.fr> + + Given better names to the diversions. + + * acgeneral.m4 (_AC_DIVERT(NORMAL_2), _AC_DIVERT(NORMAL_3), + _AC_DIVERT(NORMAL_4)): Delete, unused. + (_AC_DIVERT(NORMAL_1), _AC_DIVERT(NORMAL), AC_DIVERT_DIVERSION): + Rename as _AC_DIVERT(PREPARE), _AC_DIVERT(BODY), + _AC_DIVERT_DIVERSION. + +2000-06-26 Akim Demaille <akim@epita.fr> + + The current implementation of AC_REQUIRE fails on + + | AC_DEFUN([TEST1], [REQUIRE([TEST2a])REQUIRE([TEST2b])]) + | AC_DEFUN([TEST2a], []) + | AC_DEFUN([TEST2b], [REQUIRE([TEST3])]) + | AC_DEFUN([TEST3], [REQUIRE([TEST2a])]) + | + | AC_INIT + | TEST1 + + because it produces TEST3; TEST2a; TEST2b; TEST1. + Fix this bug, implement the solution provided by Axel Thimm, + and test AC_REQUIRE. + + * acgeneral.m4: Document this implementation. + (_AC_DEFUN_PRO, _AC_DEFUN_EPI, AC_REQUIRE): Be sure that macros + are emitted in the same order as they are expanded. + (AC_REQUIRE): Forbid being calling out of an AC_DEFUN'd macro (in + particular the top level). + * tests/base.m4 (AC_REQUIRE): New test. + +2000-06-26 Akim Demaille <akim@epita.fr> + + A macro which is not defined with AC_DEFUN should not be + AC_REQUIRE'd, since it doesn't AC_PROVIDE itself. + + * acgeneral.m4 (AC_REQUIRE): Issue a warning when after expansion, + the macro is not AC_PROVIDE'd. + +2000-06-26 Akim Demaille <akim@epita.fr> + + Various cleanups. + + * acgeneral.m4 (AC_PRO, AC_EPI): Rename as _AC_DEFUN_PRO and + _AC_DEFUN_EPI. + Adjust dependencies. + (AC_DEFUN): Remove the not-to-be-released specializing mechanism. + (AC_SPECIALIZE): Remove for the same reasons. + Adjust dependencies. + (_AC_INIT_DEFAULTS, _AC_INIT_PARSE_ARGS, _AC_INIT_VERSION, + _AC_INIT_PREPARE, _AC_CANONICAL_SPLIT, _AC_CHECK_TYPE_NEW, + _AC_CHECK_TYPE_OLD): Define via `define' instead of `AC_DEFUN': + they are not related to AC_REQUIRE in any way. + * acspecific.m4 (AC_PROG_ECHO, _AC_DECL_YYTEXT, _AC_PATH_X_XMKMF, + _AC_PATH_X_DIRECT): Define via `define' instead of `AC_DEFUN'. + +2000-06-19 Steven G. Johnson <stevenj@alum.mit.edu> + + * acgeneral.m4 (AC_CHECK_TOOL): Use two variables in order to + avoid cache variable conflicts between AC_CHECK_PROG invocations. + (AC_PATH_TOOL): Fix same bugs as in 6/9/00 fixes to AC_CHECK_TOOL. + Pass correct arguments to AC_CHECK_PATH (different from + AC_CHECK_PROG). Use AC_CHECK_PATH cache variable, not + AC_CHECK_PROG var, and use two variables for two invocations as + above. Quote AC_CHECK_* args. + +2000-06-16 Akim Demaille <akim@epita.fr> + + The test suite reveals AC_OUTPUT_MAKE_DEFS fails on RISC/OS. + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS) <confdef2opt.sed>: Reset the + t flag between each cycle. + * doc/autoconf.texi (Limitations of Usual Tools): Some about the t + flag in sed. + +2000-06-16 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_EXEEXT, AC_OBJEXT): Don't obsolete them, let + them be empty, so that Automake still provide support for $(EXEEXT). + +2000-06-15 Akim Demaille <akim@epita.fr> + + * autoconf.sh (option handling): Give a more understandable + message when an option is missing its argument. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * autoheader.sh: Likewise. + +2000-06-13 Akim Demaille <akim@epita.fr> + + `./config.status -d' is buggy. + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Remove the `shift' in + --debug. + * doc/autoconf.texi (Limitations of Builtins): Some about shift. + +2000-06-13 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Caching Results): Bigger warning about the + extremely frequent action-in-commands bug. + Move the documentation of AC_CACHE_SAVE and AC_CACHE_LOAD... + (Cache Files): into here. + +2000-06-09 Steven G. Johnson <stevenj@alum.mit.edu> + + * acgeneral.m4 (AC_CHECK_TOOL): Even if VALUE-IF-NOT-FOUND is not + specified, we should still check whether PROG-TO-CHECK-FOR + actually works before returning it when the prefixed program is + not found. Also, fixed a bug where it failed to pass the PATH + argument in the second call to AC_CHECK_PROG. + +2000-06-09 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_TOOLS): Rewrite. + +2000-06-09 Paul Eggert <eggert@twinsun.com> + + * doc/autoconf.texi: Use `@option' for options, not `@samp' nor + `@code'. + * doc/install.texi: Likewise. + +2000-06-09 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Don't require AC_CYGWIN. + (AC_F77_NAME_MANGLING): Removed useless comment. + (_AC_PROG_F77_GNU): Use `.f' not `.fpp' which is not properly + processed by Abysoft's Fortran compiler. + +2000-06-09 Steven G. Johnson <stevenj@superjdj.mit.edu> + + * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Fixed bug where + compiler output to stdout was not caught and interpreted. + +2000-06-09 Akim Demaille <akim@epita.fr> + + `autoconf --trace' dies on filenames with `:'. + Reported by Mark Elbrecht. + + * autoconf.sh <trace> (trace2m4.sed): Use `..*' instead of + `[^:][^:]*' to catch file names. The rest of regex is probably + precise enough to avoid incorrect parsing. + +2000-06-09 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_SYS_LARGEFILE_MACRO_VALUE): Always initialize + $3 to no. + +2000-06-08 Paul Eggert <eggert@twinsun.com> + + Import AC_SYS_LARGEFILE from largefile.m4 serial 12. + + * acspecific.m4 (AC_SYS_LARGEFILE, _AC_SYS_LARGEFILE_MACRO_VALUE, + _AC_SYS_LARGEFILE_SOURCE): New. + * doc/autoconf.texi (System Services): Document AC_SYS_LARGEFILE. + +2000-06-08 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Don't override FLIBS if + specified by the user. + Fix a bug: use the cached value to set FLIBS. + +2000-06-07 Dave Love <fx@gnu.org> + + * aclang.m4 (AC_PROG_F77): Check for f95 and fc too. + +2000-06-07 Philippe De Muyter <phdm@macqel.be> + + `foo=1 foo=2 cmd' has an undefined behavior. + + * acgeneral.m4 (_AC_COMPUTE_INT_COMPILE): Do not put two shell + variable assignments in one shell command. + * doc/autoconf.texi (Shell Substitutions): Document. + +2000-06-07 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Fix problem on Cray due to + confusion from the link command getting echoed in quotes. In the + future, a more general fix for quoted arguments with spaces might + be better. + +2000-06-07 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Builtins): More on `test' and + `case'. + Some on `if' and `break'. + +2000-06-07 Morten Eriksen <mortene@sim.no> + + * acspecific.m4 (_AC_PATH_X_DIRECT): Include `X11/Intrinsic.h' + when trying to use `XtMalloc' to actually have a chance of + succeeding. + +2000-06-07 Akim Demaille <akim@epita.fr> + + Hard (code) X. + + * acspecific.m4 (_AC_PATH_X_DIRECT): Hard code `X11/Intrinsic.h' + instead of using `ac_x_direct_test_include', likewise for `Xt' and + `ac_x_direct_test_lib', `XtMalloc' and + `ac_x_direct_test_function'. + +2000-06-07 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_PATH_X): Use AC_DIVERT. + Use `no', not `NO' for ac_x_includes and ac_x_libraries. + Adjust dependencies. + (_AC_PATH_X_DIRECT): Introduce ac_x_header_dirs to factor the list + of places where headers and libs might be. + (AC_PATH_XTRA): Don't quote the argument of `case'. + +2000-06-07 Jim Meyering <meyering@lucent.com> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Put the expansion of + AC_LIST_LINKS in an unquoted `here'-document. + +2000-06-06 Akim Demaille <akim@epita.fr> + + * tests/aclocal.m4 (AC_ENV_SAVE): Skip `no_x'. + From Mark Elbrecht. + +2000-06-05 Mo DeJong <mdejong@cygnus.com> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Move the setting + of ac_tool_prefix before the call to AC_DIVERT_POP. + +2000-06-05 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_TOOL_PREFIX): AU define it. + Suggested by Mo DeJong. + +2000-06-05 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_C_CHAR_UNSIGNED): Use the new compiler-test + technology so that we can do the test via compilations only. Also + use (char) -1 instead of (char) 255 to check if char is unsigned. + +2000-05-28 Jim Meyering <meyering@lucent.com> + + * acspecific.m4 (AC_FUNC_STRERROR_R): Call strerror_r with 2nd arg + of type char*, not int. Suggestion from Paul Eggert. + + * doc/autoconf.texi (Particular Functions): Give better description of + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. From Paul Eggert. + +2000-05-26 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools): Document `ln -s' + on DJGPP, based on the comments from Mark Elbrecht. + +2000-05-26 Akim Demaille <akim@epita.fr> + + * autoreconf.sh (autoconf, autoheader): Be more conscientious when + looking for the executable. + * autoupdate.sh: Likewise. + * autoheader.sh: Likewise. + Suggested by Alexandre Oliva. + +2000-05-26 Akim Demaille <akim@epita.fr> + + Thanks to --program-transform-name, `autoconf' might be install as + `yo-man-i-am-the-all-mighty-AVt0c0nF-eh-eh'. But when + `yo-man-i-am-the-all-mighty-AVt0h3Ad3R-eh-eh' and the other tools + want to trace, they might stupidly invoke the program named + `autoconf' instead. Pfff, stupid scripts :) + + * Makefile.am (editsh): Transfer the names of the install + `autoconf' and `autoheader'. + * autoconf.sh: Add a missing period at the end of the comment + # Parse command line + Make sure to have a ChangeLog much longer than the patch. + * autoheader.sh: Use the right `autoconf'. + * autoupdate.sh: Likewise. + * autoreconf.sh: Likewise, and for `autoheader' too. + Simplify the handling of localdir and AC_MACRODIR. + * ifnames.sh: Formatting changes. + +2000-05-25 Steven G. Johnson <stevenj@alum.mit.edu> + + Don't use f2c as a possible Fortran compiler, since by itself it + cannot produce object code. + + * aclang.m4 (AC_PROG_F77): Remove f2c from the search list. + * doc/autoconf.texi: Excise mentions of f2c in AC_PROG_F77 docs. + +2000-05-26 Mark Elbrecht <snowball3@bigfoot.com> + + Currently, AC_PROG_LN_S incorrectly reports yes with DJGPP. This + is because the DJGPP `ln' emulates soft links for executables by + generating a stub that in turn calls the real program. This + feature also works with nonexistent files like in the Unix + spec. So `ln -s X conftestdata' will generate `conftestdata.exe' + which will attempt to call 'X.exe'. But this feature only works + for executables. Fix it. + + * acspecific.m4 (AC_PROG_LN_S): Create a sample file and use it to + test `ln -s'. + +2000-05-26 Ossama Othman <ossama@ece.uci.edu> + + * aclang.m4 (AC_PROG_CXX): Look for aCC before CC. + +2000-05-26 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_FUNC_STRERROR_R): New, from `strerror_r.m4', + serial 2, by Jim Meyering. + (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New, from + `lstat-slash.m4', serial 1, by Jim Meyering. + * acfunctions: Adjust. + +2000-05-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_TOOLS): Don't require + AC_CHECK_TOOL_PREFIX, it's dead. + +2000-05-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Simplify all the + case "$switch" in + into + case $switch in + * acspecific.m4: Likewise. + * aclang.m4: Likewise. + +2000-05-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_TOOL_PREFIX): Remove. + Adjust dependencies. + (_AC_INIT_PARSE_ARGS): Set ac_tool_prefix. + +2000-05-26 Akim Demaille <akim@epita.fr> + + In `info', it is easier to type `autoconf <TAB>' to reach the list + of options, that `Invoking autoc<TAB>'. + + * doc/autoconf.texi: s/Invoking foo/foo Invocation/. + +2000-05-26 Akim Demaille <akim@epita.fr> + + Merge `Upgrading' and `Obsolete Constructs' together. + + * doc/autoconf.texi (Obsolete Constructs): Move right after + `Recreation a Configuration. + (Invoking autoupdate): Be a subsection of + `Obsolete Constructs'. + (Upgrading): Demote from chapter to section. + Be a section of `Obsolete Constructs'. + Rename as `Autoconf 1'. + +2000-05-26 Akim Demaille <akim@epita.fr> + + Find a means to extract integers from the compiler. + Use this technology to compute `sizeof' even when cross-compiling. + Ideas and initial suggestion by Kaveh Ghazi. + Binary search by Bruno Haible. + + * aclang.m4 (AC_LANG_BOOL_COMPILE_TRY, + AC_LANG_BOOL_COMPILE_TRY(C), AC_LANG_BOOL_COMPILE_TRY(C++), + AC_LANG_INT_SAVE, AC_LANG_INT_SAVE(C), AC_LANG_INT_SAVE(C++)): New + macros. + * acgeneral.m4 (_AC_COMPUTE_INT_COMPILE, _AC_COMPUTE_INT_RUN, + _AC_COMPUTE_INT): New. + (AC_CHECK_SIZEOF): Use them. + Check whether the type exists beforehand. + * tests/semantics.m4 (AC_CHECK_SIZEOF): Strengthen. + +2000-05-26 Ossama Othman <ossama@ece.uci.edu> + + * aclang.m4 (AC_PROG_CXX): Look for aCC KCC RCC xlC_r xlC. + s/c++ g++/g++ c++/. + * doc/autoconf.texi (Compilers and Preprocessors): Adjust. + +2000-05-26 Akim Demaille <akim@epita.fr> + + No library nor special privilege is needed to run `getloadavg' + under FreeBSD. + Reported by Alec Wolman. + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Check for `getloadavg' + without any additional library. + Fixes Autoconf/109. + +2000-05-26 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Usual Tools, Limitations of + Builtins): Integrate comments from Paul Eggert and Jim Meyering. + Add the sed limitation discovered by Philippe De Muyter. + Fix a typo spotted by Pavel Roskin. + +2000-05-25 Akim Demaille <akim@epita.fr> + + The test suite needs GNU m4. + Reported by Bob Friesenhahn. + + * tests/atconfig.in (M4): Set it. + * tests/base.m4: Use it. + +2000-05-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Don't use negated character + classes with `case'. Use `expr' instead. + Suggested by Paul Eggert. + * doc/autoconf.texi (Limitations of Builtins): Explain expr, the + `x' trick, and negated character classes. + +2000-05-24 Didier Verna <didier@lrde.epita.fr> + + * acgeneral.m4 (AC_INIT): Call _AC_PACKAGE before _AC_INIT. + +2000-05-24 Ossama Othman <ossama@debian.org> + + * aclang.m4 (AC_LANG(C++)): Change `ac_ext' from from `C' to `cc' + to avoid potential ambiguities on case-insensitive shells. + +2000-05-24 Mo DeJong <mdejong@cygnus.com> + + Have --host=sun4 automatically look for CC=sun4-cc etc. + + * acgeneral.m4 (AC_CHECK_TOOLS): New. + * aclang.m4 (AC_PROG_CXX, AC_PROG_CC, AC_PROG_F77): Use new + AC_CHECK_TOOLS macro instead of AC_CHECK_PROGS so that a cross + compiler is found by default with --host. + * doc/autoconf.texi (Generic Programs, Manual Configuration): + Describe new AC_CHECK_TOOLS macro. Fix unclear working about + AC_CHECK_PROGS. + * tests/Makefile.am (FILTER_MACROS): Adjust. + +2000-05-24 Akim Demaille <akim@epita.fr> + + The night of the living dead... + + * acspecific.m4 (AC_XENIX_DIR, AC_DYNIX_SEQ, AC_IRIX_SUN, + AC_SCO_INTL): Wake up a few zombies. + * doc/autoconf.texi: Adjust. + * tests/aclocal.m4 (AC_ENV_SAVE): Likewise. + +2000-05-24 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LANG_FUNC_LINK_TRY, AC_LANG_FUNC_LINK_TRY(C), + AC_LANG_FUNC_LINK_TRY(C++)): New macros. + (AC_CHECK_FUNC): Use it, together with AC_LINK_ELSE. + +2000-05-24 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_FUNC_VFORK): Quote properly. + (AC_FUNC_STRFTIME, AC_FUNC_VFORK, AC_FUNC_VPRINTF): Don't use + AC_DEFINE, just use the AC_CHECK_*S macro. + +2000-05-24 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_WHICH_A): Replace it with... + (AC_SHELL_PATH_WALK): this. + (AC_CHECK_PROG, AC_PATH_PROG): Use it. + +2000-05-24 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Builtins): Document `unset'. + (Special Shell Variables): Adjust. + (Shellology): New section. Introduce bash and zsh. + (Special Shell Variables): Some data on NULLCMD. + (Quotation Thumb Rule): Rename as + (Quotation Rule of Thumb): this. + * acgeneral.m4 (AC_SHELL_UNSET): Remove. + (AC_SHELL_UNSETENV): Rename as... + (AC_SHELL_UNSET): this. + (_AC_INIT_PREPARE_ENVIRONMENT): Prepare bash and zsh. + Adjust to AC_SHELL_UNSET. + +2000-05-24 Akim Demaille <akim@epita.fr> + + The options --build etc. used to set `$build'. *If* + AC_CANONICAL_SYSTEM was run, then the value of `$build' given by + the user was saved into `$build_alias', and `$build' was + normalized using `config.sub'. + + Now, let `--build' set `$build_alias' so that scripts with or + without `AC_CANONICAL_BUILD' have the same semantics. This allows + to use `AC_CHECK_TOOL' without requiring `config.guess' and + `config.sub' (which was bizarre anyway). + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): --build, --host and --target + set `build_alias' etc. + After the option handling, set host to $host_alias etc. for + bugward compatibility. + (AC_CANONICALIZE): Mutate into... + (_AC_CANONICAL_SPLIT): this, which does not canonicalize, it just + computes `$foo_os' etc. + (_AC_CANONICAL_THING): Remove, too confusing. + (AC_CANONICAL_BUILD): Adjust. + Do not assign any value to `build_alias', just compute `build', and + `build_{cpy, vendor, os}'. + (AC_CANONICAL_HOST, AC_CANONICAL_TARGET): Likewise. + (AC_CHECK_TOOL_PREFIX): Fire your rule when `$host_alias' is + given, not when `$host != $build'. + + * acgeneral.m4 (sinclude): Fix typo. + +2000-05-23 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Limitations of Builtins): More details on + `test -n ='. + +2000-05-23 Akim Demaille <akim@epita.fr> + + Simplify the interface: users shouldn't need to explicitly check + for special environments. + + * acspecific.m4 (AC_EXEEXT, AC_OBJEXT): AU defined to + nothing. Replace them by... + (_AC_EXEEXT, _AC_OBJEXT): this. + * aclang.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Call them. + (AC_PROG_CC_G, AC_PROG_CXX_G, AC_PROG_F77_G): Rename as... + (_AC_PROG_CC_G, _AC_PROG_CXX_G, _AC_PROG_F77_G): this. + Adjust dependencies. + * tests/Makefile.am (FILTER_MACROS): Adjust. + * doc/autoconf.texi (Compilers and Preprocessors): New section, + move the documentation of AC_PROG_CC, AC_PROG_CC_C_O, + AC_PROG_CC_STDC, AC_PROG_CPP, AC_PROG_CXX, AC_PROG_CXXCPP, + AC_PROG_F77, AC_PROG_F77_C_O, AC_PROG_GCC_TRADITIONAL here. + Factor the comment documentation of AC_PROG_CC, AC_PROG_CXX, + AC_PROG_F77. + +2000-05-23 Akim Demaille <akim@epita.fr> + + Modernize AC_EXEEXT and AC_OBJEXT. + Now work with other languages than C and C++. + + * acspecific.m4 (AC_EXEEXT, AC_OBJEXT): Use + AC_COMPILE_IFELSE/AC_LINK_IFELSE and AC_LANG_PROGRAM instead of + ad hoc code. + Use `$ac_ext' instead of listing `.c', `.C' etc. + Use AC_CACHE_CHECK. + * doc/autoconf.texi (System Services): Adjust. + +2000-05-23 Akim Demaille <akim@epita.fr> + + Simplify the interface: users shouldn't need to explicitly check + for special environments. + + * acspecific.m4 (AC_CYGWIN, AC_EMXOS2, AC_MINGW32): AU defined to + nothing. Replace them by... + (_AC_CYGWIN, _AC_EMXOS2, _AC_MINGW32): these, which are + automatically called by... + (AC_EXEEXT): this. + * doc/autoconf.texi (System Services, Obsolete Macros): Adjust. + +2000-05-23 Akim Demaille <akim@epita.fr> + + AC_PROG_GNU_M4 should actually be private to the package + Autoconf. + + * acspecific.m4 (AC_PROG_GNU_M4): Move to... + * m4/m4.m4: here. + * m4/Makefile.am (EXTRA_DIST): Adjust. + * doc/autoconf.texi (Particular Programs): Adjust. + +2000-05-23 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Exiting from Shell Scripts): Move contents + into... + (Limitations of Builtins): this new node. + Document limitations of `exit', `export' and `case'. + Welcome the documentation of `test' from... + (Limitations of Usual Tools): here. + +2000-05-22 Akim Demaille <akim@epita.fr> + + Load the additions *before* running AC_INIT. + This is important if you want to redefine AC_INIT or some of its + sub macros (eeerk!), or if you want to use user defined macros + before AC_INIT. + Suggested by Didier Verna. + + * acgeneral.m4 (_AC_INIT): Don't include `acsite.m4' and + `aclocal.m4'. + * autoconf.sh (run_m4, run_m4f): Do it. + +2000-05-22 Akim Demaille <akim@epita.fr> + + Reading the ChangeLog revealed that the recent update of + AC_FUNC_GETLOADAVG introduced a bug which already happened (see + Mon Nov 11 18:02:58 1996 David J MacKenzie). + + * acgeneral.m4 (AC_CHECK_LIB): Use a less tempting name: + s/ac_save_LIBS/ac_check_lib_save_LIBS/. + +2000-05-22 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_LIBOBJ_ALLOCA): New macro, extracted from... + (AC_FUNC_ALLOCA): here. Adjust. + +2000-05-22 Akim Demaille <akim@epita.fr> + + Add `configure --config-cache', `-C' as a shortcut for + `--cache-file=config.cache'. + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Let `configure' support + `--config-cache' and `-C'. + Report them in `--help'. + Fix the display of missing argument. + (_AC_OUTPUT_SUBDIRS): Adjust. + * doc/install.texi (Invoking configure): Rename the node as + (Running configure scripts): this, the name of the chapter. + (Operation Controls): Rename as... + (Invoking configure): this. + Document the new options. + * doc/autoconf.texi (direntry): Huh? What is this `aclocal' doing + here? Point to `Invoking configure'. + (Cache Files): No need to document the disabling of the cache. + +2000-05-22 Mark Elbrecht <snowball3@bigfoot.com>, Eli Zaretskii <eliz@gnu.org> + + More MS-DOS support. + + * acgeneral.m4 (_AC_OUTPUT_FILES): Fix the computation of + `ac_file_inputs' for `$ac_given_srcdir' containing a colon. + (AC_CHECK_MEMBERS, AC_PATH_PROG): s/ac_save_ifs/ac_save_IFS/. + +2000-05-22 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_FUNC_CHOWN): New macro, based on Jim + Meyering's `chown.m4' serial 4. + (AC_FUNC_GETGROUPS): New macro, based on Jim Meyering's + `getgroups.m4' serial 3. + (AC_FUNC_MEMCMP): Updated, based on Jim Meyering's `memcmp.m4' + serial 3. + (AC_FUNC_MALLOC): New macro, based on Jim Meyering's + `malloc.m4' serial 3. + (AC_FUNC_MMAP): Include `stdlib.h' when `STDC_HEADERS'. + * acfunctions: Sort. + Add `chown' and `malloc', point `getgroups' to `AC_FUNC_GETGROUPS' + instead of `AC_TYPE_GETGROUPS'. + * doc/autoconf.texi (Particular Functions): Adjust. + +2000-05-22 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Quote the names being m4-defined. + * acspecific.m4: Likewise. + * aclang.m4: Likewise. + +2000-05-22 Akim Demaille <akim@epita.fr> + + Factor the AC_PROG_<compiler>_WORKS macros. + + * acgeneral.m4 (_AC_INIT_DEFAULTS): Set `cross_compiling'. + (AC_TRY_COMPILER): Remove. + * aclang.m4 (AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS, + AC_PROG_F77_WORKS): Removed. + (_AC_LANG_COMPILER_WORKS): New macro. + (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Adjust. + +2000-05-22 Akim Demaille <akim@epita.fr> + + * aclang.m4: Formatting changes. + +2000-05-22 Akim Demaille <akim@epita.fr> + + More than one argument to `configure' builds a broken + `config.status'. Fix and test. + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Use + `$ac_configure_args' directly, not via a tmp variable. + * tests/torture.m4 (command line interface): Test with more than + one argument. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_MSG_WARN): s/warning/WARNING/. + * autoheader.sh: Likewise. + From Franc,ois Pinard. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PACKAGE): Rename as _AC_INIT_PACKAGE. + (AC_INIT): Dispatch arguments either to _AC_INIT_PACKAGE or + to AC_CONFIG_SRCDIR. + (AU::AC_INIT): New. + * configure.in: Adjust. + Use `#', not `dnl'. + * doc/autoconf.texi (configure.in Layout): Document the new form + of AC_INIT. + Document AC_CONFIG_SRCDIR. + (Obsolete Macros): Document the old one. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Simplify all the unjustified `[\$]foo' into + `\$foo', the quotes are needed only for `\$[1]', `\$[@]' etc. + Prefer `$$1' to `[$]$1', `$foo' to `[$]foo', `$[1]' to `[$]1' etc. + * aclang.m4: Likewise. + * acspecific.m4: Likewise. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_TRY_COMPILER): Fix quotation. + +2000-05-19 Akim Demaille <akim@epita.fr> + + Fix Autoconf/123. + + * libm4.m4: Rename `symbols' as `m4_symbols'. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_PROG_CC_GNU, AC_PROG_CXX_GNU, AC_PROG_F77_GNU): + Rename as: + (_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU, _AC_PROG_F77_GNU): these. + Compute the value of GCC, GXX and G77 here. + Set to `no' (instead of empty) if not the GNU compiler. + (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Adjust. + * doc/autoconf.texi: Adjust. + +2000-05-19 Akim Demaille <akim@epita.fr> + + Fix Autoconf/106. + + * aclang.m4 (AC_PROG_F77): Follow strictly the same scheme as + AC_PROG_CC to compute the default FFLAGS. + +2000-05-19 Akim Demaille <akim@epita.fr> + + Either we cross-compile the whole package, or we don't. + Using --host enables cross-compilation. + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): `--host' enables cross + compilation. + (AC_CANONICAL_BUILD): The help string should explicitly mention + cross compilation. + * aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)): Don't + set `cross_compiling'. + (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Run your `WORK' partner + only if not cross-compiling. + (AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS, AC_PROG_F77_WORKS): + If does not work, don't assume an implicit cross-compilation: + fail. + * doc/autoconf.texi: Adjust. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SHELL_UNSETENV, AC_SHELL_UNSET): Add the + missing quotes. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Prefer + case $foo in + *[^-a-zA-Z0-9_]*) AC_ACTION;; + esac + over + if echo "$foo" | grep '[^-a-zA-Z0-9_]' >/dev/null 2>&1; then + AC_ACTION + fi + +2000-05-19 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Testing Values and Files): Delete, move its + content into... + (Limitations of Usual Tools::test): here. + Document more limitations. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_LIBOBJ_GETLOADAVG): New macro, extracted from + (AC_FUNC_GETLOADAVG): here. + Use it. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SPECIALIZE): Avoid a useless `indir'. + (AC_CHECK_MEMBER, AC_CHECK_MEMBERS): Fix to work properly on + `struct f.g.h'. + * acspecific.m4 (AC_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS and + AC_CHECK_MEMBERS instead of performing their task by hand. + +2000-05-19 Akim Demaille <akim@epita.fr> + + Synchronize AC_FUNC_GETLOADAVG with the version of the shellutils + 1.16f (serial 4). + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Check for + `pstat_getdynamic'. + Define `C_GETLOADAVG' if compiling `getloadavg.c'. + Check for NLS. + Compute `GETLOADAVG_LIBS'. + (AC_FUNC_MKTIME): Remove a forgotten `AC_SUBST(LIBOBJS)'. + +2000-05-19 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SHELL_UNSET, AC_SHELL_UNSETENV): New macro. + (_AC_INIT_PREPARE_ENVIRONMENT): Use AC_SHELL_UNSETENV. + Set CDPATH. Fixes Autoconf/96. + + * doc/autoconf.texi (Special Shell Variables): New node. + Document `status', `CDPATH', `LANG', `LC_ALL', `LC_MESSAGES' and + `LC_CTYPE'. + +2000-05-12 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (sinclude): Define, some packages (binutils) need + it. + +2000-05-12 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Invoking config.status): Move the + documentation of the envvar CONFIG_(FILES, HEADERS, COMMANDS, + LINKS) to + (Obsolete config.status Use): here. + +2000-05-12 Paul Eggert <eggert@twinsun.com> + + * doc/autoconf.texi (Exiting from Shell Scripts): New node. + (Autoconf Language): Follow the advice in the new node. + +2000-05-12 Peter Eisentraut <peter_e@gmx.net> + + * doc/autoconf.texi: Fix typos. + +2000-05-11 Akim Demaille <akim@epita.fr> + + AC_CONFIG_SUBDIRS needs two lists: one, ac_subdirs_all, which + contains all the possible subdirs for `--help=recursive', and + another, `subdirs' which can be built dynamically for launching + sub configurations. + + * acgeneral.m4 (AC_CONFIG_SUBDIRS): Define `subdirs' dynamically. + Define `ac_subdirs_all' statically. + Warn if the argument is not a literal. + (AC_LIST_SUBDIRS): Rename as... + (_AC_LIST_SUBDIRS): this. + (_AC_INIT_HELP): Loop over `ac_subdirs_all', not `subdirs'. + (_AC_OUTPUT_SUBDIRS): Loop over `subdirs', not `AC_LIST_SUBDIRS'. + * doc/autoconf.texi (Subdirectories): Adjust. + + * acgeneral.m4: Replace all the `test ! -d foo && bar' with + `test -d foo || bar'. + + * Makefile.am (.m4.m4f): Stop hiding what you're doing. + Don't check for GNU m4, let it die. + +2000-05-11 Akim Demaille <akim@epita.fr> + + The Associated Rewriters are even prouder to present... + . + | + | + /-\ + / \ + )===( U T O U P D A T E I V + // \\ + ========= + _//_ _\\_ The ``Eiffel Tower'' Release + + * autoupdate.sh: Complete rewrite. See that file for a detailed + explanation. Basically, simulate the name spaces thanks to + `autoconf --trace' and auxiliary files. + No longer use `autoupdate.m4', remove the dependencies. + Synchronize the options and `--help'. + * doc/autoconf.texi (Invoking autoupdate): Humanoupdate. + * autoupdate.m4: Delete. + * tests/Makefile.am (FILTER_MACROS): Add `AC_OUTPUT'. + Since `AC_OUTPUT' is now AU_DEFUN'd, it is extracted for testing, + while it was not before. + * tests/tools.m4 (autoupdate): Re-enable. Adjust the expected + output with the right quotation (yeah!). + Pass `-m $top_srcdir': autoupdate wants the `.m4' files, not the + frozen files. + * Makefile.am (nodistpkgdataDATA): Move `acversion.m4' to + (distpkgdataDATA): here, so that all the `.m4' files are in the + source hierarchy, not split across src and build. + * acversion.m4.in: Update to today's standards. + * Makefile.am: Adjust. + +2000-05-11 Akim Demaille <akim@epita.fr> + + * libm4.m4: Be robust to multiple inclusion. + Have the first `changequote' robust to the current quotation + system. + Always quote the first argument of `define'. + +2000-05-11 Akim Demaille <akim@epita.fr> + + The Associated Rewriters are proud to present... + + ^ + / \ U T O U P D A T E I I I + /===\ + / \ It bells, It whistles... + + * autoupdate.sh: Complete rewrite. See that file for a detailed + explanation. + * acgeneral.sh: Don't use AU_DEFINE, but AU_DEFUN. + (AC_OUTPUT_COMMANDS_CNT): Renamed as... + (_AC_OUTPUT_COMMANDS_CNT): this. + +2000-05-11 Akim Demaille <akim@epita.fr> + + Get rid of the m4 name spaces. + + * libm4.m4 (m4_changequote, m4_define, m4_defn, m4_dnl, m4_indir, + m4_popdef, m4_pushdef, m4_undefine, m4_namespace_push, + m4_namespace_pop, m4_namespace_register, m4_namespace_define, + m4_disable, m4_enable): Removed. + All dependencies adjusted. + * libm4.m4: Remove all the name space initialization. + * acgeneral.m4: Adjust. + (AU_DEFINE): Redefine as `AC_DEFUN'. + * autoupdate.m4: Adjust. + * tests/tools.m4: Temporarily disable the `autoupdate' test. + +2000-05-11 Akim Demaille <akim@epita.fr> + + Eradicate AC_TRY_COMPILE. + + * aclang.m4 (AC_PROG_CC_STDC, AC_C_BIGENDIAN, AC_C_INLINE, + AC_C_CONST, AC_C_VOLATILE, AC_F77_NAME_MANGLING): Use + `AC_COMPILE_IFELSE'. + * acspecific.m4 (AC_DECL_SYS_SIGLIST, _AC_CHECK_HEADER_DIRENT, + AC_HEADER_SYS_WAIT, AC_HEADER_TIME, AC_TYPE_SIGNAL, + AC_FUNC_GETLOADAVG, AC_FUNC_SELECT_ARGTYPES, AC_STRUCT_TM, + AC_CYGWIN, AC_MINGW32, AC_EMXOS2): Likewise. + * tests/semantics.m4 (C keywords): Check that AC_C_CONST, + AC_C_VOLATILE, and AC_C_INLINE function properly with GCC. + +2000-05-11 Akim Demaille <akim@epita.fr> + + Replace AC_LANG_SAVE/AC_LANG_RESTORE with AC_LANG_PUSH/AC_LANG_POP. + + * aclang.m4 (_AC_LANG_CURRENT, AC_LANG_STACK): You two are the same + thing, which now we shall name `_AC_LANG'. + All users adjusted. + (AC_LANG_PUSH, AC_LANG_POP): New macros. + (AC_LANG_SAVE, AC_LANG_RESTORE): AU defined. + (AC_PROG_CC_WORKS, AC_PROG_CXXCPP, AC_PROG_CXX_WORKS, + AC_PROG_F77_WORKS, AC_F77_LIBRARY_LDFLAGS, AC_F77_NAME_MANGLING): + Use them. + (AC_F77_LIBRARY_LDFLAGS): Move the requirements to its top. + * doc/autoconf.texi (Language Choice): Document them. + (Old Macros): Welcome AC_LANG_SAVE and AC_LANG_RESTORE. + +2000-05-11 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Less adventurous use of + `test'. + Fixes Autoconf/108. + +2000-05-11 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Particular Headers): Some more sorting. + Use `@multitable'. + +2000-05-11 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (_AC_CHECK_HEADER_DIRENT): Use more modern + Autoconf idioms. + (_AC_CHECK_HEADERS_DIRENT): Removed, instead... + (AC_HEADER_DIRENT): Handle the loop. + +2000-05-11 Akim Demaille <akim@epita.fr> + + Provide a means to track the dependencies of files created by + `configure'. + + * acgeneral.m4 (AT_FILE_DEPENDENCY, _AC_CONFIG_DEPENDENCY, + _AC_CONFIG_DEPENDENCIES): New macros. + (AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS): Use them. + +2000-05-11 Akim Demaille <akim@epita.fr> + + Merge AC_DECL_YYTEXT into AC_PROG_LEX. + + * acgeneral.m4 (AC_DECL_YYTEXT): Rename as + (_AC_DECL_YYTEXT): this. + (AC_PROG_LEX): Use it. + (AC_DECL_YYTEXT): New AU macro. + * doc/autoconf.texi: Adjust. + +2000-05-10 Akim Demaille <akim@epita.fr> + + * aclang.m4 (AC_F77_NAME_MANGLING): Use AC_COMPILE_IFELSE. + Move the requirements to the top of the macro. + +2000-05-10 Akim Demaille <akim@epita.fr> + + Update and polish the documentation. + + * doc/autoconf.texi: Use @sc where upper case names were used. + Remove a few useless `dnl'. + Convert some `dnl' into comments. + Promote `$(foo)' in Makefiles, not `${foo}'. + Promote `$foo' in shell scripts, not `${foo}'. + Promote `foo = bar' in Makefiles, not `foo=bar'. + (Language Choice): Document `AC_LANG', move `AC_LANG_C', + `AC_LANG_CPLUSPLUS' and `AC_LANG_FORTRAN77' to + (Old Macros): here. + * doc/install.texi: Fix a typo in the specification of the system + quadruples. + +2000-05-10 Akim Demaille <akim@epita.fr> + + * libm4.m4 (m4_foreach): Rewritten so that it does not require + lists in between parens. + (m4_foreach_quoted): new copy of the previous `m4_foreach' which + is still used by `m4_wrap'. + * acgeneral.m4 (AC_INCLUDE, AC_INCLUDES): Removed. + (AC_FOREACH): Don't use parens with `m4_foreach'. + (AC_CHECK_MEMBER, AC_CHECK_DECLS, AC_CHECK_TYPES): Adjust the + description. + * acspecific.m4 (AC_STRUCT_TIMEZONE, AC_STRUCT_ST_BLKSIZE, + AC_STRUCT_ST_BLOCKS, AC_STRUCT_ST_RDEV): Adjust. + * autoconf.texi (AC_CHECK_MEMBER, AC_CHECK_DECLS, AC_CHECK_TYPES): + Adjust their documentation. + (AC_INCLUDE): Undocument. + * tests/semantics.m4: Adjust. + * tests/actest.m4: Rename as... + * tests/aclocal.m4: this. + * tests/atspecific.m4: No longer include actest.m4. + * tests/torture.m4: Likewise. + * tests/Makefile.am: Adjust. + +2000-05-10 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Obsolete Macros): Document `AU_DEFUN'. + Move the documentation of `AC_OBSOLETE' from here, to... + (Old Macros): here. + * acspecific.m4 (AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): + AU_DEFUN'd. + +2000-05-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LIBOBJ_DECL, AC_LIBOBJ): New macros. + (AC_REPLACE_FUNCS): Use AC_LIBOBJ. + * acspecific.m4 (AC_FUNC_MKTIME, AC_FUNC_MEMCMP, + AC_STRUCT_ST_BLOCKS): Use AC_LIBOBJ. + * doc/autoconf.texi : Adjust so that the user is not encouraged to + use LIBOBJS directly. + (Generic Functions): Document AC_LIBOBJ_DECL and AC_LIBOBJ. + +2000-05-09 Jim Meyering <meyering@lucent.com> + + * acgeneral.m4 (AC_SEARCH_LIBS): Remove double quotes around `no'. + +2000-05-09 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_FILES): Don't automatically spit + `Generated by...' in Makefiles. + Fixes Autoconf/102. + +2000-05-09 Akim Demaille <akim@epita.fr> + + Let `config.status' use a private temp dir. + Suggested by Jim Meyering. + + * acgeneral.m4 (_AC_SHELL_TMPDIR): New macro. + (_AC_OUTPUT_CONFIG_STATUS): Use it. + Use more quoted here docs to improve readability. + Compute `$me' and use it in the error messages. + Define `$configure' and `$configure_args' to avoid continuously + mixing the uses of `configure' and `config.status' evaluation in a + single line. + Define `$SHELL' and use it. + Simplify all the unjustified `[\$]foo' into `\$foo', the quotes + are needed only for `\$[1]', `\$[@]' etc. + Replace all the uses of `ac_cs_root' with files in the tmp dir of + `config.status'. + Remove a few `rm' covered by the removal of the `$tmp' dir. + Let `config.status' support `--debug'. + (_AC_INIT_PREPARE): Avoid the leading space in `ac_configure_args'. + * doc/autoconf.texi (Invoking config.status): Adjust. + +2000-05-05 Jim Meyering <meyering@lucent.com> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Set up traps to remove + temporaries upon exit, too, not just upon receipt of signal. + +2000-05-05 Akim Demaille <akim@epita.fr> + + AC_CHECK_PROG macro fails if REJECT value is set under Digital + Unix 4.0x and 5.0 because `"$@"' expands into an empty parameter + (instead of nothing) when there are no positional parameters. + From Nicolas Joly. + + * acgeneral.m4 (AC_CHECK_PROG, AC_CHECK_PROGS): Prefer + `$$1' to `[$]$1', `$foo' to `[$]foo', `$[1]' to `[$]1', and + `${1+"$[@]"}' to `"[$]@"'. + +2000-05-04 Akim Demaille <akim@epita.fr> + + AC_PREREQ understands `2.14a' as `2.141'. + Reported by Didier Verna. + + * acgeneral.m4 (AC_PREREQ): Don't quote AC_ACVERSION. + +2000-05-04 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AH_TOP, AH_BOTTOM): New macros. + (_AH_COUNTER): New variable. + * tests/tools.m4 (autoheader): Check their proper functioning. + +2000-05-04 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Obsolete Macros): Rename as... + (Obsoleting Macros): this. + (Old Macros): Rename as... + (Obsolete Macros): this. + Be a section of... + (Obsolete Constructs): New chapter. + (Invoking autoheader): Move the `acconfig.h' documentation to... + (acconfig.h): here, new section of `Obsolete Constructs'. + (Autoheader Macros): Document AH_VERBATIM, AH_TEMPLATE, AH_TOP and + AH_BOTTOM. + +2000-05-03 Nicolas Joly <njoly@pasteur.fr> + + * autoheader.sh (config_h): Sort the templates. + Under NetBSD 1.4.1 /bin/sh `set' command does not return a sorted + variables list. + +2000-05-03 Akim Demaille <akim@epita.fr> + + * tests/tools.m4 (autoheader): Don't pass `-l at_srcdir' to + `autoheader', since `acconfig.h' is created in the build dir. + There's one empty line less in `config.h.in' than before when + using `acconfig.h'. + +2000-05-03 Akim Demaille <akim@epita.fr> + + Simplify the handling of `acconfig.h'. + + * autoheader.sh: No longer try to select the needed paragraphs of + `acconfig.h', just dump everything into `config.h.in'. + Implement support for `--warnings'. + Warn the users that these auxiliary files are obsolete when `-W + obsolete'. + * doc/autoconf.texi (Invoking autoheader): Adjust. + +2000-05-03 Akim Demaille <akim@epita.fr> + + Support of acconfig.h was broken. Fix and test. + Reported by Jim Meyering. + + * autoheader.sh: Trace AC_DEFINE and AC_DEFINE_UNQUOTED to build + the list of $syms which are defined. + * tests/tools.m4 (autoheader): New test. + +2000-05-03 Akim Demaille <akim@epita.fr> + + Rename the language FORTRAN77 as Fortran 77. + + * aclang.m4 (AC_LANG(FORTRAN77), AC_LANG_SOURCE(FORTRAN77), + AC_LANG_PROGRAM(FORTRAN77), AC_LANG_CALL(FORTRAN77)): Rename as... + (AC_LANG(Fortran 77), AC_LANG_SOURCE(Fortran 77), + AC_LANG_PROGRAM(Fortran 77), AC_LANG_CALL(Fortran 77)): This. + (AC_LANG_FORTRAN77): Adjust. + +2000-05-03 Akim Demaille <akim@epita.fr> + + Provide a macro to canonicalize a configuration name. + Suggested by Ralf Corsepius. + + * acgeneral.m4 (AC_CANONICALIZE): New macro. + (_AC_CANONICAL_THING): Use it. + + + Change the defaults for build, host, and target systems: + build defaults to `config.guess`. + host defaults to $build. + target defaults to $host. + Suggested by Mo DeJong, Pavel Roskin, Tom Tromey, Ian Lance + Taylor, and many others. + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Set `$build', `$host' and + `$target' to nothing instead of NONE. + (AC_CANONICAL_SYSTEM): AU_DEFUN'd as `AC_CANONICAL_TARGET'. + (_AC_CANONICAL_THING): Use an explicit m4_case to set the defaults + depending upon the THING. + Implement the default values. + (AC_CANONICAL_TARGET): Handle the `AC_ARG_PROGRAM' part + `AC_CANONICAL_SYSTEM' used to provide. + * doc/autoconf.texi: Adjust. + + + When receiving an explicit argument, consider this is a default + for --build, --host and --target (unless set). + Some scripts might still depend on this historical syntax. + Suggested by Alexandre Oliva. + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Do that. + (_AC_CANONICAL_THING): Drop the support of `$nonopt'. + + + Documenting --build, --host and --target when configure does not + handle them causes confusion. + Suggested by Pavel Roskin. + Nevertheless configure must not die on such an `unsupported' + option: it does happen that people build an entire tree of + packages, some of them expecting `--host' etc. some others not. + Stressed by Tom Tromey and Ian Lance Taylor. + + * acgeneral.m4 (HELP_CANON): New diversion. + (_AC_INIT_PARSE_ARGS): Don't document these options. + (AC_CANONICAL_BUILD, AC_CANONICAL_HOST, AC_CANONICAL_TARGET): + Document your associated option. + +2000-04-28 Akim Demaille <akim@epita.fr> + + Don't double quote in AC_MSG_*. + + * acgeneral.m4 (_AC_SH_QUOTE): Don't double quote. Escape the + double quotes too. + (_AC_ECHO_UNQUOTED): Don't double quote :). + (_AC_ECHO, _AC_ECHO_N): Quote the call to _AC_SH_QUOTE. + + The autoheader chain needs to be adjusted. + + * acgeneral.m4 (AH_VERBATIM): Just pass two arguments to AH_OUTPUT + instead of trying to build what `autoheader' needs: let it handle + the format by itself. + * autoheader.m4: Adjust. + s,tmp/config.h,tmp/config.hin. + + The adjustment revealed that `autoconf --trace' is not robust to + single quotes in its argument. + + * autoconf.sh: Fix this issue. + Rename the escape `$*' as `$%'. Implement `$@'. + * doc/autoconf.texi: Adjust. + +2000-04-28 Akim Demaille <akim@epita.fr> + + mawk suffers a severe performance loss when using `sub' with a + changing value. On the `configure' script of the fileutils: + mawk '{ sub (/foo/, foo++) }' -> 14s. + mawk '{ if ($0 ~ /foo/) sub (/foo/, foo++) }' -> 0.03s. + mawk '{ sub (/foo/, foo) }' -> 0.03s. + + * autoconf.sh (task script, AWK script): Run `sub (__oline__, + oline)' only in the lines that match `__oline__'. + Suggested by Paul Eggert. + +2000-04-28 Akim Demaille <akim@epita.fr> + + * autoconf.sh (options handling::-W*): Strip two leading chars, not + just one. + +2000-04-20 Dave Love <fx@gnu.org> + + * acspecific.m4 (AC_FUNC_MKTIME): Use AC_SUBST. + +2000-04-12 Akim Demaille <akim@epita.fr> + + Provide a fine grained control over autoconf's warnings. + + * acgeneral.m4 (AC_WARNING_IFELSE, _AC_DIAGNOSE, AC_DIAGNOSE): + New macros. + (AC_DEFUN_ONCE, AC_OBSOLETE, AC_BEFORE, AU_DEFUN, AC_PREREQ, + AC_WARNING, AC_FATAL, AC_TRY_RUN): Use AC_DIAGNOSE. + * autoconf.sh: Provide support for `--warnings', `-W'. + * doc/autoconf.texi (Invoking autoconf): Adjust. + (Reporting Messages): New section. + +2000-04-12 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_HELP): Move --srcdir in the first + section. + Document --help=short and recursive. + Split the `Directory' section into `Installation directories' for + --prefix and --exec-prefix, and all the others into `Fine tuning + of the installation directories'. + In the latter, don't repeat `in DIR', the user understands, and it + comes out better. + Default for --exec-prefix is PREFIX. + Reported by Kathryn Hargreaves. + Move --host before --build. + Fix a test on `$ac_init_help' which was not updated. + +2000-04-11 Akim Demaille <akim@epita.fr> + + Have `make check' succeed with CC=g++. + + * tests/atspecific.m4 (AT_TEST_MACRO): Don't check `env-after' if + the file does not exist, which may happen when a `configure' exits + brutally. + * tests/semantics.m4 (AC_CHECK_MEMBERS, AC_CHECK_TYPES): ANSI C++ + forbids members named like their hosting struct, so don't do it. + +2000-04-11 Akim Demaille <akim@epita.fr> + + * autoscan.pl: Reindent using 2 spaces, not 4. + Use `#' to denote Autoconf comments, not `dnl'. + Put a few `\' here and there to avoid misfontification and + misindentation. + Use your base name when reporting errors. + (parse_args::usage): Use $0, use the same order as the other + executables. + (parse_args): Don't dump `--help' on cmd line errors. + +2000-04-11 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PROVIDE_IF): Rename as... + (AC_PROVIDE_IFELSE): this. Change all callers. + Spread the use of AC_PROVIDE_IFELSE, no macro should know how + AC_PROVIDE names its internal variables. + +2000-04-11 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Simplify all the `foo="$bar"' into `foo=$bar'. + * acspecific.m4: Likewise. + * aclang.m4: Likewise. + +2000-04-11 Akim Demaille <akim@epita.fr> + + Move obsolete macros' definitions out of the way. + + * doc/autoconf.texi (Old Macro Names): Rename as... + (Old Macros): this. Change the @table enumeration into a list of + @defmac. + (AC_CHECKING, AC_CHECK_TYPE, AC_COMPILE_CHECK, AC_C_CROSS, + AC_DYNIX_SEQ, AC_HAVE_LIBRARY, AC_IRIX_SUN, AC_LINK_FILES, + AC_OUTPUT, AC_OUTPUT_COMMANDS, AC_SCO_INTL, AC_VERBOSE, + AC_XENIX_DIR): Move their descriptions into here. + Kill a few TeX warnings. + +2000-04-11 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_MSG_ERROR_UNQUOTED): Remove. + (AC_MSG_RESULT, AC_MSG_RESULT_UNQUOTED): Output to the log too. + (AC_CHECKING, AC_VERBOSE): AU_ define. + +2000-04-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: s/1>&/>&/g. + (AC_FD_LOG): New macro, replaces... + (AC_FD_CC): this. Provide an AU definition. + (_AC_ECHO_UNQUOTED, _AC_ECHO_N): Use m4_default. + +2000-04-05 Akim Demaille <akim@epita.fr> + + At the end of `./configure', save the cache values, and the CPP + values. + + * acgeneral.m4 (_AC_CACHE_DUMP): New macro. + (AC_CACHE_SAVE, AC_OUTPUT): Use it. + (AC_OUTPUT): Dump confdefs.h into config.log. + (_AC_INIT_PREPARE::config.log): Name the package being configured + if you can. + +2000-04-05 Steven G. Johnson <stevenj@alum.mit.edu> + + Disable caching by default, so as not to cause problems when + newbies accidentally use a stale cache file. + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Set cache_file to /dev/null + to disable caching by default. + (_AC_INIT_HELP): Adjust the --help message. + (AC_CACHE_LOAD, AC_CACHE_SAVE): Don't print "loading/updating + /dev/null" messages. + * autoconf.texi: Note that caching is disabled, how to enable it, + and that `./config.cache' is the traditional name of the cache file. + * install.texi: Likewise. + +2000-04-03 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): If any option waiting for a + directory receives a relative path, die (bindir, sbindir, + libexecdir, datadir, sysconfdir, sharedstatedir, localstatedir, + libdir, includedir, oldincludedir, infodir, mandir, exec_prefix, + prefix). Fixes Autoconf 42. + +2000-04-03 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Canonicalizing): Officially recognize + AC_CANONICAL_TARGET and AC_CANONICAL_BUILD. + +2000-04-03 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Writing configure.in): Explain what Autoconf + is. Explain how to use the quotation scheme used in Autoconf. + (Quoting): Update. Do not advocate changequote. + +2000-03-30 Steven G. Johnson <stevenj@alum.mit.edu> + + Fix F77 name-mangling macros to work with cached values (so + they don't break the second time you run configure). + + * aclang.m4 (AC_F77_NAME_MANGLING): Extract f77_case, + f77_underscore from cache variable. + (AC_F77_WRAPPERS): Get rid of ac_cv_f77_wrappers, it's useless. + Simplify the nested case-esac into a single one. + Simplify the documentation strings of CPP symbols. + +2000-03-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix the accumulation in + CONFIG_HEADERS. + +2000-03-31 Akim Demaille <akim@epita.fr> + + * autoheader.sh: Catch up with the `mktemp -d' changes in + autoconf.sh. + * autoupdate.sh: Likewise. + +2000-03-31 Steven G. Johnson <stevenj@alum.mit.edu> + + * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): bug fix in F77 test program + (missing whitespace--F77 requires program statements to start in + column 7). + +2000-03-29 Akim Demaille <akim@epita.fr> + + Rewrite the autoheader chain on top of `autoconf --trace'. + + * autoheader.m4: Dispatch the prototypes next to there AC_ + siblings. + (AH_TEMPLATE, AH_VERBATIM): Move to... + * acgeneral.m4: here. + (AH_OUTPUT): New macro. + * autoheader.sh: Run `autoconf --trace' instead of `m4 autoheader.m4'. + * autoheader.m4: Remove. + * Makefile.am: Adjust. + * tests/tools.m4 (AH_DEFUN): Remove, no longer makes sense. + * tests/actests.m4 (autoheader::AC_TATOOINE): Remove, was used by + the test above. + +2000-03-29 Akim Demaille <akim@epita.fr> + + silent.m4 depends upon the current quotation in m4, which changes + if `-i' is used or not. + + * autoconf.sh (trace::silent.m4): Removed. + (trace::run_m4_trace): Pass -Derrprint. + +2000-03-29 Akim Demaille <akim@epita.fr> + + Use `mktemp -d' when possible to create securely a tmp work dir. + + * autoconf.sh: Use it when possible to create the dir $tmp. + Stop using variables for tmp files, use their names in $tmp. + [install]: Use the new features of autoconf --trace. + +2000-03-28 Akim Demaille <akim@epita.fr> + + Probably all the versions of bash up to 2.04 fail on + fnmatch ("/tmp", "[/\\\\]") + The backslash must not be last. + + * acgeneral.m4 (_AC_INIT_HELP, AC_PATH_PROG, _AC_OUTPUT_FILES, + _AC_OUTPUT_LINKS, _AC_OUTPUT_SUBDIRS): Always make `\\' be the + first character in all the `[]' of `case' patterns. + +2000-03-27 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_CHECK_TOOL_PREFIX): Rename back as + AC_CHECK_TOOL_PREFIX since some packages rely on it. + +2000-03-27 Akim Demaille <akim@epita.fr> + + Move all the language dependent macros into aclang.m4. + + * aclang.m4: New file. + * autoconf.m4: Include it. + * autoheader.m4: Likewise. + * autoupdate.m4: Likewise. + * Makefile.am: Adjust. + * test/Makefile.am: Likewise. + * acgeneral.m4 (AC_LANG_CASE,AC_LANG_SAVE, _AC_LANG_DISPATCH, + AC_LANG, _AC_LANG_CURRENT, AC_LANG_SOURCE, AC_LANG_PROGRAM, + AC_LANG_CALL, AC_LANG(C), AC_LANG_SOURCE(C), AC_LANG_PROGRAM(C), + AC_LANG_CALL(C), AC_LANG(C++), AC_LANG_SOURCE(C++), + AC_LANG_PROGRAM(C++), AC_LANG_CALL(C++), AC_LANG(FORTRAN77), + AC_LANG_SOURCE(FORTRAN77), AC_LANG_PROGRAM(FORTRAN77), + AC_LANG_CALL(FORTRAN77): Move to... + * aclang.m4: here. + * acspecific.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77, + AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS, AC_PROG_F77_WORKS, + AC_PROG_CC_GNU, AC_PROG_CXX_GNU, AC_PROG_F77_GNU, AC_PROG_CC_G, + AC_PROG_CXX_G, AC_PROG_F77_G, AC_PROG_GCC_TRADITIONAL, + AC_PROG_CC_C_O, AC_PROG_F77_C_O, AC_PROG_CC_STDC, AC_PROG_CPP, + AC_PROG_CXXCPP, AC_REQUIRE_CPP, AC_PROG_LEX, AC_TYPE_MODE_T, + AC_C_CROSS, AC_C_CHAR_UNSIGNED, AC_C_LONG_DOUBLE, AC_C_BIGENDIAN, + AC_C_INLINE, AC_C_CONST, AC_C_VOLATILE, AC_C_STRINGIZE, + AC_C_PROTOTYPES, AC_F77_LIBRARY_LDFLAGS, AC_F77_NAME_MANGLING, + AC_F77_WRAPPERS): Move to... + * aclang.m4: here. + +2000-03-27 Akim Demaille <akim@epita.fr> + + * autoconf.sh (trace): Let translate_awk do the whole translation + from `$trace' to the m4 program. + +2000-03-27 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PACKAGE): Also define AC_PACKAGE_STRING. + Use it here and there. + +2000-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + + * acgeneral.m4 (_AC_INIT_HELP, _AC_OUTPUT_SUBDIRS): Fix the DOS + absolute path pattern: s/?:[[/\\]]/?:[[/\\]]*/. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_CANONICAL_TARGET, _AC_CANONICAL_BUILD): Rename + as (AC_CANONICAL_TARGET, AC_CANONICAL_BUILD), although internal, + too much foreign code depends upon them. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * autoconf.sh (translate_awk): `> "/dev/stderr"' is not portable + to systems without a real /dev/stderr in the file system or if not + using one of the three free awks. Use + print message | "cat >&2" + ... + END { close("cat >&2") } + From Aharon Robbins. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * autoheader.sh (checking completeness): Be ready to recognize + patterns with a value, and spaces between `#' and the directive, e.g. + # define FOO FIXME: + Reported by John Fortin. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_RUN_IFELSE): New macro. + (AC_TRY_RUN_NATIVE): Remove. + (AC_TRY_RUN): Use AC_RUN_IFELSE, not AC_TRY_RUN_NATIVE. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_LIB): Ah ah! I recognized you, even + masked: you are AC_TRY_LINK_FUNC. + Fix quotation. + (AC_SEARCH_LIBS): Use AC_SHELL_IFELSE. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * tests/semantics.m4 (AC_TRY_LINK_FUNC, AC_CHECK_LIB): New tests. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LANG_CALL, AC_LANG_CALL(C), AC_LANG_CALL(C++), + AC_LANG_CALL(FORTRAN77)): New macros. + (AC_TRY_LINK_FUNC): Use it. + (AC_TRY_CPP): Argument was output twice. + (AC_COMPILE_IFELSE, AC_LINK_IFELSE): Output $3 only if needed. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_TRY_COMPILER): Use AC_LINK_IFELSE. + (AC_TRY_LINK_FUNC, AC_CHECK_LIB, AC_CHECK_FUNC): Don't check that + the current language is C++ to output `extern "C"': the CPP + condition is enough. + +2000-03-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LINK_IFELSE, AC_COMPILE_IFELSE): New macros. + (AC_TRY_LINK, AC_TRY_COMPILE): Use them. + (AC_CHECK_MEMBER, AC_COMPILE_CHECK, AC_CHECK_DECL, + _AC_CHECK_TYPE_NEW): Adjust. + * acspecific.m4 (AC_DECL_YYTEXT, AC_PATH_XTRA): Adjust. + +2000-03-23 Steven G. Johnson <stevenj@alum.mit.edu> + + * acspecific.m4 (AC_F77_NAME_MANGLING): Need to use + AC_F77_LIBRARY_LDFLAGS when linking C and Fortran code. + +2000-03-23 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LANG_PROGRAM, AC_LANG_PROGRAM(C), + AC_LANG_PROGRAM(C++), AC_LANG_PROGRAM(FORTRAN77)): New macros. + (AC_TRY_COMPILE, AC_TRY_LINK): Use them. + +2000-03-23 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Support --help={long, short, + recursive}. + (_AC_INIT_HELP): Propagate --help=recursive to CONFIG_SUBDIRS. + Code stolen from... + (AC_OUTPUT_SUBDIRS): s/ac_config_dir/ac_subdir/g. + +2000-03-23 Lars J. Aas <larsa@sim.no> + + * libm4.m4 (m4_do): New macro. + +2000-03-21 Akim Demaille <akim@epita.fr> + + Provide a language independent means to generate language specific + programs. + + * acgeneral.m4 (_AC_LANG_DISPATCH): New macro. + (AC_LANG): Use it. + (AC_LANG_SOURCE, AC_LANG_SOURCE(C), AC_LANG_SOURCE(C++), + AC_LANG_SOURCE(FORTRAN77)): New macros. + (AC_TRY_COMPILER, AC_EGREP_CPP, AC_TRY_RUN_NATIVE): Use + AC_LANG_SOURCE. + +2000-03-21 Akim Demaille <akim@epita.fr> + + Fix a bug: some macros (e.g., AC_REVISION, AC_COPYRIGHT etc.) can + be used before AC_INIT, but they do require it. But then, the + argument of the explicit AC_INIT call is lost. + + * acgeneral.m4 (AC_CONFIG_SRCDIR): New macro. + (_AC_INIT_SRCDIR): Adjust. + (_AC_INIT): Pass your argument to AC_CONFIG_SRCDIR. + +2000-03-21 Akim Demaille <akim@epita.fr> + + * tests/semantics.m4 (AC_PATH_PROG, AC_PATH_PROGS): New tests. + +2000-03-21 Akim Demaille <akim@epita.fr> + + Start the language support overhaul: Introduce AC_LANG(). + + * acgeneral.m4 (AC_LANG): Renamed as _AC_LANG_CURRENT. + (AC_LANG, AC_LANG(C), AC_LANG(C++), AC_LANG(FORTRAN77)): New + macros. + (AC_LANG_C, AC_LANG_CPLUSPLUS, AC_LANG_FORTRAN): AU_DEFUN'ed. + Adjust all callers. + * acspecific.m4 (AC_F77_NAME_MANGLING): Remove the exceeding + AC_LANG_RESTORE. + * tests/Makefile.am (FILTER_MACROS): Add AC_LANG. + +2000-03-21 Akim Demaille <akim@epita.fr> + + Speed ups. + + * libm4.m4 (m4_append, m4_list_append): Use m4_define, not define. + On my machine the former implementation takes 4mn 40s to run the + test suite. Using m4_define leads to 4mn 15s. + * acgeneral.m4 (_AC_SUBST): Use AC_EXPAND_ONCE (which uses + m4_define, not define). 4mn. + (_AC_DIVERT): Don't use m4_case. Starting from those 4mn, if you + just move NORMAL* first in m4_case, the test suite is run in 3mn. + If instead of using m4, you use an `associative array' plus a + wrapper (current implementation), it falls to 2mn. + +2000-03-21 Akim Demaille <akim@epita.fr> + + * tests/tools.m4 (autoconf --trace): New test. + +2000-03-21 Akim Demaille <akim@epita.fr> + + * autoconf.sh (task trace): Pipe the output of the first m4 into + the second one, instead of saving to a tmp file, so that we can + trace endless configure.in expansion. + +2000-03-21 Akim Demaille <akim@epita.fr> + + Uniform idioms. + + * acgeneral.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, + _AC_OUTPUT_LINKS, _AC_OUTPUT_COMMANDS): Prefer + for i in : $is; do test $i = : && continue + over + for i in .. $is; do if test $i != ..; then + +2000-03-21 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE, _AC_INIT_PARSE_ARGS): Move more + initializations to... + (_AC_INIT_DEFAULTS): here. + +2000-03-21 Akim Demaille <akim@epita.fr> + + Give a means to compute `srcdir' earlier in configure. + + * acgeneral.m4 (_AC_INIT_SRCDIR): New macro, pulled out from... + (_AC_INIT_PREPARE): No longer compute `srcdir'. + (_AC_INIT): Use _AC_INIT_SRCDIR. + (AC_INIT): Don't forget to pass the argument to _AC_INIT. + +2000-03-20 Jim Meyering <meyering@lucent.com> + + * acspecific.m4 (AC_SYS_LONG_FILE_NAMES): Don't test for existence + of $ac_xdir. Not only is `test -e' not portable, but the test isn't + necessary at all; the following mkdir ends up accomplishing the + same goal. Suggestion from Alexandre Oliva. + + * acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT) [setting IFS]: Be careful + to use space, tab and new line, in precisely that order. + +2000-03-20 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Rename as _AC_OUTPUT_SUBDIRS. + No argument, use AC_LIST_SUBDIRS. + Adjust callers. + +2000-03-20 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH): Double quote the head + of the help snippet. + +2000-03-20 Akim Demaille <akim@epita.fr> + + Give an identity to `configure' scripts. + + * acgeneral.m4 (AC_PACKAGE): New macro. + (_AC_COPYRIGHT_SEPARATOR): Remove. + (AC_COPYRIGHT): Adjust. + (_AC_INIT_HELP, _AC_INIT_VERSION): Name the package you configure + when you want. + (_AC_INIT): Adjust. + * configure.in (AC_PACKAGE): Add. + +2000-03-20 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + +2000-03-20 Akim Demaille <akim@epita.fr> + + Don't rely on RS = "\0" to swallow the whole input as a single + record, this is not portable: mawk and nawk understand it as RS = + "". gawk understands it as expected. + + * autoconf.sh (translate_awk::BEGIN): No longer change RS. + (translate_awk::body): Move to the END. + Instead, accumulate the input in `request'. + +2000-03-20 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Testing Values and Files): Be a subsection of + `Portable Shell Programming'. + (Shell Substitutions, Limitations of Usual Tools): New subsections. + +2000-03-17 Akim Demaille <akim@epita.fr> + + Use a single tool to reformat the raw `configure' script output by + m4. + Suggested by Paul Eggert. + + * autoconf.sh: Stop playing with 2 seds and an AWK to finalize + `configure', a single AWK program is enough. + +2000-03-17 Akim Demaille <akim@epita.fr> + + In Autoconf 2.13, although AC_OUTPUT_COMMANDS did double quote its + arguments, AC_OUTPUT arguments 2 and 3 were not! Currently, + AC_OUTPUT over quotes too: stop that. + Reported by Martin Buchholz. + + * doc/autoconf.texi (Output): Don't expand on the ternary + AC_OUTPUT. + * acgeneral.m4 (AC_OUTPUT): Don't over quote $2 and $3. + +2000-03-17 Joseph S. Myers <jsm28@cam.ac.uk> + + * acspecific.m4 (AC_SYS_LONG_FILE_NAMES): Security fixes: create + the temp files in a private temporary directory, not directly in + TMPDIR. + +2000-03-17 Akim Demaille <akim@epita.fr> + + Install the IFS we need once for all. + + * acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): New macro. + Handle the NLS envvars, and IFS. + (_AC_INIT_PREPARE): Use it, no longer set the NLS envvars. + (_AC_WHICH_A, AC_PATH_PROG): Rely on the default IFS. + * acspecific.m4 (AC_PROG_INSTALL, AC_FUNC_SELECT_ARGTYPES): + Likewise. + +2000-03-17 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP, AC_TRY_COMPILE, + AC_TRY_LINK, AC_TRY_RUN_NATIVE): Simplify the removal of the + contest files: don't remove them before running the actions, just + remove them at the end of the macro. + +2000-03-16 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_FUNC_SELECT_ARGTYPES): Use + : ${foo='some words'} + not + : ${foo=some words} + since this is not portable: Digital Unix v5.0: `bad substitution'. + From Nicolas Joly. + +2000-03-16 Lars J. Aas <larsa@sim.no> + + * libm4.m4 (m4_assert, m4_shiftn): New macros. + (m4_case,m4_match): Rewrite to use m4_shiftn (for readability reasons). + (m4_for): Add the STEP argument and some argument-verifying asserts. + (m4_split): Correct spaces to tabulator in regexp. + +2000-03-15 Akim Demaille <akim@epita.fr> + + Revamp AC_FUNC_SELECT_ARGTYPES. + + * acspecific.m4 (AC_FUNC_SELECT_ARGTYPES): Use a single cache + variable instead of three. + Use AC_CACHE_CHECK. + Shorten the name of the var loops, they are no longer cached. + Include sys/types.h unconditionally. + `select' returns an int, fixes Autoconf/46. + Don't display parens in the user messages. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * autoheader.sh: Use run_m4f, not run_m4. + +2000-03-14 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * tests/actest.m4 (AC_ENV_SAVE): Don't consider RANDOM and LINENO + which some shells update. At least ksh on HP-UX 10.20 and sh on + IRIX 6.5 do change their `RANDOM' even if `read' via `set'. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH): No use for @%:@ here, + no need to over quote $1 in the comments. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Replace some ifelse with ifval or m4_default, or + even nothing when not needed. + * acspecific.m4: Likewise. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE): Insert the Autoconf version in + config.log, and the command line which ran configure. + Kill a couple of useless quote around dollars. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PREPARE): Kill a changequote in the + building of `ac_configure_args'. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_DIVERT): Rename _AC_DIVERT. + (AC_DIVERT): New macro. + Spread its use where better than a pair of AC_DIVERT_PUSH/POP. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_BINSH): Remove, useless now that... + (AC_REVISION): Require AC_INIT, not _AC_INIT_BINSH. + (AC_INIT): Do what _AC_INIT_BINSH used to. + Don't require _AC_INIT_VERSION, just call it. + Rename as _AC_INIT. + (AC_INIT): New macro, single expansion wrapper around _AC_INIT. + (_AC_COPYRIGHT_SEPARATOR): New. + (AC_COPYRIGHT): Use it. + Require AC_INIT, not _AC_INIT_VERSION. + * doc/autoconf.texi (Versions): Promote as first section of + `Setup'. + Rename as `Notices'. + Document AC_COPYRIGHT. + Don't give false reasons for placing AC_REVISION before AC_INIT, + the place no longer matters. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * autoconf.sh (trace_m4::smash): Double quote, we don't want the + result to be evaluated. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: s/@%:@line __oline__/#line __oline__/g. __oline__ + is not a macro, so there is just no use in avoiding `#'. + +2000-03-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): When there were no + CONFIG_FILES, we had to expand _AC_OUTPUT_FILES into the KILL + diversion, because it is AC_OUTPUT_FILES which undiverted the + AC_SUBST sed script at its proper place, otherwise it would have + been undiverted at the end of `configure', leading to an sh syntax + error. + Now that we no longer use a diversion, we don't need to call + AC_OUTPUT_FILES if useless. + (AC_OUTPUT_FILES): Rename as _AC_OUTPUT_FILES. + (AC_OUTPUT_LINKS): Rename as _AC_OUTPUT_LINKS. + +2000-03-14 Akim Demaille <akim@epita.fr> + + AC_ARG_PROGRAM must not be expanded twice, which is likely since + Automake calls it, and usually users do too. If it happens, + `--program-prefix=g' actually prepend two (or more) `g'. + + * acgeneral.m4 (AC_DEFUN_ONCE): New macro. + (AC_ARG_PROGRAM): AC_DEFUNed_ONCE. Or is it AC_DEFUN_ONCE'd? :). + No longer AC_EXPAND_ONCE the help string, the macro itself is + expanded at most once. + Rename the here-doc tag EOF_SED as EOF. + +2000-03-14 Akim Demaille <akim@epita.fr> + + Get rid of the ICMDS diversion. + + * acgeneral.m4 (AC_DIVERT): Remove ICMDS. + (_AC_OUTPUT_COMMANDS_INIT): New growing string. + (_AC_CONFIG_COMMANDS_INIT, _AC_OUTPUT_CONFIG_STATUS): Adjust. + +2000-03-14 Akim Demaille <akim@epita.fr> + + Introduce AC_SUBST(VAR, VAL). + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Stop global double quoting, + failed experiment. + Merge all the var=val AC_SUBST(var) into AC_SUBST(var, val). + (AC_SUBST): Implement support for 2nd arg. + * doc/autoconf.texi (Setting Output Variables): Adjust. + +2000-03-13 Akim Demaille <akim@epita.fr> + + Simplify the diversions naming system. + Suggested by Alexandre Oliva and Lars J. Aas + + * libm4.m4 (ifndef): New macro. + * acgeneral.m4 (AC_DIVERT): New macro, maps a diversion name to + its value. The diversions now have a short name, e.g., `NOTICE', + instead of the former macros which had long names, e.g., + `AC_DIVERSION_NOTICE'. + (AC_DIVERT_PUSH): Adjust. + (AC_DIVERT_POP): Use ifndef. + (AC_DIVERSION_CURRENT): Rename as `AC_DIVERT_DIVERSION' to stay + within the `AC_DIVERT' name domain. + Adjust all callers. + * acspecific.m4: Adjust all callers. + +2000-03-13 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Invoking autoconf): Update documentation of + `autoconf --trace'. + +2000-03-13 Akim Demaille <akim@epita.fr> + + * autoconf.sh (tmpbase): New var. Adjust trap code and other tmp + file names. + (translate_awk::BEGIN): Set RS to "\0" so that the whole file be a + single record. + (translate_awk::trans): Convert from array to function. + (translate_awk::error): New function. + (translate_awk::main action): Implement support for ${sep}@ and + ${sep}*. Use trans() and error(). + (translate_awk): Don't put space before user functions call, it is + not portable. + Remove trailing `;', this is not C :). + (task trace): Quote `$traces' when you eval it, to protect the + white spaces. + Propagate `translate_awk' failures to `autoconf.sh'. + Translate the quadrigraphs. + +2000-03-13 Akim Demaille <akim@epita.fr> + + Trap on 0 is not executed when `exit' is called without argument. + + * autoheader.sh (trap 1 2 13 15): s/exit/exit $?/. + * autoconf.sh: Likewise. + Remove translate_awk too. + * autoupdate.sh: Likewise. + Handle `--debug'. + +2000-03-13 Akim Demaille <akim@epita.fr> + + More uniform style in scripts. + + * autoheader.sh: s/-eq/=/. + Uniform ordering of variable initializations, option handling. + Don't use quotes where useless (foo=$1, not foo="$1"). + Propagate `run_m4' and `run_m4f'. + Use `$0' in --help. + * autoconf.sh: Likewise. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * ifnames.sh: Likewise. + * autoupdate.m4: Small bug: at the end `dnl' is disabled, so use + `m4_dnl'. + +2000-03-13 Akim Demaille <akim@epita.fr> + + `autoconf --trace': faster. + + * autoconf.sh (initialization): New var, new option. + (option loop): When you need an arg, make sure there is one. + (run_m4f): New var, which content is that of the former... + (run_m4): Don't use m4 frozen state files. + Change all callers. + Don't pass AC_LOCALDIR, not documented, and unused. + (task trace): Honor `--verbose' and `--initialization'. + (globally): Send `--verbose' messages in stderr. + Fix random typos. + +2000-03-13 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_PROG_BINSH): Removed. + +2000-03-13 Akim Demaille <akim@epita.fr> + + Start revamping `autoconf --trace'. + + * autoconf.sh (debug): New var, new option. + Adjust the trap code. + (task trace): Instead of decoding `m4 --trace' with sed, decode it + with m4 itself. + ($silent_m4): New file, which disables m4's `errprint'. + ($trace_m4): New file. Logistic for the m4 which is in charge of + decoding the traces of the first. + ($translate_awk): Transform a user trace request into $trace_m4 + code. + +2000-03-10 Akim Demaille <akim@epita.fr> + + Multiple `-e' to egrep are not portable. On IRIX 6.5 and Solaris + 2.5.1 only the last one is honored: + > printf "foo\nbar\n" | egrep -e 'foo' -e 'bar' + bar + > printf "foo\nbar\n" | egrep -e 'bar' -e 'foo' + foo + Reported by Nicolas Joly. + An alternative would have been to use `sed', unfortunately + alternation is not portable. + + * tests/actest.m4 (join): New macro. + (AC_ENV_SAVE): Join the egrep patterns into a single big one. + * tests/Makefile.am (EGREP_EXCLUDE): Rename as FILTER_MACROS. + Join the egrep patterns into a single big one. + +2000-03-10 Jim Meyering <meyering@lucent.com> + + * acgeneral.m4 (_AC_CHECK_TOOL_PREFIX): Correct typos in definition: + add `_' prefix to make the function name match comments and existing + uses. Remove leading prefix from _AC_CANONICAL_HOST. + +2000-03-09 Ossama Othman <ossama@debian.org> + + * acspecific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Added some missing + headers if they exist (needed for some missing prototypes) and + corrects the signal handler prototype/definition. The signal + handler prototype is now prepended with an `extern "C"' for C++ + compilers since some platforms explicitly require an `extern "C"' + signal handler. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * autoheader.m4 (autoheader::AC_CHECK_HEADERS_DIRENT): Rename as + (autoheader::_AC_CHECK_HEADERS_DIRENT): to cope with the new name + of the autoconf:: macro. + Fixes autoconf/119, reported by Raja R Harinath. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PATH_PROG, AC_OUTPUT_FILES, AC_OUTPUT_SUBDIRS): + Fix quotation problems in DOS path handling. + +2000-03-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * acspecific.m4 (AC_FUNC_MMAP, AC_FUNC_ALLOCA): Make them C++ + safe: include the right headers, cast the allocations etc. + +2000-03-08 Akim Demaille <akim@epita.fr> + + The argument of AC_COPYRIGHT should be plain text, not an sh + comment. + + * libm4.m4 (m4_quote): s/$@/$*/. + * acgeneral.m4 (AC_COPYRIGHT): Prepend `# ' to the lines that go + on the top of `configure'. Actually, prepend `@%:@ ' so that + there are as many evaluations on both sides. + (_AC_INIT_VERSION): No longer strip `# '. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * tests/Makefile.am (all-local): Remove. It wastes time to have + testsuite rebuilt each time an ac*.m4 file changes. It is enough + to build it for each `make check'. + +2000-03-08 Akim Demaille <akim@epita.fr> + + Leave a diversion exclusively for Copyright notices. + + * acgeneral.m4 (AC_DIVERSION_DEFAULTS): New diversion number. + (_AC_INIT_NOTICE): Move definition of `ac_includes_default' from + here... + (_AC_INIT_PREPARE): to here. + (_AC_INIT_NOTICE): Play with your diversion yourself, don't let + (AC_INIT): do it for you. + (_AC_INIT_DEFAULTS): New macro. + (AC_INIT): Use it. + +2000-03-08 Akim Demaille <akim@epita.fr> + + Provide a means to specify more Copyright information in + `configure'. And after all, it suits to `configure --version' too. + + * acgeneral.m4 (AC_DIVERSION_DEFAULTS, AC_DIVERSION_INIT_PREPARE): + New diversion numbers. + (AC_DIVERSION_INIT): Rename as... + (AC_DIVERSION_INIT_PARSE_ARGS): this. + (AC_DIVERT_POP): Instead of going into wild endless loops when + there are more pops than pushes, die with dignity. + (AC_COPYRIGHT): New macro. + (_AC_INIT_NOTICE): Move definition of `ac_includes_default' from + here... + (_AC_INIT_PREPARE): to here. + (_AC_INIT_NOTICE): Remove. + (AC_INIT): Use it to install Autoconf's Copyright. + (_AC_INIT_DEFAULTS): New macro. + (AC_INIT): Use it. + (AC_PREFIX_DEFAULTS): Dump in AC_DIVERSION_DEFAULTS. + (_AC_INIT_PARSE_ARGS): Dump in AC_DIVERSION_INIT_PREPARE. + +2000-03-08 Akim Demaille <akim@epita.fr> + + We don't need _AC_ARG_*_HELP_PROLOGUE. + + * acgeneral.m4 (AC_EXPAND_ONCE): AC_PROVIDE yourself, in case + there is no AC_DEFUN associated with the text to expand. + (_AC_ARG_ENABLE_HELP_PROLOGUE, _AC_ARG_WITH_HELP_PROLOGUE, + _AC_ARG_VAR_HELP_PROLOGUE): Remove, instead... + (AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): do it yourself. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Fix copy n' paste typos in + `--with-*', `--without-*' and `*' decoding. + Reported by Raja R Harinath. + Fixes autoconf/118. + +2000-03-08 Akim Demaille <akim@epita.fr> + + Don't dump AC_ARG_PROGRAM help messages if not used. + + * acgeneral.m4 (_AC_INIT_HELP): Don't. + (AC_ARG_PROGRAM): Do. + +2000-03-08 Akim Demaille <akim@epita.fr> + + Don't dump X help messages when `configure' does not check for X. + + * acgeneral.m4 (_AC_INIT_HELP): Don't dump X help messages. + * acspecific.m4 (AC_PATH_X): Do it. + +2000-03-08 Akim Demaille <akim@epita.fr> + + No longer rely on /bin/sh to compose the optional parts of + `configure --help'. + + * acgeneral.m4 (AC_DIVERSION_HELP_BEGIN, AC_DIVERSION_HELP_ENABLE, + AC_DIVERSION_HELP_WITH, AC_DIVERSION_HELP_VAR, + AC_DIVERSION_HELP_END): New diversion numbers. + (AC_EXPAND_ONCE): New macro. + (AC_PROVIDE_IF): New macro. + (AC_BEFORE, AC_REQUIRE): Use it. + (AC_REQUIRE): Don't use indir. + (_AC_ARG_ENABLE_HELP_PROLOGUE, _AC_ARG_WITH_HELP_PROLOGUE, + _AC_ARG_VAR_HELP_PROLOGUE): New macros. + (AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): Expand once the + _HELP_PROLOGUE macro which corresponds. + (_AC_INIT_HELP): Adjust to AC_DIVERSION_HELP_BEGIN and + AC_DIVERSION_HELP_END. + (_AC_INIT_NOTICE, _AC_INIT_HELP): Remove the sh code which handled + the optional help strings. + +2000-03-08 Akim Demaille <akim@epita.fr> + + AC_OUTPUT_COMMANDS no longer uses a diversion. + + * acgeneral.m4 (AC_DIVERSION_CMDS): Removed. + (_AC_OUTPUT_CONFIG_STATUS): Don't undivert it. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Fix quoted/non quoted here + document problems. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT_BINSH, AC_INIT_NOTICE, AC_INIT_PREPARE): + Rename as... + (_AC_INIT_BINSH, _AC_INIT_NOTICE, _AC_INIT_PREPARE): this. + All callers adjusted. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Rename as... + (_AC_INIT_PARSE_ARGS): this. + Move the display of help and version strings to... + (_AC_INIT_HELP, _AC_INIT_VERSION): here. + (AC_INIT): Adjust. Also, fix quotation. + +2000-03-08 Akim Demaille <akim@epita.fr> + + Some tests are failing with srcdir != builddir, because they can't + find config.guess, install-sh etc. + Reported by Erez Zadok. + + * tests/atspecific.m4 (AT_TEST_MACRO): Set AC_CONFIG_AUX_DIR to + top_srcdir in configure.in, and pass the value of top_srcdir to + configure. + +2000-03-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH, AC_PATH_PROG, + AC_PATH_PROGS, AC_PATH_TOOL, AC_CHECK_TOOL, AC_PREFIX_PROGRAM, + AC_EGREP_CPP, AC_TRY_LINK, AC_COMPILE_CHECK, AC_TRY_RUN_NATIVE): + Use ifval instead of ifelse. + +2000-03-07 Mark Elbrecht <snowball3@bigfoot.com> + + Support absolute DOS-style paths. + + Any character before the colon is accepted because network drives + can be assigned characters outside the [a-zA-Z] range. DOS-style + relative paths (?:foo/bar) are also considered absolute for + Autoconf's purposes since the path '../?:foo/bar' is invalid. + + * acgeneral.m4 (AC_OUTPUT_FILES): Treat DOS-style paths (?:*') as + absolute. + (AC_OUTPUT_SUBDIRS): Likewise. + (AC_PATH_PROG): Make pattern for matching DOS-style paths the same + as that used in AC_OUTPUT_FILES and AC_OUTPUT_SUBDIRS. + +2000-03-06 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4 (m4_match): Remove, no longer used. + +2000-03-04 Jim Meyering <meyering@lucent.com> + + * autoheader.sh: Use `rm -f', not just `rm' when removing temporaries. + Preserve exit status in trap handler. + Based on suggestions from Paul Eggert. + +2000-03-03 Paul Eggert <eggert@twinsun.com> + + Move the quadrigraphs out of the user name space. + + * acgeneral.m4: 's/\@BKL@/@<:@/g', 's/\@BKR@/\@:>@/g', + 's/\@DLR@/\@S|@/g', 's/\@PND@/@%:@/g'. + * acspecific.m4: Likewise. + * autoconf.sh: Likewise. + +2000-03-03 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_WHICH_A): New macro. + (AC_CHECK_PROG): Use it. Use ifval. + (AC_CHECK_PROGS): Use ifval. Fix the quoting. + * tests/semantics.m4: Test AC_CHECK_PROG. + * tests/Makefile.am (EGREP_EXCLUDE): Add /AC_CHECK_PROGS?/. + +2000-03-02 Russ Allbery <rra@stanford.edu> + + * autoscan.pl (parse_args): Add support for -m <macrodir>. + +2000-03-02 Akim Demaille <akim@epita.fr> + + The whole family supports -V = --version. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Report and support -V. + * autoconf.sh: Likewise. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * autoheader.sh: Likewise. + * autoscan.pl: Likewise. + * ifnames.sh: Likewise. + In addition, don't dump --help on invalid options. + * doc/autoconf.texi: Adjusted. + * doc/install.texi: Likewise. + +2000-03-02 Lars J. Aas <larsa@sim.no> + + * libm4.m4 (m4_noquote): New macro. + +2000-03-02 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_PATH_X_DIRECT): Moved all the shell variable + into the ac_ name space. + Reported by Nicolas Joly. + +2000-03-02 Akim Demaille <akim@epita.fr> + + * acspecific.m4: Move some macros to a better place. + +2000-03-02 Akim Demaille <akim@epita.fr> + + Internal macros are named `_AC_'. + + * acgeneral.m4 (AC_CANONICAL_TARGET, AC_CANONICAL_BUILD, + AC_CANONICAL_THING, AC_CHECK_TOOL_PREFIX, AC_CONFIG_UNIQUE): + Prepend `_' to their names. + * acspecific.m4 (AC_CHECK_HEADER_DIRENT, AC_CHECK_HEADERS_DIRENT, + AC_PATH_X_XMKMF, AC_PATH_X_DIRECT): Prepend `_' to their names. + * doc/autoconf.texi (Macro Names): Adjusted. + +2000-03-02 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + * acspecific.m4: Likewise. + +2000-03-01 Akim Demaille <akim@epita.fr> + + The empty regexp cannot be portably used in egrep's alternation. + For instance with Digital Unix v5.0: + > echo "foo" | egrep -e "^(|foo|bar)$" + > echo "|foo" | egrep -e "^(|foo|bar)$" + |foo + > echo "|bar" | egrep -e "^(|foo|bar)$" + > echo "bar" | egrep -e "^(|foo|bar)$" + bar + > echo "bar" | egrep '^(foo|bar|)$' + > echo "bar|" | egrep '^(foo|bar|)$' + bar| + > echo "bar" | egrep '^(foo||bar)$' + > echo "|bar" | egrep '^(foo||bar)$' + |bar + > echo "foo" | egrep '^(foo||bar)$' + foo + > echo "foo|" | egrep '^(foo||bar)$' + > + Reported by Nicolas Joly. + + * src/actest.m4 (AC_ENV_SAVE): s/(|EXTRA_|PRE_)/(EXTRA_|PRE_)?/. + +2000-03-01 Akim Demaille <akim@epita.fr> + + * acspecific.m4: Removed a few addresses, the map is... + * THANKS: here. + +2000-03-01 Lars Hecking <lhecking@nmrc.ucc.ie> + + * acspecific.m4 (AC_PATH_XTRA): On LynxOS 3.0.1/i386, + gethostbyname(), getservbyname(), and inet_addr() are in -lbsd. + +2000-03-01 Akim Demaille <akim@epita.fr> + + * tests/actest.m4 (AC_ENV_SAVE): Use multiple -e instead of + multiple egrep. + +2000-03-01 Akim Demaille <akim@epita.fr> + + * config.guess: Updated from master repository. + * config.sub: Likewise. + +2000-03-01 Akim Demaille <akim@epita.fr> + + Test suite: instead of using a full list of the AC macros and an + AT macro with selects which are the AC macros to test, just + produce the list of the AC macros we want to test. + + * tests/atspecific.m4 (TEST_MACRO): Removed. + * tests/Makefile.am (EGREP_EXCLUDE): New variable, performing the + selection TEST_MACRO used to do. + (macros.m4): Use it. Use AT_TEST_MACRO, not TEST_MACRO. Check + also AU macros. + +2000-03-01 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi: Tune the use of quotes, add missing + @noindents, remove dead FIXME:s, promote #if ! over #ifndef, + simplify duplicated text. + +2000-03-01 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Configuration Commands): Document + AC_CONFIG_COMMANDS_PRE and _POST. + +2000-02-29 Akim Demaille <akim@epita.fr> + + Test suite: more debugging information. + + * tests/atspecific.m4 (AT_TEST_MACRO): When verbose, report the + content of config.log. + +2000-02-29 Akim Demaille <akim@epita.fr> + + * Makefile.am (MAKEINFO): Removed. + (INSTALL.txt): Call $(MAKEINFO) with --no-split. + Reported by Nicolas Joly. + +2000-02-28 Akim Demaille <akim@epita.fr> + + * doc/Makefile.am (MAKEINFO): s/makeinfo/@MAKEINFO@/. + * missing: chmod +x. + +2000-02-28 Akim Demaille <akim@epita.fr> + + * tests/Makefile.am (testsuite): Use $(M4), not m4. + From Patrick Tullmann. + +2000-02-25 Akim Demaille <akim@epita.fr> + + * src/acgeneral.texi (AC_INIT_NOTICE): Include inttypes.h in the + ac_includes_default. + * doc/autoconf.texi (Default Includes): Adjust. + +2000-02-25 Akim Demaille <akim@epita.fr> + + Export the knowledge on disabling echo's trailing new line. + + * acspecific.m4 (AC_PROG_ECHO_N): Rename as... + (_AC_PROG_ECHO): this. + Set ECHO_N, ECHO_C, ECHO_T instead of ac_n, ac_c and ac_t. + All dependencies changed. + * doc/autoconf.texi (Preset Output Variables): Document ECHO_C, + ECHO_N and ECHO_T. + * m4/atconfig.m4 (fp_PROG_ECHO): Removed. + (AT_CONFIG): Don't use it. + +2000-02-24 Akim Demaille <akim@epita.fr> + + * autoconf.sh (AC_ACLOCALDIR): Use `(aclocal) 2>/dev/null`, not + `aclocal 2>/dev/null` if you want no complaints for missing + aclocal. + From Nicolas Joly. + +2000-02-22 Pavel Roskin <pavel_roskin@geocities.com> + + * configure.in (HELP2MAN): Specify the third argument of + AM_MISSING_PROG. Fixes autoconf/116. + +2000-02-21 Akim Demaille <akim@epita.fr> + + * tests/tools.m4 (syntax.sh): The logic of the previous patch was + twisted. Fix it so that it performs what claims the entry below. + From Nicolas Joly. + +2000-02-21 Akim Demaille <akim@epita.fr> + + * tests/tools.m4 (syntax.sh): Exit 1 if you managed to kill the + child, since it means `/bin/sh -n' went loopy. + +2000-02-18 Akim Demaille <akim@epita.fr> + + Some `diff' refuse to diff with /dev/null, such as Tru64's. + Reported by Nicolas Joly. + + * tests/atgeneral.m4 (empty): New dummy file. + Changed various `diff /dev/null' as `diff empty'. + +2000-02-18 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4 (TEST_MACRO): Don't run AC_PATH_TOOL and + AC_PATH_PROG. + +2000-02-18 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4 (at_diff): Don't use `cmp -s', on DOS it + differentiate between Unix and DOS EOL. `diff' does not. + Reported by Eli Zaretski. + Also, be ready to use a diff that does not support `-u'. + +2000-02-18 Akim Demaille <akim@epita.fr> + + * tests/tools.m4 (Syntax of the scripts): Be robust to shells that + never return on some `/bin/sh -n foo.sh'. + Reported by Nicolas Joly. + +2000-02-17 Akim Demaille <akim@epita.fr> + + Move the documentation into doc/. + Some CVS tricks were used so that history is kept in both the top + directory, and in doc/. + + * doc/Makefile.am: New file. + * Makefile.am: Adjusted. + * configure.in: Adjusted. + * autoconf.texi: Moved from here to... + * doc/autoconf.texi: here. + * make-stdts.texi: Likewise. + * install.texi: Likewise. + * texinfo.tex: Likewise. + +2000-02-17 Akim Demaille <akim@epita.fr> + + * tests/actest.m4 (AC_ENV_SAVE): Added ALLOCA. + +2000-02-17 Akim Demaille <akim@epita.fr> + + * tests/semantics.m4 (AC_CHECK_TYPES): `addr, addr' is not + portable sed: use `addr,addr'. + +2000-02-17 Akim Demaille <akim@epita.fr> + + Fix the `missing dummy.in' reported by the test suite. + Reported by Erez Zadok. + + * tests/torture.m4 (config.status under extreme conditions): + Reorganized. Because files required by this test were created + outside the pair AT_SETUP/AT_CLEANUP, when the test fails and + autotest extracts this test, the `debug' script does not contain + the files it needs. Now AT_SETUP/AT_CLEANUP encloses the full + auto contained section. + +2000-02-16 Akim Demaille <akim@epita.fr> + + * tests/actest.m4 (AC_ENV_SAVE): X_EXTRA_LIBS can be changed by + AC_PATH_EXTRA. + Reported by Erez Zadok. + +2000-02-15 Akim Demaille <akim@epita.fr> + + Define HAVE_DECL_FOO both to 1 if found and 0 otherwise. + + * acgeneral.m4 (AC_CHECK_DECLS): Define HAVE_DECL_FOO to 1 instead + of NEED_FOO_DECL if found. Define to 0 if not found. + * autoheader.m4 (AC_CHECK_DECLS): Template HAVE_DECL_FOO. + * tests/semantics.m4 (AC_CHECK_DECLS): Adjusted. + * doc/autoconf.texi (Generic Declarations): Adjusted. + +2000-02-15 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Generic Structures): + s/AC_FATAL/AC_MSG_ERROR. + +2000-02-15 Akim Demaille <akim@epita.fr> + + autoreconf had a silly syntax error, test it and fix it. + Reported by Franc,ois Pinard and Rainer Orth. + + * autoreconf.sh: Removed spurious `;;'. + Formatting changes. + * tests/tools.m4 (Syntax of the scripts): Run `sh -n' on all the + shell scripts. + +2000-02-15 Akim Demaille <akim@epita.fr> + + * autoconf.sh (options handling): --v* of --version was shadowing + --verbose. + +2000-02-11 Akim Demaille <akim@epita.fr> + + * tests/torture.m4: Nuke the trailing space in defs. + +2000-02-11 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4: Really added to the CVS repository. + +2000-02-11 Akim Demaille <akim@epita.fr> + + Don't use `cat -s' to single out new-lines, it is not portable. + Also remove trailing blanks. + + * tests/Makefile.am (testsuite): Use sed instead of cat. + * tests/torture.m4: No longer check for a trailing space. + * autoconf.sh: Likewise. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * tests/actest.m4 (AC_ENV_SAVE): OpenBSD-2.3's /bin/sh defines an + envvar SECONDS which does change with time. + KMEM_GROUP is set by AC_FUNC_GETLOADAVG. + Reported by Volker Borchert. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * tests/Makefile.am (macros.m4): Better regex to build `macro'. + Depend upon acgeneral.m4. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * autoheader.sh: Remove the duplicate trap code. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT): When dispatching your arguments, use + ifval, not ifset! + Dispatch actions to AC_CONFIG_COMMANDS not AC_OUTPUT_COMMANDS, to + avoid unneeded warnings for obsolete use of AC_OUTPUT_COMMANDS. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_VERBOSE): This is a tab, not spaces. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Changequote busters II. + They're back to save the world. + + * acspecific.m4 (AC_PROG_CC_C_O, AC_PROG_F77_C_O, + AC_PROG_MAKE_SET, AC_TYPE_GETGROUPS, AC_FUNC_GETLOADAVG, + AC_FUNC_MKTIME, AC_STRUCT_TIMEZONE, AC_F77_LIBRARY_LDFLAGS): Blast + that jelly o' changequote. Set the quotes free. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Interrupting autoheader left temp files. + From Jim Meyering. + + * autoheader.sh (usage): The usage is to use $0 here. + (ah_base): Be in TMPDIR. + Install the `trap' before creating the first tmp file. + Also trap on 0. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): This is a routine of + `configure', not `config.status', hence use `conftest' for tmp + files, not `$ac_cs_root'. + Removed forgotten developer comment. + Double quoting the whole body is nicer than just the part that + needs to be. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * tests/torture.m4: Also check the value of @DEFS@ when no + CONFIG_HEADER is used. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Changequote-busters! + From Dan Ackroyd. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS, AC_INIT_PREPARE, + AC_CACHE_SAVE, AC_PREFIX_PROGRAM, AC_OUTPUT, + _AC_OUTPUT_CONFIG_STATUS, AC_OUTPUT_MAKE_DEFS, AC_OUTPUT_FILES, + _AC_OUTPUT_HEADERS, AC_OUTPUT_LINKS, AC_OUTPUT_SUBDIRS): Quit + playing with changequotes, @BKL@ and Co.! Just quote properly. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Honor properly the `#define' config.h.in templates. + Test it. + + * acgeneral.m4 (AC_OUTPUT_HEADERS): Rename as... + (_AC_OUTPUT_HEADERS): this. All callers changed. + Don't mess with changequote, just quote properly. + Bug 1. Because of the `#' in `ac_dA', the quotes <<>> were not + removed, and therefore the sed script contained `<<define>>' + instead of `define'. Now that the block is properly quoted, there + is no need to quote `define'. + Bug 2. Once a `#define' substitution performed, we were branching + to the top of the sed script (`t top'). This resulted in an + endless substitution of `#define foo 1' to `#define foo 1'. + Branching is not enough: you also have to fetch the next input + line, i.e., use `t' instead of `t t' in ac_dD, and don't output + `: top' in `config.defines'. + Though it was correct for `#undef' templates, just apply the same + transformation to `ac_uD' and `config.undefs'. + Bug 3. Don't try to preserve what was behind the value in the + template, since on + #define NAME "bar baz" + it leads to + #define NAME 1 baz" + Now `ac_dB' catches everything behind the NAME (making sure there + is at least a space) and `ac_dC' only outputs a space. + * tests/torture.m4: Check that various forms of `#define' header + templates are properly handled. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Avoid calling `rm' without arguments. + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): It is smarter to use a + quoted here doc to output the section providing defaults for + CONFIG_*. + Don't rm the CONFIG_FILES here but in.. + (AC_OUTPUT_FILES) [test -n "$CONFIG_FILES"]: here. + Hm, actually, no, just don't remove them at all, let the newly + created files replace the old ones, exactly as in + AC_OUTPUT_HEADERS. + From Graham Jenkins. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_LIST_MEMBER_OF): s/ac_$exists/$ac_exists/! + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + * acspecific.m4: Likewise. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Don't + : ${FOO="$foo"} + but + : ${FOO=$foo} + Since Ultrix will also assign the quotes to FOO. + Reported by Harlan Stenn. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Keep `AC_CHECK_TYPE' backward compatibility and provide a proper + `AC_CHECK_TYPE', + Based on ideas from Paul Eggert and Alexandre Oliva. + + * acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): Rename as... + (_AC_CHECK_TYPE_NEW): this. + (AC_CHECK_TYPES): Adjusted. + (AC_CHECK_TYPE): Rename as... + (_AC_CHECK_TYPE_OLD): This. Adjusted to _AC_CHECK_TYPE_NEW. + No longer support extra includes, stick to 2.13's interface. + (_AC_CHECK_TYPE_BUILTIN_P): New macro. + (AC_CHECK_TYPE): New macro. + * autoheader.m4 (autoheader::AC_CHECK_TYPE): Rename as... + (autoheader::_AC_CHECK_TYPE_OLD): this. + * tests/atspecific.m4 (TEST_MACRO): Skip /^_AC_/ macros. + * tests/semantics.m4: Test the choices of AC_CHECK_TYPE (wrt _NEW + or _OLD implementation). + * doc/autoconf.texi (Generic Types): Reorganized. Explain + everything about AC_CHECK_TYPE and Co. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * libm4.m4 (near m4_split): Remove the buggy additional + changequote. + Quote properly `m4_split' when registering it. + +2000-02-10 Akim Demaille <akim@epita.fr> + + The AU-glue code for AC_LINK_FILES was not fully compatible: in + AC_LINK_FILES($from, $to) + `$from' and `$to' can be lists, hence `AC_CONFIG_LINKS($to:$from)' + is wrong. + Reported by H.J. Lu. + + * acgeneral.m4 (AC_LINK_FILES): Replace the m4-glue code from + AC_LINK_FILES to AC_CONFIG_LINKS, with sh-glue code. + Give a detailed update message. + (_AC_LINK_FILES_CNT): New variable. Initialize. + * tests/tools.m4 (autoupdate): No longer exercise `autoupdate' + with AC_LINK_FILES. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_PROG_SED): Removed. + +2000-02-10 Akim Demaille <akim@epita.fr> + + AC_CHECK_FILES has never worked properly. + + * acgeneral.m4 (AC_CHECK_FILE): Use AC_CACHE_CHECK. + * autoheader.m4 (AC_CHECK_FILES): AH-define. + * tests/semantics.m4: Test AC_CHECK_FILES. + * tests/atspecific.m4 (TEST_MACRO): Don't. + +2000-02-10 Akim Demaille <akim@epita.fr> + + No longer use a diversion to store the sed program implementing + AC_SUBST. + + * acgeneral.m4 (_AC_SUBST): New macro. + (_AC_SUBST_SED_PROGRAM): Initialize. + (AC_SUBST): Use _AC_SUBST. + (AC_SUBST_FILE): Likewise. + (AC_DIVERSION_SED): Removed. Renumber the AC_DIVERSIONs. + (AC_OUTPUT_FILES): Instead on undiverting AC_DIVERSION_SED, output + _AC_SUBST_SED_PROGRAM. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Standardize the error messages in the options handling of + `configure' and `config.status'. + + * acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): Rename as... + (_AC_OUTPUT_CONFIG_STATUS): this. + Change the error messages from + value: invalid feature name + to + invalid feature: value + Invite the user to try --help for invalid options. + (AC_INIT_PARSE_ARGS): Likewise. + +2000-02-10 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT_COMMANDS_COMMANDS): Rename as... + (_AC_OUTPUT_COMMANDS): This. All callers changed. + Disable the verbose message until Automake uses the new features + of `config.status'. + Reported by Jim Meyering. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Clean up a few changequotes. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Instead of using changequote + to protect a few `[ ]', double quote the constant sections. + +2000-02-10 Akim Demaille <akim@epita.fr> + + Restore AC_HAVE_LIBRARY. + + * acgeneral.m4 (AC_HAVE_LIBRARY): AU_DEFUNed in terms of + AC_CHECK_LIB. + * doc/autoconf.texi (Libraries): Document. + +2000-02-09 Akim Demaille <akim@epita.fr> + + Fix the handling of `./configure foo=bar' and test it. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS, getopt loop): Always define + ac_optarg as the rhs of the first `=', not only on `-.*=', so that + `configure var=val' defines ac_optarg=val. + Improve the robustness to shell special characters: + - Use grep when checking that shell variable names are valid. + - Quote the quotes in ac_optarg before `eval var='$ac_optarg''. + - Quote the quotes when building ac_configure_args. + + * tests/torture.m4: Test that `./configure foo=bar' works properly. + +2000-02-09 Akim Demaille <akim@epita.fr> + + Resynchronize `INSTALL' with the current `configure', and + conversely... + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Let `configure' support `-h = + --help' and `-n = --no-create'. + Document -h, -n and -q in configure's help message. + * install.texi (Operation Controls): Formatting changes. + Document `configure -h'. + +2000-02-09 Akim Demaille <akim@epita.fr> + + * README: Updated. + +2000-02-09 Akim Demaille <akim@epita.fr> + + * ChangeLog.1: Formatting changes. + +2000-02-09 Akim Demaille <akim@epita.fr> + + Clean up `make clean'. + + * Makefile.am (CLEANFILES): Added autoupdate.m4f and autoconf.tmp. + * tests/torture.m4: Rm dummy and dummy.in. + +2000-02-09 Akim Demaille <akim@epita.fr> + + Test `autoupdate'. + + * tests/tools.m4 (AH_DEFUN): Fix the comments. + Quote properly. + (autoupdate): New test. + +2000-02-09 Akim Demaille <akim@epita.fr> + + AU_ glue code for AC_OUTPUT with arguments. + + * acgeneral.m4 (AU_DEFINE): New macros, pulled out from AU_DEFUN. + Defines a macro in `autoupdate::' with all the required wrapping + for `autoupdate'. + (AU_DEFUN): Use it. + (AC_OUTPUT): When dispatching your arguments, use ifval, not + ifset! + Dispatch actions to AC_CONFIG_COMMANDS not AC_OUTPUT_COMMANDS, to + avoid unneeded warnings for obsolete use of AC_OUTPUT_COMMANDS. + (autoupdate::AC_OUTPUT): New macro. + * doc/autoconf.texi (Writing configure.in, the example): Don't + advocate AC_OUTPUT with args. + (Output, AC_OUTPUT with args): Simplify the documentation, and + provide the translation into the new scheme. + Propagate what remained into the proper sections. + +2000-02-09 Akim Demaille <akim@epita.fr> + + AU_ glue code for AC_OUTPUT_COMMANDS. + + * acgeneral.m4 (AC_OUTPUT_COMMANDS): AU_DEFUNed in terms of + AC_CONFIG_COMMANDS. + (AC_OUTPUT_COMMANDS_CNT): New variable, declared both in + `autoconf::' and `autoupdate::'. + (AC_OUTPUT): Register your arguments to AC_OUTPUT_COMMANDS only if + there are to avoid spurious `run autoupdate' messages. + * doc/autoconf.texi (Libraries): Document the changes. + +2000-02-09 Akim Demaille <akim@epita.fr> + + Avoid outputting `config_files' code in `config.status' if there + are none. + + * acgeneral.m4 (AC_OUTPUT): Don't register $1 to `AC_CONFIG_FILES' + if $1 is empty. + Normalize the names of the sections in `config.status --help'. + +2000-02-09 Akim Demaille <akim@epita.fr> + + * README-alpha: New file, based on Automake's. + * Makefile.am: Tuned. + +2000-02-09 Akim Demaille <akim@epita.fr> + + Extend the concept of `INIT-CMDS' to the AC_CONFIG_FOOS. + + * acgeneral.m4 (_AC_CONFIG_COMMANDS_INIT): New macro which will + collect the `INIT-CMDS'. + (AC_CONFIG_COMMANDS, AC_CONFIG_LINKS, AC_CONFIG_HEADERS, + AC_CONFIG_FILES): Use it, and also temporarily divert to -1 + instead of spamming dnl everywhere. + (AC_OUTPUT_CONFIG_STATUS): Make sure to output the INIT-CMDS + before the other sections, it'd be a pity to initialize after the + use :). + + * doc/autoconf.texi (Configuration Actions): New section, + documenting the common behavior of AC_CONFIG_FILES, + AC_CONFIG_HEADERS, macro AC_CONFIG_COMMANDS, and AC_CONFIG_LINKS. + (Configuration Files): Document $2 and $3 of AC_CONFIG_FILES. + (Configuration Headers): Document $2 and $3 of AC_CONFIG_HEADERS. + (Configuration Commands): Document $2 and $3 of AC_CONFIG_COMMANDS. + (Configuration Links): Document $2 and $3 of AC_CONFIG_FILES. + +2000-02-09 Akim Demaille <akim@epita.fr> + + * libm4.m4 (m4_sign, m4_cmp, m4_list_cmp): New macros. + * acgeneral.m4 (AC_UNGNITS): Rename as... + (_AC_VERSION_UNLETTER): this. All callers changed. + Implement the scheme proposed by Alexandre Oliva: + Nl -> (N+1).-1.(l#) + (_AC_VERSION_COMPARE): New macro. + (AC_PREREQ): Use it. + +2000-02-09 Akim Demaille <akim@epita.fr> + + * tests/base.m4: Really added to the CVS repository. + * tests/tools.m4: Likewise. + +2000-02-09 Akim Demaille <akim@epita.fr> + + * tests/base.m4: s/m4 -I ../m4 -I $at_top_srcdir/. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * autoheader.sh (debug): Initialize to `false', not 0. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Fix a bug: `libm4::define' was incorrectly registered. + + * libm4.m4 (libm4::define): Not only register, define too. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_COMPILE_CHECK): Use AU_DEFUN, remove the call + to AC_OBSOLETE. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PROVIDE): Use `m4_define', not `define'. + Because of the names pace machinery this change makes `autoconf' + about four times faster on complex `configure.in's. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Open the access to AH_ to users. + + * autoheader.m4 (autoheader::AH_DEFUN): New macro. + * tests/tools.m4: New file, in charge of testing the scripts. + All the dependencies adapted. + * tests/actest.m4 (autoheader::AC_TATOOINE): New macro, used while + testing autoheader. + * tests/atspecific.m4: Create config.hin instead of config.h.in. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Because of commas and brackets, m4_split must mess with the + quotes. + + * libm4.m4 (m4_split): Quote the elements of the list you produce. + * tests/base.m4: New file, testing libm4. + All callers adapted. + Test m4_wrap. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CONFIG_UNIQUE): Strip the `:foo.in' part + yourself, in order to give better error messages. + (AC_CONFIG_IF_MEMBER): Adapted to the above change. + Quote some regexp active characters ([+.*]). + Suggested by Alexandre Oliva. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INCLUDES_DEFAULT): Make it more robust to + the fact it is used non quoted. + Reported by Jim Meyering. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT_FILES): Simplify some excess in + changequote. + (AC_OUTPUT_SUBDIRS): Likewise. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * autoupdate.sh: Don't dump --help on --wrong-option. + * autoconf.sh: Reformatting, and use >&2 instead of 1>&2. + * autoreconf.sh: Likewise. + * autoheader.sh: Likewise. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * libm4.m4 (m4_namespace_push, m4_namespace_pop): Use the private + macros to be robust to name space changes. + (m4_popdef, m4_pushdef): New private macros. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Let the doc catch up. + + * doc/autoconf.texi (Common Behavior): New section, to document + the common behavior of the macros. + (Standard Symbols): New subsection. Describes the transformation + of the AC_DEFINEd names. + (Default Includes): New subsection. Obvious content. + All the ``callers'' updated. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT_HEADERS): Don't use `break' to exit the + while loops which are breaking conftest.defines and + conftest.undefs into smaller snippets: just use the proper + condition for the while. + Suggested by Alexandre Oliva. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Configuration Commands): New section, for + AC_CONFIG_COMMANDS. + Move the definition of AC_OUTPUT_COMMANDS here. + (Configuration Links): New section, for AC_CONFIG_LINKS and + AC_LINK_FILES. + (Configuration Files): New section, for AC_CONFIG_FILES. + (Globally) Promote AC_CONFIG_HEADERS over AC_CONFIG_HEADER. + (Using System Type): Don't document AC_CONFIG_LINKS and + AC_LINK_FILES. + (Invoking config.status): Mention CONFIG_COMMANDS. + Document --file and --header. + Talk first of the newest interface of config.status. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Introduce a concept index, and update a bit the documentation. + + * doc/autoconf.texi (Concept Index): New section. + Various entries added. + (Typedefs): Rename as... + (Types): this. Pay attention to not limiting the documentation to + the typedefs. + (Particular Types): Mention the equivalent generic test. + Promote the GNU coding style at various places. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Revamp the autoupdate/AC_OBSOLETE chain. All the details are + given in the prologue of acoldnames.m4. + + * acgeneral.m4 (Prologue): Enter the `autoconf' name space. + (AU_DEFUN): New macro. + + * autoupdate.m4: New file. + Disable the name spaces `autoconf', and `libm4'. Disable libm4. + * Makefile.am: Tuned to support the changes above. + + * autoupdate.sh: Model after autoconf.sh. + Can run on several files at once (for instance m4/*.m4). + Don't touch files that are up to date. + Run m4 on autoupdate.m4f instead of playing with sed. + + + Use AU_DEFUN. + + * acgeneral.m4 (AC_LINK_FILES, AC_ENABLE, AC_WITH): Use AU_DEFUN, + remove the call to AC_OBSOLETE. + * acspecific.m4 (AC_CYGWIN32): Likewise. + * acoldnames.m4: Replaced all the definitions via `define' or + `AC_DEFUN' to use `AU_DEFUN'. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Clean up some m4 files. + + * acoldnames.m4: Use `#', not `dnl'. + Don't spread `dnl' everywhere, anyway, we are in a divert(-1). + * autoconf.m4: Likewise. + * autoheader.m4: Likewise. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Clean up autoconf. + + * autoconf.sh: Minor reorganizations to clearly separate the + prologue, which is almost common to all the shell scripts of + Autoconf, and the body. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Improve support of name spaces in libm4. Put the m4 builtins + in the `libm4' name space. + + * libm4 (m4_changequote, m4_define, m4_defn, m4_dnl, m4_indir, + m4_undefine): Private copies in the global name space. Used by + the name space mechanisms. + (m4_namespace_register): New macro. + (m4_namespace_define): Use it. + (builtin, changequote, defn, dnl, esyscmd, ifdef, ifelse, indir, + patsubst, popdef, pushdef, regexp, undefine, syscmd, sysval): Put + in the `libm4' name space. + (m4_disable, m4_enable): Use the private m4_indir, otherwise once + `libm4' closed, there is no `indir' available, and therefore no + means to reopen a name space. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Output really nothing if AC_INIT was not given. Unconditional + output can be problematic with autoupdate. + + * acgeneral.m4 (AC_INIT_NOTICE): Output ac_includes_default. + (Default includes section): No longer dump ac_includes_default in + AC_DIVERSION_INIT. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * libm4.m4 (m4_namespace_define): Fix a bug: `m4_namespace' + instead of `$1'. + Simplify some excess in quoting. + Use NAMESPACE::MACRONAME instead of `m4_defn(NAMESPACE, + MACRONAME)'. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Adapt autoheader to use libm4's name spaces. + + * autoheader.m4 (AH_HOOK): Removed. + (AH_DEFUN): Define in the `autoheader' name space. + Use only AH_DEFUN to define macros in this file. + (epilogue): No longer run the `AH_HOOKS', enter the `autoheader' + name space. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Clean up a bit the user interface. + + * autoconf.sh: Give your name while reporting errors. + Don't spit --help for errors on arguments. + * autoreconf.sh: Likewise. + * autoheader.sh: Likewise. + More temporary files that one can browse when debugging. + Don't ${var}, just $var. + Don't dump --help when the arguments are invalid. + (config_h): Use the empty value instead of `undefined' to check + that it is defined. + * acspecific.m4: Formatting changes. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Introduce name spaces in libm4. + + * libm4.m4 (m4_namespace_push, m4_namespace_pop, + m4_namespace_define, define, m4_disable, m4_enable, m4_rename): + New macros. + (_m4_foreach, _m4_for, m4_wrap): Use m4_define for temporaries. + (m4_split): Don't mess with the quotes. + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS, AC_OUTPUT_HEADERS): Quote + `define'. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * doc/autoconf.texi (Introduction): m4 1.4 is now required. + (Invoking autoconf): A better help on --trace. + (Defining Symbols): Advocate a proper use of the quotes in m4 + code, including if the quotes are sometimes useless. It is bad, + very bad not to quote properly, so quote all the examples + properly. + (Cache Files): Use a unary call to define, instead of an empty + $2. + (Using System Type): Watch out TeX wrapping. + (Pretty Help Strings): Don't give too long a snippet of --help. + Promote the coding style of Autoconf. Quote properly. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PRO): Use AC_PROVIDE instead of defining + yourself. This allows to see everything that is AC_PROVIDEd via + autoconf --trace. + (AC_SPECIALIZE): define'd, not AC_DEFUN'd. + (AC_PROVIDE): Use define with a single arg, instead of an empty $2. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (ac_includes_default): Don't use simple quotes, but + doubles quotes if you want to use \-continuation lines: this is + not recognized by MIPS' sh. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4. Formatting changes. + * acspecific.m4: Likewise. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CONFIG_HEADERS, AC_CONFIG_LINKS, + AC_CONFIG_SUBDIRS): A space was missing to separate the arguments + of m4_append. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Arrange that config.status creates the file with the AC_SUBSTing + engine only if needed. + + * acgeneral.m4 (AC_OUTPUT_FILES): Create the sed code only if test + -n "$CONFIG_FILES". + +2000-02-08 Akim Demaille <akim@epita.fr> + + Promote AC_LANG_CASE. + + * acgeneral.m4 (AC_TRY_COMPILER, AC_TRY_LINK_FUNC, AC_CHECK_LIB, + AC_TRY_COMPILE, AC_TRY_LINK, AC_TRY_RUN_NATIVE, AC_CHECK_FUNC): + Use AC_LANG_CASE instead of ifelse (AC_LANG, ...). + (AC_TRY_LINK_FUNC): Quote the body the the AC_DEFUN (whoa, how + could this survive so long?!?). + +2000-02-08 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + * acspecific.m4: Likewise. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Use the style we promote. + + * doc/autoconf.texi (Header Templates): Promote #if over #ifdef; + and #undef over #define in templates. + * acspecific.m4 (AC_DECL_SYS_SIGLIST, AC_FUNC_MMAP, + AC_FUNC_SETPGRP, AC_FUNC_VFORK, AC_FUNC_SELECT_ARGTYPES): Use #if, + not #ifdef and #ifndef, indent CPP directives. + +2000-02-08 Akim Demaille <akim@epita.fr> + + Quote properly AC_SHELL_IFELSE and callers. + + * acgeneral.m4 (AC_SHELL_IFELSE): Don't overquote $1. + (AC_VAR_IF_SET, AC_CHECK_MEMBER, AC_CHECK_LIB, AC_CHECK_HEADER, + AC_CHECK_DECL, AC_CHECK_FUNC, AC_CHECK_TYPE_INTERNAL): Quote the + first argument of AC_SHELL_IFELSE. + +2000-02-08 Akim Demaille <akim@epita.fr> + + It seems quite delicate to have AC_INCLUDES_DEFAULT insert the + default headers in the INIT section of configure: the reason is + that AC_INCLUDES_DEFAULT is called unquoted, and this results in + an un expected behavior. Thanks to Roman V. Shaposhnick for the + details. + + The current implementation is not satisfying: the default headers + are defined in the INIT section even if they are not used. + + * acgeneral.m4 (Prologue of AC_INCLUDES_DEFAULTS): Dump the + definition of ac_includes_default in the INIT section of + configure. + (AC_INCLUDES_DEFAULTS): Use it. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * TODO: Updated. + * THANKS: Updated. + +2000-02-08 Akim Demaille <akim@epita.fr> + + * libm4.m4 (m4_for): New macro. + +2000-02-07 Akim Demaille <akim@epita.fr> + + Stay in Autoconf's name space. + + * acspecific.m4 (AC_F77_LIBRARY_LDFLAGS): Prefixed with 'ac_': + arg, save_arg, i, seen, previous_arg, ld_run_path. + Rename f77_link_output as ac_link_output. + * tests/actest.m4 (AC_ENV_SAVE): Don't note F77, FFLAGS, FLIBS, + G77, f77_case, f77_underscore. + +2000-02-07 Akim Demaille <akim@epita.fr> + + Use `#' for comments instead of `dnl'. + Better highlighting of the sections in the sources. + + * acgeneral.m4: Formatting changes. + * acspecific.m4: Likewise. + * autoheader.m4: Likewise. + * acoldnames.m4: Likewise. + +2000-02-07 Akim Demaille <akim@epita.fr> + + Create libm4.m4. + + * Makefile.am: Adjusted for libm4.m4. + + * acgeneral.m4 (m4_errprint, m4_warn, m4_fatal, m4_prefix, + m4_eval, m4_shift, m4_format, m4_include_unique, m4_include, + m4_sinclude, m4_quote, m4_split, m4_join, m4_strip, m4_append, + m4_list_append, ifval, ifset, m4_default, m4_case, m4_match, + m4_foreach): Moved from here, to... + * libm4.m4: here. + * acgeneral.m4 (AC_WRAP): Moved from here, to... + * libm4.m4 (m4_wrap): here. All callers changed. + + * acgeneral.m4: Don't include acversion.m4. + * autoconf.m4: Include libm4.m4 and acversion.m4. + * autoheader.m4: Likewise. + +2000-02-07 Akim Demaille <akim@epita.fr> + + AC_CHECK_SIZEOF: Fix a bug, use standard default headers, and + test. + + * acgeneral.m4 (AC_CHECK_SIZEOF): Don't over quote $1, some [] + were left in the C code, and had the macro fail. + Use AC_INCLUDES_DEFAULT. + * doc/autoconf.texi: Mention default includes. Explain stdio.h + must always be given. + + * tests/atspecific.m4 (TEST_MACRO): Updated the list of + exceptions. + (AT_CHECK_DEFINES): New macro, to check the content of config.h. + * tests/semantics.m4: All the tests are updated to use + AT_CHECK_DEFINES. + Test AC_CHECK_SIZEOF, AC_CHECK_HEADERS, and AC_CHECK_FUNCS. + +2000-02-07 Akim Demaille <akim@epita.fr> + + Give explicit diagnostics when an input file (for config headers; + config files etc.) does not exist. + From Jim Meyering. + + * acgeneral.m4 (AC_OUTPUT_FILES, AC_OUTPUT_HEADERS): Check for the + existence of source files. + +2000-02-07 Akim Demaille <akim@epita.fr> + + Torture test config.status, AC_SUBST and AC_DEFINE. + + * tests/torture.m4: New file. + * tests/suite.m4: Include it. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4 (m4_for, m4_foreach): New macros. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): Instead of defining an + unused pointer to the type $1, use + if (($1 *) 0) return 0; + to avoid warnings from the compiler. + From Paul Eggert. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INCLUDES_DEFAULT): Include sys/types.h + Reported by Jim Meyering. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * tests/atspecific.m4: New file, for AT macros specific to + Autoconf testing. + * tests/suite.m4 (AT_TEST_MACRO): Moved to + * tests/atspecific.m4 (AT_TEST_MACRO): here. + * tests/syntax.m4 (TEST_MACRO): Moved to + * tests/atspecific.m4 (TEST_MACRO): here. Don't test /^AC_INIT/, + nor /^AC_PROG_\(CC\|CXX\|F77\)_\(GNU\|WORKS\)$/: they are already + tried elsewhere. + * tests/Makefile.am: Adjusted. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (m4_case): Fixed a typo and a bug: one shift was + missing. + (m4_match): New macro. + * tests/atgeneral.m4 (AT_CASE): Fixed. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + * acspecific.m4: Likewise. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_F77_LIBRARY_LDFLAGS): Don't use FFLAGS_SAVE + but ac_save_FFLAGS. + (AC_F77_NAME_MANGLING): Don't use foo_bar but ac_foo_bar. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_C_INLINE): Proceed as for AC_C_CONST: + condition out the test case if __cpluscplus. + Don't document the autoheader template twice, one is enough. + * autoheader.m4 (AC_CONFIG_HEADER): don't hook on this guy, but + on... + (AC_CONFIG_HEADERS), since the former is defined on the latter. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): Use the scheme proposed + by Alexandre Oliva for testing the definition of TYPE: + TYPE *foo; + sizeof (TYPE); + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_C_CONST): Don't changequote, there is no need + for it. Just quote properly! + condition out the test case if __cpluscplus. + AC_REQUIRE AC_PROG_CC_STDC. + Fix slightly the display of the result (formerly the first run + says `none needed', and later, because of the cache `no'). + (AC_C_INLINE, AC_C_VOLATILE): AC_REQUIRE AC_PROG_CC_STDC. + * doc/autoconf.texi (AC_C_CONST): Give a few hints on the + motivation for trusting the C++ compilers. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * tests/atgeneral.m4: Updated. + (AT_CASE): new macro. + (AT_CHECK): Use it. Don't changequote for patsubst, there is no + need. + * tests/syntax.m4 (TEST_MACRO): Don't run AC_ARG_VAR. + Reported by Jim Meyering. + Use AT_CASE. + +2000-02-07 Akim Demaille <akim@epita.fr> + + Test that the macros respect the user variable name space. + + * acgeneral.m4 (AC_CANONICAL_THING): define, not AC_DEFUN. + Don't AC_PROVIDE, there is no need. + When calling `config.sub`, also || exit 1, to catch failures from + config.sub. + * acspecific.m4 (AC_SYS_LONG_FILE_NAMES): Use ac_val, not val. + (AC_EXEEXT): Use ac_file, not file. + * tests/actest.m4: New file, holding extra Autoconf macros used + during the testing. + (AC_ENV_SAVE): New macro, save the sh variables in a file. + * tests/suite.m4 (AT_TEST_MACRO, Generation of configure.in): + include actest.m4, and call twice AC_ENV_SAVE to compare the + variables before and after the macro. + * tests/Makefile.am (macro.m4): Don't test macros that are + required: they will be tested somewhere else. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4(AC_CONFIG_PRE_COMMANDS, AC_CONFIG_POST_COMMANDS): + Rename as AC_CONFIG_COMMANDS_PRE, AC_CONFIG_COMMANDS_POST. All + dependencies changed. + From Jim Meyering. + +2000-02-07 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + * acspecific.m4: Likewise. + +2000-02-07 Akim Demaille <akim@epita.fr> + + Start a new series of tests which check the semantics. + + * acgeneral.m4 (AC_CHECK_MEMBER): It is not smart to define + ac_Foo, and use AC_Foo. Got rid of AC_Member_Aggregate and + AC_Member_Member which were complicating more than simplifying. + (AC_CHECK_DECLS): Use m4 lists. + (AC_CHECK_TYPES): A comma was missing. + * autoheader.m4: (AC_CHECK_DECLS): Use m4 lists. + * doc/autoconf.texi (Generic Declarations): AC_CHECK_DELCS uses m4 + lists. + * tests/semantics.m4: New file. Collection of semantical tests: + verify that the tests are positive and negative when appropriate. + Test AC_CHECK_MEMBERS, AC_CHECK_DECLS and AC_CHECK_TYPES. + +2000-02-04 Akim Demaille <akim@epita.fr> + + * tests/Makefile.am (macros.m4): Fix the sed snippet. + +2000-02-04 Akim Demaille <akim@epita.fr> + + * testsuite/autoconf.g/init.exp: Removed, test performed by + tests/syntax.m4. + * testsuite/autoconf.g/sizeof.exp: Likewise. + * testsuite/autoconf.s/defines.exp: Likewise. + * configure.in (AC_OUTPUT): Adjusted. + * Makefile.am (SUBDIRS): Adjusted. + +2000-02-04 Akim Demaille <akim@epita.fr> + + * tests/syntax.m4: Test AC_CHECK_SIZEOF. + * tests/Makefile.am (CLEANFILES, DISTCLEANFILES): Adjusted. + (macros.m4): Use tmp dest files ($@-t), not directly `$@'. + +2000-02-04 Akim Demaille <akim@epita.fr> + + Hide AH_HOOK behind AH_DEFUN. + + * autoheader.m4 (AH_DEFUN): New macro. Combination of define and + AH_HOOK. + (AC_TRY_RUN, AC_DEFINE, AC_DEFINE_UNQUOTED, AC_CHECK_LIB, + AC_CHECK_HEADERS, AC_CHECK_HEADERS_DIRENT, AC_CHECK_DECLS, + AC_CHECK_FUNCS, AC_CHECK_SIZEOF, AC_PROG_LEX, AC_CHECK_MEMBERS, + AC_CHECK_TYPE, AC_FUNC_ALLOCA, AC_CHECK_TYPES, AC_C_CHAR_UNSIGNED, + AC_AIX, AC_F77_WRAPPERS, AC_CONFIG_HEADER): All the former calls + to define and AH_HOOK in autoheader.m4 are replaced by AH_DEFUN. + +2000-02-04 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_RSH, AC_ARG_ARRAY, AC_HAVE_POUNDBANG): No use + to hide, you are DEFUNCT. + +1999-11-14 Akim Demaille <akim@epita.fr> + + * autoconf.texi (Invoking ifnames): ifnames no longer supports + --macrodir. + +1999-11-13 Akim Demaille <akim@epita.fr> + + Run the `syntax' test on acgeneral macros too. + Fix the bugs discovered. + + * acgeneral.m4 (AC_CANONICAL_THING): Quote the + AC_REQUIRE([AC_CANONICAL_HOST]). Bug triggered by the use of + AC_CANONICAL_BUILD alone in configure.in. Also, quote the + arguments of macros (eg, ifelse([$1]...), not ifelse($1...)). + (m4_case): New macro. + (AC_LINKER_OPTION): Don't clash with user's name space + (s/i/ac_link_opt). + (AC_LIST_MEMBER_OF). You mean AC_FATAL, not AC_MSG_ERROR. + Quote properly the argument. + dnl out the empty lines that result from m4 pure code. + Don't pollute the user name space. + Use AC_SHELL_IFELSE. + (AC_F77_NAME_MANGLING): Don't use `test -o'. There are still + name space problems. + * tests/Makefile.am (macros.m4): Also fetch the macros from + acgeneral.m4. + +1999-11-13 Akim Demaille <akim@epita.fr> + + Really install this patch. + + * acgeneral.m4 (AC_MSG_ERROR, AC_MSG_ERROR_UNQUOTED): Allow an + optional $2: exit status. + +1999-11-13 Akim Demaille <akim@epita.fr> + + Check that the AC_DEFINEs from acspecific.m4 do have a template. + Fix the discovered bugs. + + * tests/atgeneral.m4 (AT_CHECK): Don't just exit 1 when you want + to propagate the failure of a test: exit with the same exit + status, at least to preserve 77 (=ignore). + * tests/syntax.m4 (TEST_MACRO): Run also autoheader. Don't run + this test on all the macros, some just cannot run without + arguments. + * acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): In the if egrep/fi for + #define templates, add a `:' to prevent syntax errors in + config.status when there are no AC_DEFINE performed. + * autoheader.m4 (AH_TEMPLATE): Don't use _AC_SH_QUOTE here, use it + in... + (AH_VERBATIM): here. Now AH_C_UNSIGNED_CHAR is no longer failing + (formerly it would produce a non backslashed backquote, which + made sh choke). + +1999-11-13 Akim Demaille <akim@epita.fr> + + Introduce a means to distinguish failures of `configure' due to + extern software (so that the test suite doesn't fail on them). + + * acgeneral.m4 (AC_MSG_ERROR, AC_MSG_ERROR_UNQUOTED): Allow an + optional $2: exit status. + * doc/autoconf.texi: Document. + * acspecific.m4 (AC_PROG_CC_WORKS, PROG_CXX_WORKS, + AC_PROG_F77_WORKS): Exit 77 if the compiler does not work. + +1999-11-13 Akim Demaille <akim@epita.fr> + + Clean up a bit the handling of the LANG stack. More is needed. + + * acgeneral.m4 (AC_LANG_CASE): New macro. + (AC_LANG_RESTORE): Use m4_case. + (AC_LINKER_OPTION): Use AC_LANG_CASE. + +1999-11-11 Akim Demaille <akim@epita.fr> + + * autoconf.texi (Generic Declarations): Fixed a typo which + prevented `make distcheck' from succeeding. + * texinfo.tex: Updated for the same reasons. + +1999-11-11 Akim Demaille <akim@epita.fr> + + Introduce a new style of testing, independent from DejaGNU. + + + Introduce the logistics. + + * configure.in: Initialize AT, and output tests/atconfig, and + tests/Makefile. + * m4/atconfig.m4: New file. + * m4/Makefile.am: Adjusted. + * aclocal.m4: Include atconfig.m4. + * Makefile.am: Adjusted. + * tests/Makefile.am: New file. + * tests/atgeneral.m4: Likewise. + * tests/atconfig.in: Likewise. + + + Write tests. + + * tests/syntax.m4: New file, in charge of checking the validity of + the sh code produced by the macros defined in acspecific.m4. + acgeneral.m4 is not checked here, because these macros require + arguments. + * tests/suite.m4: New file. Run syntax.m4. + +1999-11-10 Akim Demaille <akim@epita.fr> + + A test suite will be introduced which tries to run all the + specific macros, but hasbeen'd macro make configure die with bad + exit status. So we wish to distinguish live macros from defunct + macros at the moment they are AC_DEFUN'd, not in their body. Hm, + defunct, defunct... Hey! That's a good name! + + * acgeneral.m4 (AC_DEFUNCT): New macro, comparable to AC_DEFUN, + but for macros which are no longer defined. Replaces AC_HASBEEN. + (AC_HASBEEN): Defunct. Well, removed in fact. + (AC_HAVE_LIBRARY): Don't use AC_DEFUN and AC_HASBEEN, just + AC_DEFUNCT. + * acspecific.m4 (AC_UNISTD_H, AC_USG, AC_MEMORY_H, AC_DIR_HEADER, + AC_INT_16_BITS, AC_LONG_64_BITS): Likewise. + (AC_XENIX_DIR): It was defunct even before I declared it was: was + depending upon AC_DIR_HEADER which is defunct. So AC_DEFUNCT'ed + now. + (AC_DYNIX_SEQ, AC_IRIX_SUN, AC_SCO_INTL): While we're here, you + too are defunct now. + * autoconf.texi (Obsolete Macros): Replace the documentation of + AC_HASBEEN with that of AC_DEFUNCT. + +1999-11-10 Akim Demaille <akim@epita.fr> + + * autoconf.sh: Formatting changes. + Removed development junk. + * acspecific.m4: Formatting changes. + * autoconf.m4: Likewise. + * autoheader.m4: Likewise. + +1999-11-10 Akim Demaille <akim@epita.fr> + + Let Autoconf use autoconf's `--install'. + + * m4/Makefile.am: New file. + * m4/init.am: New file, required by Automake. + * m4/missing.am: Likewise. + * m4/sanity.am: Likewise. + * aclocal.m4: Include them. + * configure.in (AC_OUTPUT): Added m4/Makefile. + +1999-11-10 Akim Demaille <akim@epita.fr> + + Make autoconf support --install. + + * autoconf.sh (task install): New task. Extract the set of + auxiliary m4 files a configure.in depends upon. Install links + from library files to the local dir so that the packages depends + only on local extensions. Check that the user includes exactly + the files she needs. + +1999-11-10 Akim Demaille <akim@epita.fr> + + Require GNU m4 1.4 (well 1.3 in fact). + + Because we are ready to handle the case where there are no frozen + files, we *have* to pass a -I, which is dangerous in conjunction + with the silent including of `aclocal.m4': you may include things + that were not expected. Since anyway handling pre 1.3 complicates + the task, just require an m4 which supports reloading of frozen + files. + + * acspecific.m4 (AC_PROG_GNU_M4): Check for --reload. + * autoconf.sh: Likewise + * autoheader.sh: Likewise. + * configure.in: Explicitly state the m4 version you want. + +1999-11-10 Akim Demaille <akim@epita.fr> + + No need for foo="`bar`", foo=`bar` is fine. + Simplify ${foo} and ${1} into $foo and $1. + + * acgeneral.m4 (ac_LF_and_DOT): Remove the double quotes. + * acspecific.m4 (AC_PROG_CC_C_O, AC_PROG_F77_C_O): Likewise. + * autoconf.sh: Likewise. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * ifnames.sh: Remove all the code and messages related to + AC_MACRODIR, since ifnames is not related to macros in anyway. + +1999-11-10 Akim Demaille <akim@epita.fr> + + New version of AC_INCLUDE, which does not glob, nor rely upon the + shell. Add AC_INCLUDES too. Help tracking multiple inclusions. + + * acgeneral.m4 (m4_errprint, m4_warn, m4_fatal): New macros, + variations around errprint. + (m4_include_unique): New macro which registers what are the files + already included, and warns if some are included several times. + (m4_include, m4_sinclude): New macro, using m4_include_unique. + (AC_INCLUDE): Is now just a wrapper of m4_include. + (AC_INIT): Use m4_sinclude, not sinclude. + (_AC_ERRPRINT): Removed, m4_errprint is here! + (AC_WARNING, AC_FATAL): Wrappers of m4_warn and m4_fatal. + +1999-11-01 Akim Demaille <akim@epita.fr> + + * autoheader.sh: No longer rely on a system acconfig.h. + +1999-11-01 Akim Demaille <akim@epita.fr> + + Be kind to Automake: list the arguments of selected macros + (for instance AC_SUBST will list each variable which may be + substitued). + + * autoconf.sh (--trace, --output): New options. + Implement tracing of macros. + trap also on 0, so that there is no need to rm here and there. + * autoconf.texi (Output): Document --trace and --output. + +1999-11-01 Akim Demaille <akim@epita.fr> + + Clean up the macros for testing members of aggregates. + + * acgeneral.m4 (AC_CHECK_MEMBER): FATAL if $1 has no dot in it. + Use AC_INCLUDE_DEFAULTS. + (AC_C_STRUCT_MEMBER): Removed. + * acspecific.m4 (AC_STRUCT_TIMEZONE): Adapted to AC_CHECK_MEMBERS. + (AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): Adapted to + AC_CHECK_MEMBERS and obsoleted. + (AC_STRUCT_ST_BLOCKS): Adapted to AC_CHECK_MEMBERS. + * autoconf.texi (AC_STRUCT_ST_BLKSIZE, HAVE_STRUCT_STAT_ST_RDEV): + Explain they are obsoleted, and how to migrate. + (AC_STRUCT_ST_BLOCKS, AC_STRUCT_TIMEZONE): Explain that the + AC_DEFINE changed (but the former #defines remain defined + currently). + (AC_C_STRUCT_MEMBER): Removed, replaced by the definitions of + AC_CHECK_MEMBER and AC_CHECK_MEMBERS. + +1999-11-01 Akim Demaille <akim@epita.fr> + + Install a uniform set of default includes. + + * acgeneral.m4 (AC_INCLUDES_DEFAULT): New macro. Expands in its + argument if non empty, otherwise a default list of includes. + (AC_CHECK_DECL, AC_CHECK_TYPE_INTERNAL): Use AC_INCLUDES_DEFAULT. + * autoconf.texi: Adjusted. + +1999-11-01 Akim Demaille <akim@epita.fr> + + * autoheader.m4 (AH_FUNC_ALLOCA, AH_C_CHAR_UNSIGNED, AH_AIX): + Don't leave `[]dnl' in pseudo #-comment (actually CPP directives). + +1999-11-01 Akim Demaille <akim@epita.fr> + + Fix a bit of the brokenness of AC_CHECK_TYPE. + + * acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): New macro, inspired from + the former AC_CHECK_TYPE. This macro is exactly the one that + ought to be named AC_CHECK_TYPE: it just checks, and executes user + actions. In the future, this macro ought to be renamed + AC_CHECK_TYPE. + There is a big difference with the former AC_CHECK_TYPE: instead + of grepping in the headers, it tries to compile a variable + declaration. This is both safer, slower, and better, since now we + can check for compiler types (e.g., unsigned long long). + (AC_CHECK_TYPES): The looping and AC_DEFINEing version of the + previous macro. Uses m4 loops. + (AC_CHECK_TYPE): Reimplemented on top of AC_CHECK_TYPE_INTERNAL. + * autoheader.m4 (AH_CHECK_TYPE, AH_CHECK_TYPES): New macros, + hooked. + * autoconf.texi (@ovar): New macro, for optional variables. + (Generic Typedefs): Document AC_CHECK_TYPES. + * autoheader.texi: (AH_CHECK_TYPE, AH_CHECK_TYPES): New macros. + (Epilogue): Hooks them. + +1999-11-01 Akim Demaille <akim@epita.fr> + + Update autoupdate. + + * acoldnames.m4: Sort the two sections. + * acoldnames.m4 (AM_CYGWIN32, AM_EXEEXT, AM_FUNC_FNMATCH, + AM_FUNC_MKTIME, AM_PROG_LIBTOOL, AM_MINGW32, AM_PROG_INSTALL, + fp_FUNC_FNMATCH): Added their new names. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Create man pages for the executables. + + * Makefile.am (SUBDIRS): Add `man' and prepend `.' so that + executables be built before help2man is run. + * configure.in (AC_OUTPUT): Add man/Makefile. + AC_MSG_ERROR, not AC_ERROR. + Check for missing help2man. + * man/Makefile.am: New file. + * man/autoconf.x: Likewise. + * man/autoreconf.x: Likewise. + * man/autoheader.x: Likewise. + * man/autoscan.x: Likewise. + * man/autoupdate.x: Likewise. + * man/ifnames.x: Likewise. + * man/common.x: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Reformating of configure and + config.status --help. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): Implement `config.status + --file' and `--header'. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * autoheader.m4 (AH_TEMPLATE): Quote $2 once, now _AC_SH_QUOTE + behaves properly. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + * acspecific.m4: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CONFIG_LINKS): Allow a second argument, + commands to run, as AC_CONFIG_FILES and HEADERS. + (AC_LIST_LINKS_COMMANDS): New growing string. Initialize. + (AC_OUTPUT_LINKS): Use it. + (AC_OUTPUT_FILES, AC_OUTPUT_HEADERS, AC_OUTPUT_LINKS): Don't + pretend to have arguments: you don't depend upon it. + (AC_OUTPUT): Call the previous macros without arguments. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PREFIX_PROGRAM): Don't use define/undefine, but + pushdef/podef. AC_UPCASE_NAME no longer exist. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formatting changes. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * TODO: Updated. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Clean up dead comments/code. Clean up the incompatibilities + between quoted and non quoted _AC_ECHO and the like. + + * acgeneral.m4: Remove the comments on the no longer defined AC_TR. + (_AC_SH_QUOTE): Be robust to active symbols. + (_AC_ECHO): Quote properly the argument. + (AC_TRY_RUN): Don't quote [AC_TRY_RUN] in the warning. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acspecific.m4: Formatting changes. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT_NOTICE, AC_INIT_PREPARE, AC_ARG_ENABLE, + AC_ARG_WITH, AC, TRY_COMPILER, AC_TRY_RUN, AC_TRY_CPP, + AC_EGREP_CPP): Use @PND@ instead of [#]: it looses the editors + that try to match the pairs of (), [] etc. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Fix the compatibility of the compiling macros with C++. + + * acgeneral.m4 (AC_TRY_COMPILE, AC_TRY_LINK, AC_CHECK_SIZEOF): Use + `int main () {...}', instead of `main () {...}'. + * acspecific.m4 (AC_TYPE_GETGROUPS, AC_FUNC_CLOSEDIR_VOID, + AC_FUNC_FNMATCH, AC_FUNC_GETPGRP, AC_FUNC_SETPGRP, AC_FUNC_VFORK, + AC_FUNC_WAIT3, AC_FUNC_ALLOCA, AC_FUNC_UTIME_NULL, + AC_FUNC_SETVBUF_REVERSED, AC_FUNC_MEMCMP, AC_C_CHAR_UNSIGNED, + AC_C_LONG_DOUBLE, AC_C_BIGENDIAN, AC_SYS_RESTARTABLE_SYSCALLS): + Likewise. + * acspecific.m4 (AC_FUNC_FNMATCH): Call + AC_CHECK_HEADERS(fnmatch.h), and include fnmatch.h in the compiled + code. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_COMPILE_CHECK, AC_TRY_COMPILE, + AC_TRY_RUN_NATIVE, AC_OUTPUT_CONFIG_STATUS): Use @PND@ instead of + [#]: it looses the editors that try to match the pairs of (), [] + etc. + Formatting changes. + * acspecific.m4: Formatting changes. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Allow standard beta version numbers. + + * configure.in: Declare version 2.14a. + * acgeneral.m4 (AC_UNGNITS): New macro which transform version + numbers to pure digits (2.14a to 2.14.0.1, 2.15z to 2.15.0.26 + etc.). + (AC_PREREQ): Normalize argument and AC_ACVERSION via AC_UNGNITS. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Fix the --version of all the executables. + + * Makefile.am (editsh, editpl): Substitute also PACKAGE and + VERSION. + * autoconf.sh (version): New string. + (--version): Use it. + (--help) Output on stdout, not stderr. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. + * autoscan.pl: Likewise. + * autoupdate.sh: Likewise. + * ifnames.sh: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Perform a better checking for missing templates in autoheader. + + * autoheader.m4 (AH_HOOK): When hook AC_FOO on AH_FOO, define the + new AC_FOO to be the expansion of both AH_FOO *and* AC_FOO. See + its definition for the motivations. + + * autoheader.m4 (AH_FUNC_ALLOCA): Remove the now useless + additional templates. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Work properly with Automake 1.4. + + * Makefile.am (distpkgdataDATA): Replaces dist_pkgdata_DATA. + (nodistpkgdataDATA): Replaces nodist_pkgdata_DATA. + (EXTRA_DIST): Added $(distpkgdataDATA). + (pkgdata_DATA): Adapted. + (AUTOMAKE_OPTION): Require 1.4. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Fix a bug in templates of AC_CHECK_LIB. + + * autoheader.m4 (AH_CHECK_LIB): Template HAVE_LIBFOO, not + HAVE_FOO. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acspecific.m4: Formating changes. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formating changes. + * acspecific.m4: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * Makefile.am (pkgdata_DATA): Split into dist_pkgdata_DATA and + nodist_pkgdata_DATA. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_PROG_GNU_M4): New macro. + * configure.in: Use it. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Provide a means to specify commands to run before config.status is + created (and, for symmetry, after it is created). + + This is typically needed by Automake so that AC_REPLACEd functions + go through deansification via + + LIBOBJS=`echo $LIBOBJS | sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'` + + and/or by Libtool which needs to define LTLIBOBJS and others: + + LTLIBOBJS=`echo $LIBOBJS | sed 's/\.o/\.lo/g'` + AC_SUBST(LTLIBOBJS) + + * acgeneral.m4 (AC_OUTPUT_PRE_COMMANDS): New growing string. + Initialize. + (AC_OUTPUT_POST_COMMANDS): Likewise. + (AC_CONFIG_PRE_COMMANDS): New macro, grows AC_OUTPUT_PRE_COMMANDS. + (AC_CONFIG_PRE_COMMANDS): Likewise. + (AC_OUTPUT): Run AC_OUTPUT_PRE_COMMANDS before + AC_OUTPUT_CONFIG_STATUS, and AC_OUTPUT_POST_COMMANDS after. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Remove spurious empty lines appearing in configures. + + * acgeneral.m4 (AC_CONFIG_UNIQUE): Produce no output. Instead of + fighting with dnl, divert to KILL upon entry, and pop at exit. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Avoid using double quotes + inside "`...`": some shells parse this incorrectly. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * Makefile.am (pkgdata_DATA, EXTRA_DIST): Removed acconfig.h. + * testsuite/autoconf.s/defines.exp: Commented out, there is no + longer an acconfig.h. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * autoconf.m4: Insert -*- Autoconf -*-. + * acgeneral.m4: Likewise. + * acspecific.m4: Likewise. + * acoldnames.m4: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Create AC_CONFIG_HEADERS which has the same interface as the other + AC_CONFIG_*S. + + * acgeneral.m4 (AC_CONFIG_HEADERS): New macro, with the same + interface as AC_CONFIG_LINKS and AC_CONFIG_FILES. + (AC_LIST_HEADERS_COMMANDS): New growing string, initialize it. + (AC_CONFIG_HEADER): Rename as... + (AC_CONFIG_HEADERS): this, for consistency. + (AC_CONFIG_HEADER): New macro, which calls AC_OUTPUT_HEADERS. + (AC_OUTPUT_HEADERS): The square brackets for sed and grep were + not properly quoted: use @BKL@ and @BKR@. + (AC_OUTPUT_HEADERS): Run the AC_LIST_HEADERS_COMMANDS. + + * acgeneral.m4 (AC_OUTPUT): Once config.status created, before + running it, trap to `exit 1' so that config.status is not removed + if configure is interrupted when config.status is complete. + + * acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): When recognizing + arguments, accept only foo, and no longer foo:foo.in etc. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Formating changes. + +1999-10-31 Akim Demaille <akim@epita.fr> + + config.status: Speed up the creation of config headers (about four + times faster on Linux). + + The previous scheme had three sed commands for each AC_DEFINE: one + for #define templates, and two for #undef templates (with or + without trailing spaces). Divide this in three sed scripts + instead: a one liner that removes the trailing spaces, one for + #defines, and then the last for #undef. + + The real speed up comes from the fact that the #define script + starts by checkin if the current input line has a #define, and if + not the script immediately goes to the next line, without running + the rest of the script as was the case before. Equally for the + #undef script. + + Note that this way, users that don't use #define templates don't + pay too much the overhead, since the sed script `realizes' quickly + there are no #define lines. My test case runs in 0.32s with + #define templates, and 0.24s without. To improve this common + case, the whole code for #define templates is conditionalized by a + proper egrep call. The result runs is 0.24s, i.e., almost no cost + at all. + + I made one dangerous change that I carefully evaluated before + commiting: the sed scripts are cut at 48 lines instead of 12 as + before. This produces here docs of about 4Kb. I checked many + `configure's and they all have big here documents, much bigger + than the 12 lines (for instance AC_FUNC_MMAP produces a 150 lines + long, 3800+ character here document). So I moved to the well + known HP UX sed limitations: no more than 100 commands, and there + are two commands per line now, plus a two command preamble. The + speed up is noticeable. + + * acgeneral.m4 (AC_OUTPUT_HEADERS): Remove the ac_e + family. + Changed ac_uD and ac_dD to `...;t t', instead of `...g'. + Instead of creating `conftest.vals' with both ac_e, ac_d, + and ac_u family, preprocess to strip the trailing spaces, and + create `conftest.defines' with the ac_d family, and then + `conftest.undefs' for the ac_e family. + Break up both `conftest.defines' and `conftest.undefs'. Insert a + top label and a global test for `#defines' and `#undef' before. + Call `conftest.defines' if there are #define in the input. + Call `conftest.undefs'. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Prefer `>file' over `> file' etc. + * acspecific.m4: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Rename the family AC_NEED_DECL as AC_CHECK: it is more uniform, + but keep defining NEED_FOO_DECL when `foo' is not declared. Files + not using Autoconf behave better when declarations lacks than when + they are wrong. So the unset position should off, hence #if NEEDS + instead of #if !HAVE (which is triggered when HAVE is not set). + + * acgeneral.m4 (AC_NEED_DECL): Rename as... + (AC_CHECK_DECL): This. Make sure the arguments are the usual + IF-FOUND, IF-NOT-FOUND. + (AC_NEED_DECLS, AC_CHECK_DECLS): Likewise. + * autoconf.texi (Generic Declarations): Document the changes + aforementioned. + * autoheader.m4 (AH_NEED_DECLS): Rename as + (AH_CHECK_DECLS): This. + (AH_HOOKS): Hook AH_CHECK_DECLS on AC_CHECK_DECLS instead of + _NEED_. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Revamp the handling of the arguments of config.status: instead of + looping over config_files etc. to recognize the file names, use + the case which handles the options. + Suggested by Alexandre Oliva. + + * acgeneral.m4 (ifset): Rename as... + (ifval): This. All callers changed. + (ifset): New macro, which tests if a macro is set to a non empty + value. + + * acgeneral.m4: Initialize growing lists and strings to empty, to + ease the tests. + (AC_CONFIG_HEADER): Quote AC_LIST_HEADERS in the define, to handle + the case AC_LIST_HEADERS is initialized. + + * acgeneral.m4: (AC_OUTPUT_CONFIG_STATUS): New macro, pulled out + from... + (AC_OUTPUT): Instead of using $1, $2 and $3, pass them to the + official macros (AC_CONFIG_FILES, AC_OUTPUT_COMMANDS). + Call AC_OUTPUT_CONFIG_STATUS. + (option handling): Use the case-esac to recognize arguments. + (AC_OUTPUT_COMMANDS): Fix the missing fi;done. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Add a means to specify commands to be run by config.status. At + the difference of AC_OUTPUT_COMMANDS, require that the set of + commands be named, so that both + CONFIG_COMMANDS=foo ./config.status + and + ./config.status foo + perform the Right Thing. + + * acgeneral.m4 (AC_CONFIG_UNIQUE): Also check in + AC_LIST_COMMANDS. + (AC_CONFIG_FILES): Remove a dead pushdef. + (AC_CONFIG_COMMANDS): New macro. + (AC_LIST_COMMANDS): New config list. + (AC_LIST_COMMANDS_COMMANDS): New growing string. + (AC_OUTPUT_COMMANDS_COMMANDS): New macro, output config commands + in config.status. + (AC_OUTPUT): Take AC_LIST_COMMANDS into account. + (AC_OUTPUT): Call AC_OUTPUT_COMMANDS_COMMANDS. + +1999-10-31 Akim Demaille <akim@epita.fr> + + New macro: AC_CONFIG_FILES which is very much like AC_OUTPUT but + that one associates commands to run when a config file is created. + For instance for a shell script `foo', one uses + AC_CONFIG_FILES(foo, chmod +x foo). + + In addition, check that the same name is never used twice in + config files, headers, subdirs and links. + + * acgeneral.m4 (m4_append): Don't insert new line between + elements. + (m4_list_append): New macro. + (AC_CONFIG_IF_MEMBER): New macro which tests if a file is member + of a config list. + (AC_CONFIG_UNIQUE): New macro which ensures that a config file + name is not yet used. + (AC_CONFIG_HEADER, AC_CONFIG_LINKS, AC_CONFIG_SUBDIRS): Use + AC_CONFIG_UNIQUE. + + * acgeneral.m4 (AC_CONFIG_FILES): New macro. + (AC_LIST_FILES): New list, which stores arguments of + AC_CONFIG_LISTS the same as AC_LIST_LINKS stores AC_CONFIG_LINKS + etc. + (AC_OUTPUT): No longer rely on $1 to designate the config files: + register them via AC_CONFIG_FILES. All uses of $1 replaced by + uses of AC_LIST_FILES. + (AC_OUTPUT_FILES): Run the commands associated to the + CONFIG_FILES. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * autoconf.sh (Looking for bugs): In addition to AC_, match AH_ + and AM_. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Provide the m4 infrastructure for defining AH_ hooks. + + * autoheader.m4 (AH_HOOK): New macro. + Hook all the AC_ macros to their AH_siblings in AH_HOOKS. + Run AH_HOOKS. + + * acgeneral.m4 (m4_append): New macro. + (m4_list_append, m4_list_add): Removed. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acspecific.m4: Formating changes. + * acgeneral.m4: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_CHECK_MEMBER, AC_CHECK_MEMBERS): New macros. + * autoheader.m4 (AH_CHECK_MEMBERS): New macro. + (epilogue): Hook AH_CHECK_MEMBERS on AC_CHECK_MEMBERS. + +1999-10-31 Akim Demaille <akim@epita.fr> + + * autoheader.m4 (AC_FUNC_ALLOCA): Rename from this ... + (AH_FUNC_ALLOCA): ... to this. Includes all the needed templates. + (AC_C_CHAR_UNSIGNED): Rename from this ... + (AH_C_CHAR_UNSIGNED): ... to this. + +1999-10-31 Ben Elliston <bje@cygnus.com> + + * Makefile.am (CLEANFILES): New explicit variable. + (editsh): acdatadir is no longer defined, so use pkgdatadir. + (editpl): Likewise. From Akim Demaille. + * Makefile.in: Regenerate. + + * configure: Regenerate. + * aclocal.m4: Generate. + * Makefile.in: Regenerate with Automake. + * testsuite/Makefile.in: Likewise. + +1999-10-31 Akim Demaille <akim@epita.fr> + + Use Automake. Based on files from Ben Elliston. + + * acgeneral.m4: No longer define AC_ACVERSION, include + acversion.m4. + * acversion.m4.in: New AC_CONFIG_FILE. + * acspecific.m4: Few formating changes. + * autoconf.texi: No longer define EDITION, VERSION and UPDATED: + include version.texi. + AC_OUTPUT the Makefiles mentioned below and acversion.m4. + * configure.in: Use AM_INIT_AUTOMAKE. + Do not AC_ARG_PROGRAM: AM_INIT_AUTOMAKE does it. + * Makefile.am: New file. + * mdate-sh: Likewise. + * missing: Likewise. + * testsuite/Makefile.am: Likewise. + +1999-10-31 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_PROG_CC_STDC, AC_C_PROTOTYPES): Inherit from + Automake. From Franc,ois Pinard. + * autoconf.texi (Particular Programs): Document AC_PROG_CC_STDC. + (C Compiler Characteristics): Document AC_C_PROTOTYPES. + + * testsuite/autoconf.s/defines.exp: Changed `fail' and `pass' in + `xfail' and `xpass'. The test suite checks that acconfig.h + templates the AC_DEFINEs. Since we no longer rely on acconfig.h, + the test is obsolete. + * acspecific.m4 (AC_PROG_BINSH, AC_PROG_SED): Don't quote the name + of the macro defined; the test suite does not recognize this + syntax. From Akim Demaille. + +1999-10-27 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (Generic Programs): @defmac for AC_PATH_TOOL may + not span multiple lines. + +1999-10-26 Ben Elliston <bje@cygnus.com> + + * INSTALL: Regenerate. + +1999-10-16 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_PROG_CXX): gcc is not a C++ compiler. + * autoconf.texi (AC_PROG_CXX): Update documentation. + +1999-10-13 Ben Elliston <bje@cygnus.com> + + * acconfig.h: Reintroduce missing definitions due to test suite + regressions. + + * autoconf.texi (Configuration Headers): Document the potential + trouble caused by autoheader and boilerplate files. Fix for + PR autoconf/45. + +1999-10-07 Alexandre Oliva <oliva@lsd.ic.unicamp.br> + + * Makefile.in (dist): Fixed for srcdir != objdir. + +1999-10-07 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_CHECK_HEADER_DIRENT): Reintroduce its + AC_DEFUN. + +1999-10-06 Akim Demaille <akim@epita.fr> + + * acspecific.m4: Various formatting changes. + * acspecific.m4 (AC_PROG_CC_WORKS): Declare main returns an int. + +1999-10-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> + + Shell meta characters in an argument causes the configure script + to freak out and generate a config.status file that contains + syntax errors. + Bug triggered by ./configure --with-foobar=\''`"$'. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Quote single quotes that end + up between single quotes. Protect arguments of echo with double + quotes. + (AC_INIT_PREPARE): Likewise. + (AC_PATH_PROG): Protect argument of test. + (AC_OUTPUT): Quote meta characters in ac_configure_args. + +1999-10-05 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (AC_PATH_XTRA): Correctly document the behaviour + when X is not available. + +1999-10-05 Akim Demaille <akim@epita.fr> + + The sed quoting script depends on the shape of the commands used + by AC_SUBST. The latter was changed, but not the former. + Bug triggered with FOO='%\c' AC_SUBST(FOO). + + * acgeneral.m4 (AC_OUTPUT_FILES): Fix the sed quoting script. + +1999-10-05 Akim Demaille <akim@epita.fr> + + When you rely on the `t' flag of sed for the immediately + preceding substitution, use a combination of `: foo; t foo'. + Bug triggered if you AC_DEFINE(FOO, "%"). + Additionally, work around a bug in IRIX sed. + Suggested by Ken Pizzini. + + * acgeneral.m4 (AC_OUTPUT_HEADER): Added a label and a test in the + sed code of `$ac_cs_root.hdr'. + +1999-10-05 Akim Demaille <akim@epita.fr> + + Implement AC_PATH_TOOL. + Submited by Gary V. Vaughan. + + * acgeneral.m4 (AC_PATH_TOOL): New macro. + * autoconf.texi (Generic Programs): Document. + +1999-10-05 Akim Demaille <akim@epita.fr> + + Handle arbitrary version numbers. + Reported by H.J. Lu. + + * acgeneral.m4 (m4_split): Support a second optional argument: a + regexp to specify where to split. + (m4_compare): New macro, compares arbitrary long m4 lists of + integers. + (AC_PREREQ_SPLIT, AC_PREREQ_CANON, AC_PREREQ_COMPARE): Removed, + replaced by more generic macros. + (AC_PREREQ): Reimplemented, using m4_compare and m4_split. + +1999-10-04 Akim Demaille <akim@epita.fr> + + Beware of the expansions of $n in comments. + + * acgeneral.m4 (AC_OUTPUT): Changed $1 into $[1] in dnls. + +1999-10-04 Akim Demaille <akim@epita.fr> + + Revert partially the previous changes: AC_CHECK_HEADERS_DIRENT is + used by AC_HEADER_DIRENT. + + * autoheader.m4: Restablish the hook for AC_CHECK_HEADERS_DIRENT. + + * acspecific.m4 (AC_CHECK_HEADERS_DIRENT, AC_CHECK_HEADER_DIRENT): + Reinserted. + +1999-10-02 Akim Demaille <demaille@inf.enst.fr> + + * acgeneral.m4: Instead of just undefining eval, format, include + and shift, rename them to m4_eval, etc. + +1999-10-02 Akim Demaille <akim@epita.fr> + + AC_DIR_HEADERS is hasbeen'ed. + + * acspecific.m4 (AC_DIR_HEADER): Raised from obsolete to hasbeen. + + * acspecific.m4 (AC_CHECK_HEADERS_DIRENT, AC_CHECK_HEADER_DIRENT): + Removed, were used only by AC_DIR_HEADER and were not documented. + + * autoheader.m4: Remove the hooks for AC_CHECK_HEADERS_DIRENT. + + * autoconf.texi (Particular Headers): Removed the documentation of + AC_DIR_HEADER. + + * autoconf.texi (Environment Variables): Remove the very last + traces of documentation of --env-VAR. + +1999-10-02 Akim Demaille <akim@epita.fr> + + Remove hasbeen'ed macros from the documentation. + + * autoconf.texi (Obsolete Macros): Document AC_HASBEEN. + + * autoconf.texi (Libraries): Remove the documentation of + AC_HAVE_LIB. + (Particular Headers): likewise for AC_UNISTD_H, AC_MEMORY_H, + AC_USG. + (C Compiler Characteristics): Likewise for AC_INT_16_BITS, + AC_LONG_64_BITS. + +1999-10-01 Akim Demaille <akim@epita.fr> + + Make the handling of the configuration links (AC_LINK_FILES) + exactly the same as that of configurations files (AC_OUTPUT_FILES) + and headers (AC_CONFIG_HEADERS). As a result, it is sane to run + ./config.status src/libmy_lib + or + CONFIG_LINKS=src/lib_mylib:lib/lib_mylib ./config.status + + * acgeneral.m4 (AC_LINK_FILES): Use AC_FATAL to diagnose bad + number of argument. + Obsoleted (but implemented) in favor of AC_CONFIG_LINKS. + + * acgeneral.m4 (AC_CONFIG_LINKS): New macro. Takes space + separated list of DEST:SOURCES arguments. + + * acgeneral.m4: Rename each occurence of AC_LIST_HEADER as + AC_LIST_HEADERS for consistency. + + * acgeneral.m4 (AC_OUTPUT, config.status prologue): Move the + definition of config_files and config_headers to the top. + Add the definition of config_links. + Change the help message to use the aforementioned variables. + + * acgeneral.m4 (AC_OUTPUT_LINKS): Adapted to the new scheme of + AC_LIST_LINKS. + + * autoconf.texi (Output, AC_OUTPUT): Mention AC_CONFIG_LINKS. + (Invoking config.status): Mention CONFIG_LINKS. + + * autoconf.texi (Using System Type): Document AC_CONFIG_LINKS. + Explicit the obsoleteness of AC_LINK_FILES. + +1999-10-01 Akim Demaille <akim@epita.fr> + + Moving most of the task of creating config.h.in from sh to m4. + Getting rid of acconfig.h by supply a major new family of macros: + AH_* which make it possible to insert arbitrary text into + config.h.in. + + * autoheader.m4: Major rewrite: introduction of a set of macros + AH_ that produce code into config.h.in. There are two sets of + macros: generic macros, or specialized, documented below. The + basic idea is that an AC_FOO macro which needs an entry in + config.h.in should have a sibling AH_FOO which expands into that + entry. In a near future, these macros will be moved next to their + siblings. + + * autoheader.m4 (AH_VERBATIM, AH_DEFINE, AH_DEFINE, AH_NEED_DECLS, + AH_CHECK_SIZEOF, AH_CHECK_FUNCS, AH_CHECK_HEADERS, + AH_CHECK_HEADERS, AH_CHECK_LIB, AH_PROG_LEX, AH_FUNC_ALLOCA, + AH_C_CHAR_UNSIGNED, AH_AIX, AH_F77_WRAPPERS): New macros. + + * autoheader.m4 (End section): Bind AC_ macros to their + AH_siblings. + + * autoheader.sh: Remove the sections in charge of SYMS, TYPES, + FUNCS, HEADERS, LIBS and DECLS: autoheader.m4 is now in charge of + these. + + * autoheader.sh (options): Added -d, --debug, which does not + remove the temporary files. + + * autoheader.sh: Instead of redirecting stdout to the output + stream, always output to a temporary file. This allows to change + slightly the consistency check: before autoheader would check that + each non documented AC_DEFINE is templated in an acconfig. Now it + just checks whether the template is in the output file. + + * acconfig.h: Completely emptied, the remaining templates + (_ALL_SOURCE, __CHAR_UNSIGNED__, F77_FUNC, F77_FUNC_, + HAVE_STRINGIZE, and STACK_DIRECTION) are now either associated to + their AC_DEFINE, or to one of the new AH_ macros. + + * acgeneral.m4: Reordering of the m4 macros which are not specific + to Autoconf. + + * acgeneral.m4 (AC_HAVE_LIB): Promoted from obsolete to hasbeen. + + * acgeneral.m4 (AC_TR_CPP): Fixed quoting problem, and missing ^ + in patsubst. + (AC_TR_SH): Fixed quoting problem. + +1999-09-29 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_WRAP): Don't output an extra space after the + last word. + +1999-09-29 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Check for the kstat_open() + function in libkstat (on systems such as Solaris). This family of + functions is preferred since they don't require setgid permissions + to use them. Fix for PR autoconf/65. + +1999-09-29 Akim Demaille <akim@epita.fr> + + * acconfig.h: Commit the change announced below. + +1999-09-29 Akim Demaille <akim@epita.fr> + + * acspecific.m4 (AC_C_CONST): Changed from + const charset x; + to + const charset x = {0, 0}; + From Jim Meyering. + +1999-09-28 Akim Demaille <akim@epita.fr> + + Start to get rid of acconfig.h. It is an anachronism. + + * acgeneral.m4 (_AC_SH_QUOTE): Both cases must be evaluated the + same number of times. + + * acconfig.h (_ALLOCA, CLOSEDIR_VOID, const, CRAY_STACKSEG_END, + DGUX, DIRENT, GETGROUPS_T, GETLOADAVG_PRIVILEGED, GETPGRP_VOID, + gid_t, HAVE_ALLOCA, HAVE_ALLOCA_H, HAVE_DOPRNT, HAVE_FNMATCH, + HAVE_GETLOADAVG, HAVE_GETMNTENT, HAVE_LONG_DOUBLE, + HAVE_LONG_FILE_NAMES, HAVE_MMAP, HAVE_RESTARTABLE_SYSCALLS, + HAVE_ST_BLKSIZE, HAVE_ST_BLOCKS, HAVE_STRCOLL, HAVE_ST_RDEV, + HAVE_STRFTIME, HAVE_SYS_WAIT_H, HAVE_TM_ZONE, HAVE_TZNAME, + HAVE_UNISTD_H, HAVE_UTIME_NULL, HAVE_VFORK_H, HAVE_VPRINTF, + HAVE_WAIT3, inline, INT_16_BITS, LONG_64_BITS, MAJOR_IN_MKDEV, + MAJOR_IN_SYSMACROS, _MINIX, NDIR, NEED_MEMORY_H, NLIST_NAME_UNION, + NLIST_STRUCT, NO_MINUS_C_MINUS_O, F77_NO_MINUS_C_MINUS_O, + _POSIX_1_SOURCE, _POSIX_SOURCE, RETSIGTYPE, SELECT_TYPE_ARG1, + SELECT_TYPE_ARG234, SELECT_TYPE_ARG5, SETPGRP_VOID, + SETVBUF_REVERSED, STAT_MACROS_BROKEN, STDC_HEADERS, SVR4, SYSDIR, + SYSNDIR, SYS_SIGLIST_DECLARED, TIME_WITH_SYS_TIME, TM_IN_SYS_TIME, + uid_t, UMAX, UMAX4_3, USG, vfork, VOID_CLOSEDIR, WORDS_BIGENDIAN, + X_DISPLAY_MISSING, YYTEXT_POINTER): Removed their autoheader + template. They are now documented with their own AC_DEFINE. + + * acgeneral.m4 (AC_HASBEEN): New macro. Same as AC_OBSOLETE, but + dies. + + * acspecific.m4 (AC_UNISTD_H, AC_USG, AC_MEMORY_H, AC_INT_16_BITS, + AC_LONG_64_BITS): Promoted from obsolete to hasbeen. + + * autoheader.m4 (AC_DEFINE_UNQUOTED): Define via AC_DEFINE, so + that we program things only once. + (AC_DEFINE): Use AC_WRAP and _AC_SH_QUOTE. It is now safe to have + backquotes and extra spaces in the third argument, without + yielding a bad result. + + * autoheader.m4: Instead of a huge `eval', use a temporary file. + (option handling): Added --debug, to keep the temporary files. + Fixed a couple of missing quotes. + +1999-09-28 Akim Demaille <akim@epita.fr> + + Make AC_FOREACH be robust to active symbols. + + * acgeneral.m4 (m4_split, m4_join, m4_strip): New macros. + (AC_FOREACH_COMMA): Rename as... + (m4_foreach): this. + (_AC_CAR): Renamed as... + (_m4_car): this. + (_AC_FOREACH): Renamed as... + (_m4_foreach): this. + (_AC_COMMATIZE): Removed. + (AC_FOREACH): Rewritten using m4_split, m4_join, m4_strip, and + m4_foreach. + * acgeneral.m4: Spell checked. + * autoconf.texi: Likewise. + +1999-09-28 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_NEED_DECL): When $4 is given, don't provide + defaults headers. + Change the message from `have' to `need'. + Change the actions for `if-(not-)found' to `if-(not-)needed. + Remove trailing parentheses. + + * acgeneral.m4 (AC_NEED_DECLS): Change the actions for + `if-(not-)found' to `if-(not-)needed. + Define NEED_DECL_foo, instead of NEED_foo_DECL. + + * autoheader.sh (decls): Reflect this. + + * autoconf.texi (Generic Declarations): Update. + +1999-09-27 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT): Divert AC_OUTPUT_FILE to + AC_DIVERSION_KILL if there are no CONFIG_FILES. + (AC_OUTPUT, ac_cs_usage): Output the list of files to instanciate + only if there are. + +1999-09-27 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_DECL): Renamed as... + (AC_NEED_DECL): This. + (AC_CHECK_DECLS): Renamed as... + (AC_NEED_DECLS): This. + (AC_NEED_DECL): Include <stdio.h>, <memory.h>, <string.h>, + <strings.h>, <stdlib.h>, <stddef.h>, and <unistd.h>. + + * autoconf.texi (Generic Declarations): Updated. + +1999-09-27 Ben Elliston <bje@cygnus.com> + + * autoscan.pl (scan_files): Emit an AC_PROG_CC invocation to + configure.scan if there are any C files present. Fix for PR + autoconf/19. + +1999-09-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_WRAP): Rewritten. + (AC_HELP_STRING): Wrapper of AC_WRAP. + * acgeneral.m4 (_AC_SH_QUOTE): Rewritten. Don't try to handle + both backslashed and non backslashed backquotes in a single + string: consider that either all the backquotes are quoted, or + none. + +1999-09-26 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_PATH_PROG): Use a single case statement for + Unix and DOS absolute paths. + + * acgeneral.m4 (AC_CHECK_SIZEOF): Fix a typo. + Allow a third default argument: extra headers. + * autoconf.texi (C Compiler Characteristics): Document. + + * acgeneral.m4 (AC_CHECK_TYPE): Convert to the AC_VAR_* family. + Allow a third optional argument: extra includes. + * autoconf.texi (Generic Typedefs): Documents. + +1999-09-26 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_OUTPUT_LINKS): Eliminate gratuitous spaces from + $ac_sources if this variable is otherwise empty. Fix for PR + autoconf/30. + +1999-09-25 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (AC_FUNC_SETVBUF): Do not mention which systems + might have their setvbuf() arguments reordered. It's difficult to + accurately determine and is not essential. Fix for PR autoconf/7. + + * acgeneral.m4 (AC_LINK_FILES): Emit an error if an incorrect + number of arguments are collected. Fix for PR autoconf/10. + +1999-09-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT, handling of options): Make it possible + to specify the files to configure on the command line instead of + via envvars. Document it. + +1999-09-25 Akim Demaille <akim@epita.fr> + + * acgeneral.m4: Rename the occurences of the variable `confstat' + as `ac_cs_root'. The previous name was breaking the naming + scheme. + +1999-10-24 Akim Demaille <akim@epita.fr> + + * TODO: Updated. + Added a section for 2.15 and 3. + +1999-09-24 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_HEADER_STDC): Define ISLOWER and ISUPPER + macros correctly on EBCDIC systems. Contributed by Kurt D. + Zeilenga. Fix for PR autoconf/6. + +1999-09-24 Jim Blandy <jimb@zwingli.cygnus.com> + + * acspecific.m4 (AC_C_VOLATILE): New test. + * acconfig.h: Add new entry for `volatile'. + * autoconf.texi (C Compiler Characteristics): Document it. + +1999-09-24 Ben Elliston <bje@cygnus.com> + + * autoreconf.sh: Do not run autoheader if AC_CONFIG_HEADER is + commented out in configure.in. Reported by Erez Zadok + as a fix for PR autoconf/21. + + * install.texi: Replace `can not' with `cannot'. + +1999-09-23 Pavel Roskin <pavel_roskin@geocities.com> + + Avoid that comments from aclocal.m4 show up in configure when + using AC_REVISION. + + * acgeneral.m4: New diversion levels AC_DIVERSION_KILL and + AC_DIVERSION_BINSH introduced. Use AC_DIVERSION_KILL as the + initial value for AC_DIVERSION_CURRENT. + (AC_INIT_BINSH): Set AC_DIVERSION_BINSH explicitly + (AC_REVISION): Likewise. + (AC_INIT): Set AC_DIVERSION_NOTICE when calling AC_INIT_NOTICE. + +1999-09-23 Akim Demaille <akim@epita.fr> + + * NEWS: Document AC_ARG_VAR. + + * acspecific.m4 (AC_C_LONG_DOUBLE): Avoid a needed execution by + using a pure compilation test. Excellent for cross compilation. + From Kaveh R. Ghazi. + +1999-09-22 Akim Demaille <akim@epita.fr> + + * install.texi: Give more details on envvar handling. + * acgeneral.m4 (AC_HELP_STRING): Add a third argument to tune the + width of the first column. + (AC_INIT_NOTICE): Initialize ac_arg_enable_help, ac_arg_with_help, + and ac_arg_var_help. + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Remove the handling of + --env-var=. After debate, the solution chosen to specify envvars + to configure is a` la make: ./configure VAR=VAL. + (AC_INIT_PARSE_ARGS, --help): Output ac_arg_enable_help, + ac_arg_with_help, and ac_arg_var_help. + * acgeneral.m4 (AC_ARG_VAR): New macro, to register and document + influent envvars. + * acspecific.m4 (AC_PROG_CC): Document CFLAGS. + This is mainly to test AC_ARG_VAR. Var to document are to be + defined. + +1999-09-22 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (m4_default): New macro. + (AC_CHECK_LIB): When ACTION-IF-FOUND is specified, don't perform + the default action. + Reported by Pavel. + +1999-09-22 Ben Elliston <bje@cygnus.com> + + * config.guess: Clear the CCOPTS environment variable before + invoking the C compiler on HP-UX. This is necessary to guarantee + that the test program is compiled correctly. Reported by Dietmar + P. Schindler. + +1999-09-22 Linas Vepstas <linas@linas.org> + + * config.guess: Add OS/390 match pattern. + * config.sub: Add mvs, openedition targets. + +1999-09-21 Nick Clifton <nickc@cygnus.com> + + * config.sub: Add fr30 target. + +1999-09-21 Ben Elliston <bje@cygnus.com> + + * configure.in: Check if an appropriate version of GNU m4 is + installed at configure-time rather than at runtime. From Pavel + Roskin. Fix for PR autoconf/2. + * configure: Regenerate. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT_PARSE_ARGS, --help message): Use quoted + heredocs to avoid problems with quotes. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * NEWS: Updated. + * THANKS: Likewise. + + * acgeneral.m4 (AC_CHECK_HEADER): Use AC_VAR_*. + (AC_CHECK_HEADERS): Adapted. + + * acgeneral.m4 (AC_TR): Remove, it is useless. + (AC_TR_CPP): Updated version of formerly AC_TR_DEFINE, based on + the model of AC_TR_SH. + All callers changed. + + * autoconf.sh (Checking for Bugs): Remove the indirection that + made the `sort -u' useless. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * autoconf.sh (Last sed cmd): Change also @PND@ to `#', since this + is also a symbol very hard to quote in m4. + + * acgeneral.m4 (AC_CHECK_LIB): Use AC_VAR_*. + + * acgeneral.m4: Use `m4_BUILTIN' instead of indirection via + `builtin'. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * autoconf.texi (Particular Structures): Move documentation of + AC_HEADER_STAT and AC_HEADER_TIME from here... + (Particular Headers): to here. + (Declarations): New section. + (Particular Headers): Move doc of AC_DECL_SYS_SIGLIST from here... + (Particular Declarations): to here. + +1999-09-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * acgeneral.m4 (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS): New + macros. + + * autoconf.texi (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS): + Document. + + * autoheader.m4: Add support for AC_CHECK_FUNC_DECLS. + + * autoheader.sh: Likewise. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SHELL_IFELSE): New macro. + (AC_VAR_IF_SET): Use it. + (AC_CHECK_FUNC): Likewise. + + * Makefile.in (${srcdir}/configure): Use autoconf.sh to build + Autoconf's configure. Before the building was performed running + m4 at hand, but much was not done (e.g., __oline__, + @BKL@... expansion) + +1999-09-20 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_OUTPUT): Don't remove the CONFIG_HEADERS + unconditionaly: it breaks the `config.h has not changed' trick. + +1999-09-20 Ben Elliston <bje@cygnus.com> + + * autoheader.sh: Bourne shell compatibility fix. From Pavel Roskin. + +1999-09-20 Pavel Roskin <pavel_roskin@geocities.com> + + * autoheader.sh: Fix the tr invocation. + +1999-09-17 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect QNX version 4. + * config.sub: Handle `qnx' and `i386-qnx' aliases. + +1999-09-17 Erez Zadok <ezk@cs.columbia.edu> + + * config.guess: Eliminate the trailing dot if ${UNAME_RELEASE} is + 1.4-<SOMETHING>. Fix for PR autoconf/22. + +1999-09-17 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Improve configure's --help. + + * acgeneral.m4 (AC_OUTPUT): Change the root of filenames of + config.status from $conftest to $confstat. + The previous patch to make config.status reentrant was wrong, + because it changed some `conftest' that are used by configure into + `$conftest', while it was for config.status only. To avoid + another confusion like this, all the filenames of config.status + should be `$confstat*', and those of configure should be + `conftest*'. + (AC_OUTPUT): Rename the uses of `ac_file' for the sed fragments as + `ac_sed_frag'. + + * acgeneral.m4 (AC_OUTPUT): This macro used to open the here + documents that configure uses to generate config.status, included + that of the submacros. Now, it no longer handles the here + documents for its subroutines (it was far to hard to track). + (AC_OUTPUT_FILES): Open and close your here documents to + $CONFIG_STATUS. + (AC_OUTPUT_HEADER): Likewise. + (AC_OUTPUT_LINKS): Likewise. + + * acgeneral.m4 (AC_OUTPUT_FILES): Move $ac_vpsub and $extrasub + from the AC_SUBST substitutions (i.e., that of @SHELL@ etc.) to + the specific section (that of @srcdir@ etc.). + Now the ``general substitution'' section is absolutely uniform. + + * acgeneral.m4 (AC_SUBST): Change sed call from `s%@from@%to%g' + into `s%@from@%to%;t t'. + (AC_SUBST_FILE): Likewise. + (AC_OUTPUT_FILES): Optimize the sed scripts by branching if there + are no `@' on the line. Impressive speed up. + + * Makefile.in (DISTFILES): Add THANKS. + + * THANKS: New file. + +1999-09-15 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_CHECK_FILE): Use ifset. + (AC_CHECK_FUNC): Updated to use AC_VAR_*, and AC_CACHE_CHECK. + (AC_CHECK_SIZEOF): Likewise. + (AC_CACHE_CHECK): Use AC_MSG_RESULT_UNQUOTED. + (AC_MSG_RESULT_UNQUOTED): New macro. + +1999-09-15 Alexandre Oliva <oliva@lsd.ic.unicamp.br> + + Fix for PR autoconf/28. + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Don't assume LF is \012, use + `echo` followed by a non-blank, within quotes. + * autoheader.sh (syms): Likewise. + * configure: Rebuilt. + +1999-09-14 Alexandre Oliva <oliva@lsd.ic.unicamp.br> + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Don't assume LF is \012, + use `echo` followed by a non-blank, within quotes. + * autoheader.sh (syms): Likewise. + * configure: Rebuilt. + Reported by Christian Krone. + + * acgeneral.m4 (AC_INCLUDE): New macro. + * autoconf.texi: Document it. + + * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Save INSTALL in + ac_given_INSTALL, so that we can adjust relative pathnames for + sub-configures. + + * acgeneral.m4 (Configuration): Accept --env-VAR=VALUE and + VAR=value. + * autoconf.texi, install.texi: Document it. + * configure: Rebuilt. + +1999-09-14 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_HELP_STRING): Rewrite in m4. Have m4 work, and + give a break to sh. + (_AC_FOREACH): Be careful not to evaluate the arguments. A loop + over *quoted* macro names should loop over the macro names, not + upon their expansion. + (_AC_COMMATIZE): Also swallow end of lines. + + * autoconf.texi (Pretty Help Strings): Updated to reflect the + changes. + +1999-09-13 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (ifset): New helpy tiny macro. + (AC_OUTPUT): Improved --help of config.status. + (AC_OUTPUT): Remove inconditionaly all the files to be updated. + (AC_OUTPUT): Use pid to define the temporary file names in order + to allow parallel builds. + + * autoconf.sh: Substitute also /@BKL@/[/ /@BKR@/]/ /@DLR@/$/ so + that these characters are more easily accessible from m4 without + turning changequote juggling into a nightmare. + + * acgeneral.m4 (AC_WRAP): New macro, for word wrapping. + + * autoconf.texi: Update the direntry for more modern Texinfos. + Add pointer to configure and config.status. + Remove the dots from the menus: horizontal space is precious. + (Invoking config.status): More traditional presentation of the options. + +1999-09-07 Ben Elliston <bje@cygnus.com> + + * autoreconf.sh: Recognise -v as a synonym for --verbose. + +1999-09-07 Gary V. Vaughan <gvaughan@oranda.demon.co.uk> + + * Makefile.in (INSTALL, standards.info, autoconf.info): MiKTeX + for Windows treats all options after the first filename as + additional filenames, so real options must appear before the first + filename. + +1999-09-07 Steven G. Johnson <stevenj@alum.mit.edu> + + * autoconf.texi (LDFLAGS, LIBS): Document that -L linker flags + should be kept in LDFLAGS and not LIBS. + +1999-09-07 Jim Meyering <meyering@ascend.com> + + * acgeneral.m4 (AC_SEARCH_LIBS): Use $ac_lib as the index, not $i. + +1999-09-06 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_FUNC_ALLOCA): Rename cache variable to avoid + name clashes with AC_CHECK_HEADER(alloca.h). + +1999-09-05 Steve Chamberlain <sac@pobox.com> + + * config.sub: Add support for configuring for picoJava (pj). + +1999-09-05 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (CONFIG_AUX_DIRS): Try running `shtool install'. + Contributed by Ralf S. Engelschall. + +1999-09-04 Ben Elliston <bje@cygnus.com> + + * config.guess: Use POSIX compliant shell code on DG/UX. + Suggested by Stephen Gildea. + +1999-09-04 Pavel Roskin <pavel_roskin@geocities.com> + + * acgeneral.m4 (AC_OUTPUT_FILES): Output comment to not only + `Makefile', but also `makefile'. + +1999-09-04 Jim Blandy <jimb@zwingli.cygnus.com> + + * Makefile.in (install): Don't freak if the M4FROZEN files were + never generated. m4 1.1 is supported, but doesn't freeze files. + +1999-09-04 Scott Bambrough <scottb@netwinder.org> + + * config.guess: Autodetect ArmLinux using 2.9.1.xx linker + emulation names and using the emulation names from the linker from + the binutils CVS tree. + + * config.sub: Change manufacturer name for the NetWinder alias + from Corel to Rebel. + +1999-09-04 Jeremy Elson <jelson@circlemud.org> + + * autoheader.m4 (AC_CHECK_HEADER): Define. + +1999-09-02 Tom Tromey <tromey@cygnus.com> + + * autoheader.sh: Allow multiple spaces between #undef and symbol + name. + +1999-09-01 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_ACVERSION): Bump to 2.14.1 to differenciate the + experimental branch from the main trunk. + + * acgeneral.m4 (AC_FOREACH_COMMA): New macro, to perform m4 loops + on m4 lists (i.e., list='(item_1, item_2, ..., item_n)'). + (AC_FOREACH): New macro, to perform m4 loops on shell lists (i.e., + list='item_1 item_2 ... item_n'). + + * acgeneral.m4 (AC_DEFUN): Now accept two other optionnal + parameters: the name of the macro which is specialized here, and + the name of the first argument. For instance `AC_CHECK_FNMATCH' + should be declared as specializing `AC_CHECK_FUNC' for `fnmatch' + as first argument. + + * acgeneral.m4 (AC_CHECK_FILES): Use AC_FOREACH for looping, + instead of the shell's loop. + + * acgeneral.m4 (AC_TR): In addition to transliteration, provide a + means to specify the valid destination alphabet and a default + character for aliens characters. This is in order to remove + characters such as `+:-' etc. that may appear in file names, but + are not valid for shell variables or #defines. + (AC_TR_DEFINE): New macro, maps anything to a valid uppercase + #define rhs. + (AC_TR_UPCASE_NAME): Replaced by AC_TR_DEFINE. All callers + changed. + (AC_TR_UPCASE_FILE): Likewise. + + * acgeneral.m4 (AC_TR_SH): Don't use the generic AC_TR: there is a + difficult problem of quoting between m4 and sh. Use the variable + $ac_tr_sh to work around this difficulty. + (AC_VAR_TEST_SET): New macro, which tests if a variable is set. + (AC_VAR_IF_SET): New `ifelse' macro. + (AC_CACHE_VAL): Use AC_VAR_IF_SET. + (AC_INIT_NOTICE): Define $ac_tr_sh. + + * acgeneral.m4 (AC_CHECK_FILE): Converted to use AC_TR and AC_VAR + families. + + * acgeneral.m4: Fixed the regular expressions: `$' shall not be + portably in a sed \(\) group. + +1999-08-28 Ben Elliston <bje@cygnus.com> + + * config.guess: Once and for all, emit the correct string for + Unixware 7! Contributed by Mike Hopkirk. + + * acspecific.m4 (AC_C_INLINE): Qualify the return type of the + dummy inlined function to satisfy newer C++ compilers. Fix for + PR autoconf/49. + +1999-08-26 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (Changed Results): Correct an error in one of the + examples. Fix for PR autoconf/38. + +1999-08-25 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (Cache Variable Names): Be more explicit about the + requirements for cache variable names. Fix for PR autoconf/53. + +1999-08-25 Alexandre Oliva <oliva@dcc.unicamp.br> + + * autoreconf.sh: Run aclocal with the -I option only if + aclocal_dir != `.'. Fix for PR autoconf/44. + +1999-08-22 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acspecific.m4 (AC_PROG_CC): Remove uname test for 32-bit + Windows/Cygwin, and just test for `cl' as a last resort. + + * autoconf.texi (Particular Programs): Document new optional + argument to AC_PROG_CC, AC_PROG_CXX and AC_PROG_F77. Document + additions to the Fortran 77 compiler search list. + + * acspecific.m4 (AC_PROG_F77): Add more Fortran 77 compilers to + the search list. Contributed by Steven G. Johnson. + + (AC_PROG_CC): Likewise. + (AC_PROG_CXX): Likewise. + * acspecific.m4 (AC_PROG_F77): Add an optional first argument + which gives the user an opportunity to specify an alternative + search list for the compiler. + +1999-08-18 Ben Elliston <bje@cygnus.com> + + * config.guess: Remove "/MP" from the release string on + multiprocessor x86 machines running SVR4.0. Suggested by Tom + Purcell. + +1999-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * acgeneral.m4 (AC_CHECK_TYPE): Add optional third argument + INCLUDES, which specifies the headers in which to search for the + type in question. Also, pass a "description" argument to + AC_DEFINE_UNQUOTED. + * acconfig.h (mode_t, off_t, pid_t, size_t): Remove definitions. + * autoconf.texi (AC_CHECK_TYPE): Document optional third argument. + +1999-08-05 Jeffrey A Law <law@cygnus.com> + + * config.sub (-wrs case): Use os=-vxworks, not os=vxworks. + +1999-08-05 Ben Elliston <bje@cygnus.com> + + * config.guess: Update patch submission address. + +1999-08-05 Ben Elliston <bje@cygnus.com> + + * config.sub: Accept version number appended to OS name for MiNT. + Contributed by Guido Flohr. + +1999-08-04 Ben Elliston <bje@cygnus.com> + + * Makefile.in (INSTALL_SCRIPT): Substitute. + (install): Install scripts with $(INSTALL_SCRIPT). + +1999-07-20 Tom Tromey <tromey@cygnus.com> + + * autoheader.sh: Fixed regexp when searching for missing symbol. + From Pavel Roskin. + +1999-07-16 Tom Tromey <tromey@cygnus.com> + + * autoheader.sh: Be more stringent when looking to see if symbol + is in a template file. + +1999-07-15 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acspecific.m4 (AC_F77_LIBRARY_LDFLAGS): New implementation, to + make maintenance easier. + Grep the initial output so that we don't start parsing "-l" and + "-L" too early. From Christopher Lee. + + * acgeneral.m4 (AC_LIST_MEMBER_OF): New "private implementation + macro" use by AC_F77_LIBRARY_LDFLAGS. + (AC_LINKER_OPTION): Likewise. + +1999-07-11 Ben Elliston <bje@cygnus.com> + + * config.guess: Cray T3E has an Alpha CPU. + +1999-07-04 Mark Elbrecht <snowball3@bigfoot.com> + + * acspecific.m4 (AC_PROG_CXX): Look for gpp after g++. gpp is the + DJGPP C++ compiler, since `g++' is not a valid DOS filename. + +1999-06-12 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect Linux on ia64. + * config.sub: Handle ia64. + +1999-06-12 Ben Elliston <bje@cygnus.com> + + * config.guess: Handle `elf32ppclinux' from ld. Contributed by + Cort Dougan. + +1999-06-09 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * autoconf.texi (Pretty Help Strings): Synchronize documentation + with implementation. + +1999-06-04 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Fix sed regexp for handling + CPP macros with args. + +1999-06-04 Nick Clifton <nickc@cygnus.com> + + * config.sub: Add mcore target. + +1999-06-03 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_ACVERSION): Correct version number. + * autoconf.texi (EDITION): Likewise. + (VERSION): Likewise. + +1999-06-02 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * autoconf.texi (Pretty Help Strings): Document and regenerate the + indices. + * acgeneral.m4 (AC_HELP_STRING): New macro. + + * NEWS: Begin documenting "Major changes" for release 2.14. + + * acconfig.h (F77_FUNC): Add. + (F77_FUNC_): Likewise. + +1999-06-01 Akim Demaille <demaille@inf.enst.fr> + + * acgeneral.m4 (AC_PREFIX_PROGRAM): Use macros of the AC_TR_ + family. + (AC_HAVE_LIBRARY): Likewise. + (AC_CHECK_FUNCS): Likewise. + (AC_CHECK_FILES): Likewise. + (AC_CHECK_SIZEOF): Likewise. + + * acgeneral.m4 (AC_TR): New macro which performs transliteration + by m4 when possible, or by `tr' at configure time. + (AC_TR_UPCASE_NAME): New macro, transliteration 'a-z' to 'A-Z'. + (AC_TR_UPCASE_FILE): New macro, transliteration 'a-z./-' to + 'A-Z___'. + (AC_TR_SH): New macro, transliteration to valid sh var name. + + * acgeneral.m4 (_AC_SH_QUOTE): New macro which protects non + protected backquotes against shell expansion. + (AC_MSG_CHECKING): Use it. + (AC_CHECKING): Use it. + (AC_MSG_RESULT): Use it. + (AC_VERBOSE): Use it. + (AC_MSG_WARN): Use it. + (AC_MSG_ERROR): Use it. + + * acgeneral.m4 (_AC_MESSAGE): New macro to report message at m4 + time. + (AC_WARNING): New macro to report warnings at m4 runtime. + (AC_FATAL): New macro, to report fatal error at m4 runtime. + + * acspecific.m4 (AC_RSH): Use AC_FATAL. + (AC_ARG_ARRAY): Idem. + (AC_HAVE_BOUNDBANG): Idem. + + * acgeneral.m4 (AC_VAR_IF_INDIR): New macro. + (AC_VAR_SET): Likewise. + (AC_VAR_GET): Likewise. + +1999-05-30 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * autoheader.m4 (AC_DEFINE): Ignore CPP macro arguments. + (AC_DEFINE_UNQUOTED): Likewise. + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Change sed regexps to + recognize CPP macros that take arguments. Reported, and based on + a patch, by Steven G. Johnson. + (AC_OUTPUT_HEADER): Likewise. + + * autoconf.texi (Fortran 77 Compiler Characteristics): Document + new AC_F77_NAME_MANGLING macro. + +1999-05-30 Steven G. Johnson <stevenj@alum.mit.edu> + + * autoconf.texi (Fortran 77 Compiler Characteristics): Document + new AC_F77_FUNC_WRAPPER macro. + + * acspecific.m4 (AC_F77_WRAPPERS): New macro to define the + F77_FUNC and F77_FUNC_ CPP macros to properly mangle the names of + C identifiers so that they match the name mangling scheme used by + the Fortran 77 compiler. + (AC_F77_NAME_MANGLING): New macro to test for the name mangling + scheme used by the Fortran 77 compiler. + +1999-05-27 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acgeneral.m4 (AC_CHECK_LIB): Translate the ":" character to a + "_", which allows checking for member functions in C++ libraries. + +1999-05-25 H.J. Lu <hjl@gnu.org> + + * config.guess (dummy): Changed to $dummy. + +1999-05-22 Ben Elliston <bje@cygnus.com> + + * config.guess: Handle NEC UX/4800. Contributed by Jiro Takabatake. + +1999-05-17 Ben Elliston <bje@cygnus.com> + + Merge with the EGCS source tree. + + * config.guess: Add detection for Interix and UWIN on Windows NT, + OpenBSD on PA-RISC and UnixWare version 7.x. + Improve usage of `tr' where sets are concerned. + Detect all HP 9000 machines. + Determine machine types more completely on older UnixWare systems. + Determine C library version on GNU/Linux for the PowerPC. + * config.sub: Numerous additions. Some cleanup. + +1999-04-29 Ben Elliston <bje@cygnus.com> + + * config.sub: Handle `t3e' alias for Cray T3E. Contributed by + James A. Lupo. + +1999-04-19 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acgeneral.m4 (AC_TRY_LINK_FUNC): Add support for Fortran 77. + +1999-04-17 Paul Eggert <eggert@twinsun.com> + + * autoconf.texi, acspecific.m4 (AC_FUNC_MKTIME): New macro. + taken from automake's AM_FUNC_MKTIME. + * acfunctions: mktime now belongs to AC_FUNC_MKTIME. + +1999-04-11 Philipp Thomas <kthomas@gwdg.de> + + * config.sub: Set basic_machine to i586 when target_alias = k6-*. + +1999-04-11 Pavel Roskin <pavel_roskin@geocities.com> + + * autoheader.m4: Do not complain about using AC_TRY_RUN without a + cross-compilation action--only autoconf should do this. + +1999-04-11 Paul Eggert <eggert@twinsun.com> + + * acgeneral.m4 (AC_CHECK_TYPE): Allow first argument to be a + shell variable. + +1999-04-11 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_C_STRUCT_MEMBER): New macro. + * acspecific.m4 (AC_STRUCT_TIMEZONE): Rewrite in terms of + AC_C_STRUCT_MEMBER. + (AC_STRUCT_ST_BLOCKS): Likewise. + (AC_STRUCT_ST_BLKSIZE): Likewise. + (AC_STRUCT_ST_RDEV): Likewise. + * autoconf.texi (Structures): Update. Add menu for subnodes. + (Particular Structures): New node. + (Generic Structures): New node. + (AC_C_STRUCT_MEMBER): Document. + +1999-04-10 Ben Elliston <bje@cygnus.com> + + * mkinstalldirs: Add `-m' flag to specify the mode of a newly + created directory. Add command line usage and `-h', `--help' + options. Contributed by Jeff Garzik. + +1999-04-08 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_PROG_CC): Try using the `cl' C compiler under + Cygwin. Contributed by Scott Stanton. + + * config.sub: Handle MPE/iX. + +1999-04-07 Ben Elliston <bje@cygnus.com> + + * config.guess: Add more CLIX machines. From Thomas Dickey. + +1999-04-06 Ben Elliston <bje@cygnus.com> + + * config.guess: Avoid the possibility of `ld' on GNU/Linux systems + being something other than the GNU linker (such as a directory, in + the case of GNU binutils). + +1999-04-05 Ben Elliston <bje@cygnus.com> + + * config.sub: Add modern Alpha processors. Reorganise. + + * acspecific.m4 (AC_CYGWIN): Do not remove conftest*; let + AC_TRY_COMPILE clean up after itself. + (AC_MINGW32): Likewise. + (AC_EMXOS2): Likewise. + + * acspecific.m4 (AC_EMXOS2): New macro. Contributed by Ryuji Abe. + (AC_EXEEXT): Handle case for OS/2. + (AC_PROG_CC_WORKS): Show $CPPFLAGS when running the compiler. + (AC_PROG_CXX_WORKS): Likewise. + + * autoconf.texi (AC_EMXOS2): Document. + (AC_EXEEXT): Mention OS/2. + (AC_MINGW32): Move. + (UPDATED): Update. + +1999-04-02 Mike Stump <mrs@wrs.com> + + * acgeneral.m4 (AC_ARG_PROGRAM): Remove spaces, as there is one + more pass through sh than you think. + +1999-04-01 Ben Elliston <bje@cygnus.com> + + * standards.texi: Update from FSF. + + * acspecific.m4 (AC_PROG_INSTALL): Avoid using the installation + script belonging to HP `pwplus' when running the install + program. Contributed by Steven G. Johnson and Dave Adams. + (AC_EXEEXT): Do not consider `.xcoff' as a possible executable + filename extension. Contributed by Robert S. Maier. + +1999-03-28 Tom Tromey <tromey@cygnus.com> + + * autoconf.texi (AC_OUTPUT_COMMANDS): Add to macro index. + +1999-03-22 Ben Elliston <bje@cygnus.com> + + * config.guess: Rename BUILD_CC to CC_FOR_BUILD; there is a + precedent for the usual name of this environment variable. + +1999-03-22 Pavel Roskin <pavel_roskin@geocities.com> + + * autoheader.sh: Report an error if AC_CONFIG_HEADER is not + present in the configure input file. + +1999-03-21 Ben Elliston <bje@cygnus.com> + + * config.guess: Correct typo for detecting ELF on FreeBSD. + +1999-03-14 Alexandre Oliva <oliva@dcc.unicamp.br> + + * config.guess: Recognise HP 9000/8x0 machines. + +1999-03-11 Ben Elliston <bje@cygnus.com> + + * config.sub: Recognise hppa2.0w. Contributed by Erez Zadok. + +1999-03-11 Pavel Roskin <pavel_roskin@geocities.com> + + * config.guess: Prefer $HOST_CC over $CC when deciding on a C + compiler to compile stub programs. Allow this to be overridden + with the value of $BUILD_CC in cross-compilation environments + where the native compiler must be used for running tests on the + host. + +1999-03-11 Ben Elliston <bje@cygnus.com> + + * config.guess: Recognise MiNT and TOS on Atari machines. + Contributed by Guido Flohr. + + * config.sub: Add aliases for MiNT. + +1999-03-10 Ben Elliston <bje@cygnus.com> + + * config.guess: Recognise HP 9000/800. Merged from the master + FSF version of this file. + +1999-03-01 Gordon Matzigkeit <gord@trick.fig.org> + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Don't require that macro + symbols be valid C identifiers. + +1999-02-28 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_FUNC_VFORK): Allow test to behave correctly + when $ac_cv_func_vfork_works is the empty string. Contributed by + <red@nym.alias.net>. + + * config.sub: Add `oskit' as a basic system type. From Godmar Back. + +1999-02-26 Ben Elliston <bje@cygnus.com> + + * install-sh: Avoid trailing whitespace. + + * autoscan.pl (parse_args): Make compatible with Perl version 4. + +1999-02-24 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect LynxOS 3.x. Contributed by Giuseppe + Guerrini. + +1999-02-23 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect ReliantUNIX on MIPS. Contributed by Andrej + Borsenkow. + Also remove random trailing whitespace. + +1999-02-22 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (System Services): Explain the semantics of the + AC_SYS_RESTARTABLE_SYSCALLS macro in greater detail. Suggested by + Franc,ois Pinard. + +1999-02-22 Stu Grossman <grossman@cygnus.com> + + * acgeneral.m4 (AC_CANONICAL_SYSTEM): Explicitly require + AC_CANONICAL_HOST, AC_CANONICAL_TARGET and AC_CONICAL_BUILD. + (AC_CONFIG_AUX_DIR): Run auxillary shell scripts through $SHELL. + Do not rely on their magic number. + (AC_CANONICAL_THING): New macro. Cache results. + (AC_CANONICAL_HOST): Reimplement; use AC_CANONICAL_THING. + (AC_CANONICAL_TARGET): Likewise. + (AC_CANONICAL_BUILD): Likewise. + (AC_OUTPUT): Use $SHELL. + (AC_OUTPUT_SUBDIRS): Likewise. + +1999-02-19 Ben Elliston <bje@cygnus.com> + + * config.guess: Make C code clean for C++ compilers. Contributed + by Markus Oberhumer. + +1999-02-19 Ben Elliston <bje@cygnus.com> + + * config.guess: Automatically recognise ELF on FreeBSD. From Niall + Smart and improved by Andrew Cagney. + +1999-02-19 Felix Lee <flee@cygnus.com> + + * acgeneral.m4 (AC_CACHE_VAL): Don't need backticks. This is a + performance enhancement for about a 5% reduction in the runtime of + the generated configure script. + +1999-02-18 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect NEC EWS4800. Contributed by Koji Arai. + +1999-02-11 Ben Elliston <bje@cygnus.com> + + * standards.texi: Update from FSF. + +1999-02-10 Tom Tromey <tromey@cygnus.com> + + * acgeneral.m4 (AC_CACHE_LOAD): Avoid sourcing special files. + Works around bug in some versions of bash. + +1999-02-02 Pavel Roskin <pavel_roskin@geocities.com> + + * autoconf.texi: Corrected definitions for AC_CONFIG_AUX_DIR and + AC_PROG_F77. Duplicated descriptions for AC_SEARCH_LIBS and + AC_TRY_LINK_FUNC removed. + +1999-01-29 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_EXEEXT): Ignore C++ source files. + +1999-01-28 Gary V. Vaughan <gvaughan@oranda.demon.co.uk> + + * acspecific.m4 (AC_PROG_INSTALL): set INSTALL_SCRIPT to + ${INSTALL} so that automake doesn't propogate install time flags + for INSTALL_PROGRAM into INSTALL_SCRIPT. + +1999-01-25 Ben Elliston <bje@cygnus.com> + + * install-sh: Use $mkdirprog, not `mkdir' directly. Contributed by + Jeff Garzik. + + * Makefile.in (clean mostlyclean distclean maintainer-clean): + Remove .m4f files. + + * config.guess: Synchronise with master FSF version. Add detection + for HP MPE/iX. + + * config.sub: Likewise. + +1999-01-23 Ben Elliston <bje@cygnus.com> + + * config.guess: Catch more NILE system models. Contributed by + Akim Demaille and Graham Jenkins. + + * autoheader.sh: Force $tmpout to close to avoid Windows file + sharing conflicts. From Mark Elbrecht. + +1999-01-21 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (Introduction): Update bug reporting address. + + * config.guess: Likewise. + +1999-01-19 Pavel Roskin <pavel_roskin@geocities.com> + + * ifnames.sh: Source lines ending with backslash are prepended to + the following line before further processing. + +1999-01-19 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_PROG_CXXCPP): Substitute @CXXCPP@ correctly + when $CXXCPP is overridden in the supervisory shell. Contributed + by Michael Schoene. + +1999-01-16 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_ACVERSION): Bump to 2.14.1 for prereleases. + +1999-01-14 Scott Bambrough <scottb@corelcomputer.com> + + * config.guess: Recognise armv[234][lb] types (ie. `armv*'). + +1999-01-13 Ben Elliston <bje@cygnus.com> + + * autoconf.sh: Remove -v and --verbose from the command line usage + help. They do not exist. + +1999-01-12 Scott Bambrough <scottb@corelcomputer.com> + + * config.sub: Recognize armv[234][lb] types (ie. `armv*'). Add + alias for the NetWinder; set company to `corel'. + +1999-01-11 Akim Demaille <demaille@inf.enst.fr> + + * autoreconf.sh (verbose): use either `:' or `echo'. + (aclocal_m4): Renamed from aclocal. + (aclocal_flags): New var. + Run aclocal using $aclocal_flags. + Redirect ls' stderr to /dev/null to avoid spurious messages. + +1999-01-11 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect HP-UX on MPE/iX machines. + + * acgeneral.m4 (AC_ACVERSION): Increment to 2.14. + + * autoconf.texi (EDITION): Likewise. + (VERSION): Likewise. + +1999-01-10 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect Rhapsody on PowerPC and other machines. + Contributed by Wilfredo Sanchez. + + * config.sub: Add rhapsody and openstep aliases. + +1999-01-09 Ben Elliston <bje@cygnus.com> + + * Makefile.in (html): New target. Generate HTML documentation. + (install-strip): Add. + Contributed by Wilfredo Sanchez. + + * autoconf.texi (AC_CHECK_LIB): Explain more. Contributed by Bob + Friesenhahn. + (UPDATED): Bump to 1999. + + * config.guess: Distinguish between OpenStep and NeXTStep + platforms. Contributed by Wilfredo Sanchez. + +1999-01-09 J"orn Rennecke <amylaar@cygnus.co.uk> + + * acgeneral.m4 (AC_CHECK_FUNC): Don't actually call the function. + +1999-01-09 H.J. Lu <hjl@lucon.org> + + * config.guess: Permit multiple concurrent instances by including + the process ID of the shell running this script in temporary + filenames. + +1999-01-08 Ben Elliston <bje@cygnus.com> + + * autoconf.sh: More useful and up-to-date help from the --help + option. Contributed by Akim Demaille. + + * autoheader.sh: Likewise. + + * autoreconf.sh: Likewise. + + * autoscan.pl: Likewise. + + * autoupdate.sh: Likewise. + + * ifnames.sh: Likewise. + + * config.guess: Detect Cray T3E and NEC SX-4, SX-5 machines. + Contributed by Andreas Schott. + +1999-01-06 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (AC_OBJEXT): Correct documentation. + +1999-01-05 Ben Elliston <bje@cygnus.com> + + * Version 2.13. + +1999-01-04 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (AC_CHECK_FILE): Document. + (AC_CHECK_FILES): Likewise. + (AC_SEARCH_LIBS): Likewise. + (AC_FUNC_SELECT_ARGTYPES): Use Jeff Garzik's version. + (AC_C_STRINGIZE): Likewise. + (AC_CYGWIN): Document. + (AC_EXEEXT): Likewise. + (AC_OBJEXT): Likewise. + (AC_MINGW32): Likewise. + (AC_TRY_LINK_FUNC): Likewise. + (AC_VALIDATE_CACHED_SYSTEM_TUPLE): Likewise. + +1999-01-01 Ben Elliston <bje@cygnus.com> + + * NEWS: Update. + + * acspecific.m4 (AC_PROG_CXX_WORKS): Specify an explicit return + type for `main' to keep modern C++ compilers happy. + +1998-12-28 Jeff Garzik <jgarzik@pobox.com> + + * autoconf.texi: + (AC_SEARCH_LIBS, AC_CHECK_FILE, AC_CHECK_FILES, + AC_TRY_LINK_FUNC): Document. + (AC_CHECK_LIB): Indicate the absence of + action-if-not-found will not kill default action. + (AC_SYS_INTERPRETER): Alphabetize with rest of section, + s/ac_cv_sys_interpreter/interpval/ + + * acgeneral.m4: + (AC_TRY_LINK_FUNC): Fix arg transposition. + (AC_SEARCH_LIBS): Require autoconf 2.13, add other-libs arg. + (AC_CHECK_FILES): Add underscore to HAVE_file define. + + * acspecific.m4: + (AC_SYS_INTERPRETER): New shell var 'interpval' stores + internal var ac_cv_sys_interpreter. + +1998-12-27 Ben Elliston <bje@cygnus.com> + + * autoconf.texi (AC_PROG_INSTALL): Update. + (AC_FUNC_ALLOCA): Correct code fragment. + (AC_FUNC_SELECT_ARGTYPES): Document. + (AC_C_STRINGIZE): Likewise. + (AC_VALIDATE_CACHED_SYSTEM_TUPLE): Likewise. + + * acspecific.m4 (AC_CYGWIN): Rename from `AC_CYGWIN32'. + (AC_CYGWIN32): Warn about deprecated usage. Forward to AC_CYGWIN. + + * config.sub: Drop `32' from `Cygwin32'. + + * config.guess: Likewise. + Handle BSD/OS variants for non-x86 machines. Contributed by Chris + P. Ross. + + * NEWS: Update. + + * configure: Rebuild. + +1998-12-26 Ben Elliston <bje@cygnus.com> + + * autoreconf.sh (stamp): Add missing quote. + + * mkinstalldirs: Write output which is not diagnostic to standard + output and not standard error. Suggested by Steve Robbins. + +1998-12-11 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acconfig.h, acgeneral.m4, acspecific.m4, autoconf.texi: Change + all of the Fortran 77 code to use the new `F77' prefix instead of + the older `FC' prefix. + +1998-12-11 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_ACVERSION): Bump to 2.13. + + * autoconf.texi (EDITION): Likewise. + (VERSION): Likewise. + +1998-10-30 Jeff Garzik <jgarzik@pobox.com> + + * autoconf.texi: Document AC_CACHE_LOAD and AC_CACHE_SAVE. Explain + how AC_CACHE_SAVE can be used as a means of syncing the cache to + disk prior to doing something potentially fatal in configure. + +1998-10-29 Alexandre Oliva <oliva@dcc.unicamp.br> + + * autoreconf.sh: Support several automake command line options, + and run aclocal and automake when needed. Also, create stamp files + just like automake's Makefiles would do for config headers. + Additional contributions from Tom Tromey. + +1998-10-24 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acgeneral.m4 (AC_LANG_FORTRAN77): Remove [] (i.e. the m4 quotes) + since it was confusing the test suite. Also make `f77' the default + for FC, otherwise the test suite fails. + + * autoconf.texi (Fortran 77 Compiler Characteristics): Added new + node documenting the new AC_F77_LIBRARY_LDFLAGS macro. + + * acspecific.m4 (AC_F77_LIBRARY_LDFLAGS): New macro to determine + the linker flags (e.g. `-L' and `-l') for the Fortran 77 intrinsic + and run-time libraries. + +1998-10-24 Ben Elliston <bje@cygnus.com> + + * acspecific.m4 (AC_FUNC_SELECT_ARGTYPES): New macro. Detects the + types of formal arguments to select(). Contributed by Lars Hecking. + + * acconfig.h (SELECT_TYPE_ARG1): Add. + (SELECT_TYPE_ARG234): Likewise. + (SELECT_TYPE_ARG5): Likewise. + + * config.guess: Hide warnings emitted by the HP linker when + generating a PA 2.0 object file. Contributed by Marcus Thiessel. + +1998-10-20 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_LANG_RESTORE): Fix a typo spotted by Noah + Elliott. + +1998-10-09 Tom Tromey <tromey@cygnus.com> + + * Makefile.in (autoconf.m4f): New target. + (autoheader.m4f): Likewise. + +1998-10-08 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_TRY_LINK_FUNC): Fix macro ordering. + +Sun Oct 4 21:57:20 1998 Tom Tromey <tromey@cygnus.com> + + * autoconf.texi (Defining Symbols): Documented third argument to + AC_DEFINE. + * autoheader.m4 (AC_DEFINE_UNQUOTED): Generate `verbatim' + assignment if third argument given. + (AC_DEFINE): Likewise. + * acgeneral.m4 (AC_DEFINE): Handle case where $# is 3. + (AC_DEFINE_UNQUOTED): Likewise. + * autoheader.sh: Echo $verbatim if not empty. + +1998-10-03 Ben Elliston <bje@cygnus.com> + + * acconfig.h (FC_NO_MINUS_C_MINUS_O): Add to complete the Fortran + 77 support. + + * README: Update bug reporting address. Include maintainer info. + +1998-10-02 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_VALIDATE_CACHED_SYSTEM_TUPLE): New macro. This + macro can be used to ensure that a configure script will not run + on a second system without removing the cache and re-running + configure. Contributed by Alexandre Oliva. + +1998-09-29 Ben Elliston <bje@cygnus.com> + + * acgeneral.m4 (AC_SEARCH_LIBS): New macro. Searches a series of + libraries for a given function. Contributed by Jim Blandy. + (AC_TRY_LINK_FUNC): New macro. Again, from Jim. + +1998-09-28 Ben Elliston <bje@cygnus.com> + + * config.guess: Detect multiprocessor DC/OSx running on Pyramid + MIServer machines. Contributed by Graham K. Jenkins. + + * acgeneral.m4 (AC_CHECK_PROG): Fix a bug if the supplied path + contains colons. This was observed with some versions of NetBSD + `sh' and some versions of `bash'. + (AC_PATH_PROG): Likewise. Contributed by Tom Yu. + +1998-09-27 Ben Elliston <bje@cygnus.com> + + * Makefile.in (all): Generate frozen .m4 files at build time. + (install): Do not freeze .m4 files. Install pre-frozen .m4f files + using $(INSTALL_DATA). + (.m4.m4f): Freeze files if m4 supports stored internal state. + Contributed by Karl Heuer. + + * install-sh: Import latest version from the FSF. + + * mkinstalldirs: Likewise. + + * config.guess: Apply the sysconf(2) test to HP 9000/600-series, + 9000/802, 9000/804 and 9000/892 machines. Contributed by Pavel + Roskin. + Detect UnixWare 7. Contributed by Paul Gampe. + + * acspecific.m4 (AC_PROG_INSTALL): Substitute `INSTALL_SCRIPT'. + Contributed by Franc,ois Pinard + (AC_C_STRINGIZE): New macro to test the availability of the + stringizing operator in the C preprocessor. Contributed by Arnold + Robbins on behalf of the GNU AWK project. + + * acconfig.h (HAVE_STRINGIZE): Add for the AC_C_STRINGIZE macro. + + * testsuite/Makefile.in (check): If DejaGNU is not installed, + print a warning and skip the `dejacheck' target (which will fail). + (site.exp): Use tests to guard commands from generating error + messages if `site.exp' or `site.bak' do not exist. Contributed by + Karl Heuer. + (dejacheck): Remove unused target. + +1998-09-26 Ben Elliston <bje@cygnus.com> + + * texinfo.tex: Import latest version from the FSF. + + * config.guess: Treat all SPARC variant processors running BSD/OS + as just `sparc' for compatibility reasons. Contributed by Chris + Torek. + + * acgeneral.m4 (AC_CHECK_FILE): New macro. Checks for the + existence of a file in the file system (native only). + Contributed by Ken Raeburn. + (AC_CHECK_FILES): Likewise. + +1998-09-15 Didier Verna <verna@inf.enst.fr> + + * acspecific.m4 (AC_PATH_XTRA): use X_EXTRA_LIBS add-on libraries + in the test for libICE. It is needed at least under Solaris. + +1998-09-15 Ben Elliston <bje@cygnus.com> + + * config.guess: Handle strange processor ID assignments on AIX + machines. Contributed by Didier Desseaux. + +Sat Sep 12 16:25:00 1998 Aaron Crane <aaronc@pobox.com> + + * acgeneral.m4 (AC_CHECK_TYPE): Changed the egrep regex to avoid + incorrectly assuming that if foobar_t is defined, then so is + bar_t. + +Tue Sep 8 14:06:04 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * acgeneral.m4: Make the following macros Fortran 77 aware + (i.e. conditionalize whether to `#include "confdefs.h"', etc.): + (AC_TRY_COMPILE) + (AC_TRY_LINK) + (AC_CHECK_LIB) + + * acgeneral.m4 (AC_LANG_FORTRAN77): Rename `AC_LANG_FORTRAN' to + `AC_LANG_FORTRAN77'. Change the Fortran 77 language macro from + `FORTRAN' to `FORTRAN77'. + (AC_LANG_RESTORE): Change the Fortran 77 language macro from + `FORTRAN' to `FORTRAN77' + + * autoconf.texi: Updated Fortran 77 documentation, particularly + for `AC_TRY_COMPILE', `AC_TRY_LINK' and `AC_CHECK_LIB'. + +Thu Sep 3 09:34:39 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU> + + * autoconf.texi: Added Fortran 77 documentation. + + * acspecific.m4 (AC_PROG_FC): New macro. Determine a Fortran + compiler to use. + (AC_PROG_FC_WORKS): New macro. + (AC_PROG_FC_GNU): New macro. + (AC_PROG_FC_G): New macro. + (AC_PROG_FC_C_O): New macro. + + * acgeneral.m4: Add FFLAGS (Fortran 77 flags). + (AC_LANG_FORTRAN): New macro. + (AC_LANG_RESTORE): Make Fortran 77 aware. + (AC_TRY_COMPILER): Make Fortran 77 aware (i.e. conditionalize + whether to `#include "confdefs.h"'). + +Thu Jun 18 12:13:27 1998 Ian Lance Taylor <ian@cygnus.com> + + * acspecific.m4 (AC_EXEEXT): Correct setting of ac_exeext when + there is no extension. + +Mon Jun 1 12:30:39 1998 Ian Lance Taylor <ian@cygnus.com> + + * acgeneral.m4 (AC_CHECK_PROG): Set IFS to just ":" when searching + through PATH. + (AC_PATH_PROG): Likewise. + * acspecific.m4 (AC_PROG_INSTALL): Likewise. + (AC_PROG_CC): On cygwin32, if neither gcc nor cc + are found, look for cl. + (AC_PROG_CXX): Look for cl after all other choices. + * configure: Rebuild. + +Thu May 28 18:37:36 1998 Ian Lance Taylor <ian@cygnus.com> + + * acgeneral.m4 (AC_ACVERSION): Bump to 2.12.2. + + Add support for Visual C++: + * acgeneral.m4 (ac_exeext, ac_objext): New variables. + (ac_link): Use ac_exeext. + (AC_TRY_COMPILER, AC_TRY_LINK, AC_TRY_RUN_NATIVE): Likewise. + (AC_TRY_CPP): Remove lines from stderr which contain only the name + of the file. + (AC_REPLACE_FUNCS): Use ac_objext. + * acspecific.m4 (AC_PROG_CC): Check whether compiler supports -g + even if it is not gcc. + (AC_PROG_CXX): Likewise. + (AC_PROG_CPP): Try running the compiler with the -nologo option. + (AC_FUNC_ALLOCA): Check for _MSC_VER. Use ac_objext. + (AC_FUNC_MEMCMP): Use ac_objext. + (AC_STRUCT_ST_BLOCKS): Likewise. + (AC_OBJEXT): New macro. + (AC_CYGWIN32, AC_MINGW32, AC_EXEEXT): New macros. + * configure: Rebuild. + + * Makefile.in (editsh): Substitute for SHELL. + (Makefile, config.status): Use $(SHELL) when running + config.status. + * autoconf.sh: Change initial /bin/sh to @SHELL@. + * autoheader.sh: Likewise. + * autoreconf.sh: Likewise. + * autoupdate.sh: Likewise. + * ifnames.sh: Likewise. + +Thu Apr 30 16:29:00 1998 Syd Polk <spolk@cygnus.com> + + * acspecific.m4 (SETPGRP_VOID): The test for setpgrp needs + to have unistd.h included or the DEC compiler does not + flag the error that triggers setting the variable. + +Tue Nov 18 14:21:38 1997 Eric Mumpower <nocturne@cygnus.com> + + * autoreconf.sh: Do the right thing when AC_CONFIG_HEADER is + given more than one filename. As noted in the "Invoking + autoheader" node of the info files, autoheader will use the first + file argument given to AC_CONFIG_HEADER. Prior to this patch, + autoreconf would end up executing incorrect shell code (e.g. + "test ! -f 1.h 2.h.in") in such cases. + Patch submitted in parallel to bug-gnu-utils@prep.ai.mit.edu. + +Fri Oct 3 18:10:39 1997 Ian Lance Taylor <ian@cygnus.com> + + * acgeneral.m4 (AC_CACHE_SAVE): Add a grep when checking whether + set quotes correctly, to avoid a cache overflow on HP-UX 9. + * configure: Rebuild. + +Wed Sep 11 15:35:19 1997 Chris Provenzano <proven@cygnus.com> + + * acgeneral.m4 : Always set SHELL and substitute SHELL. + When looking for a path for an executable allow the + user to override with an DOS path. + * configure : New configure generated by autoconf. + +Thu Sep 4 22:30:40 1997 Jeffrey A Law (law@cygnus.com) + + * acspecific (AC_PROC_INSTALL): Don't use installbsd on OSF. + +Wed Sep 3 23:00:44 1997 Chris Provenzano <proven@cygnus.com> + + * configure : New configure generated by autoconf. + * Makefile.in : Set SHELL=@SHELL@. configure now substiutes + ${CONFIG_SHELL-/bin/sh} in for @SHELL@ at configure time. + +Mon Aug 11 01:40:37 1997 Jason Molenda <crash@cygnus.co.jp> + + * acspecific (AC_FUNC_VFORK): If cross-compiling, set + $ac_cv_func_vfork_works to $ac_cv_func_vfork (assume vfork works + if present). + +Tue Aug 5 23:00:05 1997 Ian Lance Taylor <ian@cygnus.com> + + * acgeneral.m4 (AC_VERSION): Set to 2.12.1. + (AC_CANONICAL_HOST): Use CONFIG_SHELL to run $ac_config_sub and + $ac_config_guess. + (AC_CANONICAL_TARGET, AC_CANONICAL_BUILD): Likewise. + +Tue Dec 10 19:38:59 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CACHE_SAVE): Use grep to prevent overflowing + HP-UX 9.05 /bin/sh buffer in case statement. From Eric Backus. + +Mon Dec 9 23:39:17 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Add a semicolon between + shell variable assignments; the evaluation order varies between + implementations. + +Tue Nov 26 13:00:28 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * Version 2.12. + +Wed Nov 20 13:00:21 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * Test release 2.11.2. + + * acgeneral.m4 (AC_OUTPUT): Remove a now-wrong test for whether to + make an unquoted here document. + (AC_CACHE_SAVE): Double-up backslashes in double quotes. + From Paul Eggert. + + * Test release 2.11.1. + + * acgeneral.m4 (AC_TRY_COMPILE, AC_TRY_LINK): Make the final + newline consistent with the other AC_TRY_* macros: no final dnl + is needed to avoid extraneous blank lines. + (AC_CHECK_LIB, AC_HAVE_LIBRARY, AC_COMPILE_CHECK): Remove + extraneous dnl's. + (AC_DIVERSION_CMDS, AC_DIVERSION_ICMDS): New macros. + (AC_OUTPUT_COMMANDS, AC_OUTPUT): Use them instead of appending to + list macros. + + * acgeneral.m4 (AC_CACHE_SAVE): Handle cache variable values + correctly even if they contain single quote, or are quoted by + the shell. From Paul Eggert. + (AC_INIT_PREPARE): Set LC_MESSAGES to C if set. + From Hans Olsson. + Set LC_CTYPE to C if set. + From Thomas Winder. + * autoconf.sh, autoheader.sh: Likewise set LC_MESSAGES and LC_CTYPE. + +Tue Nov 19 10:29:06 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * testsuite/autoconf.g/sizeof.exp: Use the v2 macro name. + + * acgeneral.m4 (AC_OUTPUT_FILES, AC_OUTPUT_HEADER): Support + creating output files from multiple pieces, concatenated. + Suggested by Theodore Ts'o. + (AC_LINK_FILES): If called more than once, concatenate the + arguments. From Roland McGrath. + (AC_CONFIG_SUBDIRS): Likewise. + (AC_OUTPUT_COMMANDS): New macro. Suggested by + Tom Tromey. + (AC_OUTPUT): Use the lists it sets. + + * acgeneral.m4 (AC_TRY_RUN_NATIVE): Fail if linking fails, like + AC_TRY_LINK. + (AC_TRY_RUN): Don't require AC_C_CROSS. + (AC_TRY_COMPILER): New macro. + (AC_LANG_C, AC_LANG_CPLUSPLUS): Set cross_compiling. + * acspecific.m4 (AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS): Use + AC_TRY_COMPILER instead of AC_TRY_LINK. + (AC_PROG_CC_GNU, AC_PROG_CC_G): Split out of AC_PROG_CC. + (AC_PROG_CXX_GNU, AC_PROG_CXX_G): Split out of AC_PROG_CXX. + For the *_G macros, make the cache variable names non-GNU-specific. + (AC_C_CROSS): Mark obsolete, and otherwise a no-op. + + * AUTHORS: New file. + * Makefile.in (DISTFILES): Add it. + + * acspecific.m4 (AC_FUNC_MMAP): Update the getpagesize + declarations from getpagesize.h. Check for unistd.h. + + * acgeneral.m4 (AC_OUTPUT_FILES): Run the eval in a subshell. + + * acfunctions: Map fnmatch, strftime, getpgrp, setpgrp to their + own macros. + + * acgeneral.m4 (AC_OUTPUT_HEADER): Check that $CONFIG_HEADERS is + unset, not that it's empty. + +Mon Nov 18 10:24:50 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * Version 2.11. + +Sun Nov 17 20:12:05 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acspecific.m4 (AC_FUNC_STRCOLL): Make the checking message more + accurate. + +Thu Nov 14 11:15:27 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acheaders: Add entry for malloc.h. Make the strings.h entry + suggest AC_CHECK_HEADERS instead of AC_HEADER_STDC. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Move initialization of + ac_max_here_lines here from AC_OUTPUT_HEADER. + + * autoheader.sh: Take the multiple-include protection back out. + It's not needed for a file that just #defines stuff, and, as Ken + Raeburn pointed out in Apr 1994: + Since you don't make it optional, and you don't give the writer of + configure.in much control over the name of the symbol, it also would + prevent one "config.h" file in a subdirectory from including + "../config.h" as a way to avoid duplicating some common tests. + + * acspecific.m4 (AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS): Don't try + running a program, just try linking. + (AC_C_CROSS): Make the wording clearer. + +Wed Nov 13 10:07:14 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acspecific.m4 (AC_PROG_CC, AC_PROG_CXX): Check whether the + compiler works before checking whether it's a GNU compiler. + (AC_FUNC_VFORK): Call _exit after perror. + (AC_PATH_XTRA): Go back to using -R, as setting an env var as part + of CC doesn't get eval'd correctly to actually work. + Directly test whether a space is needed after -R. + Don't add "-L" to LDFLAGS if $x_libraries is empty. + (AC_FUNC_STRFTIME): Check for it in -lintl only if it's not in the + normal libraries. + + * Test release 2.10.3. + + * testsuite/Makefile.in (dejacheck): New target, suggested by Tom + Tromey. + (check): Depend on dejacheck. + +Tue Nov 12 00:06:14 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_OUTPUT_FILES): Split the list of sed commands in + conftest.subs into multiple files named conftest.s[1-9][0-9]*. + Create a pipeline of sed commands that use these files, then delete + the temporary files. From John W. Eaton. + + * acspecific.m4 (AC_AIX, AC_MINIX): Remove warnings about AC_TRY_LINK. + These macros don't change the linkage options. + + * Test release 2.10.2. + + * acspecific.m4 (AC_PROG_CC, AC_PROG_CXX) [GCC]: Use -O2 instead + of -O. Suggested by fnf@ninemoons.com (Fred Fish). + + * acgeneral.m4 (AC_OUTPUT_HEADER): Support passing + AC_CONFIG_HEADER a value containing shell variables. Suggested by + Markku Savela and Julian Onions. + * acgeneral.m4 (AC_TRY_RUN_NATIVE, AC_TRY_LINK, AC_TRY_COMPILE, + AC_TRY_CPP): Show the test program in config.log if the test fails. + From Karl Berry. + + * testsuite/config/unix.exp: Run the configure script as "./script" + in case the user doesn't have "." in their PATH. + +Mon Nov 11 18:02:58 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_TRY_COMPILE, AC_TRY_LINK): Deal with smart + compilers that know that an unused function doesn't have to be + linked in: call the function directly from main(). + (Removing a legacy from when they tried to run the code, I think-djm.) + From fnf@ninemoons.com (Fred Fish). + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Rename ac_save_LIBS to avoid + a clash with AC_CHECK_LIB. + From Jim Meyering. + (AC_FUNC_FNMATCH, AC_FUNC_MMAP, AC_FUNC_VFORK, AC_FUNC_WAIT3, + AC_FUNC_STRCOLL, AC_FUNC_MEMCMP): Rename cache variables to avoid + wrong results if someone calls AC_CHECK_FUNC for these functions. + + * autoheader.sh: Don't cmp with config.h.in if it doesn't exist yet. + Don't frob lines 1-@TOP@ or @BOTTOM@-end of acconfig.h's. + Accept TAB as well as SPC after #undef in acconfig.h's. + +Sat Nov 9 01:54:04 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * Test release 2.10.1. + + * acspecific.m4 (AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS): New macros + adapted from Bruno Haible. + (AC_PROG_CC, AC_PROG_CXX): Use them. + * acgeneral.m4 (AC_TRY_RUN_NATIVE): Split out of AC_TRY_RUN. + (AC_TRY_LINK): Check that the executable exists after linking. + (AC_EGREP_CPP): Disable m4 quote chars around egrep, so [] in regexps + isn't eaten. + + * autoheader.sh: Add multiple-inclusion protection for config.h. + + * acgeneral.m4 (AC_PREFIX_PROGRAM): Pretty up the output. + (AC_CHECK_LIB): Include the function being tested in the message. + (AC_CHECK_PROG, AC_PATH_PROG): Add a dummy variable to force word + splitting on the path. + + * acspecific.m4 (AC_FUNC_MMAP): Remove check and uses of valloc. + It turns out it's a separate issue, for GNU grep. + Replace the test program with a new version from Mike Haertel. + + * acgeneral.m4 (AC_CACHE_SAVE): Accept the HP-UX sh 'set' output + format. From Marcus Daniels. + + * acgeneral.m4 (AC_MSG_CHECKING, AC_CHECKING): Write a message to + config.log also. From T.E.Dickey. + (AC_CHECK_LIB, AC_CHECK_HEADER, AC_CHECK_HEADERS): Replace use of + tr with sed, to avoid a bug in the AIX 4.1.3.0 tr reported by + Alain Knaff. He says that version of tr interprets \055 as a + range specifier, like an unquoted -. + * acspecific.m4 (AC_PROG_MAKE_SET, AC_CHECK_HEADER_DIRENT, + AC_CHECK_HEADERS_DIRENT): Ditto. + + * acspecific.m4 (AC_FUNC_SETPGRP): New macro. + * acconfig.h (SETPGRP_VOID): New entry. + From T.E.Dickey. + + * acspecific.m4 (AC_PATH_X_DIRECT): Try /lib/usr/lib/X11 for A/UX. + From Guillermo Gomez. + (AC_PATH_XTRA): Replace -R with adding LD_RUN_PATH to CC in the + Solaris kludge. Suggested by Paul Eggert. + Define X_DISPLAY_MISSING with AC_DEFINE, and + if not using X, clear out the X variables. + Check system-dependent libs before system-independent ones. + Check for more system-dependent libs. + From Karl Berry. + Use AC_CHECK_FUNC in the system-dependent libs tests. + From Larry Schwimmer. + Wart removal: Don't require AC_ISC_POSIX. + (AC_ISC_POSIX): Require AC_PROG_CC, since it uses $GCC. + From gvran@uddeborg.pp.se. + Don't blather about being called before AC_TRY_LINK, + which is now called in AC_PROG_CC. Don't encourage using this macro. + * acconfig.h (X_DISPLAY_MISSING): Add entry. + +Fri Nov 8 16:02:08 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acspecific.m4 (AC_PATH_X_DIRECT): Search for /usr/X11 before + /usr/X11Rn, etc. From bostic@bsdi.com (Keith Bostic). + + * acgeneral.m4 (AC_CHECK_TYPE) [STDC_HEADERS]: Check in stddef.h, too. + From Glenn P. Davis. + Don't require the second char after the type name to be a space. + (AC_TRY_RUN): Remove the test files before executing the "failure" + case code. + + * acspecific.m4 (AC_PROG_CXX): Check for cc++ for NexT. + From Carl Edman. + (AC_PROG_CC, AC_PROG_CXX): Check whether -g works even if + C[XX]FLAGS is set. From T.E.Dickey. + (AC_FUNC_FNMATCH): New macro. + * acconfig.h (HAVE_FNMATCH): New entry. + + * acgeneral.m4 (AC_REPLACE_FUNCS): Call AC_CHECK_FUNCS to do the work. + +Tue Oct 29 13:03:44 1996 Doug Evans <dje@canuck.cygnus.com> + + * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Fix thinko in computation of + ac_sub_srcdir in relative but not "." case. + +Thu Oct 10 22:29:37 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CANONICAL_HOST, AC_CANONICAL_TARGET, + AC_CANONICAL_BUILD): Allow the os part of the string returned by + config.sub to contain dashes, as in "linux-gnu". + +Fri Jul 19 16:59:00 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_TYPE): Add dnl so regexp doesn't have a + leading newline. + +Wed Jun 12 13:56:57 1996 David J MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CHECK_TYPE): Remove extra ')'. + + * Many files: Update the FSF street address. + +Sun Jun 9 17:54:23 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_LIB): Add missing \ in last change. + +Fri Jun 7 11:54:58 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_LIB): Identifierize lib name in $ac_tr_lib. + +Mon May 27 13:49:02 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * acspecific.m4 (AC_SYS_LONG_FILE_NAMES): If $TMPDIR names an + existing, writable directory, then test it instead of /tmp, /var/tmp, + and /usr/tmp for long file name support. + + * acgeneral.m4 (AC_PREREQ): Prepend "FATAL ERROR: " to msg. + +Sun May 26 19:07:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PROG_MAKE_SET): Sanitize $MAKE for use as + identifier. + + * acgeneral.m4 (AC_CHECK_TYPE): Tighten regexp so ulong doesn't match + ulong_t. + + * autoheader.sh: Put $syms in a temporary file and use fgrep -f. + +Tue May 7 13:20:33 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * acgeneral.m4: Version 2.10 released. + +Tue Mar 26 13:03:12 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_OUTPUT_HEADER): Make subdir if necessary. + +Thu Mar 21 10:52:03 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Fix name of -lelf cache variable + name in test of it. + (AC_PATH_XTRA): Fix name of -ldnet cache variable name in test of it. + +Wed Mar 20 09:37:31 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_LIB): Use \055 for -; leading and trailing + both lose with some tr. + + * acspecific.m4 (AC_C_CONST): Remove check for gcc 2.7 bug. + RMS wants everyone to lose until gcc is fixed. + + * acgeneral.m4 (AC_CHECK_LIB): Put - last in tr set so it is not + considered a range. + + * acspecific.m4 (AC_C_CONST): Add check for gcc 2.7 bug. + From Paul Eggert and Jim Meyering. + + * acgeneral.m4 (AC_CHECK_LIB): Omit `char $2' decl when $2 is `main'. + +Wed Mar 13 22:10:42 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * acgeneral.m4 (AC_CHECK_LIB): Put quotes around _ when + constructing cache variable name, to separate it from preceding + text. + +Sat Mar 16 15:53:22 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * Version 2.9 released. + * acgeneral.m4 (AC_ACVERSION): Updated to 2.9. + +Wed Mar 13 12:49:51 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_OUTPUT_HEADER): Undo last change to $ac_dB, + and instead change the code written into conftest.hdr. + +Tue Mar 12 02:51:24 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_OUTPUT_HEADER): Apply Jan 15 fix to + AC_OUTPUT_MAKE_DEFS here too: Match `#define foo' without trailing + space in confdefs.h. Before configure would lose if all its trailing + whitespace got stripped, and that can happen in mail. + +Sun Mar 10 20:30:09 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_INIT_NOTICE): Add 95 and 96 to copyright years. + +Sat Mar 9 18:28:42 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_LIB): Add missing [. + +Fri Mar 8 15:06:48 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_LIB): Declare $2 to override gcc2 internal + prototype. + + * Version 2.8 released. + +Wed Mar 6 14:38:31 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_LIB): Use a cache variable name containing + both the library and function name. + +Tue Jan 16 16:39:21 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_PROG): Take optional 6th arg, full name + of program to reject if found in search path. + * acspecific.m4 (AC_PROG_CC): If gcc not found use AC_CHECK_PROG + for cc, rejecting /usr/ucb/cc. + Fatal configure error if no $CC found at all. + +Mon Jan 15 15:57:36 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Match `#define foo' without + trailing space in confdefs.h. Before configure would lose if + all its trailing whitespace got stripped, and that can happen in mail. + +Fri Jan 12 14:38:37 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_TRY_CPP): Use "" instead of '' when setting + ac_try; we need one level of expansion there for $ac_cpp, then + AC_TRY_EVAL does one more for its the expansion of $ac_cpp. + +Thu Jan 11 10:38:19 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_LANG_C, AC_LANG_CPLUSPLUS): Removed echo cmds + from $ac_cpp, $ac_compile, and $ac_link. + (AC_TRY_EVAL, AC_TRY_COMMAND): New macros for running tests' commands. + Always put the configure source line and command line into config.log. + (AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK): Use them. + * acspecific.m4: Use AC_TRY_EVAL and AC_TRY_COMMAND for running + all tests. + +Fri Jan 5 17:50:28 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PATH_X, AC_PATH_X_XMKMF, AC_PATH_X_DIRECT): + Rearrange logic: do no tests if $with_x=no; make incl and lib + tests independent, and distinguish unset from empty. + + * autoconf.sh (undefined macro check): \ sed \s inside "". If + grep $name in $infile misses, give error message that there must + be an Autoconf bug. + +Tue Dec 19 10:49:20 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * autoconf.sh: Ignore undefined macros in shell comments. + +Mon Dec 11 22:12:54 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PROG_CC_C_O): Rearrange logic to get the right + answer for cc. + +Fri Nov 24 17:26:38 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * autoconf.sh: Define $AWK from the subst @AWK@, and use it. + +Wed Nov 22 11:01:16 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * Version 2.7. + + * autoheader.m4 (AC_CHECK_FUNCS, AC_CHECK_HEADERS): Expand the + optional action args. From jj@jfch.vc.cvut.cz (Jakub Jelinek). + + * acgeneral.m4 (AC_CHECK_LIB): Translate - in library names to _. + (AC_ARG_PROGRAM): Use cat instead of echo to avoid SysV echo + interpreting backslashes. From kim@tac.nyc.ny.US (Kimmo Suominen). + (AC_OUTPUT_FILES): Quote $ and \ for being in an unquoted here + document. From Paul Eggert. + + * acspecific.m4 (AC_PATH_X_XMKMF): Use ${MAKE-make}, not plain make. + (AC_C_CONST): Avoid a warning from g++. + From tgl@sss.pgh.pa.us (Tom Lane). + (AC_FUNC_MMAP): Check for valloc and getpagesize; don't rely on + predefines. + (AC_HEADER_STDC): If cross-compiling, assume the ctype macros are + ANSI. From dje@cygnus.com (Doug Evans). + (AC_TYPE_SIGNAL) [__cplusplus]: Give a full prototype. + From churritz@cts.com (Chad Hurwitz). + (AC_FUNC_VFORK): If cross-compiling, use AC_CHECK_FUNC instead. + From Steve Chamberlain. + +Tue Sep 5 20:37:48 1995 Paul Eggert <eggert@twinsun.com> + + * acspecific.m4 (X_LIBS): Use `-R lib', not `-Rlib', since Sun + CC 3.0 requires this. + +Tue Aug 8 20:10:12 1995 Paul Eggert <eggert@twinsun.com> + + * acgeneral.m4: When creating config.status, start a new + here-script just before building conftest.subs, to work around + a bug in the HP-UX 9 HP9000-800 sh. + +Tue Nov 21 17:36:41 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * Makefile.in (install): Undo last ASCRIPTS panic change. + The bug reporter hadn't cleaned up his source dir. + +Mon Nov 20 15:26:50 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * Version 2.6. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Prettify usage message somewhat. + + * Makefile.in: Use @bindir@, @datadir@, @infodir@. + (install): Find ASCRIPTS in $(srcdir). + +Sat Nov 18 14:21:55 1995 Karl Berry <karl@cs.umb.edu> + + * autoconf.sh: Allow lowercase letters in the undefined-macro name. + +Fri Nov 17 15:05:44 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * Version 2.5 released. + +Fri Nov 17 15:23:04 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CHECK_LIB): Don't start tr argument with '+', + so as not to confuse old GNU tr's. From + Ian Lance Taylor. + (AC_INIT_PARSE_ARGS): Make sure MFLAGS and MAKEFLAGS are empty. + From Paul Townsend (aab@cc.purdue.edu). + (AC_CHECK_LIB, AC_CHECK_HEADERS, AC_CHECK_FUNC): Remove + duplicate `d' from alphabets. + + * acspecific.m4 (AC_USG): Define USG if we don't have rindex and + bzero, not if we do have them. + From Viktor Dukhovni. + +Sun Oct 29 15:13:37 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_PROG): Use arg 5 as search list, not arg 4. + +Wed Aug 30 17:34:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PROG_CC_C_O): If $CC groks it and cc doesn't + exist, choose yes. + +Wed Jul 26 00:03:26 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * Test release 2.4.2. + + * acgeneral.m4 (AC_CHECK_SIZEOF): Take an optional size to + use when cross-compiling. + + * acspecific.m4 (AC_FUNC_CLOSEDIR_VOID, AC_DIR_HEADER): If + cross-compiling, assume it returns void. It's not a big loss. + From Karl Berry. + + * acgeneral.m4 autoheader.sh: Change tr [a-z] [A-Z] into expansion + of the full alphabet, to combat losing AIX 4.1.1 tr when LANG + isn't set the way it likes. + + * acspecific.m4 (AC_FUNC_GETMNTENT): Check in -lgen for Unixware. + From miguel@roxanne.nuclecu.unam.mx (Miguel de Icaza). + + * autoheader.m4 (AC_CONFIG_HEADER): Set config_h to the first + argument. From ghudson@mit.edu (Greg Hudson). + + * Makefile.in (all): Depend on info. + + * acgeneral.m4 (AC_CHECK_PROG, AC_PATH_PROG, AC_CHECK_PROGS, + AC_PATH_PROGS, AC_CHECK_TOOL): Add optional PATH + parameter. + +Mon Jul 24 17:27:11 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CHECK_LIB): Don't enclose tr args in [], for + SysV and POSIX. From Karl Heuer. + +Wed Jul 19 17:43:44 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CHECK_LIB): Translate + to p in lib name. + +Wed Jun 28 13:45:16 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH): Allow an empty value + for --enable and --with args. + (AC_CACHE_CHECK): New macro. + * acspecific.m4: Use it where possible. + +Tue Jun 27 13:29:54 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_INIT_PARSE_ARGS, AC_INIT_PREPARE): Add options + --bindir, --libdir, etc. + +Mon Jun 26 20:54:36 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_LANG_C, AC_LANG_CPLUSPLUS): Put the command + being run into the log file. + +Thu Jun 22 22:33:23 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acspecific.m4 (AC_PROG_INSTALL): Don't cache a shell script path. + + * acgeneral.m4 (AC_CHECK_LIB): Allow lib name to contain a . or /, + by fixing the cache variable name. + +Wed Jun 14 23:07:20 1995 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> + + * Version 2.4. + +Sun May 7 08:09:12 1995 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PATH_X_XMKMF): Check for libX11.{so,sl} as + well as .a when seeing whether LIBDIR or USRLIBDIR is right. + +Sat May 6 17:29:07 1995 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PROG_CPP): If CPP is already set, use that as + the value and set the cache variable to it. + +Mon Mar 27 10:48:36 1995 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu> + + * Version 2.3. + + * acgeneral.m4 (AC_OUTPUT): Add quotes around the echo arguments + in the trap, so backslashes aren't required for multiline input. + From G.Wilford@ee.surrey.ac.uk. + Also use the sed trick when not using a config header file. + +Thu Mar 23 18:02:25 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_LANG_C, AC_LANG_CPLUSPLUS): Put "-c" right + after compiler name. Same for "-o conftest". + + * ifnames.sh (AC_MACRODIR): Default to @datadir@, not a hardcoded + path. + + * Test release 2.2.1. + + * acgeneral.m4 (AC_OUTPUT): Use sed, not tr, so we only remove the + output config header, not the input one too. From + muessig@ipf.bau-verm.uni-karlsruhe.DE (Peter Muessig). + (AC_LANG_C): Undo Feb 7 change. According to Roland McGrath, + most compilers require all options but -l... and -o to come first. + + * Makefile.in (uninstall): Don't use $@, since the cd makes it + invalid when srcdir is relative. + +Wed Mar 8 17:05:06 1995 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> + + * Version 2.2. + +Wed Mar 8 12:44:34 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * Makefile.in: Follow cd commands with &&, not ;. + From Franc,ois Pinard. + +Tue Mar 7 11:48:19 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acspecific.m4 (AC_FUNC_ALLOCA): Keep sh variable name space + clean. Put newline after AC_DEFINE_UNQUOTED call to avoid Irix + syntax error. + +Mon Mar 6 15:07:00 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * Test release 2.1.3. + + * acspecific.m4 (AC_FUNC_ALLOCA): Replace nested AC_FUNC_CHECK + calls with a loop. + + * acspecific.m4 (AC_FUNC_VPRINTF): Don't check for signal munging. + From Paul Eggert. + + * acgeneral.m4 (AC_CACHE_SAVE): Tell the user whether the cache + changed or not. From gnu@toad.com (John Gilmore). + + * Makefile.in (install-info): Don't cd, to avoid breaking + install-sh references. + +Fri Mar 3 11:41:01 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * Makefile.in (autoconf.info, standards.info): Use --no-split to + avoid creating filenames > 14 chars. + + * acgeneral.m4 (AC_CHECK_FUNC): Use assert.h, + to avoid protype conflicts from ctype.h (!!) on OSF/1 3.0. + +Sat Feb 25 01:56:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_C_BIGENDIAN): Check for BYTE_ORDER macro from + sys/param.h before trying the test program which cannot be + cross-compiled. + +Fri Feb 24 20:02:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_FUNC): Include errno.h instead of ctype.h + in test program. + +Wed Feb 22 18:01:27 1995 David J. MacKenzie <djm@geech.gnu.ai.mit.edu> + + * Test release 2.1.2. + +Tue Feb 21 13:00:07 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CACHE_VAL): Add extra quotes to work around AIX + 4.1 bug reported by hyc@locus.com (Howard Chu). + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Check for -lelf before -lkvm. + Reported by Kaveh R. Ghazi. + (AC_HEADER_STAT): Check whether S_IFDIR is defined, to work around + ISC bug reported by rick@anasazi.com (Rick Coupland). + + * autoheader.sh: Better solution to @BOTTOM@ printing. + From Paul Eggert. + +Mon Feb 13 18:13:11 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PROG_CC_C_O): Use sed filter to make sure + ${ac_cc} is always a valid shell variable name. + (AC_PROG_MAKE_SET): Remove gratuitous backslashes in checking message. + +Sun Feb 12 18:42:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_TOOL_PREFIX): Require AC_CANONICAL_BUILD, + so both $build and $host are definitely set before we compare + them. + +Sat Feb 11 04:37:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_TOOL): Rewritten. Take optional third + arg VALUE-IF-NOT-FOUND. Check for + ${ac_tool_prefix}PROG-TO-CHECK-FOR first. If not found and third + arg given, and ${ac_tool_prefix} is nonempty, check for unadorned + PROG-TO-CHECK-FOR as well. Last choice use VALUE-IF-NOT-FOUND. + +Fri Feb 10 17:45:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_OUTPUT): Fix sed command to produce $ac_dots + for subdir configures. + +Thu Feb 9 14:42:20 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * testsuite/config/unix.exp (autoconf_load): Run the script with + /dev/null as the cache. + + * acgeneral.m4 (AC_CHECK_TOOL_PREFIX, AC_CHECK_TOOL): New macros, + from Roland McGrath. + + * acspecific.m4 (AC_DECL_YYTEXT): Cache the output file root. + (AC_C_INLINE): If the compiler doesn't recognize it, define it + away. Try __inline__ too. From Jim Avera. + (AC_FUNC_GETPGRP): New macro. From Arnold Robbins. + * acconfig.h: New entry for it. + + * configure.in: Check for new awk. + * Makefile.in (editsh): Substitute in AWK. + + * acspecific.m4 (AC_PROG_INSTALL): Allow trailing slashes in PATH + elements. + * acgeneral.m4 (AC_PREFIX_PROGRAM): Ditto. + +Tue Feb 7 11:32:09 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_CHECK_LIB, AC_HAVE_LIBRARY): Check and add the new + library before existing libs, not after, in case it uses them. + * acspecific.m4 (AC_FUNC_GETLOADAVG, AC_FUNC_GETMNTENT, + AC_FUNC_STRFTIME, AC_DYNIX_SEQ, AC_IRIX_SUN, AC_SCO_INTL): Ditto. + + * autoheader.sh: Allow @BOTTOM@ to be the first line in + acconfig.h. From iwj10@cus.cam.ac.uk (Ian Jackson). + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Add semicolons before + AC_DEFINE. Check for -lkvm before -lutil. Assume it needs setgid + if using -lutil. + + * acgeneral.m4 (ac_compile, ac_link): Put the file name before the + variables, so they can contain -l options. + + * acspecific.m4 (AC_FUNC_WAIT3): Sleep longer for HPUX. + (AC_TYPE_SIGNAL): Declare signal as extern "C" for C++. + + * Makefile.in testsuite/Makefile.in (maintainer-clean): Renamed + from realclean. + + * autoconf.sh (TMPDIR): Inherit from environment, or set if not. + + * acgeneral.m4 (AC_PREFIX_PROGRAM): Say we're checking the prefix. + + * acspecific.m4 (AC_ISC_POSIX): Fix typo. + (AC_PATH_X): Screen out bogus values from imake. + (AC_PROG_LEX): Check for yywrap, not main, in the library. + +Thu Feb 2 11:32:07 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acconfig.h (__CHAR_UNSIGNED): Protect with #ifndef. + From marcus@ee.pdx.edu (Marcus Daniels). + + * acgeneral.m4 (AC_CACHE_SAVE): Workaround Ultrix and 4.3BSD sh + bug in setting the high bit on variable values. + From Ken Raeburn. + (AC_OUTPUT_FILES, AC_OUTPUT_SUBDIRS): Ignore initial "./" to + avoid messing up the dot-dot counts. + (AC_OUTPUT_SUBDIRS): Pass INSTALL magic to subdirectories. + From Karl Berry. + + * ifnames.sh: Speed up drastically by folding 3N+2 processes into 2. + From Paul Eggert. + +Wed Feb 1 11:58:27 1995 David J. MacKenzie <djm@catapult.va.pubnix.com> + + * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH): Add additional + quoting for internal consistency. + From junio@twinsun.COM (Jun Hamano). + + * acspecific.m4 (AC_PATH_XTRA): R6 function name was wrong. + From Karl Berry. + (AC_C_CROSS): Fix typo in cache var name. + From tgl@sss.pgh.pa.us (Tom Lane). + (AC_PROG_MAKE_SET): Change / in the make program name into _ so it + can be part of a shell variable name. + (AC_DECL_YYTEXT): Fix arguments to AC_TRY_LINK. + From interran@uluru.stanford.edu (John Interrante). + + * acgeneral.m4 (AC_CHECK_SIZEOF): If test program fails, set the + variable to 0 as the doc sez. + From eisen@cc.gatech.edu (Greg Eisenhauer). + + * acgeneral.m4, acspecific.m4: Remove *.core and core.* as well as + core, for recent BSD's. + + * acspecific.m4 (AC_SYS_INTERPRETER): Use `#! /' instead of `#!/'. + * acgeneral.m4 (AC_INIT_BINSH): Likewise. + * All scripts: likewise. + From woods@kuma.web.net (Greg A. Woods). + + * acgeneral.m4 (AC_INIT_PREPARE): Use fd 6 instead of 4, to + prevent a conflict on the Kubota Titan. From + muessig@ipf.bau-verm.uni-karlsruhe.DE (Peter Muessig). + + * autoconf.sh: Use a more concise syntax to set variables. + From Karl Berry. + + * acspecific.m4 (AC_FUNC_WAIT3): Check page fault measurements to + catch Linux. From tobias@server.et-inf.fho-emden.de (Peter Tobias). + + * acgeneral.m4 (AC_OUTPUT): If running config.status + fails, exit with a nonzero status. From Ken Raeburn. + +Tue Dec 6 19:07:07 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_FUNC_GETLOADAVG): Use elf_begin in -lelf + check, not elf_read. + +Mon Nov 7 18:18:11 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_PROG_MAKE_SET): Fix msg; $MAKE is not useful + Make syntax. + +Fri Nov 4 09:08:33 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * Version 2.1. + + * autoreconf.sh: Add -f --force option. + From Theodore Ts'o. + +Thu Nov 3 10:24:08 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_TRY_RUN): Reword warning. + + * acspecific.m4 (AC_PROG_CXX): Notify the user of the check for + GNU C++. + (AC_PROG_CXX, AC_PROG_CXXCPP): Use g++, not gcc, as default C++ + compiler. + * acgeneral.m4 (AC_LANG_CPLUSPLUS): Ditto. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Move ac_usage string directly + into the here document to work around A/UX shell limitation. + + * acgeneral.m4 (AC_COMPILE_CHECK): Mention the MSG macros in the + obsolete warning. + + * autoscan.pl (output_programs): Use AC_CHECK_LIB, not + AC_HAVE_LIBRARY. + + * acgeneral.m4 (AC_CHECK_FUNC): Move prototype outside of function + so it works with C++. From ejb@era.COM (E. Jay Berkenbilt). + +Fri Oct 28 11:23:30 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * acspecific.m4 (AC_CHECK_HEADERS_DIRENT): Use define, not + AC_DEFUN, so the test suite doesn't call it with no arguments, + leading to a syntax error in the real Bourne shell. + +Wed Oct 26 18:40:41 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * Version 2.0. + +Tue Oct 25 11:04:16 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_CHECK_HEADER, AC_CHECK_HEADERS): Change - + in file names to _. + * acspecific.m4 (AC_CHECK_HEADER_DIRENT, AC_CHECK_HEADERS_DIRENT): + Likewise. + +Mon Oct 24 11:28:20 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * Makefile.in (uninstall): Remove the transformed names. + (SCRIPTS): Rename from PROGS. + * configure.in: Likewise. + +Fri Oct 21 07:14:23 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_TRY_COMPILE): New macro. + (AC_LANG_C, AC_LANG_CPLUSPLUS): Set $ac_compile. + (AC_TRY_LINK): Don't declare exit. + * acspecific.m4 (AC_C_INLINE, AC_C_CONST, AC_CHECK_HEADER_DIRENT, + AC_DECL_SYS_SIGLIST, AC_HEADER_SYS_WAIT, AC_TYPE_SIGNAL, + AC_FUNC_GETLOADAVG, AC_HEADER_TIME, AC_STRUCT_TM, + AC_STRUCT_TIMEZONE, AC_STRUCT_ST_BLOCKS, AC_STRUCT_ST_BLKSIZE, + AC_STRUCT_ST_RDEV): Use AC_TRY_COMPILE instead of AC_TRY_LINK. + (AC_AIX, AC_MINIX, AC_ISC_POSIX): Must come before AC_TRY_COMPILE. + + * acspecific.m4 (AC_PROG_LEX): Don't assume -ll if using lex; + check for it. From Mark Eichin. + +Thu Oct 20 07:11:22 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_PARSE_ARGS): Ignore --site. + + * autoscan.pl: Add more blank lines to the output. Pacify perl -w. + +Wed Oct 19 09:14:50 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_PREREQ_COMPARE): Allow secondary and ternary + numbers >99. From John Eaton. + +Wed Oct 19 00:06:40 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * ifnames.sh: Take comments out of sed script. + +Tue Oct 18 00:20:04 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_INIT_NOTICE): Set ac_default_prefix. + (AC_INIT_PARSE_ARGS, AC_SITE_LOAD, AC_OUTPUT): Use it. + (AC_PREFIX_DEFAULT): New macro. + From Ken Raeburn. + + * testsuite/autoconf.s/syntax.exp: Renamed from specific.exp. + + * acgeneral.m4 (AC_SITE_LOAD): Change where to look for config.site. + + * configure.in: Call AC_ARG_PROGRAM. + * Makefile.in (install): Use program_transform_name. + + * acgeneral.m4 acspecific.m4 acoldnames.m4: Clarify copying terms. + + * acgeneral.m4 (AC_CANONICAL_BUILD): Default build to host, not empty. + + * acspecific.m4 (AC_PROG_CC): Recognize NeXT cpp as GNU C. + From tom@basil.icce.rug.NL (Tom R.Hageman). + +Mon Oct 17 18:25:53 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu) + + * acspecific.m4 (AC_PROG_CPP): Use assert.h (comes with gcc), not + stdio.h (loses for new cross-compilers). From Roland McGrath. + +Tue Oct 11 13:22:22 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu) + + * acspecific.m4 (AC_PATH_XTRA): Add X_PRE_LIBS variable and assume + -lSM if -lICE is found. From Karl Berry. + +Mon Oct 3 20:12:36 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu) + + * testsuite/Makefile.in (AUTOCONF, AUTOCONFFLAGS): Test + ../autoconf, not installed autoconf. + +Sat Oct 1 04:43:43 1994 Paul Eggert <eggert@twinsun.com> + + * acspecific.m4: Catch `const' bug in NEC SVR4.0.2 mips cc. + + * Makefile.in (.sh, .pl, configure): Do chmod before mv. + + * acheaders, acspecific.m4 (AC_HEADER_SYS_WAIT): New entry. + + * acconfig.h (HAVE_SYS_WAIT_H): New entry. + +Wed Sep 28 08:59:01 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu> + + * Makefile.in: Set datadir to $(prefix)/share. + +Tue Sep 27 08:00:38 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu> + + * Makefile.in: Use implicit rules to make scripts. + From Jim Meyering. + + * acconfig.h: Remove #undefs of unused symbols. + From Paul Eggert. + * testsuite/autoconf.s/defines.exp: New file. + * testsuite/autoconf.s/specific.exp: Extract the list of macros to + test from acspecific.m4 instead of hardcoding it. + * acspecific.m4 (AC_PROG_CXXCPP): Default CXX to gcc, not c++. + +Mon Sep 26 12:32:46 1994 David MacKenzie <djm@churchy.gnu.ai.mit.edu> + + * acspecific.m4 (AC_HEADER_DIRENT): Only check for -lx if not + using dirent. + * autoreconf.sh: Shorten sed label for OSF/1. + * acgeneral.m4 acspecific.m4: Change licensing terms for output. + +Thu Sep 22 15:36:56 1994 David MacKenzie <djm@churchy.gnu.ai.mit.edu> + + * autoconf.sh (tmpin): Always set. + +Wed Sep 21 13:12:10 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_INIT_PREPARE): Remove trailing slashes from + srcdir. + +Mon Sep 19 17:11:39 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_INIT, AC_INIT_PARSE_ARGS, AC_CANONICAL_SYSTEM, + AC_ARG_PROGRAM): Make the default for program_transform_name be + a valid sed script, and substitute it always. + +Sat Sep 17 08:27:58 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu> + + * autoheader.sh: Protect `for' loop from checking empty $syms. + + * ifnames.sh: Use % instead of , as sed s separator. + + * autoscan.pl: Update output comments. + +Fri Sep 16 11:20:02 1994 David MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acspecific.m4 (AC_TYPE_GETGROUPS): Provide a cross compiling + default. From Jim Meyering. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Document + --program-transform-name. + +Thu Sep 15 16:26:36 1994 David MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_INIT_NOTICE): Clarify copying notice. + Fix up comments between sections. + + * acspecific.m4 (AC_PROG_LEX): Omit extra checking message. + + * autoreconf.sh: Give usage if non-option args are given. + * autoconf.sh autoheader.sh: Define AC_LOCALDIR for configure.in. + +Thu Sep 15 11:31:13 1994 Ian Lance Taylor (ian@airs.com) + + * Makefile.in (check): Set AUTOCONFFLAGS from srcdir, not objdir. + +Thu Sep 15 09:06:40 1994 David MacKenzie (djm@churchy.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_MSG_ERROR): Say that it's an error in the message. + + * Makefile.in (check): Copy install-sh from srcdir if needed. + + * autoreconf.sh: Only regenerate autoheader-generated header file + templates. Pass relative macrodir properly. + * autoconf.sh autoheader.sh autoreconf.sh: Add -l --localdir option. + Based on work by Mark Eichin. + + * ifnames.sh: Add -h option. + * autoconf.sh autoheader.sh: Remove -v option. + + * acgeneral.m4 (AC_CHECK_TYPE): Require AC_HEADER_STDC and check + stdlib.h if present. + + * acgeneral.m4 (AC_OUTPUT): Protect cache save from interruptions. + +Tue Sep 13 09:46:23 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) + + * Makefile.in (install): Use srcdir. From Mark Eichin. + + * acgeneral.m4 (AC_OUTPUT_FILES): Automatically add + configure_input comment to Makefiles again. + * Makefile.in testsuite/Makefile.in: Remove configure_input ref. + + * acgeneral.m4 (AC_LINK_FILES, AC_OUTPUT_LINKS): Reverse the order + of the arguments. Support relative symlinks. + + * acgeneral.m4 acspecific.m4: Remove some gratuitous {} in shell + variable references. + + * acgeneral.m4 (AC_OUTPUT_FILES): New output variable + configure_input replaces big kludge for adding output comment. + * Makefile.in, testsuite/Makefile.in: Use it. + +Mon Sep 12 23:06:08 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_INIT_PREPARE, AC_OUTPUT_SUBDIRS): Make command + line quoting work for shell metachars besides blanks. + +Sun Sep 11 23:34:24 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acspecific.m4 (AC_PATH_XTRA): Link with X_EXTRA_LIBS when + checking for -lSM. + + * acfunctions (memcmp): Use AC_FUNC_MEMCMP. From Paul Eggert. + + * acgeneral.m4 (AC_COMPILE_CHECK): Mark obsolete. + +Sat Sep 10 10:59:19 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * Makefile.in (DISTFILES): Include install-sh, not install.sh. + + * autoscan.pl: Check AC_MACRODIR. + + * acgeneral.m4 (AC_INIT_PARSE_ARGS, AC_INIT_PREPARE, + AC_CONFIG_SUBDIRS, AC_OUTPUT_SUBDIRS): Make quoting of command + line options work. + (AC_CONFIG_AUX_DIRS): Check for install-sh over install.sh. + + * acspecific.m4 (AC_FUNC_GETMNTENT): Only check for second lib if + first lib isn't found. From Jim Meyering. + +Fri Sep 9 10:41:42 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acspecific.m4 (AC_FUNC_MEMCMP): New macro, from Jim Meyering. + * testsuite/autoconf.s/specific.exp: Test it. + + * testsuite/Makefile.in (site.exp): Simplify. + + * acgeneral.m4 (AC_CACHE_SAVE): Use a shorter syntax for setting + the variables. Idea from Karl Berry. + (AC_CHECK_FUNCS, AC_CHECK_HEADERS): Take an action-if-not-found. + From Jim Meyering. + + * acconfig.h: Add entries for getmntent and strftime. + * acspecific.m4 (AC_C_CHAR_UNSIGNED): If GCC, don't run a test + program. + +Thu Sep 8 10:53:53 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acspecific.m4 (AC_USG): Was passing too many args to AC_TRY_LINK. + (AC_FUNC_STRFTIME, AC_FUNC_GETMNTENT): New macros. + (AC_HEADER_DIRENT): Check for Xenix dir libs. + (AC_XENIX_DIR, AC_SCO_INTL, AC_IRIX_SUN, AC_DYNIX_SEQ, AC_AIX, + AC_ISC_POSIX, AC_MINIX): Go back to the v1 names. + * acoldnames.m4: Delete their aliases. + * testsuite/autoconf.s/specific.exp: Check them. + + * acgeneral.m4 (AC_ARG_PROGRAM): Use `;' instead of `-e' to + separate sed arguments, to simplify Makefile usage and support + sed arguments containing spaces. + (AC_CANONICAL_HOST): Move check for config.sub here from + AC_CANONICAL_SYSTEM. + + * autoheader.m4 (AC_CHECK_HEADERS_DIRENT): Redefine. From Paul Eggert. + (AC_CHECK_SIZEOF): Redefine this, not the old name. + (AC_HAVE_LIBRARY): Redefine. + +Wed Sep 7 09:32:31 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * testsuite/lib/common.exp: Ignore warnings about test programs. + * testsuite/autoconf.s/specific.exp: Check AC_FUNC_CLOSEDIR_VOID. + + * Makefile.in (*clean): Remove the new index. + (dist): Undo adding write perms. Screws up RCS. + * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Remove comments from sed + program. + * acoldnames.m4: Change a couple of AC_DEFUN to define. + +Wed Sep 7 01:27:19 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_SITE_LOAD): Check whether $CONFIG_SITE is empty. + +Tue Sep 6 09:55:30 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_ARG_PROGRAM): New macro. + (AC_INIT_PARSE_ARGS, AC_CANONICAL_SYSTEM): Do a little setup for it. + + * acspecific.m4 (AC_PROG_INSTALL): Clarify comment. Remove check + for bsdinst, since it's no better than our install.sh. + (AC_CHECK_HEADER_DIRENT, AC_CHECK_HEADERS_DIRENT): New macros. + (AC_HEADER_DIRENT, AC_DIR_HEADER): Use them. + (AC_PROG_CC, AC_PROG_CXX): Check whether GCC accepts -g. + + * acgeneral.m4 (AC_INIT_PREPARE): Call AC_PROG_ECHO_N. + Use define instead of AC_DEFUN for some frequently called or + internal macros that aren't involved in ordering constraints. + +Mon Sep 5 17:37:36 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acspecific.m4 (AC_C_CROSS): Provide default argument to AC_TRY_RUN. + +Fri Sep 2 09:30:41 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_TRY_CPP): Use a temp file so sh -x works. + From Mark Nudelman. + + * acgeneral.m4: --norecursion -> --no-recursion. + (AC_OUTPUT_LINKS): Reset srcdir to ac_given_srcdir. + + * acspecific.m4 (AC_PATH_X): Call AC_ARG_WITH(x, ...). + (AC_PROG_INSTALL): Search for bsdinst too. + + * Makefile.in (dist): Make distribution files writable. + + * acgeneral.m4 (AC_OUTPUT): Move trap 0 commands to near the end + of configure, to work around shell bug in failing to execute the + trap when there are commands after AC_OUTPUT. + +Sat Sep 3 19:47:06 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * acgeneral.m4 (AC_OUTPUT_FILES): Write CONFIG_FILES defn + unquoted, so $1 can contain references to shell variables in configure. + +Thu Sep 1 15:34:15 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_TRY_RUN): Always warn if no cross-compile + default is given. + * acspecific.m4 (AC_FUNC_MMAP, AC_FUNC_VFORK, AC_FUNC_WAIT3, + AC_FUNC_UTIME_NULL, AC_FUNC_STRCOLL): Provide a default + for AC_TRY_RUN. + (AC_FUNC_CLOSEDIR_VOID): New macro, broken out of AC_HEADER_DIRENT. + +Thu Sep 1 00:06:38 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4 acspecific.m4: Discard all output until AC_INIT is + called. Remove now-unnecessary dnl's between macro definitions. + (AC_OUTPUT): Add exit 0 and optional unquoted here document to + end of config.status. + +Wed Aug 31 00:11:28 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acspecific.m4 (AC_PATH_X_DIRECT): Use AC_TRY_LINK instead of + AC_CHECK_LIB, so we don't add the library to $LIBS or print anything. + (AC_PATH_XTRA): Remove initial checking message. + (AC_HEADER_STDC): In test program, default to no STDC headers if + cross compiling. + +Tue Aug 30 16:16:29 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * autoreconf.sh: Add -h option. + * autoupdate.sh: Remove -v option. + + * acgeneral.m4 (AC_EGREP_CPP, AC_TRY_CPP): Add parens around eval + for old shells. From Kaveh Ghazi. + (AC_TRY_RUN): Warn when generating configure, if called without + a default parameter and AC_CANONICAL_SYSTEM has been called. + + * autoheader.sh: Don't run `for' loops on empty lists. + From Ken Raeburn. + + * autoconf.sh autoheader.sh: Print the version number using grep + like the other scripts, not using m4. + * acgeneral.m4: Remove conditional for printing version number. + It broke with frozen files. + + * autoheader.m4: New file. + * autoheader.sh: Use it; the frozen version if possible. + * Makefile.in (install): Install a frozen autoheader.m4f if possible. + * autoconf.m4: Don't sinclude acsite.m4 here. + * acgeneral.m4 (AC_INIT): Include it here. + +Tue Aug 30 14:02:07 1994 David J. MacKenzie (djm@mole.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_CHECK_LIB): Use AC_DEFINE_UNQUOTED. + From Jim Meyering. + + * acgeneral.m4: Revise diversions, to topologically order + macros called via AC_REQUIRE. + (AC_DIVERT_PUSH, AC_DIVERT_POP): New macros. + (AC_INIT, AC_ARG_ENABLE, AC_ARG_WITH, AC_SUBST, AC_SUBST_FILE, + AC_REQUIRE): Use them. + From Franc,ois Pinard (bless his soul!). + (AC_PRO, AC_EPI): New macros. + (AC_DEFUN): Use them. + (AC_INIT): sinclude aclocal.m4 herea. + * autoconf.m4: Not here. + + * autoconf.sh: Use a freeze file if available and m4 can do it. + * Makefile.in (install): Install a freeze file if m4 supports it. + +Mon Aug 29 16:18:22 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_TRY_CPP): Remove subshell and move quotes. + +Sun Aug 28 17:37:26 1994 David J. MacKenzie (djm@bennett.eng.umd.edu) + + * acspecific.m4 (AC_C_CHAR_UNSIGNED, AC_C_LONG_DOUBLE, + AC_C_INLINE): Don't AC_REQUIRE AC_PROG_CC. + + * acspecific.m4 (AC_RSH, AC_ARG_ARRAY, AC_HAVE_POUNDBANG): Define + to print error messages. + + * acgeneral.m4 (AC_OUTPUT_LINKS): Insert ac_links and ac_files + into config.status using an *un*quoted here document. + From Ken Raeburn. + +Sat Aug 27 13:31:58 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_OUTPUT_HEADER): Remove comments from within sed + script. From Kaveh Ghazi. + +Fri Aug 26 17:03:18 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu) + + * autoconf.sh, acgeneral.m4: __LINE__ -> __oline__. + + * acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP): Append any error output + to config.log. + (AC_EGREP_CPP): Don't use a temp file. + + * acspecific.m4 (AC_FUNC_ALLOCA): Require CPP. + + * acgeneral.m4 (AC_INIT_PREPARE): Replace AC_SUBST_DEFAULT calls + with AC_SUBST. + (AC_SUBST_DEFAULT): Macro removed. + * acspecific.m4 (AC_PROG_CC, AC_PROG_CXX): If CFLAGS or CXXFLAGS + was not set already, give it a default value according to whether + we have gcc. + + * acspecific.m4 (AC_PATH_XTRA): Use AC_CHECK_LIB, not AC_HAVE_LIBRARY. + +Fri Aug 26 00:34:11 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acconfig.h (HAVE_UNION_WAIT): Entry removed; it wasn't defined + anywhere. + + * acgeneral.m4 (AC_OUTPUT_HEADER): rm files before mv onto them. + (AC_OUTPUT): Remove explicit exit at end of configure, to allow + code after AC_OUTPUT (needed for Emacs). + + * acgeneral.m4 (AC_CANONICAL_SYSTEM): Move setting of alias vars + into submacros. + + * acspecific.m4 (AC_PROG_CPP): If $CPP is set and is a directory, + ignore it. + +Thu Aug 25 09:26:36 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acspecific.m4 (AC_SYS_INTERPRETER): Move hash mark out of macro + call. + (AC_FUNC_MMAP): If C++, put malloc decls in extern "C". + + * acgeneral.m4 (AC_INIT_PARSE_ARGS): Untabify help message + and indent options. + + * Makefile.in (DISTFILES): Remove ChangeLog.0. + + * acgeneral.m4 (AC_CHECK_LIB): Do uppercasing of library name at + runtime. + (AC_HAVE_LIBRARY): Retain old behavior. + + * acspecific.m4 (AC_FUNC_VFORK): If C++, use a prototype for the + function in the test program. + (AC_C_ARG_ARRAY): Macro deleted. + * acoldnames.m4, acconfig.h, testsuite/autoconf.s/specific.exp: + Remove references to it. + + * autoupdate.sh: Make sure $infile can be read, and $tmpout has + the same permissions. Make sure $infile can be written. From + Paul Eggert. + + * acgeneral.m4 (AC_INIT*): Remove now-incorrect AC_BEFORE calls. + (AC_CHECK_FUNC): If C++, use extern "C". + (AC_TRY_LINK, AC_TRY_RUN): If C++, declare exit. + + * acspecific.m4 (AC_PATH_XTRA): Check for more libraries. + From Karl Berry. + + * acgeneral.m4 (AC_INIT_PREPARE): Substitute CPPFLAGS. + (AC_LANG_C, AC_LANG_CPLUSPLUS): Include CPPFLAGS in the commands. + + * acgeneral.m4 (AC_OUTPUT_FILES): Move protection for right side + of sed substitution here from AC_MAKE_DEFS, so it applies to all + AC_SUBST'd variables. + + * Makefile.in (install): Use for loops. From Jim Meyering. + + * acgeneral.m4: Revise diversions to rely on implicit flushing at + the end of the m4 run. Idea from Franc,ois Pinard. + (AC_INIT_PREPARE, AC_ARG_ENABLE, AC_ARG_WITH, AC_PREFIX_PROGRAM): + Write to the appropriate diversions. + (AC_ENABLE, AC_WITH): Supply default help string. + (AC_ENABLE_INTERNAL, AC_WITH_INTERNAL, AC_PREFIX_INTERNAL): + Macros removed. + (AC_CONFIG_SUBDIRS): Set `subdirs' here instead of in + AC_INIT_PREPARE. + (AC_PREFIX): Macro removed. + * acoldnames.m4 (AC_PREFIX): Make it an alias for AC_PREFIX_PROGRAM. + + * acoldnames.m4: We don't officially support calling + the subroutines of AC_INIT directly, or replacing them, so don't + document it. + +Wed Aug 24 00:19:05 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4 (AC_EGREP_CPP, AC_TRY_LINK, AC_TRY_RUN, + AC_TRY_CPP): Add #line directives. + * autoconf.sh: Make the #line directives accurate. + From Franc,ois Pinard. + + * acgeneral.m4 (AC_OUTPUT): Set ac_given_INSTALL from INSTALL. + (AC_SUBST_FILE): Replace with what was AC_INSERT_FILE. + (AC_SUBST_DEFAULT): New macro. + (AC_INIT_BINSH): Renamed from AC_BINSH. + (AC_INIT_PREPARE): Call AC_SUBST_DEFAULT for CFLAGS, CXXFLAGS, and + LDFLAGS. + + * acspecific.m4 (AC_HEADER_MAJOR): Don't nest caching tests. + + * Makefile.in (clean): Remove the new index files. + + * configure.in: Check for gm4 before gnum4. + + * acspecific.m4 (AC_PROG_RSH): Macro removed. + + * Makefile.in (install): Install autoconf.m4. + + * acspecific.m4 (AC_SYS_INTERPRETER): New name and calling + convention for AC_HAVE_POUNDBANG. + (AC_OS_XENIX): Check ac_header_dir instead of DEFS. + + * testsuite/autoconf.s/specific.exp: Add AC_HEADER_DIRENT. + Remove AC_SYS_REMOTE_TAPE. Replace AC_HAVE_POUNDBANG with + AC_SYS_INTERPRETER. + + * acspecific.m4 (AC_INT_16_BITS, AC_LONG_64_BITS): Reword messages. + + * acgeneral.m4 (AC_CHECK_LIB): Use our standard alternate m4 quote + characters << and >> instead of /. + + * acspecific.m4 (AC_C_CONST, AC_TYPE_GETGROUPS, + AC_PROG_GCC_TRADITIONAL): Don't put the test program in a + temporary variable. + + * acgeneral.m4 (AC_CHECK_HEADERS, AC_CHECK_FUNCS): Use + AC_DEFINE_UNQUOTED. + * autoheader.sh (AC_DEFINE_UNQUOTED): Define. + +Tue Aug 23 00:03:06 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4: Improve comments on some macros. + Fix improperly quoted undefine calls. + (AC_QUOTE_DQUOTE, AC_QUOTE_SQUOTE, AC_QUOTE_HERE, AC_QUOTE_SED, + AC_QUOTE_TOKEN, AC_DEFINE_QUOTE, AC_DEFINE_SEDQUOTE, + AC_QUOTE_IDENTITY): Macros removed. + (AC_DEFINE, AC_DEFINE_UNQUOTED): Only write the (correct) value to + confdefs.h. + (AC_OUTPUT_MAKE_DEFS): New macro. + (AC_OUTPUT): Call it. Move AC_SUBST calls to AC_INIT_PREPARE. + (AC_OUTPUT_FILES): Put most variable substitutions in a here document + instead of a string, to avoid unwanted changes to the values. + (AC_OUTPUT_HEADER): Generate the sed script to transform + config.h.in from conftest.h. Only split up the sed script in + configure, not also in config.status. + + * acspecific.m4 (AC_PROG_ECHO_N): Work around some greps lacking -e. + + * acspecific.m4 (AC_PATH_X, AC_PATH_X_XMKMF, AC_PATH_X_DIRECT, + AC_PATH_XTRA): Fix cache use and message printing. + + * acgeneral.m4 (AC_SITE_LOAD): Check env var CONFIG_SITE first. + (AC_OUTPUT_HEADER): New macro broken out of AC_OUTPUT. + + * acgeneral.m4, acspecific.m4 (AC_FD_MSG, AC_FD_CC): New + symbolic constants. + + * acgeneral.m4, acoldnames.m4 (AC_INIT_PARSE_ARGS): Renamed from + AC_INIT_PARSEARGS. + + * autoupdate.sh: Use $SIMPLE_BACKUP_SUFFIX, if set. + + * autoheader.sh (AC_CHECK_LIB): Reflect the added arg. + + * autoconf.m4: New file. + * Makefile.in (DISTFILES): Add it. + * autoconf.sh, autoheader.sh, Makefile.in: Use it. + + * acspecific.m4 (AC_SYS_REMOTE_TAPE): Macro removed. + + * acfunctions, acheaders, acidentifiers, acmakevars, acprograms, + autoscan.pl: Use new macro names. + + * acgeneral.m4 (AC_MSG_ERROR): Enclose within {} so it acts like a + single statement. From mjshield@nyx.cs.du.edu (Michael Shields). + (AC_CHECK_FUNCS, AC_CHECK_HEADERS): Only compute the uppercase + name if we're going to define that symbol. + (global): Remove AC_DIVERSION_VAR. + (AC_OUTPUT): Adjust quoting and substitutions to replace most + variable values directly in the sed script. Handle srcdir, + top_srcdir, and INSTALL specially. + Add .cpp and .hpp to c-ish suffixes list. + + * configure.in: Use the new macro names. + + * ChangeLog.0: New file, broken out of ChangeLog.1. + * Makefile.in (DISTFILES): Add it. + + * autoupdate.sh: Update the regexps to account for changes to + acoldnames.m4. + +Mon Aug 22 23:57:18 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * testsuite/autoconf.s/specific.exp: Use new macro names. + +Fri Aug 12 10:15:51 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acspecific.m4 (AC_HEADER_DIRENT, AC_DIR_HEADER): Use one cache + variable for each header file, not one for all of them. + + * acgeneral.m4 (AC_CACHE_SAVE): Print a message noting when cache + is unwritable. + (AC_CHECK_FUNCS, AC_CHECK_HEADERS): Take an optional arg to + execute on a match. + + * acspecific (AC_OS_AIX, AC_OS_MINIX, AC_OS_ISC): Don't need to be + called before AC_TRY_CPP, since that doesn't use CFLAGS. + + * acgeneral.m4 (AC_CHECK_PROG, AC_PATH_PROG): Print a result + whether or not we found the program. + (AC_CHECKING): Not obsolete. + (AC_WITH, AC_ENABLE, AC_INIT_PREPARE): Merge the --enable and + --with diversions. + + * acgeneral.m4 (AC_DEFUN): New macro. + Use it globally to define macros that are used as functions, + as opposed to macros that are used as variables. Remove calls to + AC_PROVIDE. + +Thu Aug 11 08:25:08 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acspecific.m4 (AC_OS_XENIX): Fix assignments. From Franc,ois + Pinard. + (AC_SYS_REMOTE_TAPE): Fix typo. + +Wed Aug 10 09:30:11 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acspecific.m4 (AC_C_CHAR_UNSIGNED): Don't lie about the result + if gcc, just ignore it. + + * acgeneral.m4 (AC_CHECK_LIB): Add a function argument. + * acgeneral.m4 (AC_HAVE_LIBRARY): Make it a wrapper around + AC_CHECK_LIB. + * acoldnames.m4: Remove its alias. + * acspecific.m4: Add argument to callers. + + * acspecific.m4 (AC_PROG_ECHO_N): Move from acgeneral.m4 AC_MSG_ECHO_N. + * acgeneral.m4: Callers changed. + + * acgeneral.m4 (AC_CACHE_LOAD, AC_CACHE_SAVE, AC_SITE_LOAD, + AC_MSG_CHECKING): Aesthetic changes to messages, suggested by + Franc,ois Pinard. + + * acspecific.m4 acgeneral.m4 acoldnames.m4: Rename + AC_TRY_CROSS to AC_C_CROSS. + + * acgeneral.m4 (AC_INIT_PARSEARGS): Don't mention --verbose in + help message. + (AC_INIT_PREPARE): Use file descriptor 5 for config.log, and 6 for + nothing. --verbose no longer does anything. + (AC_MSG_ECHO_N): New macro. + (AC_MSG_CHECKING, AC_MSG_RESULT, AC_CACHE_VAL): Require it and use + the shell variables it sets. + (AC_MSG_RESULT, AC_VERBOSE): Print unless --silent/--quiet is given, + not only when --verbose is given. + (AC_DEFINE): Don't echo anything. + (AC_CACHE_VAL): Use a custom echo instead of AC_MSG_RESULT. + * acgeneral.m4 (AC_CHECKING, AC_VERBOSE): Put back real versions, + marked obsolete. + * acoldnames.m4: Delete their aliases. + * acgeneral.m4, acspecific.m4 (many macros): Make sure each call + to AC_MSG_CHECKING has exactly one matching AC_MSG_RESULT, and + make the result messages make sense with the checking messages. + + * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Use echo, not AC_MSG_RESULT, + to print recursion notice. + +Tue Aug 9 00:17:28 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4 (AC_OUTPUT): Add comment mentioning config.log. + + * ChangeLog.1: File split out of ChangeLog. + * Makefile.in (DISTFILES): Add it. + + * acgeneral.m4 (AC_OUTPUT, AC_OUTPUT_HEADER), autoheader.sh: + Support optional input-file specification in output-file names. + * autoheader.sh: Support top and bottom comments for config.h.in + in acconfig.h. + + * acgeneral.m4, README: Say more about requiring GNU m4. + + * autoheader.sh: In the list of symbols to get template entries + for, start each symbol with a blank. + + * autoupdate.sh: Add sed substitutions for replacing macro + calls without parameters. + + * acgeneral.m4 (AC_CACHE_VAL): Omit the cache var name from the + result message. + + * acspecific.m4 (AC_DIR_HEADER): Define to be similar to + AC_HEADER_DIRENT, but only define the old cpp macros. + (AC_HEADER_DIRENT): Only define the new ones. + * acoldnames.m4: Don't say that those two macros are synonyms. + * acconfig.h: Add the new cpp macros. Add <> to some comments. + + * acgeneral.m4 (AC_OUTPUT): Don't mess with $INSTALL if it starts + with a $, due to user intervention. + + * Makefile.in, testsuite/Makefile.in: Fix *clean targets. + + * acgeneral.m4 (AC_CACHE_SAVE, AC_CACHE_LOAD, AC_SITE_LOAD): + Use echo instead of AC_MSG_RESULT. + (AC_INIT_PARSEARGS): Group options by topic in help message. Idea + from Franc,ois Pinard. + + * TODO: New file. + +Mon Aug 8 23:04:01 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4 (AC_OUTPUT): Tighten up srcdir handling code slightly. + Add one or more ../ to $INSTALL when it's a relative path and + creating a file in a subdirectory. + +Tue Aug 2 19:54:26 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * autoheader.sh: Read acoldnames.m4. Redefine the new macro names. + Only define HAVE_LIBFOO where AC_CHECK_LIB is called with only one + argument. + +Sat Jul 30 09:53:38 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4 acspecific.m4: The Great Renaming. + (Well, I think it's great. You may have your own opinion.) + + * acspecific.m4 (AC_DIR_HEADER): Define HAVE_<path>_H as well as + the old DIRENT, SYSDIR, etc. + + * acgeneral.m4 acspecific.m4: Add missing spaces between arguments + to m4 calls. From Franc,ois Pinard. + + * autoconf.sh: Read acoldnames.m4. + * Makefile.in (DISTFILES, PROGS, install, clean): Add + acoldnames.m4 and autoupdate.sh. + +Tue Jul 26 08:52:17 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * testsuite/Makefile.in (check): Print a message noting that + runtest is part of DejaGNU. + + * autoscan.pl: Remove unneeded backslash. + +Sun Jul 24 23:30:27 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * Makefile.in (clean mostlyclean distclean realclean): Recurse + into testsuite directory. + +Wed Jul 20 09:38:29 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * Makefile.in (install): Add missing else and fi. + * acspecific.m4 (GETGROUPS_T, RETSIGTYPE, STACK_DIRECTION): Use + AC_DEFINE_UNQUOTED rather than AC_DEFINE. + From Jim Meyering. + +Tue Jul 19 14:49:02 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acspecific.m4 (AC_MEMORY_H): Add more quotes. + + * acgeneral.m4 (AC_TEST_RUN): Check for cross_compiling = yes, not + whether it's non-empty. + + * acspecific.m4 (AC_MINUS_C_MINUS_O, AC_SET_MAKE): Eval the cache var + assignments. + (AC_YYTEXT_POINTER): Fix typo. + + * testsuite/autoconf.s/specific.exp, + testsuite/autoconf.g/sizeof_type.exp, + testsuite/autoconf.g/init.exp: New files. + * testsuite/lib/common.exp, testsuite/config/unix.exp: Many + changes to make them work. + + * acgeneral.m4 (AC_DEFINE): Use redirection for echo, not $verbose. + +Sat Jul 2 22:07:18 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acspecific.m4 (AC_REMOTE_TAPE): Substitute PROGS. + +Thu Jun 30 16:29:15 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4 (AC_SUBST_FILE): New version from Ken Raeburn. + + * ifnames: Add --help, --version, --macrodir options. + +Fri Jun 24 06:03:35 1994 Paul Eggert (eggert@twinsun.com) + + * acspecific.m4 (AC_VFORK): Improve test for the gcc-sparc vfork bug. + +Thu Jun 30 09:47:17 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Pass correct --srcdir option + to sub configures. Quote args containing spaces. + (AC_PREPARE): Set and substitute `subdirs'. Quote args containing + spaces. + (AC_CANONICAL_HOST, AC_CANONICAL_TARGET, AC_CANONICAL_BUILD): + Substitute the cpu, vendor, os variables. + + * acspecific.m4 (AC_PROG_INSTALL): Look for ginstall before other + names. + + * acgeneral.m4 (AC_TEST_LINK): Add newlines around argument code. + From mjshield@nyx.cs.du.edu (Michael Shields). + +Wed Jun 29 16:56:28 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * autoscan.pl: Add --macrodir option. + + * acgeneral.m4 (AC_CACHE_SAVE): Capture stderr for Ultrix sh. + +Tue Jun 28 18:05:00 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * Makefile.in: Make INSTALL from install.texi. + +Thu Jun 23 02:03:19 1994 David J. MacKenzie (djm@vortex.eng.umd.edu) + + * ifnames.sh: New file. + * Makefile.in: Add it in various places. + +Tue Jun 14 12:58:38 1994 David J. MacKenzie (djm@bleen.eng.umd.edu) + + * Makefile.in (DISTFILES): Add testsuite files. + + * autoconf.sh: Print version number on stdout, not stderr. + * acgeneral.m4: Ditto. + + * acgeneral.m4 (AC_HAVE_LIBRARY): Add OTHER-LIBRARIES arg. + Treat empty commands args as if they weren't given. + +Thu Jun 9 11:39:14 1994 David J. MacKenzie (djm@bleen.eng.umd.edu) + + * acgeneral.m4 (AC_CHECK_TYPE): New macro. + + * acspecific.m4 (AC_PROG_CPP, AC_PROG_CXXCPP, AC_YYTEXT_POINTER, + AC_LN_S, AC_RSH, AC_STDC_HEADERS, AC_MAJOR_HEADER, AC_DIR_HEADER, + AC_STAT_MACROS_BROKEN, AC_SYS_SIGLIST_DECLARED, AC_GETGROUPS_T, + AC_UID_T, AC_RETSIGTYPE, AC_MMAP, AC_VFORK, AC_WAIT3, AC_ALLOCA, + AC_GETLOADAVG, AC_UTIME_NULL, AC_STRCOLL, AC_SETVBUF_REVERSED, + AC_STRUCT_TM, AC_TIME_WITH_SYS_TIME, AC_TIMEZONE, AC_ST_BLOCKS, + AC_ST_BLKSIZE, AC_ST_RDEV, AC_CROSS_CHECK, AC_CHAR_UNSIGNED, + AC_LONG_DOUBLE, AC_WORDS_BIGENDIAN, AC_ARG_ARRAY, AC_INLINE, + AC_CONST, AC_HAVE_POUNDBANG, AC_REMOTE_TAPE, AC_LONG_FILE_NAMES, + AC_RESTARTABLE_SYSCALLS, AC_FIND_X, AC_FIND_X_XMKMF, + AC_FIND_X_DIRECT): Cache results. + (AC_SIZE_T, AC_PID_T, AC_OFF_T, AC_MODE_T): Use AC_CHECK_TYPE. + (AC_DIR_HEADER_CHECK): Macro removed. + +Wed Jun 8 18:03:45 1994 David J. MacKenzie (djm@bleen.eng.umd.edu) + + * acspecific.m4 (AC_MINUS_C_MINUS_O): Cache results. + +Thu May 26 09:43:37 1994 David J. Mackenzie (djm@poseidon.cygnus.com) + + * acspecific.m4 (AC_PROG_CC, AC_PROG_CXX): Cache results. + Eliminate temp file in gcc test. + (AC_GCC_TRADITIONAL): Cache results. + +Wed May 25 14:45:44 1994 David J. Mackenzie (djm@poseidon.cygnus.com) + + * acspecific.m4 (AC_VPRINTF): Use AC_FUNC_CHECK. + + * acgeneral.m4 (AC_CONFIG_AUX_DIR): Renamed from AC_CONFIG_AUXDIR. + (AC_SUBST_FILE): Macro deleted; didn't work, not clear it's needed. + + * acgeneral.m4 (AC_SITE_LOAD): New macro. + (AC_PREPARE): Call it. + +Wed May 25 08:18:07 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * acgeneral.m4: m4exit if --version, to reduce needless delay. + + * acgeneral.m4 (AC_PREPARE): Redirect file descriptor 6 to + config.log. + (AC_LANG_C, AC_LANG_CPLUSPLUS): Send compiler messages to desc 6. + * acspecific.m4 (AC_MINUS_C_MINUS_O): Likewise. + * Makefile.in (distclean): Remove config.log. + + * acgeneral.m4 (AC_PREPARE): Add AC_BEFORE calls for AC_CONFIG_HEADER, + AC_REVISION, AC_PREREQ, and AC_CONFIG_SUBDIRS. + Add AC_PROVIDE calls to those macros and AC_ARG_ENABLE and AC_ARG_WITH. + + * acgeneral.m4 (AC_CANONICAL_SYSTEM, AC_CANONICAL_HOST, + AC_CANONICAL_TARGET, AC_CANONICAL_BUILD): Add "ICAL" to names. + (AC_LINK_FILES): Renamed from AC_MAKE_LINKS. + (AC_TEST_RUN): Renamed from AC_TEST_PROGRAM, which is now an alias. + * acspecific.m4: Change callers to use new name. + + * acgeneral.m4 (AC_PREFIX_INTERNAL): Renamed from AC_PREFIX. + (AC_PREFIX): Obsolete wrapper for it. + (AC_PREFIX_PROGRAM): Define a variable. + (AC_PREPARE): Call AC_PREFIX_INTERNAL if that variable is set. + +Tue May 24 18:49:35 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * acspecific.m4 (AC_ALLOCA): Don't declare alloca if it's already + defined. From Bill Sommerfeld. + + * acgeneral.m4 (AC_TEST_PROGRAM): Verbosely note when using the + cross-compiling default. + (AC_CACHE_WRITE): Set the cache values only if not already set. + (AC_PARSEARGS, AC_OUTPUT): Allow giving an empty prefix or exec_prefix. + + * acgeneral.m4, acspecific.m4: Rename AC_CONFIG_AUX* to + AC_CONFIG_AUXDIR*. + + * acgeneral.m4 (AC_OUTPUT, AC_OUTPUT_HEADER): Add an env var + CONFIG_STATUS to allow overriding the name of config.status. + + * acspecific.m4 (AC_MINUS_C_MINUS_O): If $CC=cc, don't duplicate + the check. From Jim Meyering. + + * acgeneral.m4 (AC_TEST_PROGRAM): Add missing newline. + Always include 'fi' for cross-compiling if. + From Jim Meyering. + + * Makefile.in (prefix, exec_prefix): Use @ substitutions. + + * acgeneral.m4: Make default cache file ./config.cache, + so PATH is not used by "." command. From Jim Meyering. + +Thu May 19 06:05:07 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * acspecific.m4 (AC_STRUCT_TM): Fixed checking message to be less + confusing. + +Wed May 18 22:11:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_BINSH): New macro. + (AC_INIT, AC_REVISION): Require AC_BINSH first thing. + +Wed May 18 09:08:39 1994 David J. MacKenzie (djm@burnout.eng.umd.edu) + + * acgeneral.m4: Rename some internal macros. + Give the diversions symbolic names. + (AC_ARG_ENABLE, AC_ARG_WITH, AC_ENABLE_INTERNAL, AC_WITH_INTERNAL): + New macros. + (AC_PARSEARGS): Print --with and --enable help strings. + (AC_ENABLE, AC_WITH): Make wrappers around _INTERNAL functions. + Mark obsolete. + (AC_PREPARE): Execute any saved up --with or --enable code. + +Tue May 17 15:18:00 1994 David J. MacKenzie (djm@bleen.eng.umd.edu) + + * acgeneral.m4 (AC_REVISION): Move quotes around to make it work + again. + +Sat May 14 07:30:57 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acgeneral.m4, acspecific.m4: Clean up some comments. + +Tue May 10 09:50:12 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acspecific.m4 (AC_PROG_INSTALL): set the _path_ cache variable, + not the _program_ one. + * acgeneral.m4 (AC_PREFIX): Call AC_PROGRAM_PATH instead of + duplicating it. + (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): If the user set the variable + in the environment, cache that value. + (AC_PREPARE, AC_CHECKING, AC_VERBOSE): Use file descriptors 4 and + 5 for checking and results messages. Idea from metaconfig 3.0. + +Mon May 9 08:20:14 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acgeneral.m4 (AC_TEST_PROGRAM): If no default for + cross-compiling is given, but we are cross-compiling, give an error. + (AC_PROGRAM_EGREP, AC_TEST_LINK, AC_TEST_PROGRAM, AC_TEST_CPP): + Don't add an extra blank line after the if-clause. + (AC_REVISION): Merge AC_DOREV into this macro. + Rename some macros: + AC_SYSTEM_TYPE -> AC_CANON_SYSTEM + AC_HOST_TYPE -> AC_CANON_HOST + AC_TARGET_TYPE -> AC_CANON_TARGET + AC_BUILD_TYPE -> AC_CANON_BUILD + (AC_OUTPUT): Don't do Cygnus-style magic + substitutions on prefix and exec_prefix, just initialize and + substitute them normally. + +Sun May 8 01:09:42 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * acspecific.m4 (AC_AIX, AC_MINIX, AC_ISC_POSIX): Don't call + AC_BEFORE for AC_HEADER_EGREP, to avoid require loops. + * acgeneral.m4 (AC_HEADER_EGREP): Call AC_PROGRAM_EGREP instead of + duplicating most of it. + +Fri May 6 15:26:48 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acspecific.m4 (AC_YYTEXT_POINTER): Use AC_TEST_LINK, not + AC_TEST_PROGRAM. + +Fri May 6 00:45:29 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acspecific.m4, acgeneral.m4: Add dnl after AC_PROVIDE, + AC_REQUIRE, and AC_BEFORE calls. + Use AC_CHECKING and AC_TEST_LINK instead of AC_COMPILE_CHECK. + + * acgeneral.m4 (AC_TEST_LINK): New macro. + (AC_COMPILE_CHECK): Mark obsolete. Call AC_CHECKING and + AC_TEST_LINK. + (AC_PROGRAM_CHECK, AC_PROGRAM_PATH, AC_HAVE_LIBRARY, AC_HEADER_CHECK, + AC_FUNC_CHECK, AC_SIZEOF_TYPE): Print "checking" messages even if + using cached values. Use AC_TEST_LINK instead of AC_COMPILE_CHECK. + * acspecific.m4 (AC_PROG_INSTALL): Ditto. + + * acgeneral.m4 (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): Fix nesting in + cache use. + + * acspecific.m4 (AC_PROG_INSTALL): Ditto. + + * acgeneral.m4 (AC_OUTPUT_CONFIG_SUBDIRS): Adjust relative cache + file paths before passing them to sub-configures. Omit existing + --cache-file arguments. + +Thu May 5 21:38:51 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acgeneral.m4 (AC_FUNC_CHECK, AC_HEADER_CHECK): Combine redundant + code. Use AC_CACHE_VAL. + (AC_SIZEOF_TYPE): Use AC_CACHE_VAL. + +Thu May 5 12:51:32 1994 David J. MacKenzie (djm@gamera.eng.umd.edu) + + * Makefile.in (all): Don't depend on info files. + (install): Don't install INSTALL. + (installcheck, install-info): New targets. + +Thu May 5 08:49:39 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * Makefile.in (dist): chmod the dist directory, not the current + directory. Don't depend on DISTFILES. + + * autoconf.sh: Go back to old way of doing NLS nuisance test. + * autoheader.sh: Ditto. + * acgeneral.m4: Ditto. + +Thu May 5 08:36:19 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acgeneral.m4: Use "yes" and "no" or "" uniformly for boolean + variables' values. Don't assume default values. + (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): Always set the cache variable + and use different ones. + + * acspecific.m4: Use "yes" and "no" or "" uniformly for boolean + variables' values. Don't assume default values. + (AC_STDC_HEADERS, AC_ALLOCA): Untangle nested tests. + +Thu May 5 07:51:38 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * Makefile.in (distclean): Remove config.cache. + +Wed May 4 19:41:35 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_HAVE_LIBRARY): Use AC_CACHE_VAL. + + * Makefile.in (install): Depend on all again. + (install-info): Depend on info again. + +Wed May 4 15:05:11 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acspecific.m4 (AC_PROG_INSTALL): Use AC_CACHE_VAL. + * acgeneral.m4 (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): Use AC_CACHE_VAL. + (AC_REPLACE_FUNCS): Use AC_FUNC_CHECK. + Rearrange general tests into 4 categories: + Checking for files - fundamental (caching) + Checking for files - derived (caching) + Checking for C features - fundamental (no caching) + Checking for C features - derived (caching) + + * acgeneral.m4 (AC_CACHE_LOAD, AC_CACHE_SAVE, AC_CACHE_VAL): + New macros. + (AC_PREPARE): Call AC_CACHE_LOAD. + (AC_OUTPUT): Call AC_CACHE_SAVE. + (AC_PARSEARGS): Add --cache-file=FILE option. + (AC_CONFIG_SUBDIRS): Pass --cache-file to subdirectory configures. + + * acgeneral.m4 (AC_OUTPUT_CONFIG_SUBDIRS): Renamed from + AC_CONFIG_SUBDIRS. + (AC_CONFIG_SUBDIRS): Just define AC_SUBDIR_LIST. + (AC_OUTPUT): Call AC_OUTPUT_CONFIG_SUBDIRS if AC_SUBDIR_LIST is + defined. + Make config.status --recheck pass --norecursion to configure. + + * acspecific.m4 (AC_SETVBUF_REVERSED): Print "checking" message. + +Wed May 4 10:40:56 1994 David J. MacKenzie (djm@burnout.eng.umd.edu) + + * autoreconf.sh: Add options [--help] [--macrodir=dir] [--verbose] + [--version]. + + * acspecific.m4 (AC_GCC_TRADITIONAL, AC_SET_MAKE, AC_RSH, + AC_GETLOADAVG, AC_CROSS_CHECK): Print results verbosely. + (AC_GETLOADAVG): Name space cleanup. + +Wed May 4 09:32:04 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * autoheader.sh, autoconf.sh, acgeneral.m4: Make the NLS + nuisance test actually do something. + +Mon May 2 16:31:33 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * configure.in: Check for standards.texi. + * Makefile.in: Put everything back into one directory. + Don't assume standards.* exist. + +Sat Apr 30 09:37:06 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * acgeneral.m4 (AC_OUTPUT): Change >> to > in sed command. + +Fri Apr 29 21:56:33 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * Makefile.in (all): Make autoreconf too. + +Fri Apr 29 21:03:48 1994 David J. MacKenzie (djm@aria.eng.umd.edu) + + * acgeneral.m4 (AC_OUTPUT): When doing substitutions on files, if + the file starts with "#!", put the "automatically generated" + comment on the second line instead of the first. + +Fri Apr 29 12:53:53 1994 David J. MacKenzie (djm@burnout.eng.umd.edu) + + * acgeneral.m4 (AC_CONFIG_AUX, AC_CONFIG_AUX_DEFAULT, + AC_CONFIG_AUX_DIRS, AC_SYSTEM_TYPE, AC_HOST_TYPE, AC_TARGET_TYPE, + AC_BUILD_TYPE, AC_SUBST_FILE, AC_MAKE_LINKS, AC_OUTPUT_MAKE_LINKS, + AC_CONFIG_SUBDIRS): New macros. + + * acspecific.m4 (AC_PROG_INSTALL): Use install.sh from ac_aux_dir. + + * Makefile.in: Remove references to standards.*. + Add autoreconf. + +Thu Apr 28 12:01:01 1994 David J. MacKenzie (djm@burnout.eng.umd.edu) + + * Makefile.in (dist): Add .., ../etc, and ../texinfo files. + + * acspecific.m4 (AC_LN_S): Add verbose messages. + + * Makefile.in, configure.in: Add autoscan and its data files. + Check for perl. + + + ----- + + Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free + Software Foundation, Inc. + + This program is free software: you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see + <http://www.gnu.org/licenses/>. diff --git a/static/netbsd/man2/RELEASE_NOTES-2.2 b/static/netbsd/man2/RELEASE_NOTES-2.2 new file mode 100644 index 00000000..e7e2cd84 --- /dev/null +++ b/static/netbsd/man2/RELEASE_NOTES-2.2 @@ -0,0 +1,443 @@ +The stable Postfix release is called postfix-2.2.x where 2=major +release number, 2=minor release number, x=patchlevel. The stable +release never changes except for patches that address bugs or +emergencies. Patches change the patchlevel and the release date. + +New features are developed in snapshot releases. These are called +postfix-2.3-yyyymmdd where yyyymmdd is the release date (yyyy=year, +mm=month, dd=day). Patches are never issued for snapshot releases; +instead, a new snapshot is released. + +The mail_release_date configuration parameter (format: yyyymmdd) +specifies the release date of a stable release or snapshot release. + +Main changes with Postfix version 2.2 +------------------------------------- + +This is a summary of the changes. These and more are detailed in +the following sections of this document. + +- TLS and IPv6 support are now built into Postfix, based on code +from third-party patches. + +- Extended query interface for LDAP, MySQL and PostgreSQL with free +form SQL queries, and domain filters to reduce unnecessary lookups. + +- SMTP client-side connection reuse. This can dramatically speed +up deliveries to high-volume destinations that have some servers +that respond, and some non-responding mail servers. + +- By default, Postfix no longer rewrites message headers in mail +from remote clients. This includes masquerading, canonical mapping, +replacing "!" and "%" by "@", and appending the local domain to +incomplete addresses. Thus, spam from poorly written software no +longer looks like it came from a local user. + +- When your machine does not have its own domain name, Postfix can +now replace your "home network" email address by your ISP account +in outgoing SMTP mail, while leaving your email address unchanged +when sending mail to someone on the local machine. + +- Compatibility workarounds: you can now selectively turn off ESMTP +features such as AUTH or STARTTLS in the Postfix SMTP client or +server, without having to "dumb down" other mail deliveries, and +without having to use transport maps for outgoing mail. + +- Remote SMTP client resource control (the anvil server). This +allows you to limit the number of connections, or the number of +MAIL FROM and RCPT TO commands that an SMTP client can send per +unit time. + +- Support for CDB, SDBM and NIS+ databases is now built into Postfix +(but the CDB and SDBM libraries are not). + +- New SMTP access control features, and more. + +Major changes - critical +------------------------ + +BEFORE upgrading from an older release you MUST stop Postfix, unless +you're running a Postfix 2.2 snapshot release that already has +Postfix 2.2 IPV6 and TLS support. + +AFTER upgrading from an older release DO NOT copy the old +master.cf/main.cf files over the new files. Instead, you MUST let +the Postfix installation procedure update the existing configuration +files with new service entries. + +[Incompat 20041118] The master-child protocol has changed. The +Postfix master daemon will log warnings about partial status updates +if you don't stop and start Postfix. + +[Incompat 20041023, 20041009] The queue manager to delivery agent +protocol has changed. Mail will remain queued if you do not restart +the queue manager. + +[Incompat 20050111] The upgrade procedure adds the tlsmgr service +to the master.cf file. This service entry is not compatible with +the Postfix/TLS patch. + +[Feature 20040919] The upgrade procedure adds the discard service +to the master.cf file. + +[Feature 20040720] The upgrade procedure adds the scache (shared +connection cache) service to the master.cf file. + +Major changes - IPv6 support +---------------------------- + +[Feature 20050111] Postfix version 2.2 IP version 6 support based +on the Postfix/IPv6 patch by Dean Strik and others. IPv6 support +is always compiled into Postfix on systems that have Postfix +compatible IPv6 support. On other systems Postfix will simply use +IP version 4 just like it did before. See the IPV6_README document +for what systems are supported, and how to turn on IPv6 in main.cf. + +[Incompat 20050111] Postfix version 2.2 IPv6 support differs from +the Postfix/IPv6 patch by Dean Strik in a few minor ways. + +- Network protocol support including DNS lookup is selected with +the inet_protocols parameter instead of the inet_interfaces parameter. +This is needed so that Postfix will not attempt to deliver mail via +IPv6 when the system has no IPv6 connectivity. + +- The lmtp_bind_address6 feature was omitted. The Postfix LMTP +client will be absorbed into the SMTP client, so there is no reason +to keep adding features to the LMTP client. + +- The CIDR-based address matching code was rewritten. The new +behavior is believed to be closer to expectation. The results may +be incompatible with that of the Postfix/IPv6 patch. + +[Incompat 20050117] The Postfix SMTP server now requires that IPv6 +addresses in SMTP commands are specified as [ipv6:ipv6address], as +described in RFC 2821. + +Major changes - TLS support +--------------------------- + +[Feature 20041210] Postfix version 2.2 TLS support, based on the +Postfix/TLS patch by Lutz Jaenicke. TLS support is not compiled +in by default. For more information about Postfix 2.2 TLS support, +see the TLS_README document. + +[Incompat 20041210] Postfix version 2.2 TLS support differs from +the Postfix/TLS patch by Lutz Jaenicke in a few minor ways. + +- main.cf: Use btree instead of sdbm for TLS session cache databases. + + Session caches are now accessed only by the tlsmgr(8) process, + so there are no concurrency issues. Although Postfix still has + an SDBM client, the SDBM library (1000 lines of code) is no longer + included with Postfix. + + TLS session caches can use any database that can store objects + of several kbytes or more, and that implements the sequence + operation. In most cases, btree databases should be adequate. + + NOTE: You cannot use dbm databases. TLS session objects are too + large. + +- master.cf: Specify unix instead of fifo for the tlsmgr service type. + This change is automatically made by the Postfix upgrade procedure. + + The smtp(8) and smtpd(8) processes use a client-server protocol + in order to access the tlsmgr(8)'s pseudo-random number generation + (PRNG) pool, and in order to access the TLS session cache databases. + Such a protocol cannot be run across fifos. + +[Feature 20050209] The Postfix SMTP server policy delegation protocol +now supplies TLS client certificate information after successful +verification. The new policy delegation protocol attribute names +are ccert_subject, ccert_issuer and ccert_fingerprint. + +[Feature 20050208] New "check_ccert_maps maptype:mapname" feature +to enforce access control based on hexadecimal client certificate +fingerprints. + +Major changes - SMTP client connection cache +-------------------------------------------- + +[Feature 20040720] SMTP client-side connection caching. Instead of +disconnecting immediately after a mail transaction, the Postfix +SMTP client can save the open connection to the scache(8) connection +cache daemon, so that any SMTP client process can reuse that session +for another mail transaction. See the CONNECTION_CACHE_README +document for a description of configuration and implementation. + +This feature introduces the scache (connection cache) server, which +is added to your master.cf file when you upgrade Postfix. + +[Feature 20040729] Opportunistic SMTP connection caching. When a +destination has a high volume of mail in the active queue, SMTP +connection caching is enabled automatically. This is controlled +with a new configuration parameter "smtp_connection_cache_on_demand" +(default: yes). + +[Feature 20040723] Per-destination SMTP connection caching. This +is enabled with the smtp_connection_cache_destinations parameter. +The parameter requires "bare" domain names or IP addresses without +"[]" or TCP port, to avoid a syntax conflict between host:port and +maptype:mapname entries. + +[Feature 20040721] The scache(8) connection cache manager logs cache +hit and miss statistics every $connection_cache_status_update_time +seconds (default: 600s). It reports the hit and miss rates for +lookups by domain, as well as for lookups by network address. + +Major changes - address rewriting +--------------------------------- + +[Feature 20050206] Support for address rewriting in outgoing SMTP +mail (headers and envelopes). This is useful for sites that have a +fantasy Internet domain name such as localdomain.local. Mail +addresses that use fantasy domain names are often rejected by mail +servers. + +The smtp_generic_maps feature allows you to replace a local mail +address (user@localdomain.local) by a valid Internet address +(account@isp.example) when mail is sent across the Internet. The +feature has no effect on mail that is sent between accounts on the +local machine. The syntax is described in generic(5) and a detailed +example is in the STANDARD_CONFIGURATION_README document, the section +titled "Postfix on hosts without a real Internet hostname". + +[Feature 20041023] By default, Postfix no longer rewrites message +headers in mail from remote clients. This includes masquerading, +canonical mapping, replacing "!" and "%" by "@", and appending the +local domain to incomplete addresses. Thus, spam from poorly written +software no longer looks like it came from a local user. + +By default, Postfix rewrites message header addresses only when the +client IP address matches the local machine's interface addresses, +or when mail is submitted with the Postfix sendmail(1) command. + +Postfix rewrites message headers in mail from other clients only +when the remote_header_rewrite_domain parameter specifies a domain +name (such as "domain.invalid"); this domain is appended to incomplete +addresses. Rewriting also includes masquerading, canonical mapping, +and replacing "!" and "%" by "@". + +To get the behavior before Postfix 2.2 (always append Postfix's own +domain to incomplete addresses in message headers, always subject +message headers to canonical mapping, address masquerading, and +always replace "!" and "%" by "@") specify: + +/etc/postfix/main.cf: + local_header_rewrite_clients = static:all + +If you must rewrite headers in mail from specific clients then you +can specify, for example, + +/etc/postfix/main.cf: + local_header_rewrite_clients = permit_mynetworks, + permit_sasl_authenticated, permit_tls_clientcerts, + check_address_map hash:/etc/postfix/pop-before-smtp + +Postfix always appends local domain information to envelope addresses +(as opposed to header addresses), because an unqualified envelope +address is effectively local for the purpose of delivery, and for +the purpose of replying to it. + +Full details are given in ADDRESS_REWRITING_README, and in the +postconf(5) manual. For best results, point your browser at the +ADDRESS_REWRITING_README.html file and navigate to the section +titled " To rewrite message headers or not, or to label as invalid". + +[Incompat 20050212] When header address rewriting is enabled, Postfix +now updates a message header only when at least one address in that +header is modified. Older Postfix versions first parse and then +un-parse a header so that there may be subtle changes in formatting, +such as the amount of whitespace between tokens. + +[Incompat 20050227] Postfix no longer changes message header labels. +Thus, FROM: or CC: are no longer replaced by From: or Cc:. + +[Feature 20040827] Finer control over canonical mapping with +canonical_classes, sender_canonical_classes and +recipient_canonical_classes. These specify one or more of +envelope_sender, header_sender, envelope_recipient or header_recipient. +The default settings are backwards compatible. + +Major changes - SMTP compatibility controls +------------------------------------------- + +[Feature 20041218] Fine control for SMTP inter-operability problems, +by discarding keywords that are sent or received with the EHLO +handshake. Typically one would discard "pipelining", "starttls", +or "auth" to work around systems with a broken implementation. +Specify a list of EHLO keywords with the smtp(d)_discard_ehlo_keywords +parameters, or specify one or more lookup tables, indexed by remote +network address, with the smtp(d)_discard_ehlo_keyword_address_maps +parameters. + +Note: this feature only discards words from the EHLO conversation; +it does not turn off the actual features in the SMTP server. + +Major changes - database support +-------------------------------- + +[Feature 20050209] Extended LDAP, MySQL and PgSQL query interface +with free form SQL queries, the domain filter optimization that was +already available with LDAP and more. This code was worked on by +many people but Victor Duchovni took the lead. See the respective +{LDAP,MYSQL,PGSQL}_README and {ldap,mysql,pgsql}_table documents. + +[Feature 20041210] You can now dump an entire database with the new +postmap/postalias "-s" option. This works only for database types +with Postfix sequence operator support: hash, btree, dbm, and sdbm. + +[Feature 20041208] Support for CDB databases by Michael Tokarev. +This supports both Michael's tinycdb and Daniel Bernstein's cdb +implementations, but neither of the two implementations is bundled +with Postfix. + +[Feature 20041023] The NIS+ client by Geoff Gibbs is now part of +the Postfix source tree. Details are given in the nisplus_table(5) +manual page. + +[Feature 20040827] Easier use of the proxymap(8) service with the +virtual(8) delivery agent. The virtual(8) delivery agent will +silently open maps directly when those maps can't be proxied for +security reasons. This means you can now specify "virtual_mailbox_maps += proxy:mysql:whatever" without triggering a fatal error in the +virtual(8) delivery agent. + +Major changes - remote SMTP client resource control +--------------------------------------------------- + +[Incompat 20041009] The smtpd_client_connection_limit_exceptions +parameter is renamed to smtpd_client_event_limit_exceptions. Besides +connections it now also applies to per-client message rate and +recipient rate limits. + +[Feature 20041009] Per SMTP client message rate and recipient rate +limits. These limit the number of MAIL FROM or RCPT TO requests +regardless of whether or not Postfix would have accepted them +otherwise. The user interface (smtpd_client_message_rate_limit and +smtpd_client_recipient_rate_limit) is similar to that of the existing +per SMTP client connection rate limit, and the same warnings apply: +these features are to be used to stop abuse, and must not be used +to regulate legitimate mail. More details can be found in the +postconf(5) manual. + +Major changes - remote SMTP client access control +------------------------------------------------- + +[Feature 20050209] The Postfix SMTP server policy delegation protocol +now supplies TLS client certificate information after successful +verification. The new policy delegation protocol attribute names +are ccert_subject, ccert_issuer and ccert_fingerprint. + +[Feature 20050208] New "check_ccert_maps maptype:mapname" feature +to enforce access control based on hexadecimal client certificate +fingerprints. + +[Feature 20050203] New "permit_inet_interfaces" access restriction +to allow access from local IP addresses only. This is used for the +default, purist, setting of local_header_rewrite_clients (rewrite +only headers in mail from this machine). + +[Feature 20050203] New "sleep time-in-seconds" pseudo access +restriction to block zombie clients with reject_unauthorized_pipelining +before the Postfix SMTP server sends the SMTP greeting. See postconf(5) +for example. This feature is not available the stable Postfix 2.2 +release, but it is documented here so that it will not get lost. + +[Feature 20041118] New "smtpd_end_of_data_restrictions" feature +that is invoked after the client terminates the SMTP DATA command. +The syntax is the same as with "smtpd_data_restrictions". In the +SMTPD policy delegation request, the message size is the actual +byte count of the message content, instead of the message size +announced by the client in the MAIL FROM command. + +Major changes - SASL authentication +----------------------------------- + +[Feature 20040827] Better SMTP client control over the use of SASL +mechanisms. New smtp_sasl_mechanism_filter mechanism to shorten the +list of SASL mechanisms from a remote server to just those that the +local SASL library can actually use. + +Major changes - header/body patterns +------------------------------------ + +[Feature 20050205] REPLACE action in header_checks and body_checks, +to replace a message header or body line. See header_checks(5) for +details. + +Major changes - local delivery +------------------------------ + +[Feature 20040621] Control over the working directory when executing +an external command. With the pipe(8) mailer, specify directory=pathname, +and with local(8) specify "command_execution_directory = expression" +where "expression" is subject to $home etc. macro expansion. The +result of macro expansion is restricted by the set of characters +specified with execution_directory_expansion_filter. + +Major changes - mail delivery attributes +---------------------------------------- + +[Feature 20041218] More client attributes for delivery to command +with the local(8) and pipe(8) delivery agents: client_hostname, +client_address, client_protocol, client_helo, sasl_method, sasl_sender, +and sasl_username. With local(8), attribute names must be specified +in upper case. + +Major changes - package creation +-------------------------------- + +[Feature 20050203] To create a ready-to-install package for +distribution to other systems you can now use "make package" or +"make non-interactive-package", instead of invoking the internal +postfix-install script by hand. See the PACKAGE_README file for +details. + +Major changes - performance +--------------------------- + +[Incompat 20050117] Only the deferred and defer queue directories +are now hashed by default, instead of eight queue directories. This +may speed up Postfix boot time on low-traffic systems without +compromising performance under high load too much. Hashing must be +turned on for the defer and deferred queue directories, because +those directories contain lots of files when undeliverable mail is +backing up. + +[Incompat 20040720] The default SMTP/LMTP timeouts for sending RSET +are reduced to 20s. + +Major changes - miscellaneous +----------------------------- + +[Feature 20050203] Safety: Postfix no longer tries to send mail to +the fallback_relay when the local machine is MX host for the mail +destination. See the postconf(5) description of the fallback_relay +feature for details. + +[Incompat 20041023] Support for the non-standard Errors-To: return +addresses is now removed from Postfix. It was already disabled by +default with Postfix version 2.1. Since Errors-To: is non-standard, +there was no guarantee that it would have the desired effect with +other MTAs. + +[Feature 20040919] A new discard(8) mail delivery agent that makes +throwing away mail easier and more efficient. It's the Postfix +equivalent of /dev/null for mail deliveries. On the mail receiving +side, Postfix already has a /dev/null equivalent in the form of the +DISCARD action in access maps and header_body_checks. + +[Feature 20040919] Access control for local mail submission, for +listing the queue, and for flushing the queue. These features are +controlled with authorized_submit_users, authorized_mailq_users, +and with authorized_flush_users, respectively. The last two controls +are always permitted for the super-user and for the mail system +owner. More information is in the postconf(5) manual. + +[Incompat 20040829] When no recipients are specified on the command +line or via the -t option, the Postfix sendmail command terminates +with status EX_USAGE and produces an error message instead of +accepting the mail first and bouncing it later. This gives more +direct feedback in case of a common client configuration error. + diff --git a/static/netbsd/man2/RELEASE_NOTES-3.2 b/static/netbsd/man2/RELEASE_NOTES-3.2 new file mode 100644 index 00000000..876d4b7a --- /dev/null +++ b/static/netbsd/man2/RELEASE_NOTES-3.2 @@ -0,0 +1,180 @@ +This is the Postfix 3.2 (stable) release. + +The stable Postfix release is called postfix-3.2.x where 3=major +release number, 2=minor release number, x=patchlevel. The stable +release never changes except for patches that address bugs or +emergencies. Patches change the patchlevel and the release date. + +New features are developed in snapshot releases. These are called +postfix-3.3-yyyymmdd where yyyymmdd is the release date (yyyy=year, +mm=month, dd=day). Patches are never issued for snapshot releases; +instead, a new snapshot is released. + +The mail_release_date configuration parameter (format: yyyymmdd) +specifies the release date of a stable release or snapshot release. + +If you upgrade from Postfix 3.0 or earlier, read RELEASE_NOTES-3.1 +before proceeding. + +Invisible changes +----------------- + +In addition to the visible changes described below, there is an +ongoing overhaul of low-level code. With each change come updated +tests to ensure that future changes will not 'break' compatibility +with past behavior. + +Major changes - address mapping +------------------------------- + +[Feature 20170128] Postfix 3.2 fixes the handling of address +extensions with email addresses that contain spaces. For example, +the virtual_alias_maps, canonical_maps, and smtp_generic_maps +features now correctly propagate an address extension from "aa +bb+ext"@example.com to "cc dd+ext"@other.example, instead of +producing broken output. + +Major changes - header/body_checks +---------------------------------- + +[Feature 20161008] "PASS" and "STRIP" actions in header/body_checks. +"STRIP" is similar to "IGNORE" but also logs the action, and "PASS" +disables header, body, and Milter inspection for the remainder of +the message content. Contributed by Hobbit. + +Major changes - log analysis +---------------------------- + +[Feature 20160330] The collate.pl script by Viktor Dukhovni for +grouping Postfix logfile records into "sessions" based on queue ID +and process ID information. It's in the auxiliary/collate directory +of the Postfix source tree. + +Major changes - maps support +---------------------------- + +[Feature 20160527] Postfix 3.2 cidr tables support if/endif and +negation (by prepending ! to a pattern), just like regexp and pcre +tables. The primarily purpose is to improve readability of complex +tables. See the cidr_table(5) manpage for syntax details. + +[Incompat 20160925] In the Postfix MySQL database client, the default +option_group value has changed to "client", to enable reading of +"client" option group settings in the MySQL options file. This fixes +a "not found" problem with Postfix queries that contain UTF8-encoded +non-ASCII text. Specify an empty option_group value (option_group +=) to get backwards-compatible behavior. + +[Feature 20161217] Stored-procedure support for MySQL databases. +Contributed by John Fawcett. See mysql_table(5) for instructions. + +[Feature 20170128] The postmap command, and the inline: and texthash: +maps now support spaces in left-hand field of the lookup table +"source text". Use double quotes (") around a left-hand field that +contains spaces, and use backslash (\) to protect embedded quotes +in a left-hand field. There is no change in the processing of the +right-hand field. + +Major changes - milter support +------------------------------ + +[Feature 20160611] The Postfix SMTP server local IP address and +port are available in the policy delegation protocol (attribute +names: server_address, server_port), in the Milter protocol (macro +names: {daemon_addr}, {daemon_port}), and in the XCLIENT protocol +(attribute names: DESTADDR, DESTPORT). + +[Feature 20161024] smtpd_milter_maps support for per-client Milter +configuration that overrides smtpd_milters, and that has the same +syntax. A lookup result of "DISABLE" turns off Milter support. See +MILTER_README.html for details. + +Major changes - policy delegation +--------------------------------- + +[Feature 20160611] The Postfix SMTP server local IP address and +port are available in the policy delegation protocol (attribute +names: server_address, server_port), in the Milter protocol (macro +names: {daemon_addr}, {daemon_port}), and in the XCLIENT protocol +(attribute names: DESTADDR, DESTPORT). + +Major changes - postqueue +------------------------- + +[Incompat 20170129] The postqueue command no longer forces all +message arrival times to be reported in UTC. To get the old behavior, +set TZ=UTC in main.cf:import_environment (this override is not +recommended, as it affects all Postfix utities and daemons). + +Major changes - safety +---------------------- + +[Incompat 20161227] For safety reasons, the sendmail -C option must +specify an authorized directory: the default configuration directory, +a directory that is listed in the default main.cf file with +alternate_config_directories or multi_instance_directories, or the +command must be invoked with root privileges (UID 0 and EUID 0). +This mitigates a recurring problem with the PHP mail() function. + +Major changes - sasl +-------------------- + +[Feature 20160625] The Postfix SMTP server now passes remote client +and local server network address and port information to the Cyrus +SASL library. Build with ``make makefiles "CCARGS=$CCARGS +-DNO_IP_CYRUS_SASL_AUTH"'' for backwards compatibility. + +Major changes - smtputf8 +------------------------ + +[Feature 20161103] Postfix 3.2 disables the 'transitional' compatibility +between the IDNA2003 and IDNA2008 standards for internationalized +domain names (domain names beyond the limits of US-ASCII). + +This change makes Postfix behavior consistent with contemporary web +browsers. It affects the handling of some corner cases such as +German sz and Greek zeta. See http://unicode.org/cldr/utility/idna.jsp +for more examples. + +Specify "enable_idna2003_compatibility = yes" to restore historical +behavior (but keep in mind that the rest of the world may not make +that same choice). + +Major changes - tls +------------------- + +[Feature 20160828] Fixes for deprecated OpenSSL 1.1.0 API features, +so that Postfix will build without depending on backwards-compatibility +support. + +[Incompat 20161204] Postfix 3.2 removes tentative features that +were implemented before the DANE spec was finalized: + +- Support for certificate usage PKIX-EE(1), + +- The ability to disable digest agility (Postfix now behaves as if + "tls_dane_digest_agility = on"), and + +- The ability to disable support for "TLSA 2 [01] [12]" records + that specify the digest of a trust anchor (Postfix now behaves + as if "tls_dane_trust_anchor_digest_enable = yes). + +[Feature 20161217] Postfix 3.2 enables elliptic curve negotiation +with OpenSSL >= 1.0.2. This changes the default smtpd_tls_eecdh_grade +setting to "auto", and introduces a new parameter tls_eecdh_auto_curves +with the names of curves that may be negotiated. + +The default tls_eecdh_auto_curves setting is determined at compile +time, and depends on the Postfix and OpenSSL versions. At runtime, +Postfix will skip curve names that aren't supported by the OpenSSL +library. + +Major changes - xclient +----------------------- + +[Feature 20160611] The Postfix SMTP server local IP address and +port are available in the policy delegation protocol (attribute +names: server_address, server_port), in the Milter protocol (macro +names: {daemon_addr}, {daemon_port}), and in the XCLIENT protocol +(attribute names: DESTADDR, DESTPORT). + diff --git a/static/netbsd/man2/__quotactl.2 b/static/netbsd/man2/__quotactl.2 new file mode 100644 index 00000000..1f83f1f0 --- /dev/null +++ b/static/netbsd/man2/__quotactl.2 @@ -0,0 +1,355 @@ +.\" $NetBSD: __quotactl.2,v 1.4 2022/07/31 06:21:41 dholland Exp $ +.\" +.\" Copyright (c) 1983, 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Robert Elz at The University of Melbourne. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)quotactl.2 8.2 (Berkeley) 3/10/95 +.\" +.Dd February 11, 2012 +.Dt __QUOTACTL 2 +.Os +.Sh NAME +.Nm __quotactl +.Nd manipulate file system quotas +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/quota.h +.In sys/quotactl.h +.Ft int +.Fn __quotactl "const char *path" "struct quotactl_args *args" +.Sh DESCRIPTION +The +.Fn __quotactl +call manipulates file system quotas. +This is an internal interface and is documented for reference purposes +only. +All application and utility code should use the +.Xr libquota 3 +interface. +.Pp +The +.Fn __quotactl +function performs one of several quota-related operations on the file +system named by +.Fa path . +The operation and arguments to that operation are passed in the +.Fa args +argument. +The operation is stored in the +.Fa qc_op +member of +.Fa args . +The arguments are placed in a union such that the first and second +arguments of the operation +.Dv QUOTACTL_EXAMPLE +are found as the members +.Fa u.example.qc_arg1 +and +.Fa u.example.qc_arg2 . +The descriptions below will refer to the operations as functions of +the form +.Fn QUOTACTL_EXAMPLE "int arg1" "int arg2" +and elide the encoding of these arguments into the +.Fa args +structure. +Explicit mention of the +.Fa path +argument is also omitted. +.Pp +There are fourteen quota control operations. +These are: +.Bl -tag -width abcdef +.\" ************************************************************ +.It Fn QUOTACTL_STAT "struct quotastat *info" +Information about the quota implementation on the selected volume is +returned in +.Fa info . +The +.Dv quotastat +structure contains the following members: +.Bl -tag -width qs_restrictions +.It qs_implname +A human-readable string describing the underlying implementation of +quotas. +This is suitable for display to users +.Pq and system administrators +but should not be interpreted by software. +See +.Xr quota_getimplname 3 . +.It qs_numidtypes +The number of ID types supported by this implementation. +See +.Xr quota_getnumidtypes 3 . +.It qs_numobjtypes +The number of object types supported by this implementation. +See +.Xr quota_getnumobjtypes 3 . +.It qs_restrictions +Flags identifying specific semantic limitations of the implementation. +See +.Xr quota_getrestrictions 3 . +.El +.\" ************************************************************ +.It Fn QUOTACTL_IDTYPESTAT "int idtype" "struct quotaidtypestat *info" +Information about a particular ID type on the selected volume is +returned in +.Fa info . +The +.Dv quotaidtypestat +structure contains the following members: +.Bl -tag -width qs_restrictions +.It qis_name +The name of the ID type. +See +.Xr quota_idtype_getname 3 . +.El +.\" ************************************************************ +.It Fn QUOTACTL_OBJYPESTAT "int objtype" "struct quotaobjtypestat *info" +Information about a particular object type on the selected volume is +returned in +.Fa info . +The +.Dv quotaobjtypestat +structure contains the following members: +.Bl -tag -width qs_restrictions +.It qos_name +The name of the object type. +See +.Xr quota_objtype_getname 3 . +.It qos_isbytes +A flag that is nonzero if the object type is something measured in +bytes. +See +.Xr quota_objtype_isbytes 3 . +.El +.\" ************************************************************ +.It Fn QUOTACTL_GET "const struct quotakey *key" "struct quotaval *val" +Return in +.Fa val +the quota information selected by +.Fa key . +See +.Xr quota_get 3 . +.\" ************************************************************ +.It Fn QUOTACTL_PUT "const struct quotakey *key" "const struct quotaval *val" +The quota information selected by +.Fa key +is updated to the values provided in +.Fa val . +Note that the current usage information, which is file system +meta-data, cannot be updated via this interface. +If the usage information is incorrect a tool such as +.Xr fsck 8 +or +.Xr quotacheck 8 +with file-system-specific knowledge must be used to repair the +on-disk information. +See +.Xr quota_put 3 . +.\" ************************************************************ +.It Fn QUOTACTL_DELETE "const struct quotakey *key" +The quota information selected by +.Fa key +is removed. +See +.Xr quota_delete 3 . +.\" ************************************************************ +.It Fn QUOTACTL_CURSOROPEN "struct quotakcursor *cursor" +A cursor for iterating the quota information is created. +The +.Dv quotakcursor +structure is a semi-opaque type holding the iteration state used by +the quota implementation. +The caller is responsible for allocating and maintaining storage for +the cursor. +Every cursor that is opened should be closed. +It is not specified whether a cursor remains valid if +.Xr memcpy 3 +is used to move it to a different location in user memory. +It is not specified whether or how a cursor may be duplicated. +Passing an uninitialized, corrupted, or closed cursor to operations +other than +.Fn QUOTACTL_CURSOROPEN +will produce unspecified behavior. +As per general standards for system calls such actions must not +produce undefined or materially adverse behavior in the kernel; +however, the effect on a user process may be arbitrary. +The +.Xr libquota 3 +interface wraps the system call level quota cursors in a friendlier +interface. +See +.Xr quota_opencursor 3 . +.\" ************************************************************ +.It Fn QUOTACTL_CURSORCLOSE "struct quotakcursor *cursor" +The cursor passed in is closed. +See +.Xr quotacursor_close 3 . +.\" ************************************************************ +.It Fn QUOTACTL_CURSORSKIPIDTYPE "struct quotakcursor *cursor" "int idtype" +This operation provides a hint that iteration can skip over a +particular ID type. +The implementation is not obliged to honor the hint. +See +.Xr quotacursor_skipidtype 3 . +.\" ************************************************************ +.It Fn QUOTACTL_CURSORGET "struct quotakcursor *cursor" "struct quotakey *keys" "struct quotaval *vals" "unsigned maxnum" "unsigned *ret" +This operation retrieves data at the current cursor position and +advances it. +Up to +.Fa maxnum +quota records are retrieved and stored into the arrays named by +.Fa keys +and +.Fa vals . +The number of records retrieved is stored into the variable pointed to +by +.Fa ret . +See +.Xr quotacursor_get 3 +and +.Xr quotacursor_getn 3 . +.\" ************************************************************ +.It Fn QUOTACTL_CURSORATEND "struct quotakcursor *cursor" "int *ret" +This operation generates a nonzero value if the cursor has reached the +end of the available quota information and zero otherwise. +The generated value is stored into the variable pointed to by +.Fa ret . +See +.Xr quotacursor_atend 3 . +.\" ************************************************************ +.It Fn QUOTACTL_CURSORREWIND "struct quotakcursor *cursor" +This operation updates the cursor state so that further calls to +.Fn QUOTACTL_CURSORGET +will begin again at the start of the iteration. +See +.Xr quotacursor_rewind 3 . +.\" ************************************************************ +.It Fn QUOTACTL_QUOTAON "int idtype" "const char *quotafile" +This operation is accepted only by old-style +.Pq Dq quota1 +quota implementations. +Quotas for the ID type named by +.Fa idtype +are switched on, and the file +.Fa quotafile +is used to hold the quota information. +This operation can also be used when quotas are already switched on +to change the file used to hold the quota information. +Note however that as the current usage information in the file must be +consistent with the current state of the file system, in general it is +not safe to call +.Fn QUOTACTL_QUOTAON +except in single-user mode. +See +.Xr quotaon 8 +for more information. +Normally +quotaon 8 +is run during the boot sequence after +.Xr quotacheck 8 . +Also see +.Xr quota_quotaon 3 . +.\" ************************************************************ +.It Fn QUOTACTL_QUOTAOFF "int idtype" +This operation is accepted only by old-style +.Pq Dq quota1 +quota implementations. +Quotas for the ID type named by +.Fa idtype +are switched off. +Once quotas are switched off the file system behaves as if no quotas +are present. +Normally +quotaoff 8 +is run during the shutdown sequence. +Also see +.Xr quota_quotaoff 3 . +.\" ************************************************************ +.El +.Sh RETURN VALUES +On success, +.Fn __quotactl +returns 0. +Otherwise the value \-1 is returned and an error code reflecting the +reason for the failure is placed in +.Va errno . +.Sh ERRORS +.Fn __quotactl +failures include: +.Bl -tag -width Er +.It Bq Er EFAULT +A pointer points outside the process's allocated address space. +.It Bq Er EINVAL +The operation code was out of range; or +a requested ID or object type was out of range; or +a corrupted or invalid cursor was passed in. +.It Bq Er ENODEV +The requested action was inappropriate for +.Pq or not supported by +the selected volume. +.It Bq Er ENOENT +No quota information exists for the requested key. +.It Bq Er ENOMEM +Memory could not be allocated within the kernel. +.It Bq Er ENXIO +The target file system type is capable of supporting quotas, but +quotas are not enabled on the selected volume. +.It Bq Er EOPNOTSUPP +The target file system does not support quotas. +.El +.Sh SEE ALSO +.Xr quota 1 , +.Xr libquota 3 , +.Xr fstab 5 , +.Xr edquota 8 , +.Xr quotacheck 8 , +.Xr quotaon 8 , +.Xr quotarestore 8 , +.Xr repquota 8 +.Sh HISTORY +The original +.Fn quotactl +function call appeared in +.Bx 4.3 Reno . +The current +.Fn __quotactl +interface appeared in +.Nx 6.0 . +.Sh BUGS +As of this writing the error returns that occur in practice are not +always completely consistent with the intent documented above. +.Pp +There should be some way to integrate this call with the resource +limit interface provided by +.Xr setrlimit 2 +and +.Xr getrlimit 2 . diff --git a/static/netbsd/man2/_exit.2 b/static/netbsd/man2/_exit.2 new file mode 100644 index 00000000..97a66f61 --- /dev/null +++ b/static/netbsd/man2/_exit.2 @@ -0,0 +1,127 @@ +.\" $NetBSD: _exit.2,v 1.20 2022/10/18 07:33:15 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)_exit.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd October 17, 2022 +.Dt EXIT 2 +.Os +.Sh NAME +.Nm _Exit, _exit +.Nd terminate the calling process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In stdlib.h +.Ft void +.Fn _Exit "int status" +.In unistd.h +.Ft void +.Fn _exit "int status" +.Sh DESCRIPTION +The +.Fn _Exit +and +.Fn _exit +functions are equivalent. +They each terminate a process with the following consequences: +.Bl -bullet +.It +All of the descriptors open in the calling process are closed. +This may entail delays, for example, waiting for output to drain; +a process in this state may not be killed, as it is already dying. +.It +If the parent process of the calling process has an outstanding +.Xr wait 2 +call +or catches the +.Dv SIGCHLD +signal, +it is notified of the calling process's termination and +the +.Em status +is set as defined by +.Xr wait 2 . +(Note that only the least significant 8 bits of +.Em status +are preserved and returned to the parent via +.Xr wait 2 . ) +.It +The parent process-ID of all of the calling process's existing child +processes are set to 1; the initialization process +(see the DEFINITIONS section of +.Xr intro 2 ) +inherits each of these processes. +.It +If the termination of the process causes any process group +to become orphaned (usually because the parents of all members +of the group have now exited; see +.Dq orphaned process group +in +.Xr intro 2 ) , +and if any member of the orphaned group is stopped, +the +.Dv SIGHUP +signal and the +.Dv SIGCONT +signal are sent to all members of the newly-orphaned process group. +.It +If the process is a controlling process (see +.Xr intro 2 ) , +the +.Dv SIGHUP +signal is sent to the foreground process group of the controlling terminal, +and all current access to the controlling terminal is revoked. +.El +.Pp +Most C programs call the library routine +.Xr exit 3 , +which flushes buffers, closes streams, unlinks temporary files, etc., +before +calling +.Fn _exit . +.Sh RETURN VALUES +.Fn _Exit +and +.Fn _exit +can never return. +.Sh SEE ALSO +.Xr fork 2 , +.Xr sigaction 2 , +.Xr wait 2 , +.Xr exit 3 +.Sh STANDARDS +The +.Fn _exit +function conforms to +.St -p1003.1-90 . +The +.Fn _Exit +function conforms to +.St -isoC-99 . diff --git a/static/netbsd/man2/_ksem.2 b/static/netbsd/man2/_ksem.2 new file mode 100644 index 00000000..4a01cdbc --- /dev/null +++ b/static/netbsd/man2/_ksem.2 @@ -0,0 +1,97 @@ +.\" $NetBSD: _ksem.2,v 1.2 2015/11/29 21:38:10 wiz Exp $ +.\" +.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 30, 2015 +.Dt _KSEM 2 +.Os +.Sh NAME +.Nm _ksem , +.Nm _ksem_init , +.Nm _ksem_open , +.Nm _ksem_close , +.Nm _ksem_unlink , +.Nm _ksem_destroy , +.Nm _ksem_getvalue , +.Nm _ksem_post , +.Nm _ksem_wait , +.Nm _ksem_timedwait , +.Nm _ksem_trywait +.Nd back-end implementation for POSIX semaphores +.Sh SYNOPSIS +.In sys/ksem.h +.Ft int +.Fn _ksem_init "int value" "intptr_t *idp" +.Ft int +.Fn _ksem_open "const char *name" "int oflag" "mode_t mode" "unsigned int value" "intptr_t *idp" +.Ft int +.Fn _ksem_close "intptr_t id" +.Ft int +.Fn _ksem_unlink "const char *name" +.Ft int +.Fn _ksem_destroy "intptr_t id" +.Ft int +.Fn _ksem_getvalue "intptr_t id" "unsigned int *value" +.Ft int +.Fn _ksem_post "intptr_t id" +.Ft int +.Fn _ksem_wait "intptr_t id" +.Ft int +.Fn _ksem_timedwait "intptr_t id" "const struct timespec *abstime" +.Ft int +.Fn _ksem_trywait "intptr_t id" +.Sh DESCRIPTION +The +.Fn _ksem_* +family of system calls provide the kernel implementation of POSIX +semaphores. +.Sh RETURN VALUES +Successful calls to the +.Fn _ksem_* +system calls return a value of zero. +Otherwise, \-1 is returned and +.Va errno +is set to provide more information. +.Sh ERRORS +Please see the section 3 manual pages for specific error information. +.Sh SEE ALSO +.Xr sem_close 3 , +.Xr sem_destroy 3 , +.Xr sem_getvalue 3 , +.Xr sem_init 3 , +.Xr sem_open 3 , +.Xr sem_post 3 , +.Xr sem_unlink 3 , +.Xr sem_wait 3 , +.Xr sem 4 +.Sh HISTORY +Most of the +.Fn _ksem_* +system calls first appeared in +.Nx 2.0 . +The +.Fn _ksem_timedwait +system call first appeared in +.Nx 5.0 . diff --git a/static/netbsd/man2/_lwp_create.2 b/static/netbsd/man2/_lwp_create.2 new file mode 100644 index 00000000..c7c07a40 --- /dev/null +++ b/static/netbsd/man2/_lwp_create.2 @@ -0,0 +1,111 @@ +.\" $NetBSD: _lwp_create.2,v 1.11 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 21, 2017 +.Dt _LWP_CREATE 2 +.Os +.Sh NAME +.Nm _lwp_create +.Nd create a new light-weight process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_create "ucontext_t *context" "unsigned long flags" "lwpid_t *new_lwp" +.Sh DESCRIPTION +.Fn _lwp_create +causes creation of a new light-weight process, or LWP, and adds it to the +current process. +The +.Fa context +argument specifies the initial execution context for the new LWP including +signal mask, stack, and machine registers. +The signal stack of the newly created light-weight process is reset to +disabled. +If this context specifies invalid register values (for example privilege +escalation by setting machine dependent bits forbidden for user processes), +or does not specify cpu register values +.Fa ( uc_flags +does not have the +.Dv _UC_CPU +bit set), the call will fail and errno will be set to +.Er EINVAL . +.Pp +The following flags affect the creation of the new LWP: +.Bl -tag -width Dv +.It Dv LWP_DETACHED +The LWP is created detached. +The resources associated with a detached LWP will be automatically +reclaimed by the system when the LWP exits. +Otherwise, a terminated LWP's resources will not be reclaimed until +its status is reported to another LWP via +.Xr _lwp_wait 2 . +.It Dv LWP_SUSPENDED +The LWP is created suspended, and will not begin execution until +it is resumed by another LWP via +.Xr _lwp_continue 2 . +.\" __LWP_ASLWP is not yet implemented by the NetBSD kernel. +.El +.Pp +The LWP ID of the new LWP is stored in the location pointed to by +.Fa new_lwp . +.Sh RETURN VALUES +.Rv -std _lwp_create +.Sh ERRORS +.Fn _lwp_create +will fail and no LWP will be created if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The system-imposed limit on the total +number of LWPs under execution would be exceeded. +This limit is configuration-dependent. +.It Bq Er EFAULT +The address pointed to by +.Fa context +or +.Fa new_lwp +is outside the process's allocated address space. +.It Bq Er EINVAL +The +.Vt ucontext_t +passed is invalid. +.It Bq Er ENOMEM +There is insufficient swap space for the new LWP. +.El +.Sh SEE ALSO +.Xr _lwp_continue 2 , +.Xr _lwp_exit 2 , +.Xr _lwp_wait 2 , +.Xr _lwp_makecontext 3 +.Sh HISTORY +The +.Fn _lwp_create +system call first appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/_lwp_ctl.2 b/static/netbsd/man2/_lwp_ctl.2 new file mode 100644 index 00000000..32f06f82 --- /dev/null +++ b/static/netbsd/man2/_lwp_ctl.2 @@ -0,0 +1,102 @@ +.\" $NetBSD: _lwp_ctl.2,v 1.6 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c)2007 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd April 13, 2012 +.Dt _LWP_CTL 2 +.Os +.Sh NAME +.Nm _lwp_ctl +.Nd prepare per-LWP communication area between kernel and userland +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In sys/lwpctl.h +.In lwp.h +.Ft int +.Fn _lwp_ctl "int features" "struct lwpctl **address" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn _lwp_ctl +prepares per-LWP communication area for the calling LWP, +and maps it into the calling process' address space. +It takes the following arguments. +.Bl -tag -width features +.It Fa features +The bitwise-OR of the following flags. +.Bl -tag -width Dv +.It Dv LWPCTL_FEATURE_CURCPU +Request +.Vt lc_curcpu . +.It Dv LWPCTL_FEATURE_PCTR +Request +.Vt lc_pctr . +.El +.It Fa address +The address to store a pointer to +.Vt lwpctl +structure for the calling LWP. +.El +.Pp +The per-LWP communication area is described by an +.Vt lwpctl +structure. +It has following members, depending on +.Fa features . +.Bl -tag -width Fa +.It Vt int Fa lc_curcpu +The integral identifier of the CPU on which the LWP is running, +or +.Dv LWPCTL_CPU_NONE +when the LWP is not running on any CPU. +It's updated by the kernel and should be considered as read-only for +userland. +It's available only if requested with the +.Dv LWPCTL_FEATURE_CURCPU +flag. +.It Vt int Fa lc_pctr +The integer which is incremented on every context switches to the LWP. +It can be used to detect preemption of the LWP +.Po +thus its name +.Dq preemption counter . +.Pc +It's updated by the kernel and should be considered as read-only for +userland. +It's available only if requested with the +.Dv LWPCTL_FEATURE_PCTR +flag. +.El +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +.Rv -std _lwp_ctl +.\" ------------------------------------------------------------ +.\".Sh ERRORS +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr errno 2 diff --git a/static/netbsd/man2/_lwp_detach.2 b/static/netbsd/man2/_lwp_detach.2 new file mode 100644 index 00000000..7b1fe71e --- /dev/null +++ b/static/netbsd/man2/_lwp_detach.2 @@ -0,0 +1,72 @@ +.\" $NetBSD: _lwp_detach.2,v 1.5 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c) 2003, 2007 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc, and by Andrew Doran. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 20, 2007 +.Dt _LWP_DETACH 2 +.Os +.Sh NAME +.Nm _lwp_detach +.Nd detach a light-weight process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_detach "lwpid_t lwp" +.Sh DESCRIPTION +.Fn _lwp_detach +causes a light-weight process to become detached, having the same +effect as if the LWP was created with the +.Dv LWP_DETACHED +flag. +.Pp +The resources associated with a detached LWP will be automatically +reclaimed by the system when the LWP exits. +Conversely, an attached LWP's resources will not be reclaimed until +its status is reported to another LWP via +.Xr _lwp_wait 2 . +.Sh RETURN VALUES +.Rv -std _lwp_detach +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EINVAL +The LWP is already detached. +.It Bq Er ESRCH +No LWP can be found in the current process corresponding to that +specified by +.Fa lwp . +.El +.Sh SEE ALSO +.Xr _lwp_create 2 , +.Xr _lwp_wait 2 +.Sh HISTORY +The +.Fn _lwp_detach +system call first appeared in +.Nx 5.0 . diff --git a/static/netbsd/man2/_lwp_exit.2 b/static/netbsd/man2/_lwp_exit.2 new file mode 100644 index 00000000..08f78c17 --- /dev/null +++ b/static/netbsd/man2/_lwp_exit.2 @@ -0,0 +1,61 @@ +.\" $NetBSD: _lwp_exit.2,v 1.5 2008/04/30 13:10:51 martin Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 13, 2003 +.Dt _LWP_EXIT 2 +.Os +.Sh NAME +.Nm _lwp_exit +.Nd terminate the calling light-weight process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft void +.Fn _lwp_exit void +.Sh DESCRIPTION +.Fn _lwp_exit +terminates the calling LWP. +If it is the last LWP in the process, the process exits with a status of 0. +If the LWP was not created in a detached state, then the system will not +reclaim its LWP ID until its status is reported to another LWP in the process +via +.Xr _lwp_wait 2 . +.Sh RETURN VALUES +.Fn _lwp_exit +can never return. +.Sh SEE ALSO +.Xr _exit 2 , +.Xr _lwp_create 2 , +.Xr _lwp_wait 2 +.Sh HISTORY +The +.Fn _lwp_exit +system call first appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/_lwp_getname.2 b/static/netbsd/man2/_lwp_getname.2 new file mode 100644 index 00000000..3b032bc8 --- /dev/null +++ b/static/netbsd/man2/_lwp_getname.2 @@ -0,0 +1,67 @@ +.\" $NetBSD: _lwp_getname.2,v 1.3 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c)2007 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd December 15, 2007 +.Dt _LWP_GETNAME 2 +.Os +.Sh NAME +.Nm _lwp_getname +.Nd get descriptive name of an LWP +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_getname "lwpid_t target" "char *name" "size_t len" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn _lwp_getname +gets the descriptive name of the LWP. +It takes the following arguments. +.Bl -tag -width Fa +.It Fa target +The LWP whose descriptive name will be obtained. +.It Fa name +The buffer to be filled with the descriptive name of the LWP. +.It Fa len +The size of the buffer +.Fa name +in bytes. +.El +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +.Rv -std _lwp_getname +.\" ------------------------------------------------------------ +.\".Sh ERRORS +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr ps 1 , +.Xr top 1 , +.Xr _lwp_setname 2 , +.Xr errno 2 diff --git a/static/netbsd/man2/_lwp_getprivate.2 b/static/netbsd/man2/_lwp_getprivate.2 new file mode 100644 index 00000000..d3e6d22f --- /dev/null +++ b/static/netbsd/man2/_lwp_getprivate.2 @@ -0,0 +1,89 @@ +.\" $NetBSD: _lwp_getprivate.2,v 1.6 2013/10/05 09:18:56 njoly Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd September 7, 2013 +.Dt _LWP_GETPRIVATE 2 +.Os +.Sh NAME +.Nm _lwp_getprivate , +.Nm _lwp_setprivate +.Nd get and set light-weight process private data +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft void * +.Fn _lwp_getprivate void +.Ft void +.Fn _lwp_setprivate "void *ptr" +.Sh DESCRIPTION +.Fn _lwp_setprivate +stores the pointer to private data +.Fa ptr +in a location private to the LWP. +.Pp +.Fn _lwp_getprivate +returns the pointer to private data for the LWP. +.Pp +Some platforms provide alternative ways quicker than +.Fn _lwp_getprivate +to use the pointer. +.Bl -tag -width amd64 +.It alpha +The pointer can be retrieved by call_pal PAL_rdunique. +.It amd64 +The base address of +.Dv %fs +register is set to the pointer so that the private data can be +accessed using the selector. +.It i386 +The base address of +.Dv %gs +register is set to the pointer so that the private data can be +accessed using the selector. +.It sparc +.Dv %g7 +register is set to the pointer. +.El +.Sh ERRORS +The +.Fn _lwp_getprivate +and +.Fn _lwp_setprivate +functions are always successful, and no return value is reserved to indicate +an error. +.Sh SEE ALSO +.Xr _lwp_makecontext 3 +.Sh HISTORY +The +.Fn _lwp_getprivate +and +.Fn _lwp_setprivate +system calls first appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/_lwp_kill.2 b/static/netbsd/man2/_lwp_kill.2 new file mode 100644 index 00000000..87f2f72c --- /dev/null +++ b/static/netbsd/man2/_lwp_kill.2 @@ -0,0 +1,84 @@ +.\" $NetBSD: _lwp_kill.2,v 1.5 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c) 2003, 2007 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc, and by Andrew Doran. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 20, 2007 +.Dt _LWP_KILL 2 +.Os +.Sh NAME +.Nm _lwp_kill +.Nd send a signal to a light-weight process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_kill "lwpid_t lwp" "int sig" +.Sh DESCRIPTION +.Fn _lwp_kill +sends the signal specified by +.Fa sig +to the light-weight process specified by +.Fa lwp . +If the +.Fa sig +argument is given as 0 (zero), +.Nm +will test for the existence of the target LWP, but will take no further +action. +.Pp +Job control signals and uncatchable signals can not be directed to a specific +LWP: if posted with +.Nm , +they will affect all LWPs in the process. +.Pp +Signals will be posted successfully to suspended LWPs, but will not be +handled further until the LWP has been continued. +.Sh RETURN VALUES +.Rv -std _lwp_kill +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa sig +is not a valid signal number. +.It Bq Er ESRCH +No LWP can be found in the current process corresponding to that +specified by +.Fa lwp . +.El +.Sh SEE ALSO +.Xr _lwp_continue 2 , +.Xr _lwp_suspend 2 , +.Xr kill 2 , +.Xr sigaction 2 , +.Xr signal 7 +.Sh HISTORY +The +.Fn _lwp_kill +system call first appeared in +.Nx 5.0 . diff --git a/static/netbsd/man2/_lwp_park.2 b/static/netbsd/man2/_lwp_park.2 new file mode 100644 index 00000000..13e4574b --- /dev/null +++ b/static/netbsd/man2/_lwp_park.2 @@ -0,0 +1,172 @@ +.\" $NetBSD: _lwp_park.2,v 1.13 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c) 2003, 2007, 2017 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc, and by Andrew Doran. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd July 30, 2019 +.Dt _LWP_PARK 2 +.Os +.Sh NAME +.Nm _lwp_park +.Nd wait interruptably in the kernel +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_park "clockid_t clock_id" "int flags" "struct timespec *ts" "lwpid_t unpark" "const void *hint" "const void *unparkhint" +.Sh DESCRIPTION +.Fn _lwp_park +can be used to synchronize access to resources among multiple light-weight +processes. +It causes the calling LWP to wait interruptably in the kernel, until one +of the following conditions is met: +.Bl -bullet +.It +The +.Fa ts +argument is +.Pf non- Dv NULL , +and the time it specifies has passed. +The +.Fa ts +time can be a relative interval to wait if the +.Fa flags +argument does not contain +.Dv TIMER_ABSTIME +or it can be an absolute time. +The +.Fa clock_id +argument contains the clock to be used; it can be: +.Dv CLOCK_REALTIME +or +.Dv CLOCK_MONOTONIC . +.It +The LWP receives a directed signal posted using +.Fn _lwp_kill , +or is elected to handle a signal on behalf of its containing process. +.It +The LWP is awoken by another LWP in the same process that has made +a call to +.Fn _lwp_wakeup . +.It +The LWP is awoken by another LWP in the same process that has made +a call to +.Fn _lwp_unpark +or +.Fn _lwp_unpark_all . +.El +.Pp +If the +.Fa ts +argument contains a relative time interval, it will be modified to contain +the remaining time to sleep when +.Fn _lwp_park +returns. +.Pp +The preferred method to awaken an LWP sleeping as a result of a call +to +.Fn _lwp_park +is to make a call to +.Fn _lwp_unpark , +or +.Fn _lwp_unpark_all . +The +.Fn _lwp_wakeup +system call is a more general facility, and requires more resources +to execute. +.Pp +The optional +.Fa hint +argument specifies the address of an object upon which the LWP is +synchronizing. +When the +.Fa hint +value is matched between calls to +.Fn _lwp_park +and +.Fn _lwp_unpark +or +.Fn _lwp_unpark_all , +it may reduce the time necessary for the system to resume execution +of waiting LWPs. +.Pp +The +.Fa unpark +and +.Fa unparkhint +arguments can be used to fold a park operation and unpark operation into a +single system call. +If +.Fa unpark +is non-zero, the system will behave as if the following call had been made +before the calling thread begins to wait: +.Pp +.Dl _lwp_unpark(unpark, unparkhint); +.Sh RETURN VALUES +.\" Rv -std _lwp_park +.\" The "if successful" language in .Rv -std is misleading, but try to + \" follow its phrasing as close as possible. +The +.Fn _lwp_park +.\" XXX: TODO: when? be more precise +function may return the value of 0. +Otherwise the value \-1 is returned and the global variable +.Va errno +is set to provide more information. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EALREADY +A request was made to wake the LWP before it began to wait in +the kernel. +.It Bq Er EINTR +The LWP has been awoken by a signal or by a call to one of the +following functions: +.Fn _lwp_unpark , +.Fn _lwp_unpark_all , +.Fn _lwp_wakeup . +.It Bq Er EINVAL +The time value specified by +.Fa ts +is invalid. +.It Bq Er ESRCH +No LWP can be found in the current process corresponding to +.Fa unpark . +.It Bq Er ETIMEDOUT +The UTC time specified by +.Fa ts +has passed. +.El +.Sh SEE ALSO +.Xr _lwp_unpark 2 , +.Xr _lwp_unpark_all 2 , +.Xr _lwp_wakeup 2 +.Sh HISTORY +The +.Fn _lwp_park +system call first appeared in +.Nx 5.0 . diff --git a/static/netbsd/man2/_lwp_self.2 b/static/netbsd/man2/_lwp_self.2 new file mode 100644 index 00000000..fe43b90d --- /dev/null +++ b/static/netbsd/man2/_lwp_self.2 @@ -0,0 +1,56 @@ +.\" $NetBSD: _lwp_self.2,v 1.4 2008/04/30 13:10:51 martin Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 13, 2003 +.Dt _LWP_SELF 2 +.Os +.Sh NAME +.Nm _lwp_self +.Nd get light-weight process identification +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft lwpid_t +.Fn _lwp_self void +.Sh DESCRIPTION +.Fn _lwp_self +returns the LWP ID of the calling LWP. +.Sh ERRORS +The +.Fn _lwp_self +function is always successful, and no return value is reserved to indicate +an error. +.Sh SEE ALSO +.Xr _lwp_create 2 +.Sh HISTORY +The +.Fn _lwp_self +system call first appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/_lwp_setname.2 b/static/netbsd/man2/_lwp_setname.2 new file mode 100644 index 00000000..e557fcf7 --- /dev/null +++ b/static/netbsd/man2/_lwp_setname.2 @@ -0,0 +1,67 @@ +.\" $NetBSD: _lwp_setname.2,v 1.3 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c)2007 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd December 15, 2007 +.Dt _LWP_SETNAME 2 +.Os +.Sh NAME +.Nm _lwp_setname +.Nd set descriptive name of an LWP +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_setname "lwpid_t target" "const char *name" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn _lwp_setname +sets the descriptive name of the LWP. +It takes the following arguments. +.Bl -tag -width Fa +.It Fa target +The LWP whose descriptive name will be set. +.It Fa name +The string to be used as the descriptive name of the LWP. +.El +.Pp +The name is used by +.Xr top 1 +when showing LWPs, for example. +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +.Rv -std _lwp_setname +.\" ------------------------------------------------------------ +.\".Sh ERRORS +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr ps 1 , +.Xr top 1 , +.Xr _lwp_getname 2 , +.Xr errno 2 diff --git a/static/netbsd/man2/_lwp_suspend.2 b/static/netbsd/man2/_lwp_suspend.2 new file mode 100644 index 00000000..8474992d --- /dev/null +++ b/static/netbsd/man2/_lwp_suspend.2 @@ -0,0 +1,89 @@ +.\" $NetBSD: _lwp_suspend.2,v 1.6 2022/12/04 16:21:54 uwe Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd December 4, 2022 +.Dt _LWP_SUSPEND 2 +.Os +.Sh NAME +.Nm _lwp_suspend , +.Nm _lwp_continue +.Nd suspend or continue a light-weight process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_suspend "lwpid_t lwp" +.Ft int +.Fn _lwp_continue "lwpid_t lwp" +.Sh DESCRIPTION +.Fn _lwp_suspend +suspends execution of the LWP specified by +.Fa lwp . +Once an LWP is suspended, subsequent calls to +.Fn _lwp_suspend +have no effect. +The only way to resume execution of a suspended LWP is via +.Fn _lwp_continue . +.Pp +.Fn _lwp_continue +resumes execution of the LWP specified by +.Fa lwp . +Once an LWP is resumed, subsequent calls to +.Fn _lwp_continue +have no effect. +.Sh RETURN VALUES +.Rv -std _lwp_continue _lwp_suspend +.Sh ERRORS +.Fn _lwp_suspend +and +.Fn _lwp_continue +will fail if: +.Bl -tag -width Er +.It Bq Er ESRCH +No LWP can be found in the current process corresponding to that +specified by +.Fa lwp . +.El +.Pp +.Fn _lwp_suspend +will fail if: +.Bl -tag -width Er +.It Bq Er EDEADLK +The LWP specified by +.Fa lwp +is the only LWP in the process. +.El +.Sh SEE ALSO +.Xr _lwp_create 2 +.Sh HISTORY +The +.Fn _lwp_create +system call first appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/_lwp_unpark.2 b/static/netbsd/man2/_lwp_unpark.2 new file mode 100644 index 00000000..f5c16288 --- /dev/null +++ b/static/netbsd/man2/_lwp_unpark.2 @@ -0,0 +1,76 @@ +.\" $NetBSD: _lwp_unpark.2,v 1.5 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c) 2003, 2007 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc, and by Andrew Doran. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 20, 2007 +.Dt _LWP_UNPARK 2 +.Os +.Sh NAME +.Nm _lwp_unpark +.Nd resume execution of a waiting LWP +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_unpark "lwpid_t lwp" "const void *hint" +.Sh DESCRIPTION +.Fn _lwp_unpark +resumes execution of the light-weight process +.Fa lwp . +.Pp +The target LWP is assumed to be waiting in the kernel as a result of a +call to +.Fn _lwp_park . +If the target LWP is not currently waiting, it will return immediately +upon the next call to +.Fn _lwp_park . +.Pp +See +.Xr _lwp_park 2 +for a description of the +.Fa hint +argument. +.Sh RETURN VALUES +.Rv -std _lwp_unpark +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er ESRCH +No LWP can be found in the current process corresponding to that +specified by +.Fa lwp . +.El +.Sh SEE ALSO +.Xr _lwp_park 2 , +.Xr _lwp_unpark_all 2 , +.Xr _lwp_wakeup 2 +.Sh HISTORY +The +.Fn _lwp_unpark +system call first appeared in +.Nx 5.0 . diff --git a/static/netbsd/man2/_lwp_unpark_all.2 b/static/netbsd/man2/_lwp_unpark_all.2 new file mode 100644 index 00000000..f88657ac --- /dev/null +++ b/static/netbsd/man2/_lwp_unpark_all.2 @@ -0,0 +1,105 @@ +.\" $NetBSD: _lwp_unpark_all.2,v 1.8 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c) 2003, 2007 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc, and by Andrew Doran. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 10, 2007 +.Dt _LWP_UNPARK_ALL 2 +.Os +.Sh NAME +.Nm _lwp_unpark_all +.Nd resume execution of a waiting LWP +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft ssize_t +.Fn _lwp_unpark_all "const lwpid_t *targets" "size_t ntargets" "const void *hint" +.Sh DESCRIPTION +.Fn _lwp_unpark_all +resumes execution of one or more light-weight processes listed in +the array pointed to by +.Fa targets . +.Pp +The target LWPs are assumed to be waiting in the kernel as a result of +calls to +.Fn _lwp_park . +If any of the target LWPs are not currently waiting, those LWPs will return +immediately upon the next call to +.Fn _lwp_park . +.Pp +The +.Fa ntargets +argument specifies the size of the array pointed to by +.Fa targets . +.Pp +If the +.Fa targets +argument is given as +.Dv NULL , +the maximum size of the array +.Pq expressed as the number of entries +is returned. +.Pp +See +.Xr _lwp_park 2 +for a description of the +.Fa hint +argument. +.Sh RETURN VALUES +.\" XXX: almsost, but we need the initial "if" clause... +.\" .Rv -std _lwp_unpark_all +If the maximum size of the +.Fa targets +array is not being queried, the +.Fn _lwp_unpark_all +function returns the value 0 if successful; +otherwise the value \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EFAULT +The value specified for +.Fa targets +is invalid. +.It Bq Er EINVAL +The value specified for +.Fa ntargets +is out of range. +.It Bq Er ENOMEM +Insufficient resources are available to complete the operation. +.El +.Sh SEE ALSO +.Xr _lwp_park 2 , +.Xr _lwp_unpark 2 , +.Xr _lwp_wakeup 2 +.Sh HISTORY +The +.Fn _lwp_unpark_all +system call first appeared in +.Nx 5.0 . diff --git a/static/netbsd/man2/_lwp_wait.2 b/static/netbsd/man2/_lwp_wait.2 new file mode 100644 index 00000000..f169e93d --- /dev/null +++ b/static/netbsd/man2/_lwp_wait.2 @@ -0,0 +1,94 @@ +.\" $NetBSD: _lwp_wait.2,v 1.7 2022/12/04 16:21:54 uwe Exp $ +.\" +.\" Copyright (c) 2003, 2020 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd December 4, 2022 +.Dt _LWP_WAIT 2 +.Os +.Sh NAME +.Nm _lwp_wait +.Nd wait for light-weight process termination +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_wait "lwpid_t wlwp" "lwpid_t *rlwp" +.Sh DESCRIPTION +.Fn _lwp_wait +suspends execution of the calling LWP until the LWP specified by +.Fa wlwp +terminates. +The specified LWP must not be detached. +If +.Fa wlwp +is 0, then +.Fn _lwp_wait +waits for any undetached LWP in the current process. +.Pp +If +.Fa rlwp +is not +.Dv NULL , +then it points to the location where the LWP ID of +the exited LWP is stored. +.Sh RETURN VALUES +.Rv -std _lwp_wait +.Sh ERRORS +.Fn _lwp_wait +will fail if: +.Bl -tag -width Er +.It Bq Er ESRCH +No LWP can be found in the current process corresponding to that +specified by +.Fa wlwp . +.It Bq Er EDEADLK +The calling LWP is the only LWP in the process. +.It Bq Er EDEADLK +The LWP ID specified by +.Fa wlwp +is the LWP ID of the calling LWP. +.It Bq Er EINVAL +The LWP specified by +.Fa wlwp +is detached. +.It Bq Er EINTR +.Fn _lwp_wait +was interrupted by a caught signal, or the signal did not +have the +.Dv SA_RESTART +flag set. +.El +.Sh SEE ALSO +.Xr _lwp_create 2 , +.Xr _lwp_exit 2 +.Sh HISTORY +The +.Fn _lwp_wait +system call first appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/_lwp_wakeup.2 b/static/netbsd/man2/_lwp_wakeup.2 new file mode 100644 index 00000000..77cade59 --- /dev/null +++ b/static/netbsd/man2/_lwp_wakeup.2 @@ -0,0 +1,70 @@ +.\" $NetBSD: _lwp_wakeup.2,v 1.7 2022/12/04 16:21:54 uwe Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd December 4, 2022 +.Dt _LWP_WAKEUP 2 +.Os +.Sh NAME +.Nm _lwp_wakeup +.Nd make a blocked light-weight process runnable +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_wakeup "lwpid_t lwp" +.Sh DESCRIPTION +.Fn _lwp_wakeup +makes a blocked LWP runnable. The blocked LWP must be in +.Dv LSSLEEP +state. +Unblocking the LWP does not guarantee that it will make progress; it +may block again as soon as it resumes execution in the kernel. +.Sh RETURN VALUES +.Rt -std _lwp_wakeup +.Sh ERRORS +.Fn _lwp_wakeup +will fail if: +.Bl -tag -width Er +.It Bq Er ESRCH +No LWP can be found in the current process corresponding to that +specified by +.Fa lwp . +.It Bq Er ENODEV +The specified LWP is not in +.Dv LSSLEEP +state. +.It Bq Er EBUSY +The specified LWP is blocked in an uninterruptible sleep. +.El +.Sh HISTORY +The +.Fn _lwp_wakeup +system call first appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/accept.2 b/static/netbsd/man2/accept.2 new file mode 100644 index 00000000..d9595e5b --- /dev/null +++ b/static/netbsd/man2/accept.2 @@ -0,0 +1,289 @@ +.\" $NetBSD: accept.2,v 1.37 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1983, 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)accept.2 8.2 (Berkeley) 12/11/93 +.\" +.Dd July 8, 2025 +.Dt ACCEPT 2 +.Os +.Sh NAME +.Nm accept , +.Nm accept4 , +.Nm paccept +.Nd accept a connection on a socket +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn accept "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen" +.Ft int +.Fn accept4 "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen" "int flags" +.Ft int +.Fn paccept "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen" "const sigset_t * restrict sigmask" "int flags" +.Sh DESCRIPTION +The argument +.Fa s +is a socket that has been created with +.Xr socket 2 , +bound to an address with +.Xr bind 2 , +and is listening for connections after a +.Xr listen 2 . +The +.Fn accept +function +extracts the first connection request on the queue of pending +connections, creates a new socket with the same properties of +.Fa s +and allocates a new file descriptor +for the socket. +If no pending connections are +present on the queue, and the socket is not marked +as non-blocking, +.Fn accept +blocks the caller until a connection is present. +If the socket is marked non-blocking and no pending +connections are present on the queue, +.Fn accept +returns an error as described below. +The accepted socket +may not be used +to accept more connections. +The original socket +.Fa s +remains open. +.Pp +The argument +.Fa addr +is a result parameter that is filled in with +the address of the connecting entity, +as known to the communications layer. +The exact format of the +.Fa addr +parameter is determined by the domain in which the communication +is occurring. +The +.Fa addrlen +is a value-result parameter; it should initially contain the +amount of space pointed to by +.Fa addr ; +on return it will contain the actual length (in bytes) of the +address returned. +This call +is used with connection-based socket types, currently with +.Dv SOCK_STREAM . +.Pp +It is possible to +.Xr select 2 +or +.Xr poll 2 +a socket for the purposes of doing an +.Fn accept +by selecting or polling it for read. +.Pp +For certain protocols which require an explicit confirmation, +such as +.Tn ISO +or +.Tn DATAKIT , +.Fn accept +can be thought of +as merely dequeuing the next connection +request and not implying confirmation. +Confirmation can be implied by a normal read or write on the new +file descriptor, and rejection can be implied by closing the +new socket. +.Pp +One can obtain user connection request data without confirming +the connection by issuing a +.Xr recvmsg 2 +call with an +.Fa msg_iovlen +of 0 and a non-zero +.Fa msg_controllen , +or by issuing a +.Xr getsockopt 2 +request. +Similarly, one can provide user connection rejection information +by issuing a +.Xr sendmsg 2 +call with providing only the control information, +or by calling +.Xr setsockopt 2 . +.Pp +The socket returned by +.Fn accept +inherits the +.Dv O_NONBLOCK +setting of +.Fa s . +This is a nonstandard guarantee; portable applications should not rely +it. +.Pp +The +.Fn accept4 +function behaves exactly like +.Fn accept , +but the socket it returns does not inherit the +.Dv O_NONBLOCK +flag of +.Fa s ; +instead, it applies the following bits set in +.Fa flags +to the returned file descriptor: +.Bl -column -offset indent ".Dv SOCK_NOSIGPIPE" +.It Dv SOCK_CLOEXEC Ta Set the close-on-exec property. +.It Dv SOCK_CLOFORK Ta Set the close-on-fork property. +.It Dv SOCK_NONBLOCK Ta Sets non-blocking I/O. +.It Dv SOCK_NOSIGPIPE Ta Xo +Return +.Er EPIPE +instead of raising +.Dv SIGPIPE . +.Xc +.El +.Pp +The +.Fn paccept +function behaves exactly like +.Fn accept4 , +but it also accepts a signal mask +.Fa sigmask . +If +.Fa sigmask +is +.Pf non- Dv NULL , +.Fn paccept +replaces the signal mask of the calling thread by it while +.Fn paccept +is waiting for a connection, and then restores the signal mask on +return. +.Pp +The +.Fn accept4 +function is equivalent to +.Fn paccept +with +.Dv NULL +as the argument for +.Fa sigmask . +.Sh RETURN VALUES +The +.Fn accept , +.Fn accept4 , +and +.Fn paccept +functions return \-1 and set +.Xr errno 2 +on error. +If they succeed, they return a non-negative +integer that is a descriptor for the accepted socket. +.Sh COMPATIBILITY +The +.Fn accept +implementation makes the new file descriptor inherit file flags +.Pq like Dv O_NONBLOCK +from the listening socket. +It's a traditional behaviour for +.Bx +derivative systems. +On the other hand, there are implementations which don't do so. +Linux is an example of such implementations. +Portable programs should not rely on either of the behaviours. +.Pp +The +.Fn accept +and +.Fn accept4 +functions conform to +.St -p1003.1-2024 . +.Pp +The non-standard +.Fn paccept +function is compatible with the Linux implementation. +.Sh ERRORS +The +.Fn accept +function will fail if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The socket is marked non-blocking and no connections +are present to be accepted. +.It Bq Er EBADF +The descriptor is invalid. +.It Bq Er ECONNABORTED +A connection has been aborted. +.It Bq Er EFAULT +The +.Fa addr +parameter is not in a writable part of the +user address space. +.It Bq Er EINTR +The +.Fn accept +call has been interrupted by a signal. +.It Bq Er EINVAL +The socket has not been set up to accept connections +.Po +using +.Xr bind 2 +and +.Xr listen 2 +.Pc . +.It Bq Er EMFILE +The per-process descriptor table is full. +.It Bq Er ENFILE +The system file table is full. +.It Bq Er ENOTSOCK +The descriptor references a file, not a socket. +.It Bq Er EOPNOTSUPP +The referenced socket is not of type +.Dv SOCK_STREAM . +.El +.Sh SEE ALSO +.Xr bind 2 , +.Xr connect 2 , +.Xr listen 2 , +.Xr poll 2 , +.Xr select 2 , +.Xr socket 2 +.Sh HISTORY +The +.Fn accept +function appeared in +.Bx 4.2 . +The +.Fn paccept +function appeared in +.Nx 6.0 . +The +.Fn accept4 +function appeared in +.Nx 8.0 . diff --git a/static/netbsd/man2/access.2 b/static/netbsd/man2/access.2 new file mode 100644 index 00000000..0d76a816 --- /dev/null +++ b/static/netbsd/man2/access.2 @@ -0,0 +1,291 @@ +.\" $NetBSD: access.2,v 1.33 2017/01/10 06:28:46 abhinav Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)access.2 8.2 (Berkeley) 4/1/94 +.\" +.Dd January 12, 2013 +.Dt ACCESS 2 +.Os +.Sh NAME +.Nm access , +.Nm faccessat +.Nd check access permissions of a file or pathname +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn access "const char *path" "int mode" +.In fcntl.h +.Ft int +.Fn faccessat "int fd" "const char *path" "int mode" "int flags" +.Sh DESCRIPTION +The +.Fn access +function checks the accessibility of the +file named by +.Fa path . +The +.Fn faccessat +function checks the accessibility of the file named by +.Fa path +using +.Fa fd +as the starting point for relative pathnames. +If +.Fa fd +is +.Dv AT_FDCWD +the current directory is used. +Calling +.Fn access +is equivalent to calling +.Fn faccessat +with +.Fa fd +set to +.Dv AT_FDCWD +and +.Fa flags +set to 0. +.Pp +The form of access to check is specified by the bitwise or of the +following values for +.Fa mode : +.Bl -tag -width W_OK +.It Dv R_OK +Check for read permission. +.It Dv W_OK +Check for write permission. +.It Dv X_OK +Check for execute/search permission. +.It Dv F_OK +Check only for existence. +.El +.Pp +All components of the pathname +.Fa path +are checked for access permissions as well. +.Pp +.\" Maybe this paragraph should be removed... +The owner of a file has permission checked with respect to the +.Dq owner +read, write, and execute mode bits, members of the file's group +other than the owner have permission checked with respect to the +.Dq group +mode bits, and all others have permissions checked with respect to +the +.Dq other +mode bits. +.Pp +The file descriptor +.Fa fd +must name a directory. +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory, except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directory referred to by +.\" .Fa fd +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directory referred to by +.\" .Fa fd +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag or must be searchable by the current process at the time the +.\" call is made. +.Pp +The +.Fa flags +argument to +.Fn faccessat +can specify the following optional behavior: +.Bl -tag -width AT_SYMLINK_NOFOLLOW +.It AT_EACCESS +Use the effective user and group IDs instead of the real user and +group IDs for checking permission. +See discussion below. +.It AT_SYMLINK_NOFOLLOW +Do not follow a symbolic link encountered as the last component in +.Fa path . +.El +.Pp +For +.Fn access , +and +.Fn faccessat +when the +.Dv AT_EACCESS +flag is not passed, the real user ID and the real group ID are used +for checking permission in place of the effective user ID and +effective group ID. +This affects only set-user-ID and set-group-ID programs, which should +not use these functions. +(For other programs, the real and effective IDs are the same.) +.Pp +For processes running with super-user privileges, these functions may +return success for read and write checks regardless of whether read +and write permission bits are actually set. +This reflects the fact that the super-user may read and write all +files regardless of permission settings. +However, even for the super-user, an execute check using +.Dv X_OK +will succeed only if the target object has at least one of its +execute permission bits set. +.\" XXX: Is this true of search permission and directories? (I believe so.) +(This does not guarantee that the target object can necessarily be +successfully executed. +See +.Xr execve 2 . ) +.Sh RETURN VALUES +The +.Fn access +and +.Fn faccessat +functions succeed and return 0 if, at some point in the recent past, +the target object named by +.Fa path +existed and its permission settings allowed the requested access as +described above. +If the requested access would not have been granted, the object did +not exist, or the path lookup failed, the value \-1 is returned +and the value of +.Va errno +is set to reflect what went wrong. +.Sh ERRORS +These functions fail if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for +.Fa fd , +or for the current directory, or for a directory in the prefix of +.Fa path ; +or the permission bits on the target file system object do not permit +the requested access. +.It Bq Er EBADF +The file descriptor +.Fa fd +is not open and is not +.Dv AT_FDCWD . +.\" (possibly -- future) +.\" or was not opened for searching with +.\" .Dv O_SEARCH . +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EINVAL +The +.Fa mode +or +.Fa flags +argument contained an invalid value. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +The file descriptor +.Fa fd +does not name a directory, or a component of the path prefix is not a +directory. +.It Bq Er EROFS +Write access is requested for a file on a read-only file system. +.It Bq Er ETXTBSY +Write access is requested for a pure procedure (shared text) +file presently being executed. +.El +.Sh SEE ALSO +.Xr chmod 2 , +.Xr execve 2 , +.Xr stat 2 , +.Xr secure_path 3 +.Sh STANDARDS +The +.Fn access +function conforms to +.St -p1003.1-90 . +.Fn faccessat +function conforms to +.St -p1003.1-2008 . +.\" This paragraph could be moved to the end of DESCRIPTION if people +.\" don't like having it here. +.Pp +Note that +.Fn faccessat +violates the historic convention that system calls whose names begin +with `f' operate on file handles rather than paths. +There is no equivalent to +.Fn access +for checking access properties of an already-opened file. +.Sh SECURITY CONSIDERATIONS +Because the results of these calls reflect the state of the file +system at the time they ran, and the file system can potentially be +modified between that time and the time the caller attempts to act on +the results, they should +.Em never +be used for security enforcement. +.Pp +Privileged programs that need to restrict their actions to files or +directories properly accessible to unprivileged users +.Em must +do this by assuming or restoring an unprivileged state (see +.Xr seteuid 2 ) +when performing the pertinent actions. +Checking in advance (with +.Fn access +or any other method) and performing such actions while privileged +introduces a race condition that in most cases is easily exploitable +by even a naive adversary. +.Pp +Even for non-privileged programs, the opportunity for the world to +change after the call runs makes +.Fn access +and +.Fn faccessat +not very useful. +In general only +.Dv F_OK +should be used, and that too, sparingly. +The other checks may occasionally be useful for user interface or +diagnostic purposes. diff --git a/static/netbsd/man2/acct.2 b/static/netbsd/man2/acct.2 new file mode 100644 index 00000000..4e7f1bf6 --- /dev/null +++ b/static/netbsd/man2/acct.2 @@ -0,0 +1,131 @@ +.\" $NetBSD: acct.2,v 1.19 2010/05/31 12:16:20 njoly Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)acct.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ACCT 2 +.Os +.Sh NAME +.Nm acct +.Nd enable or disable process accounting +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn acct "const char *file" +.Sh DESCRIPTION +The +.Fn acct +call enables or disables the collection of system accounting records. +If +.Fa file +is +.Dv NULL , +accounting is disabled. +If +.Fa file +is an existing, NUL-terminated, pathname, record collection is enabled, +and for every process initiated which terminates under normal +conditions an accounting record is appended to +.Fa file . +Abnormal conditions of termination are reboots or other fatal system problems. +Records for processes which never terminate can not be +produced by +.Fn acct . +.Pp +For more information on the record structure used by +.Fn acct , +see +.Pa /usr/include/sys/acct.h +and +.Xr acct 5 . +.Pp +This call is permitted only to the super-user. +.Sh NOTES +Accounting is automatically disabled when the file system the +accounting file resides on runs out of space; it is enabled when +space once again becomes available. +For this purpose, +.Fn acct +creates a kernel thread called +.Dq acctwatch . +.Sh RETURN VALUES +On success, zero is returned. +Otherwise, \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn acct +will fail if one of the following is true: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, +or the path name is not a regular file. +.It Bq Er EFAULT +.Fa file +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EPERM +The caller is not the super-user. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +Also, +.Fn acct +fails if failed to create kernel thread described above. +See +.Xr fork 2 +for +.Va errno +value. +.Sh SEE ALSO +.Xr fork 2 , +.Xr acct 5 , +.Xr sa 8 +.Sh HISTORY +An +.Fn acct +function call appeared in +.At v7 . diff --git a/static/netbsd/man2/adjtime.2 b/static/netbsd/man2/adjtime.2 new file mode 100644 index 00000000..135bc326 --- /dev/null +++ b/static/netbsd/man2/adjtime.2 @@ -0,0 +1,123 @@ +.\" $NetBSD: adjtime.2,v 1.21 2015/12/07 23:20:57 pgoyette Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)adjtime.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd December 8, 2015 +.Dt ADJTIME 2 +.Os +.Sh NAME +.Nm adjtime +.Nd "correct the time to allow synchronization of the system clock" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/time.h +.Ft int +.Fn adjtime "const struct timeval *delta" "struct timeval *olddelta" +.Sh DESCRIPTION +.Fn adjtime +makes small adjustments to the system time, as returned by +.Xr gettimeofday 2 , +advancing or retarding it +by the time specified by the timeval +.Fa delta . +If +.Fa delta +is negative, the clock is +slowed down by incrementing it more slowly than normal until +the correction is complete. +If +.Fa delta +is positive, a larger increment than normal +is used. +The skew used to perform the correction is generally a fraction of one percent. +Thus, the time is always +a monotonically increasing function. +A time correction from an earlier call to +.Fn adjtime +may not be finished when +.Fn adjtime +is called again. +If +.Fa olddelta +is non-nil, +the structure pointed to will contain, upon return, the +number of microseconds still to be corrected +from the earlier call. +.Pp +This call may be used by time servers that synchronize the clocks +of computers in a local area network. +Such time servers would slow down the clocks of some machines +and speed up the clocks of others to bring them to the average network time. +.Pp +If the calling user is not the super user, the +.Fn adjtime +system call will fail, and the +.Fn adjtime +function in the standard C library will try to use the +.Xr clockctl 4 +device if present, thus making it possible for non privileged users to +adjust the system time. +If +.Xr clockctl 4 +is not present or not accessible, then +.Fn adjtime +returns +.Er EPERM . +.Sh RETURN VALUES +A return value of 0 indicates that the call succeeded. +A return value of \-1 indicates that an error occurred, and in this +case an error code is stored in the global variable +.Va errno . +.Sh ERRORS +.Fn adjtime +will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +An argument points outside the process's allocated address space. +.It Bq Er EPERM +The process's effective user ID is not that of the super user. +.El +.Sh SEE ALSO +.Xr date 1 , +.Xr gettimeofday 2 , +.Xr clockctl 4 , +.Xr timed 8 , +.Xr timedc 8 +.Rs +.%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD" +.%A R. Gusella +.%A S. Zatti +.Re +.Sh HISTORY +The +.Fn adjtime +function call appeared in +.Bx 4.3 . diff --git a/static/netbsd/man2/arm_drain_writebuf.2 b/static/netbsd/man2/arm_drain_writebuf.2 new file mode 100644 index 00000000..6abb58b9 --- /dev/null +++ b/static/netbsd/man2/arm_drain_writebuf.2 @@ -0,0 +1,56 @@ +.\" $NetBSD: arm_drain_writebuf.2,v 1.3 2004/02/13 09:56:47 wiz Exp $ +.\" +.\" Copyright (c) 1997 Mark Brinicombe +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Mark Brinicombe +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd March 29, 2002 +.Dt ARM_DRAIN_WRITEBUF 2 arm +.Os +.Sh NAME +.Nm arm_drain_writebuf +.Nd drains the CPU write buffer +.Sh LIBRARY +.Lb libarm +.Sh SYNOPSIS +.In machine/sysarch.h +.Ft int +.Fn arm_drain_writebuf +.Sh DESCRIPTION +.Fn arm_drain_writebuf +will make sure that all the entries in the processor write buffer are +written out to memory. +.Pp +Not all processors support this operation (currently only the SA110). +Those processes that do not treat this function as a null-op. +.Sh ERRORS +.Fn arm_drain_writebuf +will never fail so will always return 0. +.Sh REFERENCES +StrongARM Data Sheet diff --git a/static/netbsd/man2/arm_sync_icache.2 b/static/netbsd/man2/arm_sync_icache.2 new file mode 100644 index 00000000..4cde8c6c --- /dev/null +++ b/static/netbsd/man2/arm_sync_icache.2 @@ -0,0 +1,71 @@ +.\" $NetBSD: arm_sync_icache.2,v 1.6 2014/01/16 21:48:41 matt Exp $ +.\" +.\" Copyright (c) 1996 Mark Brinicombe +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Mark Brinicombe +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd January 17, 2014 +.Dt ARM_SYNC_ICACHE 2 arm +.Os +.Sh NAME +.Nm arm_sync_icache +.Nd clean the CPU data cache and flush the CPU instruction cache +.Sh LIBRARY +.Lb libarm +.Sh SYNOPSIS +.In machine/sysarch.h +.Ft int +.Fn arm_sync_icache "uintptr_t addr" "size_t len" +.Sh DESCRIPTION +.Fn arm_sync_icache +will make sure that all the entries in the processor instruction cache +are synchronized with main memory and that any data in a write back cache +has been cleaned. +Some ARM processors (e.g. SA110) have separate instruction and data +caches thus any dynamically generated or modified code needs to be +written back from any data caches to main memory and the instruction +cache needs to be synchronized with main memory. +.Pp +On such processors +.Fn arm_sync_icache +will clean the data cache and invalidate the processor instruction cache +to force reloading from main memory. +On processors that have a shared instruction and data cache and have a +write through cache (e.g. ARM6) no action needs to be taken. +.Pp +The routine takes a start address +.Fa addr +and a length +.Fa len +to describe the area of memory that needs to be cleaned and synchronized. +.Sh ERRORS +.Fn arm_sync_icache +will never fail so will always return 0. +.Sh REFERENCES +StrongARM Data Sheet diff --git a/static/netbsd/man2/bad.include-toplevel.2 b/static/netbsd/man2/bad.include-toplevel.2 new file mode 100644 index 00000000..fc274fd5 --- /dev/null +++ b/static/netbsd/man2/bad.include-toplevel.2 @@ -0,0 +1,5 @@ +include-toplevel: include.withclauses.* +server: + identity: "top 1" + include: include.withoutclauses.* + include-toplevel: include.withoutclauses.* diff --git a/static/netbsd/man2/bind.2 b/static/netbsd/man2/bind.2 new file mode 100644 index 00000000..b38ce66a --- /dev/null +++ b/static/netbsd/man2/bind.2 @@ -0,0 +1,190 @@ +.\" $NetBSD: bind.2,v 1.32 2022/06/28 20:24:08 rillig Exp $ +.\" +.\" Copyright (c) 1983, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)bind.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 28, 2022 +.Dt BIND 2 +.Os +.Sh NAME +.Nm bind +.Nd bind a name to a socket +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn bind "int s" "const struct sockaddr *name" "socklen_t namelen" +.Sh DESCRIPTION +.Fn bind +assigns a name to an unnamed socket. +When a socket is created +with +.Xr socket 2 +it exists in a name space (address family) +but has no name assigned. +.Fn bind +requests that +.Fa name +be assigned to the socket. +.Fa namelen +indicates the amount of space pointed to by +.Fa name , +in bytes. +.Sh NOTES +Binding a name in the +.Ux +domain creates a socket in the file +system that must be deleted by the caller when it is no longer +needed (using +.Xr unlink 2 ) . +.Pp +The rules used in name binding vary between communication domains. +Consult the manual entries in section 4 for detailed information. +.Sh RETURN VALUES +If the bind is successful, a 0 value is returned. +A return value of \-1 indicates an error, which is +further specified in the global +.Va errno . +.Sh ERRORS +The +.Fn bind +call will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The requested address is protected, and the current user +has inadequate permission to access it. +.It Bq Er EADDRINUSE +The specified address is already in use. +.It Bq Er EADDRNOTAVAIL +The specified address is not available from the local machine. +.It Bq Er EAFNOSUPPORT +Addresses in the specified address family cannot be used with this socket. +.It Bq Er EBADF +.Fa s +is not a valid descriptor. +.It Bq Er EFAULT +The +.Fa name +parameter is not in a valid part of the user +address space. +.It Bq Er EINVAL +The socket is already bound to an address; or +the family of the socket and that requested in +.Fa name->sa_family +are not equivalent. +.It Bq Er EINVAL +The socket address length passed was outside the allowable range. +.It Bq Er ENOTSOCK +.Fa s +is not a socket. +.El +.Pp +The following errors are specific to binding names in the +.Ux +domain. +.Bl -tag -width Er +.It Bq Er EIO +An I/O error occurred while making the directory entry or allocating the inode. +.It Bq Er EISDIR +An empty pathname was specified. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A prefix component of the path name does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EROFS +The name would reside on a read-only file system. +.El +.Sh SEE ALSO +.Xr connect 2 , +.Xr getsockname 2 , +.Xr listen 2 , +.Xr socket 2 , +.Xr inet 4 , +.Xr inet6 4 +.Sh HISTORY +The +.Fn bind +function call appeared in +.Bx 4.2 . +.Sh SECURITY CONSIDERATIONS +.Fn bind +was changed in +.Nx 1.4 +to prevent the binding of a socket to the same port as an existing +socket when all of the following is true: +.Bl -bullet -compact -offset indent +.It +either of the existing or new addresses is +.Li INADDR_ANY , +.It +the uid of the new socket is not root, and +the uids of the creators of the sockets are different, +.It +the address is not a multicast address, and +.It +both sockets are not bound to +.Li INADDR_ANY +with +.Li SO_REUSEPORT +set. +.El +.Pp +This prevents an attack where a user could bind to a port with +the host's IP address (after setting +.Li SO_REUSEADDR ) +and +.Sq steal +packets destined for a server that bound to the +same port with +.Li INADDR_ANY . +.Pp +.Fn bind +was changed in +.Nx 4.0 +to honor the user's umask when binding sockets in the local domain. +This was done to match the behavior of other operating systems, +including +.Fx , +.Ox , +and +Linux, and to improve compatibility with some third-party software. +Please note that this behavior +.Em is not portable . +If you must bind a local socket in a portable and secure way, you need +to make a directory with tight permissions and then create the socket +inside it. diff --git a/static/netbsd/man2/brk.2 b/static/netbsd/man2/brk.2 new file mode 100644 index 00000000..0aedef2e --- /dev/null +++ b/static/netbsd/man2/brk.2 @@ -0,0 +1,222 @@ +.\" $NetBSD: brk.2,v 1.39 2019/09/07 19:32:11 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)brk.2 8.4 (Berkeley) 5/1/95 +.\" +.Dd September 7, 2019 +.Dt BRK 2 +.Os +.Sh NAME +.Nm brk , +.Nm sbrk +.Nd change data segment size +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn brk "void *addr" +.Ft void * +.Fn sbrk "intptr_t incr" +.Sh DESCRIPTION +.Bf -symbolic +The +.Fn brk +and +.Fn sbrk +functions are legacy interfaces from before the +advent of modern virtual memory management. +.Fn brk +is subject to removal and +.Fn sbrk +is destined for full compat, where the +system call will exist in the kernel, but no longer be exposed. +.Ef +.Pp +The +.Fn brk +and +.Fn sbrk +functions are used to change the amount of memory allocated in a +process's data segment. +They do this by moving the address at which the process's heap ends. +This address is known as the +.Dq break . +.Pp +The +.Fn brk +function sets the break to +.Fa addr . +.Pp +The +.Fn sbrk +function changes the break by +.Fa incr +bytes. +If +.Fa incr +is positive, this allocates +.Fa incr +bytes of new memory in the data segment. +If +.Fa incr +is negative, +this releases the corresponding number of bytes. +.Pp +While the break may be set to any address, actual allocation takes +place in page-sized quantities. +For allocation and access control purposes the address of the break is +always rounded up to the next page boundary. +Thus, changes to the break that do not cross a page boundary have no +material effect. +Any new pages that are allocated, however, always appear freshly +zeroed. +.Pp +The +.Xr getrlimit 2 +system call may be used to determine +the maximum permissible size of the +.Em data +segment; +it will not be possible to set the break so that the sum of the heap +size and the data segment is greater than the +.Dv RLIMIT_DATA +.Em rlim_max +value returned from a call to +.Xr getrlimit 2 . +One can use the +.Dq _etext +symbol to find the end of the program text and thus the beginning of +the data segment. +.\" XXX is that always true? there are platforms where there's a fairly +.\" large unmapped gap between text and data, plus using etext doesn't +.\" take into account read-only data, which is probably (or should be) +.\" billed against text size and not data size. +See +.Xr end 3 +regarding +.Dq _etext . +.Pp +Historically and in +.Nx +the heap immediately follows the data segment, and in fact is +considered part of it. +Thus the initial break is the first address after the end of the +process's uninitialized data (also known as the +.Dq BSS ) . +This address is provided by the linker as +.Dq _end ; +see +.Xr end 3 . +.Pp +There exist implementations in the wild where this is not the case, +however, or where the initial break is rounded up to a page boundary, +or other minor variations, so the recommended more-portable way to +retrieve the initial break is by calling +.Fn sbrk 0 +at program startup. +(This returns the current break without changing it.) +.Pp +In any event, the break may not be set to an address below its initial +position. +.Pp +Note that ordinary application code should use +.Xr malloc 3 +and related functions to allocate memory, or +.Xr mmap 2 +for lower-level page-granularity control. +While the +.Fn brk +and/or +.Fn sbrk +functions exist in most Unix-like environments, their semantics +sometimes vary subtly and their use is not particularly portable. +Also, one must take care not to mix calls to +.Xr malloc 3 +or related functions with calls to +.Fn brk +or +.Fn sbrk +as this will ordinarily confuse +.Xr malloc 3 ; +this can be difficult to accomplish given that many things in the +C library call +.Xr malloc 3 +themselves. +.Sh RETURN VALUES +.Fn brk +returns 0 if successful; +otherwise \-1 with +.Va errno +set to indicate why the allocation failed. +.Pp +The +.Fn sbrk +function returns the prior break value if successful; +otherwise ((void *)\-1) is returned and +.Va errno +is set to indicate why the allocation failed. +.Sh ERRORS +.Fn brk +or +.Fn sbrk +will fail and no additional memory will be allocated if +one of the following are true: +.Bl -tag -width Er +.It Bq Er ENOMEM +The limit, as set by +.Xr setrlimit 2 , +was exceeded; +or the maximum possible size of a data segment (compiled into the +system) was exceeded; +or insufficient space existed in the swap area +to support the expansion. +.El +.Sh SEE ALSO +.Xr execve 2 , +.Xr getrlimit 2 , +.Xr mmap 2 , +.Xr end 3 , +.Xr free 3 , +.Xr malloc 3 , +.Xr sysconf 3 +.Sh HISTORY +An +.Fn sbrk +function call appeared in +.At v4 . +A +.Fn brk +function call appeared in +.At v6 . +.Sh BUGS +Setting the break may fail due to a temporary lack of swap space. +It is not possible to distinguish this from a failure caused by +exceeding the maximum size of the data segment without consulting +.Xr getrlimit 2 . diff --git a/static/netbsd/man2/chdir.2 b/static/netbsd/man2/chdir.2 new file mode 100644 index 00000000..e97f194f --- /dev/null +++ b/static/netbsd/man2/chdir.2 @@ -0,0 +1,141 @@ +.\" $NetBSD: chdir.2,v 1.23 2019/09/01 19:11:41 sevan Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)chdir.2 8.2 (Berkeley) 12/11/93 +.\" +.Dd September 1, 2019 +.Dt CHDIR 2 +.Os +.Sh NAME +.Nm chdir , +.Nm fchdir +.Nd change current working directory +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn chdir "const char *path" +.Ft int +.Fn fchdir "int fd" +.Sh DESCRIPTION +The +.Fa path +argument points to the pathname of a directory. +The +.Fn chdir +function +causes the named directory +to become the current working directory, that is, +the starting point for path searches of pathnames not beginning with +a slash, +.Ql / . +.Pp +The +.Fn fchdir +function +causes the directory referenced by +.Fa fd +to become the current working directory, +the starting point for path searches of pathnames not beginning with +a slash, +.Ql / . +.Pp +In order for a directory to become the current directory, +a process must have execute (search) access to the directory. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate +the error. +.Sh ERRORS +.Fn chdir +will fail and the current working directory will be unchanged if +one or more of the following are true: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for any component of +the path name. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named directory does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.El +.Pp +.Fn fchdir +will fail and the current working directory will be unchanged if +one or more of the following are true: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for the directory referenced by the +file descriptor. +.It Bq Er EBADF +The argument +.Fa fd +is not a valid file descriptor. +.It Bq Er ENOTDIR +The file descriptor does not reference a directory. +.It Bq Er EPERM +The argument +.Fa fd +references a directory which is not at or below the current process's +root directory. +.El +.Sh SEE ALSO +.Xr chroot 2 , +.Xr getcwd 3 +.Sh STANDARDS +The +.Fn chdir +function conforms to +.St -p1003.1-90 . +.Sh HISTORY +A +.Fn chdir +function call appeared in +.At v1 . +The +.Fn fchdir +function call +appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/chflags.2 b/static/netbsd/man2/chflags.2 new file mode 100644 index 00000000..b045d6ea --- /dev/null +++ b/static/netbsd/man2/chflags.2 @@ -0,0 +1,186 @@ +.\" $NetBSD: chflags.2,v 1.28 2013/06/08 06:05:03 kardel Exp $ +.\" +.\" Copyright (c) 1989, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)chflags.2 8.3 (Berkeley) 5/2/95 +.\" +.Dd August 6, 2011 +.Dt CHFLAGS 2 +.Os +.Sh NAME +.Nm chflags , +.Nm lchflags , +.Nm fchflags +.Nd set file flags +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/stat.h +.In unistd.h +.Ft int +.Fn chflags "const char *path" "u_long flags" +.Ft int +.Fn lchflags "const char *path" "u_long flags" +.Ft int +.Fn fchflags "int fd" "u_long flags" +.Sh DESCRIPTION +The file whose name +is given by +.Fa path +or referenced by the descriptor +.Fa fd +has its flags changed to +.Fa flags . +For +.Fn lchflags , +symbolic links are not traversed and thus their modes may be changed with +this call. +.Pp +The flags specified are formed by +.Em or Ns 'ing +the following values: +.Pp +.Bl -tag -width "SF_IMMUTABLE" -compact -offset indent +.It Dv UF_NODUMP +Do not dump the file. +.It Dv UF_IMMUTABLE +The file may not be changed. +.It Dv UF_APPEND +The file may only be appended to. +.It Dv UF_OPAQUE +The file (if a directory) is opaque for union mounts. +.It Dv SF_ARCHIVED +The file is archived. +.It Dv SF_IMMUTABLE +The file may not be changed. +.It Dv SF_APPEND +The file may only be appended to. +.El +.Pp +The +.Dv UF_NODUMP , +.Dv UF_IMMUTABLE , +.Dv UF_APPEND , +and +.Dv UF_OPAQUE +flags may be set or unset by either the owner of a file or the super-user, +except on block and character devices, where only the super-user may set +or unset them. +.Pp +The +.Dv SF_ARCHIVED , +.Dv SF_IMMUTABLE , +and +.Dv SF_APPEND +flags may only be set or unset by the super-user. +These flags may be set at any time, but normally may only be unset when +the system is in single-user mode. +(See +.Xr init 8 +for details.) +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn chflags +will fail if: +.Bl -tag -width Er +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er EPERM +The effective user ID does not match the owner of the file and +the effective user ID is not the super-user, or +the effective user ID is not the super-user and one or more of the +super-user-only flags for the named file would be changed. +.It Bq Er EOPNOTSUPP +The named file resides on a file system that does not support file +flags. +.It Bq Er EROFS +The named file resides on a read-only file system. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An +.Tn I/O +error occurred while reading from or writing to the file system. +.El +.Pp +.Fn fchflags +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +The descriptor is not valid. +.It Bq Er EINVAL +.Fa fd +refers to a socket, not to a file. +.It Bq Er EPERM +The effective user ID does not match the owner of the file and +the effective user ID is not the super-user, or +the effective user ID is not the super-user and one or more of the +super-user-only flags for the file would be changed. +.It Bq Er EOPNOTSUPP +The file resides on a file system that does not support file flags. +.It Bq Er EROFS +The file resides on a read-only file system. +.It Bq Er EIO +An +.Tn I/O +error occurred while reading from or writing to the file system. +.El +.Sh SEE ALSO +.Xr chflags 1 , +.Xr stat 2 , +.Xr stat_flags 3 , +.Xr init 8 , +.Xr mount_union 8 +.Sh HISTORY +The +.Fn chflags +and +.Fn fchflags +functions first appeared in +.Bx 4.4 . +The +.Fn lchflags +function first appeared in +.Nx 1.5 . diff --git a/static/netbsd/man2/chmod.2 b/static/netbsd/man2/chmod.2 new file mode 100644 index 00000000..79d16b4b --- /dev/null +++ b/static/netbsd/man2/chmod.2 @@ -0,0 +1,307 @@ +.\" $NetBSD: chmod.2,v 1.49 2021/11/19 23:51:16 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)chmod.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd November 20, 2021 +.Dt CHMOD 2 +.Os +.Sh NAME +.Nm chmod , +.Nm lchmod , +.Nm fchmod , +.Nm fchmodat +.Nd change mode of file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/stat.h +.Ft int +.Fn chmod "const char *path" "mode_t mode" +.Ft int +.Fn lchmod "const char *path" "mode_t mode" +.Ft int +.Fn fchmod "int fd" "mode_t mode" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn fchmodat "int fd" "const char *path" "mode_t mode" "int flag" +.Sh DESCRIPTION +The function +.Fn chmod +sets the file permission bits +of the file +specified by the pathname +.Fa path +to +.Fa mode . +.Fn fchmod +sets the permission bits of the specified +file descriptor +.Fa fd . +.Fn lchmod +is like +.Fn chmod +except in the case where the named file is a symbolic link, +in which case +.Fn lchmod +sets the permission bits of the link, +while +.Fn chmod +sets the bits of the file the link references. +.Pp +.Fn fchmodat +works the same way as +.Fn chmod +(or +.Fn lchmod +if +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag ) +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +except if that file descriptor was opened with the +.Dv O_SEARCH +flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +.Fn chmod +verifies that the process owner (user) either owns +the file specified by +.Fa path +(or +.Fa fd ) , +or +is the super-user. +A mode is created from +.Em or'd +permission bit masks +defined in +.In sys/stat.h : +.Bd -literal -offset indent -compact +#define S_IRWXU 0000700 /* RWX mask for owner */ +#define S_IRUSR 0000400 /* R for owner */ +#define S_IWUSR 0000200 /* W for owner */ +#define S_IXUSR 0000100 /* X for owner */ + +#define S_IRWXG 0000070 /* RWX mask for group */ +#define S_IRGRP 0000040 /* R for group */ +#define S_IWGRP 0000020 /* W for group */ +#define S_IXGRP 0000010 /* X for group */ + +#define S_IRWXO 0000007 /* RWX mask for other */ +#define S_IROTH 0000004 /* R for other */ +#define S_IWOTH 0000002 /* W for other */ +#define S_IXOTH 0000001 /* X for other */ + +#define S_ISUID 0004000 /* set user id on execution */ +#define S_ISGID 0002000 /* set group id on execution */ +#define S_ISVTX 0001000 /* sticky bit */ +.Ed +.Pp +The mode +.Dv ISVTX +(the +.Sq sticky bit ) +can be set on regular files, but has no effect. +For historical reasons this can be done only by the super-user. +.Pp +If mode +.Dv ISVTX +(the +.Sq sticky bit ) +is set on a directory, +an unprivileged user may not delete or rename +files of other users in that directory. +The sticky bit may be set by any user on a directory which the user +owns or has appropriate permissions. +.Pp +For more information about the history and properties of the sticky bit, see +.Xr sticky 7 . +.Pp +Changing the owner of a file +turns off the set-user-id and set-group-id bits; +writing to a file +turns off the set-user-id and set-group-id bits +unless the user is the super-user. +This makes the system somewhat more secure +by protecting set-user-id (set-group-id) files +from remaining set-user-id (set-group-id) if they are modified, +at the expense of a degree of compatibility. +.Sh RETURN VALUES +.Rv -std chmod lchmod fchmod fchmodat +.Sh ERRORS +.Fn chmod , +.Fn lchmod +and +.Fn fchmodat +will fail and the file mode will be unchanged if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EFTYPE +The effective user ID is not the super-user, the +.Fa mode +includes the sticky bit +.Pq Dv S_ISVTX , +and +.Fa path +does not refer to a directory. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EPERM +The effective user ID does not match the owner of the file and +the effective user ID is not the super-user; or +the mode includes the setgid bit +.Pq Dv S_ISGID +but the file's group is neither the effective group ID nor is it in the +group access list. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn fchmodat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Pp +.Fn fchmod +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +The descriptor is not valid. +.It Bq Er EFTYPE +The effective user ID is not the super-user, the +.Fa mode +includes the sticky bit +.Pq Dv S_ISVTX , +and +.Fa fd +does not refer to a directory. +.It Bq Er EINVAL +.Fa fd +refers to a socket, not to a file. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er EPERM +The effective user ID does not match the owner of the file and +the effective user ID is not the super-user; or +the mode includes the setgid bit +.Pq Dv S_ISGID +but the file's group is neither the effective group ID nor is it in the +group access list. +.It Bq Er EROFS +The file resides on a read-only file system. +.El +.Sh SEE ALSO +.Xr chmod 1 , +.Xr chflags 2 , +.Xr chown 2 , +.Xr open 2 , +.Xr stat 2 , +.Xr getmode 3 , +.Xr setmode 3 , +.Xr sticky 7 , +.Xr symlink 7 +.Sh STANDARDS +The +.Fn chmod +function conforms to +.St -p1003.1-90 . +The +.Fn fchmod +function conforms to +.St -xpg4.2 . +The +.Fn fchmodat +function conforms to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn chmod +function call appeared in +.At v1 . +The +.Fn fchmod +function call +appeared in +.Bx 4.2 . +The +.Fn lchmod +function call appeared in +.Nx 1.3 . diff --git a/static/netbsd/man2/chown.2 b/static/netbsd/man2/chown.2 new file mode 100644 index 00000000..00a5a046 --- /dev/null +++ b/static/netbsd/man2/chown.2 @@ -0,0 +1,273 @@ +.\" $NetBSD: chown.2,v 1.37 2019/09/01 19:16:43 sevan Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)chown.2 8.4 (Berkeley) 4/19/94 +.\" +.Dd September 1, 2019 +.Dt CHOWN 2 +.Os +.Sh NAME +.Nm chown , +.Nm lchown , +.Nm fchown , +.Nm fchownat +.Nd change owner and group of a file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn chown "const char *path" "uid_t owner" "gid_t group" +.Ft int +.Fn lchown "const char *path" "uid_t owner" "gid_t group" +.Ft int +.Fn fchown "int fd" "uid_t owner" "gid_t group" +.In fcntl.h +.Ft int +.Fn fchownat "int fd" "const char *path" "uid_t owner" "gid_t group" "int flag" +.Sh DESCRIPTION +The owner ID and group ID of the file +named by +.Fa path +or referenced by +.Fa fd +is changed as specified by the arguments +.Fa owner +and +.Fa group . +The owner of a file may change the +.Fa group +to a group of which +he or she is a member, +but the change +.Fa owner +capability is restricted to the super-user. +.Pp +When called to change the owner of a file, +.Fn chown , +.Fn lchown +and +.Fn fchown +clear the set-user-id +.Dv ( S_ISUID ) +bit on the file. +When a called to change the group of a file, +.Fn chown , +.Fn lchown +and +.Fn fchown +clear the set-group-id +.Dv ( S_ISGID ) +bit on the file. +These actions are taken to prevent accidental or mischievous creation of +set-user-id and set-group-id programs. +.Pp +.Fn lchown +is like +.Fn chown +except in the case where the named file is a symbolic link, +in which case +.Fn lchown +changes the owner and group of the link, +while +.Fn chown +changes the owner and group of the file the link references. +.Pp +.Fn fchown +is particularly useful when used in conjunction +with the file locking primitives (see +.Xr flock 2 ) . +.Pp +.Fn fchownat +works the same way as +.Fn chown +(or +.Fn lchown +if +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag ) +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +One of the owner or group id's +may be left unchanged by specifying it as (uid_t)\-1 or (gid_t)\-1 respectively. +.Sh RETURN VALUES +.Rv -std chown lchown fchown fchownat +.Sh ERRORS +.Fn chown , +.Fn lchown +and +.Fn fchownat +will fail and the file will be unchanged if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EPERM +The effective user ID is not the super-user. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn fchownat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Pp +.Fn fchown +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa fd +does not refer to a valid descriptor. +.It Bq Er EINVAL +.Fa fd +refers to a socket, not a file. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er EPERM +The effective user ID is not the super-user. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Sh SEE ALSO +.Xr chgrp 1 , +.Xr chmod 2 , +.Xr flock 2 , +.Xr symlink 7 , +.Xr chown 8 +.Sh STANDARDS +The +.Fn chown +function deviates from the semantics defined in +.St -p1003.1-90 , +which specifies that, unless the caller is the super-user, both the +set-user-id and set-group-id bits on a file shall be cleared, regardless +of the file attribute changed. +The +.Fn lchown +and +.Fn fchown +functions, as defined by +.St -xpg4.2 , +provide the same semantics. +.Fn fchownat +conforms to +.St -p1003.1-2008 . +.Pp +To retain conformance to these standards, compatibility interfaces +are provided by the +.Lb libposix +as follows: +.Bl -bullet -compact +.It +The +.Fn chown +function conforms to +.St -p1003.1-90 +and +.St -xpg4.2 . +.It +The +.Fn lchown +and +.Fn fchown +functions conform to +.St -xpg4.2 . +.El +.Sh HISTORY +The +.Fn chown +function call appeared in +.At v1 . +The +.Fn fchown +function call appeared in +.Bx 4.2 . +.Pp +The +.Fn chown +and +.Fn fchown +functions were changed to follow symbolic links in +.Bx 4.4 . +The +.Fn lchown +function call appeared in +.Nx 1.3 . diff --git a/static/netbsd/man2/chroot.2 b/static/netbsd/man2/chroot.2 new file mode 100644 index 00000000..f24a530b --- /dev/null +++ b/static/netbsd/man2/chroot.2 @@ -0,0 +1,153 @@ +.\" $NetBSD: chroot.2,v 1.25 2017/10/30 15:48:38 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)chroot.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd April 18, 2001 +.Dt CHROOT 2 +.Os +.Sh NAME +.Nm chroot , +.Nm fchroot +.Nd change root directory +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn chroot "const char *dirname" +.Ft int +.Fn fchroot "int fd" +.Sh DESCRIPTION +.Fa dirname +is the address of the pathname of a directory, terminated by an ASCII NUL. +.Fn chroot +causes +.Fa dirname +to become the root directory, +that is, the starting point for path searches of pathnames +beginning with +.Ql / . +.Pp +In order for a directory to become the root directory +a process must have execute (search) access for that directory. +.Pp +If the current working directory is not at or under the new root +directory, it is silently set to the new root directory. +It should be noted that, on most other systems, +.Fn chroot +has no effect on the process's current directory. +.Pp +This call is restricted to the super-user. +.Pp +The +.Fn fchroot +function performs the same operation on an open directory file +known by the file descriptor +.Fa fd . +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate an error. +.Sh ERRORS +.Fn chroot +will fail and the root directory will be unchanged if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for any component of the path name. +.It Bq Er EFAULT +.Fa dirname +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named directory does not exist. +.It Bq Er ENOTDIR +A component of the path name is not a directory. +.It Bq Er EPERM +The effective user ID of the calling process is not the super-user. +.El +.Pp +.Fn fchroot +will fail and the root directory will be unchanged if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for the directory referenced +by the file descriptor. +.It Bq Er EBADF +The argument +.Fa fd +is not a valid file descriptor. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ENOTDIR +The argument +.Fa fd +does not reference a directory. +.It Bq Er EPERM +The effective user ID of the calling process is not the super-user. +.El +.Sh SEE ALSO +.Xr chdir 2 +.Sh STANDARDS +The +.Fn chroot +function conforms to +.St -xsh5 , +with the restriction that the calling process' working directory must be at +or under the new root directory. +Otherwise, the working directory is silently set to the new root directory; +this is an extension to the standard. +.Pp +.Fn chroot +was declared a legacy interface, and subsequently removed in +.St -p1003.1-2001 . +.Sh HISTORY +The +.Fn chroot +function call appeared in +.Bx 4.2 . +Working directory handling was changed in +.Nx 1.4 +to prevent one way a process could use a second +.Fn chroot +call to a different directory to "escape" from the restricted subtree. +The +.Fn fchroot +function appeared in +.Nx 1.4 . diff --git a/static/netbsd/man2/clock_getcpuclockid2.2 b/static/netbsd/man2/clock_getcpuclockid2.2 new file mode 100644 index 00000000..37da6df8 --- /dev/null +++ b/static/netbsd/man2/clock_getcpuclockid2.2 @@ -0,0 +1,126 @@ +.\" $NetBSD: clock_getcpuclockid2.2,v 1.6 2018/06/25 01:21:21 dholland Exp $ +.\" +.\" Copyright (c) 2016 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd June 24, 2018 +.Dt CLOCK_GETCPUCLOCKID2 2 +.Os +.Sh NAME +.Nm clock_getcpuclockid2 , +.Nm clock_getcpuclockid +.Nd retrieve the clock id of a process or LWP +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In time.h +.Ft int +.Fn clock_getcpuclockid2 "idtype_t idtype" "id_t id" "clockid_t *clock_id" +.Ft int +.Fn clock_getcpuclockid "pid_t pid" "clockid_t *clock_id" +.Sh DESCRIPTION +The +.Fn cpu_getcpuclockid2 +function retrieves the +.Fa clock_id +for the CPU-time clock of the specified +.Fa id +and +.Fa idtype . +Supported +.Fa idtypes +are: +.Bl -tag -width P_LWPID +.It Dv P_PID +The specified process id or +.Dv 0 +for the current process. +.It Dv P_LWPID +The specified LWP id or +.Dv 0 +for the current LWP. +.El +.Pp +The +.Fn clock_getcpuclockid +function is equivalent to calling +.Fn clock_getcpuclockid2 +with +.Fa idtype +.Dv P_PID +and +.Fa id +.Fa pid . +.Pp +The +.Xr clock_gettime 2 +function can be used with the returned +.Fa clock_id +to retrieve process and LWP CPU usage times. +.Sh RETURN VALUES +.Rv -std clock_getcpuclockid2 +.Pp +If successful, the +.Fn clock_getcpuclockid +function will return 0. +Otherwise an error number will be returned. +.Sh ERRORS +These functions fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa clock_id +points outside the process's allocated address space. +.El +.Pp +In addition +.Fn clock_getcpuclockid2 +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +An unsupported +.Fa idtype +was supplied. +.El +.Sh SEE ALSO +.Xr clock_gettime 2 +.Sh STANDARDS +The +.Fn clock_getcpuclockid +function conforms to +.St -p1003.1-2001 . +The +.Fn clock_getcpuclockid2 +is a +.Nx +extension. +.Sh HISTORY +The +.Fn clock_getcpuclockid +and +.Fn clock_getcpuclockid2 +functions appeared in +.Nx 8 . diff --git a/static/netbsd/man2/clock_settime.2 b/static/netbsd/man2/clock_settime.2 new file mode 100644 index 00000000..a8a2c8f5 --- /dev/null +++ b/static/netbsd/man2/clock_settime.2 @@ -0,0 +1,198 @@ +.\" $NetBSD: clock_settime.2,v 1.27 2016/09/27 11:11:43 wiz Exp $ +.\" +.\" Copyright (c) 1999 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Klaus Klein. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd September 23, 2016 +.Dt CLOCK_SETTIME 2 +.Os +.Sh NAME +.Nm clock_settime , +.Nm clock_gettime , +.Nm clock_getres +.Nd clock and timer functions +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In time.h +.Ft int +.Fn clock_settime "clockid_t clock_id" "const struct timespec *tp" +.Ft int +.Fn clock_gettime "clockid_t clock_id" "struct timespec *tp" +.Ft int +.Fn clock_getres "clockid_t clock_id" "struct timespec *res" +.Sh DESCRIPTION +The +.Fn clock_settime +function sets the clock identified by +.Fa clock_id +to the absolute time specified by +.Fa tp . +If the time specified by +.Fa tp +is not a multiple of the resolution of the clock, +.Fa tp +is truncated to a multiple of the resolution. +.Pp +The +.Fn clock_gettime +function stores the time of the clock identified by +.Fa clock_id +into the location specified by +.Fa tp . +.Pp +The +.Fn clock_getres +function stores the resolution of the clock identified by +.Fa clock_id +into the location specified by +.Fa res , +unless +.Fa res +is +.Dv NULL . +.Pp +The following +.Fa clock_id +values are supported: +.Bl -tag -width CLOCK_MONOTONIC +.It Dv CLOCK_REALTIME +identifies the realtime clock for the system. +For this clock, the values specified by +.Fn clock_settime +and obtained by +.Fn clock_gettime +represent the amount of time (in seconds and nanoseconds) +since 00:00 Universal Coordinated Time, January 1, 1970. +.It Dv CLOCK_MONOTONIC +identifies a clock that increases at a steady rate (monotonically). +This clock +is not affected by calls to +.Xr adjtime 2 +and +.Xr settimeofday 2 +and will +fail with an +.Er EINVAL +error if it's the clock specified in a call to +.Fn clock_settime . +The origin of the clock is unspecified. +.It Dv CLOCK_VIRTUAL +identifies a clock that increments only when the CPU is running in +user mode on behalf of the calling process. +.It Dv CLOCK_PROF +identifies a clock that increments when the CPU is running in user +or kernel mode on behalf of the calling process. +.It Dv CLOCK_PROCESS_CPUTIME_ID +identifies a per process clock based on tick values. +This clock is not settable. +.It Dv CLOCK_THREAD_CPUTIME_ID +identifies a per thread clock based on tick values. +This clock is not settable. +.El +.Pp +If the calling user is not the super-user, the +.Fn clock_settime +system call will fail, and the +.Fn clock_settime +function in the standard C library will try to use the +.Xr clockctl 4 +device if present, thus making it possible for non privileged users to +set the system time. +If +.Xr clockctl 4 +is not present or not accessible, then +.Fn clock_settime +returns +.Er EPERM . +.Sh RETURN VALUES +A value of 0 is returned on success. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn clock_settime , +.Fn clock_gettime +and +.Fn clock_getres +functions will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa clock_id +argument does not specify a known clock. +.It Bq Er ENOSYS +The function is not supported by this implementation. +.El +.Pp +The +.Fn clock_settime +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa tp +argument is outside the range for the specified clock, +.Fa clock_id ; +or the +.Fa tp +argument specified a nanosecond value less than zero of greater than or equal +1000 million; +or the +.Fa clock_id +argument is a clock that can not be adjusted. +.It Bq Er EPERM +The +calling process does not have the appropriate privilege to set the specified +clock, +.Fa clock_id . +.El +.Pp +The +.Fn clock_gettime +function will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The +.Fa tp +argument specifies an address that is not a valid part of the process address +space. +.El +.Sh SEE ALSO +.Xr ctime 3 , +.Xr time 3 , +.\" .Xr timer_gettime 3 , +.Xr clockctl 4 +.Sh STANDARDS +The +.Fn clock_settime , +.Fn clock_gettime +and +.Fn clock_getres +functions conform to +.St -p1003.1b-93 . diff --git a/static/netbsd/man2/clone.2 b/static/netbsd/man2/clone.2 new file mode 100644 index 00000000..8dae6eb9 --- /dev/null +++ b/static/netbsd/man2/clone.2 @@ -0,0 +1,202 @@ +.\" $NetBSD: clone.2,v 1.15 2022/08/01 14:22:32 wiz Exp $ +.\" +.\" Copyright (c) 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd August 1, 2022 +.Dt CLONE 2 +.Os +.Sh NAME +.Nm clone , +.Nm __clone +.Nd spawn new process with options +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.Fd #define _GNU_SOURCE +.In sched.h +.Ft pid_t +.Fn clone "int (*func)(void *arg)" "void *stack" "int flags" "void *arg" +.Ft pid_t +.Fn __clone "int (*func)(void *arg)" "void *stack" "int flags" "void *arg" +.Sh DESCRIPTION +The +.Nm +system call (and associated library support code) creates a new process +in a way that allows the caller to specify several options for the new +process creation. +.Pp +Unlike +.Xr fork 2 +or +.Xr vfork 2 , +in which the child process returns to the call site, +.Nm +causes the child process to begin execution at the function specified +by +.Ar func . +The argument +.Ar arg +is passed to the entry point, as a means for the parent to provide +context to the child. +The stack pointer for the child process will be set to +.Ar stack . +Note that the +.Nm +interface requires that the application know the stack direction +for the architecture, and that the caller initialize the +.Ar stack +argument as appropriate for the stack direction. +.Pp +The +.Ar flags +argument specifies several options that control how the child process +is created. +The lower 8 bits of +.Ar flags +specify the signal that is to be sent to the parent when the child +exits. +The following flags may also be specified by bitwise-or'ing +them with the signal value: +.Bl -tag -width "CLONE_SIGHAND" -offset 2n +.It Dv CLONE_VM +Share the virtual address space with the parent. +The address space is shared in the same way as +.Xr vfork 2 . +.It Dv CLONE_FS +Share the +.Dq file system information +with the parent. +This include the current working directory and file creation mask. +.It Dv CLONE_FILES +Share the file descriptor table with the parent. +.It Dv CLONE_SIGHAND +Share the signal handler set with the parent. +Note that the signal mask +is never shared between the parent and the child, even if +.Dv CLONE_SIGHAND +is set. +.It Dv CLONE_VFORK +Preserve the synchronization semantics of +.Xr vfork 2 ; +the parent blocks until the child exits. +.El +.Pp +The +.Nm +call returns the pid of the child in the parent's context. +The child is provided no return value, since it begins execution at +a different address. +.Pp +If the child process's entry point returns, the value it returns +is passed to +.Xr _exit 2 , +and the child process exits. +Note that if the child process wants to exit directly, it should use +.Xr _exit 2 , +and not +.Xr exit 3 , +since +.Xr exit 3 +will flush and close standard I/O channels, and thereby corrupt the +parent process's standard I/O data structures (even with +.Xr fork 2 +it is wrong to call +.Xr exit 3 +since buffered data would then be flushed twice). +.Pp +Note that +.Nm +is not intended to be used for new native +.Nx +applications. +It is provided as a means to port software +originally written for the Linux operating system to +.Nx . +.Sh RETURN VALUES +Same as for +.Xr fork 2 . +.Sh ERRORS +Same as for +.Xr fork 2 . +.Sh SEE ALSO +.Xr chdir 2 , +.Xr chroot 2 , +.Xr fork 2 , +.Xr sigaction 2 , +.Xr sigprocmask 2 , +.Xr umask 2 , +.Xr vfork 2 , +.Xr wait 2 +.Sh HISTORY +The +.Fn clone +function call appeared in +.Nx 1.6 . +It is compatible with the Linux function call of the same name +with respect to the described options. +.Sh BUGS +The +.Nx +implementation of +.Fn clone +does not implement the following +.Ar flags +that are present in the Linux implementation: +.Pp +.Bl -bullet -offset indent -compact +.It +.Dv CLONE_CHILD_CLEARTID +.It +.Dv CLONE_CHILD_SETTID +.It +.Dv CLONE_IO +.It +.Dv CLONE_NEWIPC +.It +.Dv CLONE_NEWNET +.It +.Dv CLONE_NEWNS +.It +.Dv CLONE_NEWPID +.It +.Dv CLONE_NEWUTS +.It +.Dv CLONE_PARENT +.It +.Dv CLONE_PARENT_SETTID +.It +.Dv CLONE_PTRACE +.It +.Dv CLONE_SETTLS +.It +.Dv CLONE_SYSVSEM +.It +.Dv CLONE_THREAD +.It +.Dv CLONE_UNTRACED +.El diff --git a/static/netbsd/man2/close.2 b/static/netbsd/man2/close.2 new file mode 100644 index 00000000..de6daec7 --- /dev/null +++ b/static/netbsd/man2/close.2 @@ -0,0 +1,163 @@ +.\" $NetBSD: close.2,v 1.19 2024/12/21 18:56:28 riastradh Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)close.2 8.2 (Berkeley) 4/19/94 +.\" +.Dd September 1, 2019 +.Dt CLOSE 2 +.Os +.Sh NAME +.Nm close +.Nd delete a descriptor +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn close "int d" +.Sh DESCRIPTION +The +.Fn close +system call deletes a descriptor from the per-process object +reference table. +If this is the last reference to the underlying object, the +object will be deactivated. +For example, on the last close of a file the current +.Em seek +pointer associated with the file is lost; on the last close of a +.Xr socket 2 +associated naming information and queued data are discarded; on +the last close of a file holding an advisory lock the lock is +released (see +.Xr flock 2 ) . +.Pp +When a process exits, all associated descriptors are freed, but +since there is a limit on active descriptors per processes, the +.Fn close +system call +is useful when a large quantity of file descriptors are being handled. +.Pp +When a process calls +.Xr fork 2 , +all descriptors for the new child process reference the same +objects as they did in the parent before the +.Fn fork . +If a new process is then to be run using +.Xr execve 2 , +the process would normally inherit these descriptors. +Most of the descriptors can be rearranged with +.Xr dup2 2 +or deleted with +.Fn close +before the +.Fn execve +is attempted, but if some of these descriptors will still be needed if the +.Fn execve +fails, it is necessary to arrange for them to be closed only if the +.Fn execve +succeeds. +For this reason, the system call +.Bl -item -offset indent +.It +.Fn fcntl d F_SETFD 1 ; +.El +.Pp +is provided, +which arranges that a descriptor +.Dq Fa d +will be closed after a successful +.Fn execve ; +the system call +.Bl -item -offset indent +.It +.Fn fcntl d F_SETFD 0 ; +.El +.Pp +restores the default, which is to not close descriptor +.Dq Fa d . +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Pp +In either case, if +.Fa d +was an active descriptor, it is no longer active. +That is, +.Fn close +always closes the file descriptor, and, if it was the last reference to +the underlying object, frees the associated resources \(em even if some +underlying I/O fails or it is interrupted by a signal. +.Pp +Callers must not retry failed +.Fn close , +even on +.Er EINTR . +Retrying may inadvertently close a descriptor that was created by +another thread concurrently after the first call to +.Fn close +failed. +.Sh ERRORS +.Fn close +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa d +is not an active descriptor. +.It Bq Er EINTR +An interrupt was received. +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr execve 2 , +.Xr fcntl 2 , +.Xr flock 2 , +.Xr open 2 , +.Xr pipe 2 , +.Xr socket 2 , +.Xr socketpair 2 +.Sh STANDARDS +The +.Fn close +function conforms to +.St -p1003.1-90 . +.Pp +The finality of +.Fn close , +even on error, is not specified by POSIX, but most operating systems, +including +.Fx , +.Ox , +Linux, and Solaris, implement the same semantics. +.Sh HISTORY +The +.Fn close +function appeared in +.At v1 . diff --git a/static/netbsd/man2/connect.2 b/static/netbsd/man2/connect.2 new file mode 100644 index 00000000..ce85c422 --- /dev/null +++ b/static/netbsd/man2/connect.2 @@ -0,0 +1,180 @@ +.\" $NetBSD: connect.2,v 1.29 2021/03/28 03:29:31 dholland Exp $ +.\" +.\" Copyright (c) 1983, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)connect.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd March 27, 2021 +.Dt CONNECT 2 +.Os +.Sh NAME +.Nm connect +.Nd initiate a connection on a socket +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn connect "int s" "const struct sockaddr *name" "socklen_t namelen" +.Sh DESCRIPTION +The parameter +.Fa s +is a socket. +If it is of type +.Dv SOCK_DGRAM , +this call specifies the peer with which the socket is to be associated; +this address is that to which datagrams are to be sent, +and the only address from which datagrams are to be received. +If the socket is of type +.Dv SOCK_STREAM , +this call attempts to make a connection to +another socket. +The other socket is specified by +.Fa name , +which is an address in the communications space of the socket. +.Fa namelen +indicates the amount of space pointed to by +.Fa name , +in bytes. +Each communications space interprets the +.Fa name +parameter in its own way. +Generally, stream sockets may successfully +.Fn connect +only once; datagram sockets may use +.Fn connect +multiple times to change their association. +Datagram sockets may dissolve the association +by connecting to an invalid address, such as a null address. +.Pp +If a +.Fn connect +call is interrupted by a signal, it will return with errno set to +.Er EINTR +and the connection attempt will proceed as if the socket was non-blocking. +Subsequent calls to +.Fn connect +will set errno to +.Er EALREADY . +.Sh RETURN VALUES +If the connection or binding succeeds, 0 is returned. +Otherwise a \-1 is returned, and a more specific error +code is stored in +.Va errno . +.Sh ERRORS +The +.Fn connect +call fails if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa s +is not a valid descriptor. +.It Bq Er ENOTSOCK +.Fa s +is a descriptor for a file, not a socket. +.It Bq Er EINVAL +The socket address length passed was outside the allowable range. +.It Bq Er EADDRNOTAVAIL +The specified address is not available on this machine. +.It Bq Er EAFNOSUPPORT +Addresses in the specified address family cannot be used with this socket. +.It Bq Er EISCONN +The socket is already connected. +.It Bq Er ETIMEDOUT +Connection establishment timed out without establishing a connection. +.It Bq Er ECONNREFUSED +The attempt to connect was forcefully rejected. +.It Bq Er ENETUNREACH +The network isn't reachable from this host. +.It Bq Er EADDRINUSE +The address is already in use. +.It Bq Er EFAULT +The +.Fa name +parameter specifies an area outside +the process address space. +.It Bq Er EINPROGRESS +The socket is non-blocking and the connection cannot be completed immediately. +It is possible to +.Xr select 2 +or +.Xr poll 2 +for completion by selecting or polling the socket for writing. +The success or failure of the connect operation may be determined by using +.Xr getsockopt 2 +to read the socket error status with the +.Dv SO_ERROR +option at the +.Dv SOL_SOCKET +level. +The returned socket error status is zero on success, or one of the +error codes listed here on failure. +.It Bq Er EALREADY +Either the socket is non-blocking mode or a previous call to +.Fn connect +was interrupted by a signal, and the connection attempt has not yet +been completed. +.It Bq Er EINTR +The connection attempt was interrupted by a signal. +.El +.Pp +The following errors are specific to connecting names in the +.Ux +domain. +These errors may not apply in future versions of the +.Ux +IPC domain. +.Bl -tag -width Er +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named socket does not exist. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, or +write access to the named socket is denied. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr getsockname 2 , +.Xr getsockopt 2 , +.Xr poll 2 , +.Xr select 2 , +.Xr socket 2 +.Sh HISTORY +The +.Fn connect +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/csh.2 b/static/netbsd/man2/csh.2 new file mode 100644 index 00000000..58c3144c --- /dev/null +++ b/static/netbsd/man2/csh.2 @@ -0,0 +1,1303 @@ +.\" $NetBSD: csh.2,v 1.8 2021/12/19 21:02:49 andvar Exp $ +.\" +.\" Copyright (c) 1980, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)csh.2 8.1 (Berkeley) 6/8/93 +.\" +.nr H1 1 +.NH +Details on the shell for terminal users +.NH 2 +Shell startup and termination +.PP +When you login, the shell is started by the system in your +.I home +directory and begins by reading commands from a file +.I \&.cshrc +in this directory. +All shells which you may start during your terminal session will +read from this file. +We will later see what kinds of commands are usefully placed there. +For now we need not have this file and the shell does not complain about +its absence. +.PP +A +.I "login shell" , +executed after you login to the system, +will, after it reads commands from +.I \&.cshrc, +read commands from a file +.I \&.login +also in your home directory. +This file contains commands which you wish to do each time you login +to the \s-2UNIX\s0 system. +My +.I \&.login +file looks something like: +.DS +set ignoreeof +set mail=(/var/mail/bill) +echo "${prompt}users" ; users +alias ts \e + \'set noglob ; eval \`tset \-s \-m dialup:c100rv4pna \-m plugboard:?hp2621nl \!*\`\'; +ts; stty intr ^C kill ^U crt +set time=15 history=10 +msgs \-f +if (\-e $mail) then + echo "${prompt}mail" + mail +endif +.DE +.PP +This file contains several commands to be executed by \s-2UNIX\s0 +each time I login. +The first is a +.I set +command which is interpreted directly by the shell. It sets the shell +variable +.I ignoreeof +which causes the shell to not log me off if I hit ^D. Rather, +I use the +.I logout +command to log off of the system. +By setting the +.I mail +variable, I ask the shell to watch for incoming mail to me. Every 5 minutes +the shell looks for this file and tells me if more mail has arrived there. +An alternative to this is to put the command +.DS +biff y +.DE +in place of this +.I set; +this will cause me to be notified immediately when mail arrives, and to +be shown the first few lines of the new message. +.PP +Next I set the shell variable `time' to `15' causing the shell to automatically +print out statistics lines for commands which execute for at least 15 seconds +of \s-2CPU\s+2 time. The variable `history' is set to 10 indicating that +I want the shell to remember the last 10 commands I type in its +.I "history list" , +(described later). +.PP +I create an +.I alias +``ts'' which executes a +\fItset\fR\|(1) command setting up the modes of the terminal. +The parameters to +.I tset +indicate the kinds of terminal which I usually use when not on a hardwired +port. I then execute ``ts'' and also use the +.I stty +command to change the interrupt character to ^C and the line kill +character to ^U. +.PP +I then run the `msgs' program, which provides me with any +system messages which I have not seen before; the `\-f' option here prevents +it from telling me anything if there are no new messages. +Finally, if my mailbox file exists, then I run the `mail' program to +process my mail. +.PP +When the `mail' and `msgs' programs finish, the shell will finish +processing my +.I \&.login +file and begin reading commands from the terminal, prompting for each with +`% '. +When I log off (by giving the +.I logout +command) the shell +will print `logout' and execute commands from the file `.logout' +if it exists in my home directory. +After that the shell will terminate and \s-2UNIX\s0 will log +me off the system. +If the system is not going down, I will receive a new login message. +In any case, after the `logout' message the shell is committed to terminating +and will take no further input from my terminal. +.NH 2 +Shell variables +.PP +The shell maintains a set of +.I variables. +We saw above the variables +.I history +and +.I time +which had values `10' and `15'. +In fact, each shell variable has as value an array of +zero or more +.I strings. +Shell variables may be assigned values by the set command. It has +several forms, the most useful of which was given above and is +.DS +set name=value +.DE +.PP +Shell variables may be used to store values which are to +be used in commands later through a substitution mechanism. +The shell variables most commonly referenced are, however, those which the +shell itself refers to. +By changing the values of these variables one can directly affect the +behavior of the shell. +.PP +One of the most important variables is the variable +.I path. +This variable contains a sequence of directory names where the shell +searches for commands. +The +.I set +command with no arguments +shows the value of all variables currently defined (we usually say +.I set) +in the shell. +The default value for path will be shown by +.I set +to be +.DS +% set +.ta .75i +argv () +cwd /usr/bill +home /usr/bill +path (. /usr/ucb /bin /usr/bin) +prompt % +shell /bin/csh +status 0 +term c100rv4pna +user bill +% +.so tabs +.DE +This output indicates that the variable path points to the current +directory `.' and then `/usr/ucb', `/bin' and `/usr/bin'. +Commands which you may write might be in `.' (usually one of +your directories). +Commands developed at Berkeley, live in `/usr/ucb' +while commands developed at Bell Laboratories live in `/bin' and `/usr/bin'. +.PP +A number of locally developed programs on the system live in the directory +`/usr/local'. +If we wish that all shells which we invoke to have +access to these new programs we can place the command +.DS +set path=(. /usr/ucb /bin /usr/bin /usr/local) +.DE +in our file +.I \&.cshrc +in our home directory. +Try doing this and then logging out and back in and do +.DS +set +.DE +again to see that the value assigned to +.I path +has changed. +.FS \(dg +Another directory that might interest you is /usr/new, which contains +many useful user-contributed programs provided with Berkeley Unix. +.FE +.PP +One thing you should be aware of is that the shell examines each directory +which you insert into your path and determines which commands are contained +there. Except for the current directory `.', which the shell treats specially, +this means that if commands are added to a directory in your search path after +you have started the shell, they will not necessarily be found by the shell. +If you wish to use a command which has been added in this way, you should +give the command +.DS +rehash +.DE +to the shell, which will cause it to recompute its internal table of command +locations, so that it will find the newly added command. +Since the shell has to look in the current directory `.' on each command, +placing it at the end of the path specification usually works equivalently +and reduces overhead. +.PP +Other useful built in variables are the variable +.I home +which shows your home directory, +.I cwd +which contains your current working directory, +the variable +.I ignoreeof +which can be set in your +.I \&.login +file to tell the shell not to exit when it receives an end-of-file from +a terminal (as described above). +The variable `ignoreeof' +is one of several variables which the shell does not care about the +value of, only whether they are +.I set +or +.I unset. +Thus to set this variable you simply do +.DS +set ignoreeof +.DE +and to unset it do +.DS +unset ignoreeof +.DE +These give the variable `ignoreeof' no value, but none is desired or required. +.PP +Finally, some other built-in shell variables of use are the +variables +.I noclobber +and +.I mail. +The metasyntax +.DS +> filename +.DE +which redirects the standard output of a command +will overwrite and destroy the previous contents of the named file. +In this way you may accidentally overwrite a file which is valuable. +If you would prefer that the shell not overwrite files in this +way you can +.DS +set noclobber +.DE +in your +.I \&.login +file. +Then trying to do +.DS +date > now +.DE +would cause a diagnostic if `now' existed already. +You could type +.DS +date >! now +.DE +if you really wanted to overwrite the contents of `now'. +The `>!' is a special metasyntax indicating that clobbering the +file is ok.\(dg +.FS +\(dgThe space between the `!' and the word `now' is critical here, as `!now' +would be an invocation of the +.I history +mechanism, and have a totally different effect. +.FE +.NH 2 +The shell's history list +.PP +The shell can maintain a +.I "history list" +into which it places the words +of previous commands. +It is possible to use a notation to reuse commands or words +from commands in forming new commands. +This mechanism can be used to repeat previous commands or to +correct minor typing mistakes in commands. +.PP +The following figure gives a sample session involving typical usage of the +history mechanism of the shell. +.KF +.DS +% cat bug.c +main() + +{ + printf("hello); +} +% cc !$ +cc bug.c +"bug.c", line 4: newline in string or char constant +"bug.c", line 5: syntax error +% ed !$ +ed bug.c +29 +4s/);/"&/p + printf("hello"); +w +30 +q +% !c +cc bug.c +% a.out +hello% !e +ed bug.c +30 +4s/lo/lo\e\en/p + printf("hello\en"); +w +32 +q +% !c \-o bug +cc bug.c \-o bug +% size a.out bug +a.out: 2784+364+1028 = 4176b = 0x1050b +bug: 2784+364+1028 = 4176b = 0x1050b +% ls \-l !* +ls \-l a.out bug +\(mirwxr\(mixr\(mix 1 bill 3932 Dec 19 09:41 a.out +\(mirwxr\(mixr\(mix 1 bill 3932 Dec 19 09:42 bug +% bug +hello +% num bug.c | spp +spp: Command not found. +% ^spp^ssp +num bug.c | ssp + 1 main() + 3 { + 4 printf("hello\en"); + 5 } +% !! | lpr +num bug.c | ssp | lpr +% +.DE +.KE +In this example we have a very simple C program which has a bug (or two) +in it in the file `bug.c', which we `cat' out on our terminal. We then +try to run the C compiler on it, referring to the file again as `!$', +meaning the last argument to the previous command. Here the `!' is the +history mechanism invocation metacharacter, and the `$' stands for the last +argument, by analogy to `$' in the editor which stands for the end of the line. +The shell echoed the command, as it would have been typed without use of +the history mechanism, and then executed it. +The compilation yielded error diagnostics so we now run the editor on the +file we were trying to compile, fix the bug, and run the C compiler again, +this time referring to this command simply as `!c', which repeats the last +command which started with the letter `c'. If there were other +commands starting with `c' done recently we could have said `!cc' or even +`!cc:p' which would have printed the last command starting with `cc' +without executing it. +.PP +After this recompilation, we ran the resulting `a.out' file, and then +noting that there still was a bug, ran the editor again. After fixing +the program we ran the C compiler again, but tacked onto the command +an extra `\-o bug' telling the compiler to place the resultant binary in +the file `bug' rather than `a.out'. In general, the history mechanisms +may be used anywhere in the formation of new commands and other characters +may be placed before and after the substituted commands. +.PP +We then ran the `size' command to see how large the binary program images +we have created were, and then an `ls \-l' command with the same argument +list, denoting the argument list `\!*'. +Finally we ran the program `bug' to see that its output is indeed correct. +.PP +To make a numbered listing of the program we ran the `num' command on the file `bug.c'. +In order to compress out blank lines in the output of `num' we ran the +output through the filter `ssp', but misspelled it as spp. To correct this +we used a shell substitute, placing the old text and new text between `^' +characters. This is similar to the substitute command in the editor. +Finally, we repeated the same command with `!!', but sent its output to the +line printer. +.PP +There are other mechanisms available for repeating commands. The +.I history +command prints out a number of previous commands with numbers by which +they can be referenced. There is a way to refer to a previous command +by searching for a string which appeared in it, and there are other, +less useful, ways to select arguments to include in a new command. +A complete description of all these mechanisms +is given in the C shell manual pages in the \s-2UNIX\s0 Programmer's Manual. +.NH 2 +Aliases +.PP +The shell has an +.I alias +mechanism which can be used to make transformations on input commands. +This mechanism can be used to simplify the commands you type, +to supply default arguments to commands, +or to perform transformations on commands and their arguments. +The alias facility is similar to a macro facility. +Some of the features obtained by aliasing can be obtained also +using shell command files, but these take place in another instance +of the shell and cannot directly affect the current shells environment +or involve commands such as +.I cd +which must be done in the current shell. +.PP +As an example, suppose that there is a new version of the mail program +on the system called `newmail' +you wish to use, rather than the standard mail program which is called +`mail'. +If you place the shell command +.DS +alias mail newmail +.DE +in your +.I \&.cshrc +file, the shell will transform an input line of the form +.DS +mail bill +.DE +into a call on `newmail'. +More generally, suppose we wish the command `ls' to always show +sizes of files, that is to always do `\-s'. +We can do +.DS +alias ls ls \-s +.DE +or even +.DS +alias dir ls \-s +.DE +creating a new command syntax `dir' +which does an `ls \-s'. +If we say +.DS +dir ~bill +.DE +then the shell will translate this to +.DS +ls \-s /mnt/bill +.DE +.PP +Thus the +.I alias +mechanism can be used to provide short names for commands, +to provide default arguments, +and to define new short commands in terms of other commands. +It is also possible to define aliases which contain multiple +commands or pipelines, showing where the arguments to the original +command are to be substituted using the facilities of the +history mechanism. +Thus the definition +.DS +alias cd \'cd \e!* ; ls \' +.DE +would do an +.I ls +command after each change directory +.I cd +command. +We enclosed the entire alias definition in `\'' characters to prevent +most substitutions from occurring and the character `;' from being +recognized as a metacharacter. +The `!' here is escaped with a `\e' to prevent it from being interpreted +when the alias command is typed in. +The `\e!*' here substitutes the entire argument list to the pre-aliasing +.I cd +command, without giving an error if there were no arguments. +The `;' separating commands is used here +to indicate that one command is to be done and then the next. +Similarly the definition +.DS +alias whois \'grep \e!^ /etc/passwd\' +.DE +defines a command which looks up its first argument in the password file. +.PP +.B Warning: +The shell currently reads the +.I \&.cshrc +file each time it starts up. If you place a large number of commands +there, shells will tend to start slowly. A mechanism for saving the shell +environment after reading the \fI\&.cshrc\fR file and quickly restoring it is +under development, but for now you should try to limit the number of +aliases you have to a reasonable number... 10 or 15 is reasonable, +50 or 60 will cause a noticeable delay in starting up shells, and make +the system seem sluggish when you execute commands from within the editor +and other programs. +.NH 2 +More redirection; >> and >& +.PP +There are a few more notations useful to the terminal user +which have not been introduced yet. +.PP +In addition to the standard output, commands also have a +.I "diagnostic output" +which is normally directed to the terminal even when the standard output +is redirected to a file or a pipe. +It is occasionally desirable to direct the diagnostic output along with +the standard output. +For instance if you want to redirect the output of a long running command +into a file and wish to have a record of any error diagnostic it produces +you can do +.DS +command >& file +.DE +The `>&' here tells the shell to route both the diagnostic output and the +standard output into `file'. +Similarly you can give the command +.DS +command |\|& lpr +.DE +to route both standard and diagnostic output through the pipe +to the line printer daemon +.I lpr.\(dd +.FS +\(dd A command of the form +.br +.ti +5 +command >&! file +.br +exists, and is used when +.I noclobber +is set and +.I file +already exists. +.FE +.PP +Finally, it is possible to use the form +.DS +command >> file +.DE +to place output at the end of an existing file.\(dg +.FS +\(dg If +.I noclobber +is set, then an error will result if +.I file +does not exist, otherwise the shell will create +.I file +if it doesn't exist. +A form +.br +.ti +5 +command >>! file +.br +makes it not be an error for file to not exist when +.I noclobber +is set. +.FE +.NH 2 +Jobs; Background, Foreground, or Suspended +.PP +When one or more commands +are typed together as a pipeline or as a sequence of commands separated by +semicolons, a single +.I job +is created by the shell consisting of these commands together as a unit. +Single commands without pipes or semicolons create the simplest jobs. +Usually, every line typed to the shell creates a job. +Some lines that create jobs (one per line) are +.DS +sort < data +ls \-s | sort \-n | head \-5 +mail harold +.DE +.PP +If the metacharacter `&' is typed +at the end of the commands, then the job is started as a +.I background +job. This means that the shell does not wait for it to complete but +immediately prompts and is ready for another command. The job runs +.I "in the background" +at the same time that normal jobs, called +.I foreground +jobs, continue to be read and executed by the shell one at a time. +Thus +.DS +du > usage & +.DE +would run the +.I du +program, which reports on the disk usage of your working directory (as well as +any directories below it), put the output into the file `usage' and return +immediately with a prompt for the next command without out waiting for +.I du +to finish. The +.I du +program would continue executing in the background +until it finished, even though you can type and execute more commands in the +mean time. +When a background +job terminates, a message is typed by the shell just before the next prompt +telling you that the job has completed. +In the following example the +.I du +job finishes sometime during the +execution of the +.I mail +command and its completion is reported just before +the prompt after the +.I mail +job is finished. +.DS +% du > usage & +[1] 503 +% mail bill +How do you know when a background job is finished? +EOT +.ta 1.75i +[1] \- Done du > usage +% +.so tabs +.DE +If the job did not terminate normally the `Done' message might say +something else like `Killed'. +If you want the +terminations of background jobs to be reported at the time they occur +(possibly interrupting the output of other foreground jobs), you can set +the +.I notify +variable. In the previous example this would mean that the +`Done' message might have come right in the middle of the message to +Bill. +Background jobs are unaffected by any signals from the keyboard like +the \s-2STOP\s0, \s-2INTERRUPT\s0, or \s-2QUIT\s0 signals mentioned earlier. +.PP +Jobs are recorded in a table inside the shell until they terminate. +In this table, the shell remembers the command names, arguments and the +.I "process numbers" +of all commands in the job as well as the working directory where the job was +started. +Each job in the table is either running +.I "in the foreground" +with the shell waiting for it to terminate, running +.I "in the background," +or +.I suspended. +Only one job can be running in the foreground at one time, but several +jobs can be suspended or running in the background at once. As each job +is started, it is assigned a small identifying +number called the +.I "job number" +which can be used later to refer to the job in the commands described below. +Job numbers remain +the same until the job terminates and then are re-used. +.PP +When a job is started in the background using `&', its number, as well +as the process numbers of all its (top level) commands, is typed by the shell +before prompting you for another command. For example, +.DS +% ls \-s | sort \-n > usage & +[2] 2034 2035 +% +.DE +runs the `ls' program with the `\-s' options, pipes this output into +the `sort' program with the `\-n' option which puts its output into the +file `usage'. +Since the `&' was at the end of the line, these two programs were started +together as a background job. After starting the job, the shell prints +the job number in brackets (2 in this case) followed by the process number +of each program started in the job. Then the shell immediates prompts for +a new command, leaving the job running simultaneously. +.PP +As mentioned in section 1.8, foreground jobs become +.I suspended +by typing ^Z +which sends a \s-2STOP\s0 signal to the currently running +foreground job. A background job can become suspended by using the +.I stop +command described below. When jobs are suspended they merely stop +any further progress until started again, either in the foreground +or the background. The shell notices when a job becomes stopped and +reports this fact, much like it reports the termination of background jobs. +For foreground jobs this looks like +.DS +% du > usage +^Z +Stopped +% +.DE +`Stopped' message is typed by the shell when it notices that the +.I du +program stopped. +For background jobs, using the +.I stop +command, it is +.DS +% sort usage & +[1] 2345 +% stop %1 +.ta 1.75i +[1] + Stopped (signal) sort usage +% +.so tabs +.DE +Suspending foreground jobs can be very useful when you need to temporarily +change what you are doing (execute other commands) and then return to +the suspended job. Also, foreground jobs can be suspended and then +continued as background jobs using the +.I bg +command, allowing you to continue other work and +stop waiting for the foreground job to finish. Thus +.DS +% du > usage +^Z +Stopped +% bg +[1] du > usage & +% +.DE +starts `du' in the foreground, stops it before it finishes, then continues +it in the background allowing more foreground commands to be executed. +This is especially helpful +when a foreground job ends up taking longer than you expected and you +wish you had started it in the background in the beginning. +.PP +All +.I "job control" +commands can take an argument that identifies a particular +job. +All job name arguments begin with the character `%', since some of the +job control commands also accept process numbers (printed by the +.I ps +command.) +The default job (when no argument is given) is called the +.I current +job and is identified by a `+' in the output of the +.I jobs +command, which shows you which jobs you have. +When only one job is stopped or running in the background (the usual case) +it is always the current job thus no argument is needed. +If a job is stopped while running in the foreground it becomes the +.I current +job and the existing current job becomes the +.I previous +job \- identified by a `\-' in the output of +.I jobs. +When the current job terminates, the previous job becomes the current job. +When given, the argument is either `%\-' (indicating +the previous job); `%#', where # is the job number; +`%pref' where pref is some unique prefix of the command name +and arguments of one of the jobs; or `%?' followed by some string found +in only one of the jobs. +.PP +The +.I jobs +command types the table of jobs, giving the job number, +commands and status (`Stopped' or `Running') of each background or +suspended job. With the `\-l' option the process numbers are also +typed. +.DS +% du > usage & +[1] 3398 +% ls \-s | sort \-n > myfile & +[2] 3405 +% mail bill +^Z +Stopped +% jobs +.ta 1.75i +[1] \(mi Running du > usage +[2] Running ls \-s | sort \-n > myfile +[3] \(pl Stopped mail bill +% fg %ls +ls \-s | sort \-n > myfile +% more myfile +.so tabs +.DE +.PP +The +.I fg +command runs a suspended or background job in the foreground. It is +used to restart a previously suspended job or change a background job +to run in the foreground (allowing signals or input from the terminal). +In the above example we used +.I fg +to change the `ls' job from the +background to the foreground since we wanted to wait for it to +finish before looking at its output file. +The +.I bg +command runs a suspended job in the background. It is usually used +after stopping the currently running foreground job with the +\s-2STOP\s0 signal. The combination of the \s-2STOP\s0 signal and the +.I bg +command changes a foreground job into a background job. +The +.I stop +command suspends a background job. +.PP +The +.I kill +command terminates a background or suspended job immediately. +In addition to jobs, it may be given process numbers as arguments, +as printed by +.I ps. +Thus, in the example above, the running +.I du +command could have been terminated by the command +.DS +% kill %1 +.ta 1.75i +[1] Terminated du > usage +% +.so tabs +.DE +.PP +The +.I notify +command (not the variable mentioned earlier) indicates that the termination +of a specific job should be +reported at the time it finishes instead of waiting for the next prompt. +.PP +If a job running in the background tries to read input from the terminal +it is automatically stopped. When such a job is then run in the +foreground, input can be given to the job. If desired, the job can +be run in the background again until it requests input again. +This is illustrated in the following sequence where the `s' command in the +text editor might take a long time. +.ID +.nf +% ed bigfile +120000 +1,$s/thisword/thatword/ +^Z +Stopped +% bg +[1] ed bigfile & +% + . . . some foreground commands +.ta 1.75i +[1] Stopped (tty input) ed bigfile +% fg +ed bigfile +w +120000 +q +% +.so tabs +.DE +So after the `s' command was issued, the `ed' job was stopped with ^Z +and then put in the background using +.I bg. +Some time later when the `s' command was finished, +.I ed +tried to read another command and was stopped because jobs +in the background cannot read from the terminal. The +.I fg +command returned the `ed' job to the foreground where it could once again +accept commands from the terminal. +.PP +The command +.DS +stty tostop +.DE +causes all background jobs run on your terminal to stop +when they are about to +write output to the terminal. This prevents messages from background +jobs from interrupting foreground job output and allows you to run +a job in the background without losing terminal output. It also +can be used for interactive programs that sometimes have long +periods without interaction. Thus each time it outputs a prompt for more +input it will stop before the prompt. It can then be run in the +foreground using +.I fg, +more input can be given and, if necessary stopped and returned to +the background. This +.I stty +command might be a good thing to put in your +.I \&.login +file if you do not like output from background jobs interrupting +your work. It also can reduce the need for redirecting the output +of background jobs if the output is not very big: +.DS +% stty tostop +% wc hugefile & +[1] 10387 +% ed text +\&. . . some time later +q +.ta 1.75i +[1] Stopped (tty output) wc hugefile +% fg wc +wc hugefile + 13371 30123 302577 +% stty \-tostop +.so tabs +.DE +Thus after some time the `wc' command, which counts the lines, words +and characters in a file, had one line of output. When it tried to +write this to the terminal it stopped. By restarting it in the +foreground we allowed it to write on the terminal exactly when we were +ready to look at its output. +Programs which attempt to change the mode of the terminal will also +block, whether or not +.I tostop +is set, when they are not in the foreground, as +it would be very unpleasant to have a background job change the state +of the terminal. +.PP +Since the +.I jobs +command only prints jobs started in the currently executing shell, +it knows nothing about background jobs started in other login sessions +or within shell files. The +.I ps +can be used in this case to find out about background jobs not started +in the current shell. +.NH 2 +Working Directories +.PP +As mentioned in section 1.6, the shell is always in a particular +.I "working directory." +The `change directory' command +.I chdir +(its +short form +.I cd +may also be used) +changes the working directory of the shell, +that is, changes the directory you +are located in. +.PP +It is useful to make a directory for each project you wish to work on +and to place all files related to that project in that directory. +The `make directory' command, +.I mkdir, +creates a new directory. +The +.I pwd +(`print working directory') command +reports the absolute pathname of the working directory of the shell, +that is, the directory you are +located in. +Thus in the example below: +.DS +% pwd +/usr/bill +% mkdir newpaper +% chdir newpaper +% pwd +/usr/bill/newpaper +% +.DE +the user has created and moved to the +directory +.I newpaper. +where, for example, he might +place a group of related files. +.PP +No matter where you have moved to in a directory hierarchy, +you can return to your `home' login directory by doing just +.DS +cd +.DE +with no arguments. +The name `..' always means the directory above the current one in +the hierarchy, thus +.DS +cd .. +.DE +changes the shell's working directory to the one directly above the +current one. +The name `..' can be used in any +pathname, thus, +.DS +cd ../programs +.DE +means +change to the directory `programs' contained in the directory +above the current one. +If you have several directories for different +projects under, say, your home directory, +this shorthand notation +permits you to switch easily between them. +.PP +The shell always remembers the pathname of its current working directory in +the variable +.I cwd. +The shell can also be requested to remember the previous directory when +you change to a new working directory. If the `push directory' command +.I pushd +is used in place of the +.I cd +command, the shell saves the name of the current working directory +on a +.I "directory stack" +before changing to the new one. +You can see this list at any time by typing the `directories' +command +.I dirs. +.ID +.nf +% pushd newpaper/references +~/newpaper/references ~ +% pushd /usr/lib/tmac +/usr/lib/tmac ~/newpaper/references ~ +% dirs +/usr/lib/tmac ~/newpaper/references ~ +% popd +~/newpaper/references ~ +% popd +~ +% +.DE +The list is printed in a horizontal line, reading left to right, +with a tilde (~) as +shorthand for your home directory\(emin this case `/usr/bill'. +The directory stack is printed whenever there is more than one +entry on it and it changes. +It is also printed by a +.I dirs +command. +.I Dirs +is usually faster and more informative than +.I pwd +since it shows the current working directory as well as any +other directories remembered in the stack. +.PP +The +.I pushd +command with no argument +alternates the current directory with the first directory in the +list. +The `pop directory' +.I popd +command without an argument returns you to the directory you were in prior to +the current one, discarding the previous current directory from the +stack (forgetting it). +Typing +.I popd +several times in a series takes you backward through the directories +you had been in (changed to) by +.I pushd +command. +There are other options to +.I pushd +and +.I popd +to manipulate the contents of the directory stack and to change +to directories not at the top of the stack; see the +.I csh +manual page for details. +.PP +Since the shell remembers the working directory in which each job +was started, it warns you when you might be confused by restarting +a job in the foreground which has a different working directory than the +current working directory of the shell. Thus if you start a background +job, then change the shell's working directory and then cause the +background job to run in the foreground, the shell warns you that the +working directory of the currently running foreground job is different +from that of the shell. +.DS +% dirs \-l +/mnt/bill +% cd myproject +% dirs +~/myproject +% ed prog.c +1143 +^Z +Stopped +% cd .. +% ls +myproject +textfile +% fg +ed prog.c (wd: ~/myproject) +.DE +This way the shell warns you when there +is an implied change of working directory, even though no cd command was +issued. In the above example the `ed' job was still in `/mnt/bill/project' +even though the shell had changed to `/mnt/bill'. +A similar warning is given when such a foreground job +terminates or is suspended (using the \s-2STOP\s0 signal) since +the return to the shell again implies a change of working directory. +.DS +% fg +ed prog.c (wd: ~/myproject) + . . . after some editing +q +(wd now: ~) +% +.DE +These messages are sometimes confusing if you use programs that change +their own working directories, since the shell only remembers which +directory a job is started in, and assumes it stays there. +The `\-l' option of +.I jobs +will type the working directory +of suspended or background jobs when it is different +from the current working directory of the shell. +.NH 2 +Useful built-in commands +.PP +We now give a few of the useful built-in commands of the shell describing +how they are used. +.PP +The +.I alias +command described above is used to assign new aliases and to show the +existing aliases. +With no arguments it prints the current aliases. +It may also be given only one argument such as +.DS +alias ls +.DE +to show the current alias for, e.g., `ls'. +.PP +The +.I echo +command prints its arguments. +It is often used in +.I "shell scripts" +or as an interactive command +to see what filename expansions will produce. +.PP +The +.I history +command will show the contents of the history list. +The numbers given with the history events can be used to reference +previous events which are difficult to reference using the +contextual mechanisms introduced above. +There is also a shell variable called +.I prompt. +By placing a `!' character in its value the shell will there substitute +the number of the current command in the history list. +You can use this number to refer to this command in a history substitution. +Thus you could +.DS +set prompt=\'\e! % \' +.DE +Note that the `!' character had to be +.I escaped +here even within `\'' characters. +.PP +The +.I limit +command is used to restrict use of resources. +With no arguments it prints the current limitations: +.DS +.ta 1i +cputime unlimited +filesize unlimited +datasize 5616 kbytes +stacksize 512 kbytes +coredumpsize unlimited +.so tabs +.DE +Limits can be set, e.g.: +.DS +limit coredumpsize 128k +.DE +Most reasonable units abbreviations will work; see the +.I csh +manual page for more details. +.PP +The +.I logout +command can be used to terminate a login shell which has +.I ignoreeof +set. +.PP +The +.I rehash +command causes the shell to recompute a table of where commands are +located. This is necessary if you add a command to a directory +in the current shell's search path and wish the shell to find it, +since otherwise the hashing algorithm may tell the shell that the +command wasn't in that directory when the hash table was computed. +.PP +The +.I repeat +command can be used to repeat a command several times. +Thus to make 5 copies of the file +.I one +in the file +.I five +you could do +.DS +repeat 5 cat one >> five +.DE +.PP +The +.I setenv +command can be used +to set variables in the environment. +Thus +.DS +setenv TERM adm3a +.DE +will set the value of the environment variable \s-2TERM\s0 +to +`adm3a'. +A user program +.I printenv +exists which will print out the environment. +It might then show: +.DS +% printenv +HOME=/usr/bill +SHELL=/bin/csh +PATH=:/usr/ucb:/bin:/usr/bin:/usr/local +TERM=adm3a +USER=bill +% +.DE +.PP +The +.I source +command can be used to force the current shell to read commands from +a file. +Thus +.DS +source .cshrc +.DE +can be used after editing in a change to the +.I \&.cshrc +file which you wish to take effect right away. +.PP +The +.I time +command can be used to cause a command to be timed no matter how much +\s-2CPU\s0 time it takes. +Thus +.DS +% time cp /etc/rc /usr/bill/rc +0.0u 0.1s 0:01 8% 2+1k 3+2io 1pf+0w +% time wc /etc/rc /usr/bill/rc + 52 178 1347 /etc/rc + 52 178 1347 /usr/bill/rc + 104 356 2694 total +0.1u 0.1s 0:00 13% 3+3k 5+3io 7pf+0w +% +.DE +indicates that the +.I cp +command used a negligible amount of user time (u) +and about 1/10th of a system time (s); the elapsed time was 1 second (0:01), +there was an average memory usage of 2k bytes of program space and 1k +bytes of data space over the cpu time involved (2+1k); the program +did three disk reads and two disk writes (3+2io), and took one page fault +and was not swapped (1pf+0w). +The word count command +.I wc +on the other hand used 0.1 seconds of user time and 0.1 seconds of system +time in less than a second of elapsed time. +The percentage `13%' indicates that over the period when it was active +the command `wc' used an average of 13 percent of the available \s-2CPU\s0 +cycles of the machine. +.PP +The +.I unalias +and +.I unset +commands can be used +to remove aliases and variable definitions from the shell, and +.I unsetenv +removes variables from the environment. +.NH 2 +What else? +.PP +This concludes the basic discussion of the shell for terminal users. +There are more features of the shell to be discussed here, and all +features of the shell are discussed in its manual pages. +One useful feature which is discussed later is the +.I foreach +built-in command which can be used to run the same command +sequence with a number of different arguments. +.PP +If you intend to use \s-2UNIX\s0 a lot you you should look through +the rest of this document and the csh manual pages (section1) to become familiar +with the other facilities which are available to you. +.bp diff --git a/static/netbsd/man2/delayedkeys.conf.2 b/static/netbsd/man2/delayedkeys.conf.2 new file mode 100644 index 00000000..9ac3524b --- /dev/null +++ b/static/netbsd/man2/delayedkeys.conf.2 @@ -0,0 +1,21 @@ +.\" $NetBSD: delayedkeys.conf.2,v 1.2 2025/01/26 16:24:51 christos Exp $ +.\" +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +zone "delayedkeys" { + type primary; + file "delayedkeys.db"; + inline-signing yes; + dnssec-policy inline; +}; diff --git a/static/netbsd/man2/do_add.2 b/static/netbsd/man2/do_add.2 new file mode 100644 index 00000000..9884c89a --- /dev/null +++ b/static/netbsd/man2/do_add.2 @@ -0,0 +1,18 @@ +dn: cn=James A Jones 3,ou=Alumni Association,ou=People,dc=example,dc=com +objectClass: OpenLDAPperson +cn: James A Jones 3 +cn: James Jones +cn: Jim Jones +sn: Jones +uid: jaj +postalAddress: Alumni Association $ 111 Maple St $ Anytown, MI 48109 +seeAlso: cn=All Staff, ou=Groups, dc=example,dc=com +userpassword:: amFq +homePostalAddress: 3882 Beverly Rd. $ Anytown, MI 48105 +homePhone: +1 313 555 4772 +description: Outstanding +title: Mad Cow Researcher, UM Alumni Association +pager: +1 313 555 3923 +mail: jaj@mail.alumni.example.com +facsimileTelephoneNumber: +1 313 555 4332 +telephoneNumber: +1 313 555 0895 diff --git a/static/netbsd/man2/dup.2 b/static/netbsd/man2/dup.2 new file mode 100644 index 00000000..a6f1af4f --- /dev/null +++ b/static/netbsd/man2/dup.2 @@ -0,0 +1,268 @@ +.\" $NetBSD: dup.2,v 1.37 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)dup.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 8, 2025 +.Dt DUP 2 +.Os +.Sh NAME +.Nm dup , +.Nm dup2 , +.Nm dup3 +.Nd duplicate an existing file descriptor +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn dup "int oldfd" +.Ft int +.Fn dup2 "int oldfd" "int newfd" +.In fcntl.h +.In unistd.h +.Ft int +.Fn dup3 "int oldfd" "int newfd" "int flags" +.Sh DESCRIPTION +The +.Fn dup +family of calls duplicates an existing file descriptor +.Fa oldfd . +A new file descriptor is produced; it is a new reference to the same +underlying system object. +The object in question does not distinguish between the descriptors +referencing it in any way. +Thus for files, +.Xr read 2 , +.Xr write 2 +and +.Xr lseek 2 +calls all move a single shared seek position. +Similarly, all object modes, settings, properties, and behavior other +than the close-on-exec & close-on-fork flags are shared between references. +This includes the setting of append mode, non-blocking I/O actions, +asynchronous I/O operations in progress, socket options, and so forth. +The close-on-exec & close-on-fork flags, however, are a property of the +descriptor rather than the object and can be set independently for each +reference. +.Pp +To get an independent handle with its own seek position and settings, +an additional +.Xr open 2 +call must be issued. +(This is not generally possible for pipes and sockets.) +.Pp +The +.Fn dup +call chooses the new descriptor: it is the lowest-numbered descriptor +not currently in use. +The +.Fn dup2 +and +.Fn dup3 +calls allow the caller to choose the new descriptor by passing +.Fa newfd , +which must be within the range of valid descriptors. +If +.Fa newfd +is the same as +.Fa oldfd , +in +.Fn dup2 +the call has no effect, +whereas it is an error in +.Fn dup3 . +Otherwise, if +.Fa newfd +is already in use, it is closed as if +.Xr close 2 +had been called. +.Pp +File descriptors are small non-negative integers that index into the +per-process file table. +Values 0, 1, and 2 have the special property that they are treated as +standard input, standard output, and standard error respectively. +(The constants +.Dv STDIN_FILENO , +.Dv STDOUT_FILENO , +and +.Dv STDERR_FILENO +are provided as symbolic forms for these values.) +The maximum value for a file descriptor is one less than the file +table size. +The file table size can be interrogated with +.Xr getdtablesize 3 +and can to some extent be adjusted with +.Xr setrlimit 2 . +.Pp +The +.Fn dup3 +call fails and returns +.Er EINVAL +if the numeric value in the +.Ar oldfd +argument is equal to the one in the +.Ar newfd +argument. +It also includes an additional +.Fa flags +argument supporting a subset of the +.Xr open 2 +flags: +.Bl -tag -width O_NOSIGPIPE -offset indent +.It Dv O_CLOEXEC +Set the close-on-exec flag on +.Fa newfd . +.It Dv O_CLOFORK +Set the close-on-fork flag on +.Fa newfd . +.It Dv O_NONBLOCK +Sets non-blocking I/O. +.It Dv O_NOSIGPIPE +For pipes and sockets, do not raise +.Dv SIGPIPE +when a write is made to a broken pipe. +Instead, the write will fail with +.Er EPIPE . +.El +.Pp +As described above, only the close-on-exec and close-on-fork flags are +per-file-descriptor, so passing any of the other +.Fa flags +will affect +both +.Fa oldfd +and +.Fa newfd . +These settings are, however, applied atomically along with the rest of +the +.Fn dup3 +operation. +.Pp +In the case of +.Fn dup +and +.Fn dup2 +the close-on-exec and close-on-fork flags on the new file descriptor are +always left unset +and all the modes and settings of the underlying object are left unchanged. +.Pp +Functionality similar to +.Fn dup +with slightly different semantics is also available via +.Xr fcntl 2 . +.Sh RETURN VALUES +When successful, these calls return the new file descriptor value. +In the case of +.Fn dup2 +and +.Fn dup3 +this is always the same as +.Fa newfd . +If an error occurs, the value \-1 is returned and +.Va errno +is set to indicate what happened. +.Sh EXAMPLES +A common use for these functions is to set up a pipe as the standard +input or standard output of a subprocess. +That is done approximately as follows (with error handling omitted for +clarity): +.Bd -literal -offset indent +#include <unistd.h> + +int fds[2]; +pid_t pid; + +pipe(fds); +pid = fork(); +if (pid == 0) { + /* child; use read end of pipe to stdin */ + dup2(fds[0], STDIN_FILENO); + close(fds[0]); + close(fds[1]); + execv("/some/program", args); +} +/* parent process; return write end of pipe */ +close(fds[0]); +return fds[1]; +.Ed +.Sh ERRORS +These functions fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa oldfd +is not a valid active descriptor, or for +.Fn dup2 +and +.Fn dup3 , +.Fa newfd +is not in the range of valid file descriptors. +.It Bq Er EINVAL +In the +.Fn dup3 +call either the +.Fa flags +argument contained an invalid value or the +.Ar oldfd +argument is equal to the +.Ar newfd +argument. +.It Bq Er EMFILE +Too many descriptors are active. +Only +.Fn dup +can generate this error. +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr close 2 , +.Xr fcntl 2 , +.Xr getrlimit 2 , +.Xr open 2 , +.Xr pipe 2 , +.Xr setrlimit 2 , +.Xr socket 2 , +.Xr socketpair 2 , +.Xr getdtablesize 3 +.Sh STANDARDS +The +.Fn dup +and +.Fn dup2 +functions conform to +.St -p1003.1-90 . +The +.Fn dup3 +function conforms to +.St -p1003.1-2024 . +.Sh HISTORY +The +.Fn dup3 +function originated in Linux and appeared in +.Nx 6.0 . diff --git a/static/netbsd/man2/epoll.2 b/static/netbsd/man2/epoll.2 new file mode 100644 index 00000000..667a2b5a --- /dev/null +++ b/static/netbsd/man2/epoll.2 @@ -0,0 +1,388 @@ +.\" $NetBSD: epoll.2,v 1.2 2023/07/28 23:41:16 wiz Exp $ +.\" +.\" Copyright (c) 2023 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Theodore Preduta. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd July 19, 2023 +.Dt EPOLL 2 +.Os +.Sh NAME +.Nm epoll , +.Nm epoll_event , +.Nm epoll_data , +.Nm epoll_data_t , +.Nm epoll_create , +.Nm epoll_create1 , +.Nm epoll_ctl , +.Nm epoll_wait , +.Nm epoll_pwait , +.Nm epoll_pwait2 +.Nd event notification mechanism +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/epoll.h +.Bd -literal +union epoll_data { + void *ptr; + int fd; + uint32_t u32; + uint64_t u64; +}; + +typedef union epoll_data epoll_data_t; + +struct epoll_event { + uint32_t events; + epoll_data_t data; +}; +.Ed +.Pp +.Ft int +.Fn epoll_create "int size" +.Ft int +.Fn epoll_create1 "int flags" +.Ft int +.Fn epoll_ctl "int epfd" "int op" "int fd" "struct epoll_event *event" +.Ft int +.Fn epoll_wait "int epfd" "struct epoll_event *events" "int maxevents" "int timeout" +.Ft int +.Fn epoll_pwait "int epfd" "struct epoll_event *events" "int maxevents" "int timeout" "const sigset_t *sigmask" +.Ft int +.Fn epoll_pwait2 "int epfd" "struct epoll_event *events" "int maxevents" "const struct timespec *timeout" "const sigset_t *sigmask" +.Sh DESCRIPTION +.Nm +provides a similar facility to both +.Xr select 2 +and +.Xr kqueue 2 : +it allows for the examination of file descriptors to see if they are available +for reading/writing. +.Pp +The +.Va epoll_event +structure consists of two fields, +.Va events +and +.Va data . +The +.Va data +field is passed through the kernel and is intended to be used to identify the +event. +When used with +.Fn epoll_ctl , +the +.Va events +field consists of a mask of the events that the +.Nm +instance should watch for, and when being used with +.Fn epoll_wait , +.Fn epoll_pwait , +and +.Fn epoll_pwait2 +consists of a mask of the events that occurred. +The following are possible values for +.Va events : +.Bl -tag -width EPOLLONESHOT +.It Dv EPOLLIN +Watch for +.Xr read 2 +operations. +.It Dv EPOLLOUT +Watch for +.Xr write 2 +operations. +.It Dv EPOLLRDHUP +Watch for a peer closed connection. +.It Dv EPOLLERR +Watch for error conditions. +.It Dv EPOLLET +This option modifies the other set bits of +.Va events . +When set, the events described by other bits in +.Va events +are only triggered when the state change. +Otherwise the events are considered triggered whenever the condition is true. +.It Dv EPOLLONESHOT +Remove this event once it is retrieved once. +.El +.Pp +.Fn epoll_create +and +.Fn epoll_create1 +both create an +.Nm +instance. +The +.Fa size +argument specified for +.Fn epoll_create +exists so that the +.Nx +function has the same signature as the Linux system call of the same name. +.Fa size +must be positive, but is otherwise unused. +Additionally, optionally, +.Dv EPOLL_CLOEXEC +may be specified in the +.Fa flags +of +.Fn epoll_create1 +to set the +.Xr close 2 +on +.Xr exec 3 +flag. +.Pp +.Fn epoll_ctl +is used to make changes to the given +.Nm +instance based on the provided +.Fa op . +Possible values for +.Fa op +are: +.Bl -tag -width EPOLL_CTL_ADD +.It Dv EPOLL_CTL_ADD +Register interest of +.Fa fd +on the +.Fa epfd +for the events specified in +.Fa event . +.It Dv EPOLL_CTL_MOD +Modify the events registered for +.Fa fd +to those specified in +.Fa event . +.It Dv EPOLL_CTL_DEL +Deregister +.Fa fd +from the +.Nm +instance specified in +.Fa epfd . +Note that +.Fa event +is completely ignored in this case. +.El +.Pp +.Fn epoll_wait , +.Fn epoll_pwait , +and +.Fn epoll_pwait2 +provide the ability to wait for up to +.Fa maxevents +which are stored in the buffer pointed to by +.Fa events . +For +.Fn epoll_wait +and +.Fn epoll_pwait , +a timeout may be specified in +.Fa timeout +in milliseconds. +If no timeout is desired, -1 should be specified in +.Fa timeout . +For +.Fn epoll_pwait2 +if no timeout is desired +.Fa timeout +should be specified as +.Dv NULL . +Additionally, +a sigmask may be specified to +.Fn epoll_pwait +and +.Fn epoll_pwait2 +in +.Fa sigmask +to set the sigmask while +.Nm +waits for events. +.Pp +Note that +.Nm +is not intended to be used by native +.Nx +applications. +Instead it is only intended to used as a means to help port software originally +written for Linux to +.Nx . +.Sh RETURN VALUES +.Fn epoll_create +and +.Fn epoll_create1 +both return a file descriptor when successful. +.Pp +.Fn epoll_ctl +returns zero when successful. +.Pp +.Fn epoll_wait , +.Fn epoll_pwait , +and +.Fn epoll_pwait2 +return the number of events written to +.Fa events +when successful. +Note that zero is written to when +.Fa timeout +expires and no events were available. +.Pp +When any of the above fail, -1 is returned and +.Fa errno +is set. +.Sh ERRORS +The +.Fn epoll_create +and +.Fn epoll_create1 +functions fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa size +is not positive. +.Pp +Bits other than +.Dv EPOLL_CLOEXEC +are provided in +.Fa flags . +.It Bq Er EMFILE +The per-process descriptor table is full. +.It Bq Er ENFILE +The system file table is full. +.It Bq Er ENOMEM +The kernel failed to allocate enough memory for a +.Nm +instance. +.El +.Pp +The +.Fn epoll_ctl +function fails if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa epfd +or +.Fa fd +is not a valid file descriptor. +.It Bq Er EEXIST +.Fa op +is +.Dv EPOLL_CTL_ADD +and +.Fa fd +was already previously added via +.Dv EPOLL_CTL_ADD . +.It Bq Er EINVAL +.Fa epfd +is not a file descriptor for an +.Nm +instance. +.Pp +.Fa epfd +and +.Fa fd +represent the same +.Nm +instance. +.It Bq Er ELOOP +.Fa op +is +.Dv EPOLL_CTL_ADD +and adding +.Fa fd +would result in a circular loop of +.Nm +instances. +.It Bq Er ENOENT +.Fa op +is +.Dv EPOLL_CTL_MOD +or +.Dv EPOLL_CTL_DEL +and +.Fa fd +was not previously added with +.Dv EPOLL_CTL_ADD . +.It Bq Er ENOMEM +The kernel failed to allocate enough memory for +.Fa op . +.It Bq Er EPERM +.Fa fd +does not support +.Nm epoll . +.El +.Pp +The +.Fn epoll_wait , +.Fn epoll_pwait , +and +.Fn epoll_pwait2 +functions fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa epfd +is not a valid file descriptor. +.It Bq Er EFAULT +The area provided in +.Fa events +failed to be written to. +.It Bq Er EINTR +A signal was delivered before any events became available and +.Fa timeout +expired. +.It Bq Er EINVAL +.Fa epfd +is not a valid +.Nm +file descriptor. +.Pp +.Fa maxevents +is less than or equal to zero. +.El +.Sh SEE ALSO +.Xr kqueue 2 , +.Xr poll 2 , +.Xr select 2 +.Sh HISTORY +The +.Nm +functions and types are designed to be compatible with the Linux system calls of +the same name. +.Sh CAVEATS +The +.Nm +facility is not intended to be used in conjunction with +.Xr kqueue 2 . +.Pp +Unlike Linux's +.Nm , +the +.Nx +version does not survive a +.Xr fork 2 . diff --git a/static/netbsd/man2/eventfd.2 b/static/netbsd/man2/eventfd.2 new file mode 100644 index 00000000..20db8b0c --- /dev/null +++ b/static/netbsd/man2/eventfd.2 @@ -0,0 +1,264 @@ +.\" $NetBSD: eventfd.2,v 1.2 2021/09/23 13:16:13 uwe Exp $ +.\" +.\" Copyright (c) 2021 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd September 17, 2021 +.Dt EVENTFD 2 +.Os +.\" +.\" +.Sh NAME +.Nm eventfd , +.Nm eventfd_read , +.Nm eventfd_write +.Nd create and interact with a counting event descriptor +.\" +.\" +.Sh SYNOPSIS +.In sys/eventfd.h +.Ft int +.Fn eventfd "unsigned int val" "int flags" +.Ft int +.Fn eventfd_read "int efd" "eventfd_t *valp" +.Ft int +.Fn eventfd_write "int efd" "eventfd_t val" +.\" +.\" +.Sh DESCRIPTION +The +.Nm +interface presents a simple counting object associated with a file descriptor. +Writes and reads to this file descriptor increment and decrement the count, +respectively. +When the object's value is non-zero, the file descriptor is considered +.Dq readable , +and when the count is less than the maximum value +.Li UINT64_MAX\^-\^1 +it is considered +.Dq writable . +When an +.Nm +object is no longer needed, it may be disposed of using +.Xr close 2 . +.Pp +All I/O to an +.Nm +object is 8\~bytes in length, which is the space required to store an +unsigned 64-bit integer. +Any read or write with a buffer smaller than 8\~bytes will fail with +.Er EINVAL . +Only the first 8\~bytes of the buffer will be used. +.Pp +The +.Fn eventfd +function creates a new counting event object and returns a file descriptor +representing that object. +The initial value of the object is specified by the +.Fa val +argument. +The following flags define the behavior of the resulting object: +.Bl -tag -width Dv +.It Dv EFD_CLOEXEC +This is an alias for the +.Dv O_CLOEXEC +flag; see +.Xr open 2 +for more information. +.It Dv EFD_NONBLOCK +This is an alias for the +.Dv O_NONBLOCK +flag; see +.Xr open 2 +for more information. +.It Dv EFD_SEMAPHORE +Creates a +.Dq semaphore mode +object; see below for details. +.El +.Pp +Reads from an +.Nm +object return an unsigned 64-bit integer in the caller's buffer. +The semantics of this value are dependent on whether the +.Nm +object was created in +.Dq semaphore mode : +.Bl -bullet +.It +If the +.Nm +object was created in +.Dq semaphore mode , +reads return the value\~1 +and object's counter is decremented by\~1. +.It +If the +.Nm +object was not created in +.Dq semaphore mode , +reads return the current value of the object's counter +and reset the counter to\~0. +.El +.Pp +If the value of the +.Nm +object's counter is\~0, +then reads will block, unless the +.Nm +object is set for non-blocking I/O. +.Pp +Writing to an +.Nm +object adds the unsigned 64-bit value provided in the caller's buffer +to the +.Nm +object's counter. +If adding the specified value would exceed the maximum value, then the +write will block, unless the +.Nm +object is set for non-blocking I/O. +.Pp +The convenience functions +.Fn eventfd_read +and +.Fn eventfd_write +are provided to simplify interacting with +.Nm +objects, and are simply wrappers around the +.Xr read 2 +and +.Xr write 2 +system calls: +.Bl -tag -width Fn +.It Fn eventfd_read efd valp +Reads the unsigned 64-bit integer value of the +.Nm +object and returns it in +.Fa valp . +.It Fn eventfd_write efd val +Writes the unsigned 64-bit integer value +.Fa val +to the +.Nm +object. +.El +.\" +.\" +.Sh RETURN VALUES +The +.Fn eventfd +system call returns\~\-1 if an error occurs, +otherwise the return value is a descriptor representing the +.Nm +object. +.Pp +.Rv -std eventfd_read eventfd_write +.\" +.\" +.Sh ERRORS +The +.Fn eventfd +system call fails if: +.Bl -tag -width Er +.It Bq Er EINVAL +Flags other than +.Dv EFD_CLOEXEC , +.Dv EFD_NONBLOCK , +and +.Dv EFD_SEMAPHORE +are set in the +.Fa flags +argument. +.It Bq Er EMFILE +The per-process descriptor table is full. +.It Bq Er ENFILE +The system file table is full. +.El +.Pp +The +.Fn eventfd_read +function fails if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The value of the +.Nm +object is\~0 and the +.Nm +object is set for non-blocking I/O. +.El +.Pp +The +.Fn eventfd_write +function fails if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The resulting value of the +.Nm +object after adding the value +.Fa val +would exceed the maximum value +.Li UINT64_MAX\^-\^1 +and the +.Nm +object is set for non-blocking I/O. +.It Bq Er EINVAL +An attempt was made to write a value greater than the maximum value. +.El +.Pp +In addition to the errors returned by +.Fn eventfd_read +and +.Fn eventfd_write , +a read from or write to an +.Nm +object fails if: +.Bl -tag -width Er +.It Bq Er EINVAL +The size of the buffer is less than 8\~bytes +.Pq the size required to hold an unsigned 64-bit integer . +.El +.\" +.\" +.Sh SEE ALSO +.Xr close 2 , +.Xr kevent 2 , +.Xr open 2 , +.Xr poll 2 , +.Xr read 2 , +.Xr select 2 , +.Xr write 2 +.\" +.\" +.Sh HISTORY +The +.Nm +interface first appeared in +.Nx 10 . +It is compatible with the +.Nm +interface that appeared in Linux 2.6.30. diff --git a/static/netbsd/man2/example.2 b/static/netbsd/man2/example.2 new file mode 100644 index 00000000..07a06380 --- /dev/null +++ b/static/netbsd/man2/example.2 @@ -0,0 +1,6 @@ +# $NetBSD: example.2,v 1.1.1.1 2012/03/23 21:20:15 christos Exp $ +# +# block all outgoing TCP packets on le0 from any host to port 23 of +# host 10.1.1.2 +# +block out on le0 proto tcp from any to 10.1.1.3/32 port = 23 diff --git a/static/netbsd/man2/execve.2 b/static/netbsd/man2/execve.2 new file mode 100644 index 00000000..4890cf3b --- /dev/null +++ b/static/netbsd/man2/execve.2 @@ -0,0 +1,399 @@ +.\" $NetBSD: execve.2,v 1.48 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)execve.2 8.5 (Berkeley) 6/1/94 +.\" +.Dd July 8, 2025 +.Dt EXECVE 2 +.Os +.Sh NAME +.Nm execve , +.Nm fexecve +.Nd execute a file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn execve "const char *path" "char *const argv[]" "char *const envp[]" +.Ft int +.Fn fexecve "int fd" "char *const argv[]" "char *const envp[]" +.Sh DESCRIPTION +The +.Fn execve +system call +transforms the calling process into a new process. +The new process is constructed from an ordinary file, +whose name is pointed to by +.Fa path , +called the +.Em new process file . +The +.Fn fexecve +system call is equivalent to +.Fn execve +except that the file to be executed is determined by the file +descriptor +.Fa fd +instead of a +.Fa path . +This file is either an executable object file, +or a file of data for an interpreter. +An executable object file consists of an identifying header, +followed by pages of data representing the initial program (text) +and initialized data pages. +Additional pages may be specified +by the header to be initialized with zero data; see +.Xr elf 5 +and +.Xr a.out 5 . +.Pp +An interpreter file begins with a line of the form: +.Bd -ragged -offset indent +.Ic \&#! Ns Ar interpreter Op Ar arg +.Ed +.Pp +When an interpreter file is +.Nm Ap d , +the system actually +.Nm Ap s +the specified +.Ar interpreter . +If the optional +.Ar arg +is specified, it becomes the first argument to the +.Ar interpreter , +and the name of the originally +.Nm Ap d +file becomes the second argument; +otherwise, the name of the originally +.Nm Ap d +file becomes the first argument. +The original arguments are shifted over to become the subsequent arguments. +The zeroth argument, normally the name of the +.Nm Ap d +file, is left unchanged. +The interpreter named by +.Ar interpreter +must not itself be an interpreter file. +(See +.Xr script 7 +for a detailed discussion of interpreter file execution.) +.Pp +The argument +.Fa argv +is a pointer to a null-terminated array of +character pointers to null-terminated character strings. +These strings construct the argument list to be made available to the new +process. +At least one argument must be present in +the array; by custom, the first element should be +the name of the executed program (for example, the last component of +.Fa path ) . +.Pp +The argument +.Fa envp +is also a pointer to a null-terminated array of +character pointers to null-terminated strings. +A pointer to this array is normally stored in the global variable +.Va environ . +These strings pass information to the +new process that is not directly an argument to the command +.Pq see Xr environ 7 . +.Pp +File descriptors open in the calling process image remain open in +the new process image, except for those for which the close-on-exec +flag is set (see +.Xr close 2 +and +.Xr fcntl 2 ) +which are closed. +Descriptors that remain open are unaffected by +.Fn execve , +except that the close-on-fork flag +is cleared from all descriptors remaining open. +.Pp +In the case of a new setuid or setgid executable being executed, if +file descriptors 0, 1, or 2 +.Po +representing +.Em stdin , stdout , +and +.Em stderr +.Pc +are currently unallocated, these descriptors will be opened to point to +some system file like +.Pa /dev/null . +The intent is to ensure these descriptors are not unallocated, since +many libraries make assumptions about the use of these three file descriptors. +.Pp +Signals set to be ignored in the calling process are set to be ignored in +the new process. +Signals which are set to be caught in the calling process image +are set to default action in the new process image. +Blocked signals remain blocked regardless of changes to the signal action. +The signal stack is reset to be undefined (see +.Xr sigaction 2 +for more information). +.Pp +If the set-user-ID mode bit of the new process image file is set +.Pq see Xr chmod 2 , +the effective user ID of the new process image is set to the owner ID +of the new process image file. +If the set-group-ID mode bit of the new process image file is set, +the effective group ID of the new process image is set to the group ID +of the new process image file. +(The effective group ID is the first element of the group list.) +The real user ID, real group ID and +other group IDs of the new process image remain the same as the calling +process image. +After any set-user-ID and set-group-ID processing, +the effective user ID is recorded as the saved set-user-ID, +and the effective group ID is recorded as the saved set-group-ID. +These values may be used in changing the effective IDs later +.Pq see Xr setuid 2 . +The set-ID bits are not honored if the respective file system has the +.Cm nosuid +option enabled or if the new process file is an interpreter file. +Syscall +tracing is disabled if effective IDs are changed. +.Pp +The new process also inherits the following attributes from +the calling process: +.Pp +.Bl -column "parent process ID" -offset indent -compact +.It process ID Ta see Xr getpid 2 +.It parent process ID Ta see Xr getppid 2 +.It process group ID Ta see Xr getpgrp 2 +.It access groups Ta see Xr getgroups 2 +.It working directory Ta see Xr chdir 2 +.It root directory Ta see Xr chroot 2 +.It control terminal Ta see Xr termios 4 +.It resource usages Ta see Xr getrusage 2 +.It interval timers Ta see Xr getitimer 2 +.It resource limits Ta see Xr getrlimit 2 +.It file mode mask Ta see Xr umask 2 +.It signal mask Ta see Xr sigaction 2 , Xr sigprocmask 2 +.El +.Pp +When a program is executed as a result of an +.Fn execve +system call, it is entered as follows: +.Bd -literal -offset indent +main(argc, argv, envp) +int argc; +char **argv, **envp; +.Ed +.Pp +where +.Fa argc +.Pq the Dq arg count +is the number of elements in +.Fa argv , +and +.Fa argv +points to the array of character pointers +to the arguments themselves. +.Pp +The +.Fn fexecve +function ignores the file offset of +.Fa fd . +Since execute permission is checked by +.Fn fexecve , +the file descriptor +.Fa fd +need not have been opened with the +.Dv O_EXEC +flag. +However, if the file to be executed denies read permission for the process +preparing to do the exec, the only way to provide the +.Fa fd +to +.Fn fexecve +is to use the +.Dv O_EXEC +flag when opening +.Fa fd . +Note that the file to be executed can not be open for writing. +.Sh RETURN VALUES +As the +.Fn execve +system call overlays the current process image +with a new process image the successful call +has no process to return to. +If +.Fn execve +does return to the calling process an error has occurred; the +return value will be \-1 and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn execve +system call +will fail and return to the calling process if: +.Bl -tag -width Er +.It Bq Er E2BIG +The number of bytes in the new process' argument list +is larger than the system-imposed limit. +The default compile time limit is 262144 bytes and is specified +in the variable +.Dv NCARGS +in +.In sys/param.h +and get be read from the +.Xr sysctl 3 +MIB variable +.Dv KERN_ARGMAX . +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, +the new process file is not an ordinary file, +its file mode denies execute permission, or +it is on a file system mounted with execution +disabled +.Po +.Dv MNT_NOEXEC +in +.In sys/mount.h +.Pc . +.It Bq Er EAGAIN +A +.Xr setuid 7 +process has exceeded the current resource limit for the number of +processes it is allowed to run concurrently. +.It Bq Er EFAULT +The new process file is not as long as indicated by +the size values in its header; or +the +.Fa path , +.Fa argv , +or +.Fa envp +arguments point to an illegal address. +.It Bq Er EIO +An I/O error occurred while reading from the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The new process file does not exist, or +the new process file is a script starting with +.Ql #! +and the script interpreter does not exist. +.It Bq Er ENOEXEC +The new process file has the appropriate access +permission, but has an invalid magic number in its header. +.It Bq Er ENOMEM +The new process requires more virtual memory than +is allowed by the imposed maximum +.Pq Xr getrlimit 2 . +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er ETXTBSY +The new process file is a pure procedure (shared text) +file that is currently open for writing or reading by some process. +.El +.Pp +In addition, the +.Fn fexecve +will fail and return to the calling process if: +.Bl -tag -width Er +.It Bq Er EBADF +The +.Fa fd +argument is not a valid file descriptor open for executing. +.El +.Sh SEE ALSO +.Xr _exit 2 , +.Xr fcntl 2 , +.Xr fork 2 , +.Xr open 2 , +.Xr execl 3 , +.Xr exit 3 , +.Xr sysctl 3 , +.Xr a.out 5 , +.Xr elf 5 , +.\" .Xr fdescfs 5 , +.Xr environ 7 , +.Xr script 7 , +.Xr mount 8 +.Sh STANDARDS +The +.Fn execve +system call conforms to +.St -p1003.1-2001 . +with the exception of reopening descriptors 0, 1, and/or 2 in certain +circumstances. +A future update of the Standard is expected to require this behavior, +and it may become the default for non-privileged processes as well. +.\" NB: update this caveat when TC1 is blessed. +The support for executing interpreted programs is an extension. +The +.Fn fexecve +system call conforms to The Open Group Extended API Set 2 specification. +.Sh HISTORY +The +.Fn execve +function call first appeared in +.At v7 . +The +.Fn fexecve +system call appeared in +.Nx 10.0 . +.Sh BUGS +If a program is +.Em setuid +to a non-super-user, but is executed when +the real +.Em uid +is +.Dq root , +then the program has some of the powers of a super-user as well. +.\" .Pp +.\" When executing an interpreted program through +.\" .Fn fexecve , +.\" kernel supplies +.\" .Pa /dev/fd/n +.\" as a second argument to the interpreter, +.\" where +.\" .Ar n +.\" is the file descriptor passed in the +.\" .Fa fd +.\" argument to +.\" .Fn fexecve . +.\" For this construction to work correctly, the +.\" .Xr fdescfs 5 +.\" filesystem shall be mounted on +.\" .Pa /dev/fd . diff --git a/static/netbsd/man2/extattr_get_file.2 b/static/netbsd/man2/extattr_get_file.2 new file mode 100644 index 00000000..7c053d39 --- /dev/null +++ b/static/netbsd/man2/extattr_get_file.2 @@ -0,0 +1,266 @@ +.\" $NetBSD: extattr_get_file.2,v 1.6 2014/11/11 08:10:02 njoly Exp $ +.\" +.\" Copyright (c) 2001 Dima Dorfman <dima@unixfreak.org> +.\" Copyright (c) 2003 Robert Watson <rwatson@FreeBSD.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" FreeBSD: src/lib/libc/sys/extattr_get_file.2,v 1.14 2004/07/05 17:12:52 ru Exp +.\" +.Dd August 3, 2011 +.Dt EXTATTR_GET_FILE 2 +.Os +.Sh NAME +.Nm extattr_get_fd , +.Nm extattr_set_fd , +.Nm extattr_delete_fd , +.Nm extattr_list_fd , +.Nm extattr_get_file , +.Nm extattr_set_file , +.Nm extattr_delete_file , +.Nm extattr_list_file , +.Nm extattr_get_link , +.Nm extattr_set_link , +.Nm extattr_delete_link , +.Nm extattr_list_link +.Nd system calls to manipulate VFS extended attributes +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/extattr.h +.Ft ssize_t +.Fn extattr_get_fd "int fd" "int attrnamespace" "const char *attrname" "void *data" "size_t nbytes" +.Ft int +.Fn extattr_set_fd "int fd" "int attrnamespace" "const char *attrname" "const void *data" "size_t nbytes" +.Ft int +.Fn extattr_delete_fd "int fd" "int attrnamespace" "const char *attrname" +.Ft ssize_t +.Fn extattr_list_fd "int fd" "int attrnamespace" "void *data" "size_t nbytes" +.Ft ssize_t +.Fn extattr_get_file "const char *path" "int attrnamespace" "const char *attrname" "void *data" "size_t nbytes" +.Ft int +.Fn extattr_set_file "const char *path" "int attrnamespace" "const char *attrname" "const void *data" "size_t nbytes" +.Ft int +.Fn extattr_delete_file "const char *path" "int attrnamespace" "const char *attrname" +.Ft ssize_t +.Fn extattr_list_file "const char *path" "int attrnamespace" "void *data" "size_t nbytes" +.Ft ssize_t +.Fn extattr_get_link "const char *path" "int attrnamespace" "const char *attrname" "void *data" "size_t nbytes" +.Ft int +.Fn extattr_set_link "const char *path" "int attrnamespace" "const char *attrname" "const void *data" "size_t nbytes" +.Ft int +.Fn extattr_delete_link "const char *path" "int attrnamespace" "const char *attrname" +.Ft ssize_t +.Fn extattr_list_link "const char *path" "int attrnamespace" "void *data" "size_t nbytes" +.Sh DESCRIPTION +Named extended attributes are meta-data associated with vnodes +representing files and directories. +They exist as +.Qq Li name=value +pairs within a set of namespaces. +.Pp +The +.Fn extattr_get_file +system call retrieves the value of the specified extended attribute into +a buffer pointed to by +.Fa data +of size +.Fa nbytes . +The +.Fn extattr_set_file +system call sets the value of the specified extended attribute to the data +described by +.Fa data . +The +.Fn extattr_delete_file +system call deletes the extended attribute specified. +The +.Fn extattr_list_file +returns a list of attributes present in the requested namespace. +Each list entry consists of a single byte containing the length +of the attribute name, followed by the attribute name. +The attribute name is not terminated by ASCII 0 (nul). +The +.Fn extattr_get_file +and +.Fn extattr_list_file +calls consume the +.Fa data +and +.Fa nbytes +arguments in the style of +.Xr read 2 ; +.Fn extattr_set_file +consumes these arguments in the style of +.Xr write 2 . +.Pp +If +.Fa data +is +.Dv NULL +in a call to +.Fn extattr_get_file +then the size of defined extended attribute data will be returned, rather +than the quantity read, permitting applications to test the size of the +data without performing a read. +.Pp +The +.Fn extattr_delete_link , +.Fn extattr_get_link , +and +.Fn extattr_set_link +system calls behave in the same way as their _file counterparts, except that +they do not follow symlinks. +.Pp +The +.Fn extattr_get_fd , +.Fn extattr_set_fd , +and +.Fn extattr_delete_fd +calls are identical to their +.Qq Li _file +counterparts except for the first argument. +The +.Qq Li _fd +functions take a file descriptor, while the +.Qq Li _file +functions take a path. +Both arguments describe a file associated with the extended attribute +that should be manipulated. +.Pp +The following arguments are common to all the system calls described here: +.Bl -tag -width attrnamespace +.It Fa attrnamespace +the namespace in which the extended attribute resides; see +.Xr extattr 9 +.It Fa attrname +the name of the extended attribute +.El +.Pp +Named extended attribute semantics vary by file system implementing the call. +Not all operations may be supported for a particular attribute. +Additionally, the format of the data in +.Fa data +is attribute-specific. +.Pp +For more information on named extended attributes, please see +.Xr extattr 9 . +.Sh RETURN VALUES +If successful, the +.Fn extattr_get_file +and +.Fn extattr_set_file +calls return the number of bytes +that were read or written from the +.Fa data , +respectively, or if +.Fa data +was +.Dv NULL , +then +.Fn extattr_get_file +returns the number of bytes available to read. +If any of the calls are unsuccessful, the value \-1 is returned +and the global variable +.Va errno +is set to indicate the error. +.Pp +.Rv -std extattr_delete_file +.Sh ERRORS +The following errors may be returned by the system calls themselves. +Additionally, the file system implementing the call may return any +other errors it desires. +.Bl -tag -width Er +.It Bq Er EFAULT +The +.Fa attrnamespace +and +.Fa attrname +arguments, +or the memory range defined by +.Fa data +and +.Fa nbytes +point outside the process's allocated address space. +.It Bq Er ENAMETOOLONG +The attribute name was longer than +.Dv EXTATTR_MAXNAMELEN . +.El +.Pp +The +.Fn extattr_get_fd , +.Fn extattr_set_fd , +and +.Fn extattr_delete_fd +system calls may also fail if: +.Bl -tag -width Er +.It Bq Er EBADF +The file descriptor referenced by +.Fa fd +was invalid. +.El +.Pp +Additionally, the +.Fn extattr_get_file , +.Fn extattr_set_file , +and +.Fn extattr_delete_file +calls may also fail due to the following errors: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, +or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of the path name that must exist does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.\" XXX are any missing? +.El +.Sh SEE ALSO +.Xr getextattr 1 , +.Xr extattr 3 , +.Xr extattr 9 +.Sh HISTORY +Extended attribute support was developed as part of the +.Tn TrustedBSD +Project, and introduced in +.Fx 5.0 +and +.Nx 3.0 . +It was developed to support security extensions requiring additional labels +to be associated with each file or directory. +.Sh CAVEATS +This interface is under active development, and as such is subject to +change as applications are adapted to use it. +Developers are discouraged from relying on its stability. +.Pp +Note that previous versions of this man page incorrectly stated that +.Fn extattr_list_file +returned a list of attribute names separated by ASCII 0 (nul). diff --git a/static/netbsd/man2/extattrctl.2 b/static/netbsd/man2/extattrctl.2 new file mode 100644 index 00000000..5e4becf8 --- /dev/null +++ b/static/netbsd/man2/extattrctl.2 @@ -0,0 +1,133 @@ +.\" $NetBSD: extattrctl.2,v 1.7 2025/03/11 14:13:45 wiz Exp $ +.\" Copyright (c) 2025 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd March 9, 2025 +.Dt EXTATTRCTL 2 +.Os +.Sh NAME +.Nm extattrctl +.Nd control extended attributes on a UFS1 file system +.Sh SYNOPSIS +.In sys/extattr.h +.In ufs/ufs/extattr.h +.Ft int +.Fn extattrctl "const char *path" "int cmd" "const char *filename" "int attrnamespace" "const char *attrname" +.Sh DESCRIPTION +The +.Fn extattrctl +system call provides low-level control over extended attributes on a UFS1 +file system. +It allows enabling, disabling, and managing extended attributes. +.Pp +Since there was no provision in the UFS1 file system for attributes, +they are stored as regular files and directories in the file system under the +.Pa "/.attribute" +directory. +By convention, there are usually two directories directly under it, +separating two namespaces: +.Dq user +and +.Dq system . +Under these, there are named attributes that can be created and +managed using +.Xr extattrctl 8 . +.Pp +This programming interface is currently only used by +.Xr extattrctl 8 , +and is not intended for general use. +.Sh PARAMETERS +.Bl -tag -width indent +.It Fa path +The path to the mount point of the file system. +.It Fa cmd +The command to execute. +Valid commands are: +.Bl -tag -width indent +.It Dv UFS_EXTATTR_CMD_ENABLE +Enable a specific extended attribute. +.It Dv UFS_EXTATTR_CMD_DISABLE +Disable a specific extended attribute. +.It Dv UFS_EXTATTR_CMD_START +Start extended attribute support on the file system. +.It Dv UFS_EXTATTR_CMD_STOP +Stop extended attribute support on the file system. +.El +.It Fa attrname +The name of the extended attribute (for relevant commands). +.It Fa attrnamespace +The attribute namespace, such as +.Dv EXTATTR_NAMESPACE_USER +or +.Dv EXTATTR_NAMESPACE_SYSTEM . +.It Fa filename +The path to a backing file for extended attribute storage +(if required by the command). +.El +.Sh RETURN VALUES +.Rv -std extattrctl +.Sh EXAMPLES +Enable an attribute on a file system: +.Bd -literal -offset indent +#include <sys/extattr.h> +#include <ufs/ufs/extattr.h> + +if (extattrctl("/home", UFS_EXTATTR_CMD_ENABLE, + "/.attribute/user/comment", + EXTATTR_NAMESPACE_USER, "comment") == -1) + err(EXIT_FAILURE, "extattrctl"); +.Ed +.Sh ERRORS +The +.Fn extattrctl +system call may fail with the following errors: +.Bl -tag -width Bq -offset indent +.It Bq Er EACCES +The calling user does not have permission to access the file +specified. +.It Bq Er EINVAL +Invalid arguments were provided. +.It Bq Er ENOENT +The specified path, attribute, or file does not exist. +.It Bq Er EOPNOTSUPP +The file system does not support extended attributes. +.It Bq Er EPERM +The calling user is not permitted to change extended attributes. +.El +.Sh SEE ALSO +.Xr extattr_delete_file 2 , +.Xr extattr_get_file 2 , +.Xr extattr_list_file 2 , +.Xr extattr_set_file 2 , +.Xr extattrctl 8 +.Sh HISTORY +The +.Fn extattrctl +system call was imported from +.Fx 5.0 +in +.Nx 3.0 . diff --git a/static/netbsd/man2/fcntl.2 b/static/netbsd/man2/fcntl.2 new file mode 100644 index 00000000..c7918f6f --- /dev/null +++ b/static/netbsd/man2/fcntl.2 @@ -0,0 +1,730 @@ +.\" $NetBSD: fcntl.2,v 1.51 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1983, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)fcntl.2 8.2 (Berkeley) 1/12/94 +.\" +.Dd July 8, 2025 +.Dt FCNTL 2 +.Os +.Sh NAME +.Nm fcntl +.Nd file descriptor control +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In fcntl.h +.Ft int +.Fn fcntl "int fd" "int cmd" "..." +.Sh DESCRIPTION +.Fn fcntl +provides for control over descriptors. +The argument +.Fa fd +is a descriptor to be operated on by +.Fa cmd +as described below. +The third parameter is called +.Fa arg +and is technically a pointer to void, but it is +interpreted as an int by some commands and ignored by others. +.Pp +Commands are: +.Bl -tag -width F_DUPFD_CLOEXEC +.It Dv F_DUPFD +Return a new descriptor as follows: +.Pp +.Bl -bullet -compact -offset 4n +.It +Lowest numbered available descriptor greater than or equal to +.Fa arg , +which is interpreted as an int. +.It +Same object references as the original descriptor. +.It +New descriptor shares the same file offset if the object +was a file. +.It +Same access mode (read, write or read/write). +.It +Same file status flags (i.e., both file descriptors +share the same file status flags). +.It +The close-on-exec flag associated with the new file descriptor +is cleared to allow the file descriptor to remain open across +.Xr execve 2 +system calls. +.It +The close-on-fork flag +.Dv FD_CLOFORK +associated with the new file descriptor is cleared, +so the file descriptor will remain open across +.Xr fork 2 +system calls. +.El +.It Dv F_DUPFD_CLOEXEC +Same as +.Dv F_DUPFD , +but sets the close-on-exec property on the file descriptor created. +.It Dv F_DUPFD_CLOFORK +Same as +.Dv F_DUPFD , +but sets the close-on-fork property on the file descriptor created. +.It Dv F_DUPFD_CLOBOTH +Same as +.Dv F_DUPFD , +but sets both the close-on-exec and close-on-fork properties on the file +descriptor created. +.It Dv F_GETFD +Get the flags associated with the file descriptor +.Fa fd +.Fa ( arg +is ignored). +If the returned value ANDed with +.Dv FD_CLOEXEC +is 0, +the file will remain open across +.Fn exec , +otherwise the file will be closed upon execution of +.Fn exec . +If the returned value ANDed with +.Dv FD_CLOFORK +is not 0, +the file will be closed upon execution of the +.Fn fork +family of system calls. +.It Dv F_SETFD +Set flags associated with +.Fa fd . +The available flags, passed as +.Fa arg +(treated as an integer), are +.Dv FD_CLOEXEC +and +.Dv FD_CLOFORK . +.It Dv F_GETFL +Get descriptor status flags, as described below +.Fa ( arg +is ignored). +.It Dv F_SETFL +Set descriptor status flags to +.Fa arg , +which is interpreted as an int. +.It Dv F_GETOWN +Get the process ID or process group +currently receiving +.Dv SIGIO +and +.Dv SIGURG +signals; process groups are returned +as negative values +.Fa ( arg +is ignored). +.It Dv F_SETOWN +Set the process or process group +to receive +.Dv SIGIO +and +.Dv SIGURG +signals; +process groups are specified by supplying +.Fa arg +as negative, otherwise +.Fa arg +is interpreted as a process ID. +The argument +.Fa arg +is interpreted as an int. +.It Dv F_CLOSEM +Close all file descriptors greater than or equal to +.Fa fd , +.Fa ( arg +is ignored). +.It Dv F_MAXFD +Return the maximum file descriptor number currently open by the process. +.Fa ( arg +is ignored). +.It Dv F_GETNOSIGPIPE +Return 1 if the +.Dv O_NOSIGPIPE +flag is set in the file descriptor, otherwise 0 +.Fa ( arg +is ignored). +.It Dv F_SETNOSIGPIPE +If +.Fa arg +is 0, clear the +.Dv O_NOSIGPIPE +status in the file descriptor, otherwise set it. +.It Dv F_GETPATH +Place a pathname corresponding to +.Fa fd +in the buffer pointed to by +.Fa arg . +.Fa arg +should be pointing to a buffer of at least +.Dv MAXPATHLEN +bytes. +.It Dv F_ADD_SEALS +Add seals specified in +.Fa arg +to +.Fa fd +to restrict possible operations on +.Fa fd +as described below. +Like flags, multiple seals can be specified at once. +Additionally, specifying seals that are already associated with +.Fa fd +is a no-op. +.It Dv F_GET_SEALS +Get the seals currently associated with +.Fa fd +as described below +.Fa ( arg +is ignored). +.El +.Pp +The set of valid flags for the +.Dv F_GETFL +and +.Dv F_SETFL +flags are as follows: +.Dv O_APPEND , +.Dv O_ASYNC , +.Dv O_SYNC , +.Dv O_NONBLOCK , +.Dv O_DSYNC , +.Dv O_RSYNC , +.Dv O_ALT_IO , +.Dv O_DIRECT , +.Dv O_NOSIGPIPE . +These flags are described in +.Xr open 2 . +.Pp +Several commands are available for doing advisory file locking; +they all operate on the following structure: +.Bd -literal +struct flock { + off_t l_start; /* starting offset */ + off_t l_len; /* len = 0 means until end of file */ + pid_t l_pid; /* lock owner */ + short l_type; /* lock type: read/write, etc. */ + short l_whence; /* type of l_start */ +}; +.Ed +.Pp +The commands available for advisory record locking are as follows: +.Bl -tag -width F_SETLKWX +.It Dv F_GETLK +Get the first lock that blocks the lock description pointed to by the +third argument, +.Fa arg , +taken as a pointer to a +.Fa "struct flock" +(see above). +The information retrieved overwrites the information passed to +.Nm +in the +.Fa flock +structure. +If no lock is found that would prevent this lock from being created, +the structure is left unchanged by this function call except for the +lock type +.Fa l_type , +which is set to +.Dv F_UNLCK . +.It Dv F_SETLK +Set or clear a file segment lock according to the lock description +pointed to by the third argument, +.Fa arg , +taken as a pointer to a +.Fa "struct flock" +(see above). +As specified by the value of +.Fa l_type , +.Dv F_SETLK +is used to establish shared (or read) locks +.Pq Dv F_RDLCK +or exclusive (or write) locks, +.Pq Dv F_WRLCK , +as well as remove either type of lock +.Pq Dv F_UNLCK . +If a shared or exclusive lock cannot be set, +.Nm +returns immediately with +.Er EAGAIN . +.It Dv F_SETLKW +This command is the same as +.Dv F_SETLK +except that if a shared or exclusive lock is blocked by other locks, +the process waits until the request can be satisfied. +If a signal that is to be caught is received while +.Nm +is waiting for a region, the +.Nm +will be interrupted if the signal handler has not specified the +.Dv SA_RESTART +(see +.Xr sigaction 2 ) . +.El +.Pp +When a shared lock has been set on a segment of a file, +other processes can set shared locks on that segment +or a portion of it. +A shared lock prevents any other process from setting an exclusive +lock on any portion of the protected area. +A request for a shared lock fails if the file descriptor was not +opened with read access. +.Pp +An exclusive lock prevents any other process from setting a shared lock or +an exclusive lock on any portion of the protected area. +A request for an exclusive lock fails if the file was not +opened with write access. +.Pp +The value of +.Fa l_whence +is +.Dv SEEK_SET , +.Dv SEEK_CUR , +or +.Dv SEEK_END +to indicate that the relative offset, +.Fa l_start +bytes, will be measured from the start of the file, +current position, or end of the file, respectively. +The value of +.Fa l_len +is the number of consecutive bytes to be locked. +If +.Fa l_len +is negative, the result is undefined. +The +.Fa l_pid +field is only used with +.Dv F_GETLK +to return the process ID of the process holding a blocking lock. +After a successful +.Dv F_GETLK +request, the value of +.Fa l_whence +is +.Dv SEEK_SET . +.Pp +Locks may start and extend beyond the current end of a file, +but may not start or extend before the beginning of the file. +A lock is set to extend to the largest possible value of the +file offset for that file if +.Fa l_len +is set to zero. +If +.Fa l_whence +and +.Fa l_start +point to the beginning of the file, and +.Fa l_len +is zero, the entire file is locked. +If an application wishes only to do entire file locking, the +.Xr flock 2 +system call is much more efficient. +.Pp +There is at most one type of lock set for each byte in the file. +Before a successful return from an +.Dv F_SETLK +or an +.Dv F_SETLKW +request when the calling process has previously existing locks +on bytes in the region specified by the request, +the previous lock type for each byte in the specified +region is replaced by the new lock type. +As specified above under the descriptions +of shared locks and exclusive locks, an +.Dv F_SETLK +or an +.Dv F_SETLKW +request fails or blocks respectively when another process has existing +locks on bytes in the specified region and the type of any of those +locks conflicts with the type specified in the request. +.Pp +Possible seals are: +.Bl -tag -width F_SEAL_FUTURE_WRITE +.It Dv F_SEAL_SEAL +Prevent any further seals from being added to +.Fa fd . +.It Dv F_SEAL_SHRINK +Prevent the size of +.Fa fd +from decreasing. +.It Dv F_SEAL_GROW +Prevent the size of +.Fa fd +from increasing. +.It Dv F_SEAL_WRITE +Prevent any write operations to +.Fa fd . +.Dv F_SEAL_WRITE +cannot be applied if +.Fa fd +has any memory mappings. +.It Dv F_SEAL_FUTURE_WRITE +Like +.Dv F_SEAL_WRITE +but allow any current memory mappings of +.Fa fd +to remain open, including those with +.Dv PROT_WRITE . +.El +.Sh NOTES +For +.Dv F_GETPATH : +.Bl -bullet -compact +.It +For vnodes, functionality is implemented using the reverse +.Xr namei 9 +cache. +The implications of this are +.Bl -bullet -compact +.It +For hard links where the file descriptor can resolve to multiple pathnames, +the first entry found in the cache is returned. +.It +.Dv F_GETPATH +may fail if the corresponding entry has been evicted from the LRU +.Xr namei 9 +cache and return +.Er ENOENT . +.El +.It +For a file descriptor created by +.Xr memfd_create 2 , +the name provided at +.Fa fd +creation, with the prefix +.Dq memfd: +is used. +.It +Other types of file descriptors are not handled, as well as symbolic +links since there is currently no way to obtain a file descriptor +pointing to a symbolic link. +.El +.Sh RETURN VALUES +Upon successful completion, the value returned depends on +.Fa cmd +as follows: +.Bl -tag -width F_GET_SEALS -offset indent +.It Dv F_DUPFD +A new file descriptor. +.It Dv F_GETFD +Value of flag (one or both of the bits +.Dv FD_CLOEXEC +and +.Dv FD_CLOFORK ) . +.It Dv F_GETFL +Value of flags. +.It Dv F_GETOWN +Value of file descriptor owner. +.It Dv F_MAXFD +Value of the highest file descriptor open by the process. +.It Dv F_GET_SEALS +Value of the seals currently associated with +.Fa fd . +.It other +Value other than \-1. +.El +.Pp +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh COMPATIBILITY +This interface follows the completely stupid semantics of +.At V +and +.St -p1003.1-88 +that require that all locks associated with a file for a given process are +removed when \fIany\fP file descriptor for that file is closed by that process. +This semantic means that applications must be aware of any files that +a subroutine library may access. +For example if an application for updating the password file locks the +password file database while making the update, and then calls +.Xr getpwnam 3 +to retrieve a record, +the lock will be lost because +.Xr getpwnam 3 +opens, reads, and closes the password database. +The database close will release all locks that the process has +associated with the database, even if the library routine never +requested a lock on the database. +.Pp +Another minor semantic problem with this interface is that +locks are not inherited by a child process created using the +.Xr fork 2 +function. +The +.Xr flock 2 +interface has much more rational last close semantics and +allows locks to be inherited by child processes. +Calling +.Xr flock 2 +is recommended for applications that want to ensure the integrity +of their locks when using library routines or wish to pass locks +to their children. +Note that +.Xr flock 2 +and +.Nm +locks may be safely used concurrently. +.Pp +All locks associated with a file for a given process are +removed when the process terminates. +.Pp +A potential for deadlock occurs if a process controlling a locked region +is put to sleep by attempting to lock the locked region of another process. +This implementation detects that sleeping until a locked region is unlocked +would cause a deadlock and fails with an +.Er EDEADLK +error. +.Sh ERRORS +.Fn fcntl +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The argument +.Fa cmd +is +.Dv F_GETPATH +and read or search permission was denied for a component of the pathname. +.It Bq Er EAGAIN +The argument +.Fa arg +is +.Dv F_SETLK , +the type of lock +.Pq Fa l_type +is a shared lock +.Pq Dv F_RDLCK +or exclusive lock +.Pq Dv F_WRLCK , +and the segment of a file to be locked is already +exclusive-locked by another process; +or the type is an exclusive lock and some portion of the +segment of a file to be locked is already shared-locked or +exclusive-locked by another process. +.It Bq Er EBADF +.Fa fildes +is not a valid open file descriptor. +.Pp +The argument +.Fa cmd +is +.Dv F_SETLK +or +.Dv F_SETLKW , +the type of lock +.Pq Fa l_type +is a shared lock +.Pq Dv F_RDLCK , +and +.Fa fildes +is not a valid file descriptor open for reading. +.Pp +The argument +.Fa cmd +is +.Dv F_SETLK +or +.Dv F_SETLKW , +the type of lock +.Pq Fa l_type +is an exclusive lock +.Pq Dv F_WRLCK , +and +.Fa fildes +is not a valid file descriptor open for writing. +.It Bq Er EBUSY +The argument +.Fa cmd +is +.Dv F_ADD_SEALS , +.Fa arg +contains +.Dv F_SEAL_WRITE +and +.Fa fd +is currently mapped by +.Xr mmap 2 . +.It Bq Er EDEADLK +The argument +.Fa cmd +is +.Dv F_SETLKW , +and a deadlock condition was detected. +.It Bq Er EINTR +The argument +.Fa cmd +is +.Dv F_SETLKW , +and the function was interrupted by a signal. +.It Bq Er EINVAL +The argument +.Fa cmd +is invalid. +.Pp +The argument +.Fa cmd +is +.Dv F_DUPFD +and +.Fa arg +is negative or greater than the maximum allowable number +(see +.Xr getdtablesize 3 ) . +.Pp +The argument +.Fa cmd +is +.Dv F_GETLK , +.Dv F_SETLK , +or +.Dv F_SETLKW +and the data to which +.Fa arg +points is not valid, or +.Fa fildes +refers to a file that does not support locking. +.Pp +The argument +.Fa cmd +is +.Dv F_ADD_SEALS +or +.Dv F_GET_SEALS +and +.Fa fd +does not support seals. +.Pp +The argument +.Fa cmd +is +.Dv F_ADD_SEALS +and +.Fa arg +contains set bits for unsupported seals. +.It Bq Er EMFILE +The argument +.Fa cmd +is +.Dv F_DUPFD +and the maximum number of file descriptors permitted for the +process are already in use, +or no file descriptors greater than or equal to +.Fa arg +are available. +.It Bq Er ENFILE +.Fa cmd +is +.Dv F_DUPFD +and system-wide the maximum allowed number of file descriptors are +currently open. +.It Bq Er ENOENT +The argument +.Fa cmd +is +.Dv F_GETPATH +and a component of the pathname no longer exists. +.It Bq Er ENOLCK +The argument +.Fa cmd +is +.Dv F_SETLK +or +.Dv F_SETLKW , +and satisfying the lock or unlock request would result in the +number of locked regions in the system exceeding a system-imposed limit. +.It Bq Er ENOMEM +The argument +.Fa cmd +is +.Dv F_GETPATH +and insufficient memory is available. +.Pp +The argument +.Fa cmd +is +.Dv F_GETLK , +.Dv F_SETLK , +or +.Dv F_SETLKW , +and the file lock limit for the current unprivileged user +has been reached. +It can be modified using the +.Li kern.maxfiles +.Xr sysctl 7 . +.It Bq Er EPERM +The argument +.Fa cmd +is +.Dv F_ADD_SEALS +and +.Fa fd +already has +.Dv F_SEAL_SEAL . +.It Bq Er ERANGE +The argument +.Fa cmd +is +.Dv F_GETPATH +and the resulting path would be greater than +.Dv MAXPATHLEN . +.It Bq Er ESRCH +.Fa cmd +is +.Dv F_SETOWN +and +the process ID given as argument is not in use. +.El +.Sh SEE ALSO +.Xr close 2 , +.Xr execve 2 , +.Xr flock 2 , +.Xr open 2 , +.Xr sigaction 2 , +.Xr getdtablesize 3 +.Sh STANDARDS +The +.Fn fcntl +function conforms to +.St -p1003.1-90 . +.Sh HISTORY +The +.Fn fcntl +function call appeared in +.Bx 4.2 . +The +.Dv F_DUPFD_CLOBOTH +operation first appeared in +.Nx 11.0 . diff --git a/static/netbsd/man2/fdatasync.2 b/static/netbsd/man2/fdatasync.2 new file mode 100644 index 00000000..94b07216 --- /dev/null +++ b/static/netbsd/man2/fdatasync.2 @@ -0,0 +1,96 @@ +.\" $NetBSD: fdatasync.2,v 1.17 2020/03/25 18:08:34 gdt Exp $ +.\" +.\" Copyright (c) 1998 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Klaus Klein. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd October 25, 2003 +.Dt FDATASYNC 2 +.Os +.Sh NAME +.Nm fdatasync +.Nd synchronize the data of a file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn fdatasync "int fd" +.Sh DESCRIPTION +The +.Fn fdatasync +function forces all modified data associated with the file descriptor +.Fa fd +to be flushed to stable storage. +.Pp +The functionality is as described for +.Xr fsync 2 , +with the exception that file status information need not be synchronized, +which may result in a performance gain, compared to +.Xr fsync 2 . +This behaviour is commonly known as +.Bf -symbolic +synchronized I/O data integrity completion. +.Ef +.Sh RETURN VALUES +A value of 0 is returned on success. +Otherwise, a value \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn fdatasync +function will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +The +.Fa fd +argument is not a valid file descriptor. +.It Bq Er EINVAL +This implementation does not support synchronized I/O for this file. +.It Bq Er ENOSYS +The +.Fn fdatasync +function is not supported by this implementation. +.El +.Pp +In the event that any of the I/O operations to be performed fail, +.Fn fdatasync +returns the error conditions defined for +.Xr read 2 +and +.Xr write 2 , +and outstanding I/O operations are not guaranteed to have been completed. +.Sh SEE ALSO +.Xr fsync 2 , +.Xr open 2 , +.Xr read 2 , +.Xr write 2 +.Sh STANDARDS +The +.Fn fdatasync +function conforms to +.St -p1003.1-2008 . diff --git a/static/netbsd/man2/fdiscard.2 b/static/netbsd/man2/fdiscard.2 new file mode 100644 index 00000000..8e2c558c --- /dev/null +++ b/static/netbsd/man2/fdiscard.2 @@ -0,0 +1,173 @@ +.\" $NetBSD: fdiscard.2,v 1.5 2016/06/30 18:43:43 wiz Exp $ +.\" +.\" Copyright (c) 2014 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by David A. Holland. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd June 30, 2016 +.Dt FDISCARD 2 +.Os +.Sh NAME +.Nm posix_fallocate , +.Nm fdiscard +.Nd allocate or discard backing store for files +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In fcntl.h +.Ft int +.Fn posix_fallocate "int fd" "off_t pos" "off_t length" +.In unistd.h +.Ft int +.Fn fdiscard "int fd" "off_t pos" "off_t length" +.Sh DESCRIPTION +The +.Fn posix_fallocate +call allocates backing store for the file referenced by +.Fa fd +in the region starting at +.Fa pos +bytes from the start of the file and continuing for +.Fa length +bytes more. +If the region extends past the current end of file, the file size is +increased to cover the region. +.Pp +The +.Fn fdiscard +call discards backing store for the file referenced by +.Fa fd +in the region starting at +.Fa pos +bytes from the start of the file and continuing for +.Fa length +bytes more. +The file size is not affected. +.Pp +Both calls operate on the basis of file system blocks, so +.Fn posix_fallocate +may allocate more physical space than requested and +.Fn fdiscard +may discard less physical space than requested. +.Pp +When +.Fn posix_fallocate +is applied to an unallocated region in a regular file (a +.Dq hole ) , +the hole is filled and the visible contents are unaffected; both holes +and newly allocated regions read as all zeros. +If +.Fn posix_fallocate +is applied to an already-allocated region in a regular file, +it has no effect. +.Pp +When +.Fn fdiscard +is applied to a regular file, a hole is created and any data in the +affected region is thrown away. +Subsequent reads of the region return zeros. +.Pp +If +.Fn fdiscard +is applied to a device, and the device supports an underlying discard +operation, that operation is invoked. +For example, ATA flash devices and solid-state disks support an +operation called TRIM that discards blocks at the device level. +The behavior of blocks discarded at this level is +implementation-defined; as devices vary, specific behavior should not +be relied upon. +Subsequent reads of the same block may return zeros; such reads may +also, however, continue to return the previously written data, or +return other data, or return indeterminate garbage; or may switch +between any of these behaviors at unpredictable points later on. +.Pp +For both calls, the file +.Fa fd +must be open for writing and may not be a directory or socket. +.Sh RESTRICTIONS +Because there is no way for +.Fn posix_fallocate +to report a partial failure, errors may require some or all of the +work it has already done to be unwound, which may be expensive. +It is recommended to set the file length first with +.Xr ftruncate 2 +and only then allocate space within the file using +.Fn posix_fallocate . +.Pp +Depending on the implementation, even a failing call to +.Fn posix_fallocate +may allocate some space to the target file. +Such a call will not, however, change the file size. +.Pp +Furthermore, in some implementations, the space reservations created +by +.Fn posix_fallocate +may not be persistent after a crash or reboot if the space reserved +has not yet been written to. +.Sh RETURN VALUES +If successful, the +.Fn posix_fallocate +function will return zero. +Otherwise an error number will be returned, without setting +.Va errno . +.Pp +If successful, the +.Fn fdiscard +function will return zero. +Otherwise the value \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EBADF +The file handle +.Fa fd +is invalid or not open for writing. +.It Bq Er EDQUOT +Allocating the requested blocks would exceed the user's quota. +.It Bq Er EINVAL +The position and/or length values are negative. +.It Bq Er EIO +A hardware-level I/O error occurred. +.It Bq Er EISDIR +The selected file is a directory. +.It Bq Er ENOSPC +There was no space in the file system to complete the operation. +.El +.Sh SEE ALSO +.Xr ftruncate 2 +.Sh HISTORY +The +.Fn posix_fallocate +and +.Fn fdiscard +function calls appeared in +.Nx 7.0 . +Similar functions appeared previously in Linux. +The +.Fn posix_fallocate +function is expected to conform to +.St -p1003.1-2004 . diff --git a/static/netbsd/man2/fhopen.2 b/static/netbsd/man2/fhopen.2 new file mode 100644 index 00000000..6e7aec87 --- /dev/null +++ b/static/netbsd/man2/fhopen.2 @@ -0,0 +1,153 @@ +.\" $NetBSD: fhopen.2,v 1.18 2017/10/25 17:25:52 abhinav Exp $ +.\" +.\" Copyright (c) 1999 National Aeronautics & Space Administration +.\" All rights reserved. +.\" +.\" This software was written by William Studenmund of the +.\" Numerical Aerospace Simulation Facility, NASA Ames Research Center. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the National Aeronautics & Space Administration +.\" nor the names of its contributors may be used to endorse or promote +.\" products derived from this software without specific prior written +.\" permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NATIONAL AERONAUTICS & SPACE ADMINISTRATION +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ADMINISTRATION OR CONTRIB- +.\" UTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\"/ +.Dd August 5, 2009 +.Dt FHOPEN 2 +.Os +.Sh NAME +.Nm fhopen , +.Nm fhstat , +.Nm fhstatvfs , +.Nm fhstatvfs1 +.Nd access file via file handle +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/mount.h +.Ft int +.Fn fhopen "const void *fhp" "size_t fh_size" "int flags" +.In sys/stat.h +.Ft int +.Fn fhstat "const void *fhp" "size_t fh_size" "struct stat *sb" +.In sys/statvfs.h +.Ft int +.Fn fhstatvfs "const void *fhp" "size_t fh_size" "struct statvfs *buf" +.Ft int +.Fn fhstatvfs1 "const void *fhp" "size_t fh_size" "struct statvfs *buf" "int flags" +.Sh DESCRIPTION +These functions provide a means to access a file given the opaque file handle +.Fa fhp +and the size +.Fa fh_size +of the opaque object as returned by +.Xr getfh 2 . +As this method bypasses directory access restrictions, these calls are +restricted to the superuser. +.Pp +.Fn fhopen +opens the file referenced by +.Fa fhp +for reading and/or writing as specified by the argument +.Fa flags +and returns the file descriptor to the calling process. +The +.Fa flags +are specified by +.Em or Ns 'ing +together the flags used for the +.Xr open 2 +call. +All said flags are valid except for +.Dv O_CREAT . +.Pp +.Fn fhstat , +.Fn fhstatvfs , +and +.Fn fhstatvfs1 +provide the functionality of the +.Xr fstat 2 , +.Xr fstatvfs 2 , +and +.Xr fstatvfs1 2 +calls except that they return information for the file referred to by +.Fa fhp +rather than an open file. +.Sh RETURN VALUES +Upon successful completion, +.Fn fhopen +returns the file descriptor for the opened file, while +.Fn fhstat , +.Fn fhstatvfs , +and +.Fn fhstatvfs1 +return 0. +Otherwise, \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +In addition to the errors returned by +.Xr open 2 , +.Xr fstat 2 , +.Xr fstatvfs 2 , +and +.Xr fstatvfs1 2 , +respectively, +.Fn fhopen , +.Fn fhstat , +.Fn fhstatvfs , +and +.Fn fhstatvfs1 +will return +.Bl -tag -width Er +.It Bq Er EINVAL +Calling +.Fn fhopen +with +.Dv O_CREAT +set or invalid +.Fa fh_size . +.It Bq Er ESTALE +The file handle +.Fa fhp +is no longer valid. +.El +.Sh SEE ALSO +.Xr fstat 2 , +.Xr fstatvfs 2 , +.Xr fstatvfs1 2 , +.Xr getfh 2 , +.Xr open 2 +.Sh HISTORY +The +.Fn fhopen , +and +.Fn fhstat +functions first appeared in +.Nx 1.5 . +The +.Fn fhstatvfs +function replaced +.Fn fhstatfs +in +.Nx 3.0 . diff --git a/static/netbsd/man2/flock.2 b/static/netbsd/man2/flock.2 new file mode 100644 index 00000000..17c6e542 --- /dev/null +++ b/static/netbsd/man2/flock.2 @@ -0,0 +1,163 @@ +.\" $NetBSD: flock.2,v 1.25 2022/12/04 11:18:58 uwe Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)flock.2 8.2 (Berkeley) 12/11/93 +.\" +.Dd October 15, 2011 +.Dt FLOCK 2 +.Os +.Sh NAME +.Nm flock +.Nd "apply or remove an advisory lock on an open file" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In fcntl.h +.Fd #define LOCK_SH 1 /* shared lock */ +.Fd #define LOCK_EX 2 /* exclusive lock */ +.Fd #define LOCK_NB 4 /* don't block when locking */ +.Fd #define LOCK_UN 8 /* unlock */ +.Ft int +.Fn flock "int fd" "int operation" +.Sh DESCRIPTION +.Fn flock +applies or removes an +.Em advisory +lock on the file associated with the file descriptor +.Fa fd . +A lock is applied by specifying an +.Fa operation +parameter that is one of +.Dv LOCK_SH +or +.Dv LOCK_EX +with the optional addition of +.Dv LOCK_NB . +To unlock +an existing lock +.Dv operation +should be +.Dv LOCK_UN . +.Pp +Advisory locks allow cooperating processes to perform +consistent operations on files, but do not guarantee +consistency (i.e., processes may still access files +without using advisory locks possibly resulting in +inconsistencies). +.Pp +The locking mechanism allows two types of locks: +.Em shared +locks and +.Em exclusive +locks. +At any time multiple shared locks may be applied to a file, +but at no time are multiple exclusive, or both shared and exclusive, +locks allowed simultaneously on a file. +.Pp +A shared lock may be +.Em upgraded +to an exclusive lock, and vice versa, simply by specifying +the appropriate lock type; this results in the previous +lock being released and the new lock applied (possibly +after other processes have gained and released the lock). +.Pp +Requesting a lock on an object that is already locked +normally causes the caller to be blocked until the lock may be +acquired. +If +.Dv LOCK_NB +is included in +.Fa operation , +then this will not happen; instead the call will fail and +the error +.Er EAGAIN +will be returned. +.Sh NOTES +Locks are on files, not file descriptors. +That is, file descriptors duplicated through +.Xr dup 2 +or +.Xr fork 2 +do not result in multiple instances of a lock, but rather multiple +references to a single lock. +If a process holding a lock on a file +forks and the child explicitly unlocks the file, the parent will +lose its lock. +.Pp +Processes blocked awaiting a lock may be awakened by signals. +.Sh RETURN VALUES +Zero is returned if the operation was successful; +on an error a \-1 is returned and an error code is left in +the global location +.Va errno . +.Sh ERRORS +The +.Fn flock +call fails if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The file is locked and the +.Dv LOCK_NB +option was specified. +.It Bq Er EBADF +The argument +.Fa fd +is an invalid descriptor. +.It Bq Er EINVAL +The argument +.Fa operation +does not include exactly one of +.Dv LOCK_EX , +.Dv LOCK_SH , +or +.Dv LOCK_UN . +.It Bq Er ENOMEM +The file lock limit for the current unprivileged user +has been reached. +It can be modified using the +.Li kern.maxfiles +.Xr sysctl 7 . +.It Bq Er EOPNOTSUPP +The argument +.Fa fd +refers to an object other than a file. +.El +.Sh SEE ALSO +.Xr close 2 , +.Xr dup 2 , +.Xr execve 2 , +.Xr fork 2 , +.Xr open 2 , +.Xr flockfile 3 , +.Xr lockf 3 +.Sh HISTORY +The +.Fn flock +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/fork.2 b/static/netbsd/man2/fork.2 new file mode 100644 index 00000000..6919b1ab --- /dev/null +++ b/static/netbsd/man2/fork.2 @@ -0,0 +1,150 @@ +.\" $NetBSD: fork.2,v 1.27 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)fork.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 8, 2025 +.Dt FORK 2 +.Os +.Sh NAME +.Nm fork +.Nd create a new process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft pid_t +.Fn fork void +.Sh DESCRIPTION +.Fn fork +causes creation of a new process. +The new process (child process) is an exact copy of the +calling process (parent process) except for the following: +.Bl -bullet -offset indent +.It +The child process has a unique process ID. +.It +The child process has a different parent +process ID (i.e., the process ID of the parent process). +.It +The child process has its own copy of the parent's descriptors. +These descriptors reference the same underlying objects, so that, +for instance, file pointers in file objects are shared between +the child and the parent, so that an +.Xr lseek 2 +on a descriptor in the child process can affect a subsequent +.Xr read 2 +or +.Xr write 2 +by the parent. +This descriptor copying is also used by the shell to +establish standard input and output for newly created processes +as well as to set up pipes. +Any file descriptors that were marked with the close-on-fork flag, +.Dv FD_CLOFORK +.Po see +.Fn fcntl 2 +and +.Dv O_CLOFORK +in +.Fn open 2 +.Pc , +will not be present in the child process, but remain open in the parent. +.It +The child process' resource utilizations +are set to 0; see +.Xr setrlimit 2 . +.El +.Pp +In general, the child process should call +.Xr _exit 2 +rather than +.Xr exit 3 . +Otherwise, any stdio buffers that exist both in the parent and child +will be flushed twice. +Similarly, +.Xr _exit 2 +should be used to prevent +.Xr atexit 3 +routines from being called twice (once in the parent and once in the child). +.Pp +In case of a threaded program, only the thread calling +.Fn fork +is still running in the child processes. +.Pp +Child processes of a threaded program have additional restrictions, +a child must only call functions that are async-signal-safe. +Very few functions are asynchronously safe +(the list may be found in +.Xr sigaction 2 ) +and applications should make sure they call +.Xr exec 3 +as soon as possible. +.Sh RETURN VALUES +Upon successful completion, +.Fn fork +returns a value +of 0 to the child process and returns the process ID of the child +process to the parent process. +Otherwise, a value of \-1 is returned to the parent process, no +child process is created, and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn fork +will fail and no child process will be created if: +.Bl -tag -width XEAGAINXX +.It Bq Er EAGAIN +The system-imposed limit on the total +number of processes under execution would be exceeded. +This limit is configuration-dependent; or +the limit +.Dv RLIMIT_NPROC +on the total number of +processes under execution by this user ID would be exceeded. +.It Bq Er ENOMEM +There is insufficient swap space for the new process. +.El +.Sh SEE ALSO +.Xr _exit 2 , +.Xr execve 2 , +.Xr setrlimit 2 , +.Xr vfork 2 , +.Xr wait 2 , +.Xr pthread_atfork 3 +.Sh STANDARDS +The +.Fn fork +function conforms to +.St -p1003.1-90 . +.Sh HISTORY +A +.Fn fork +system call appeared in +.At v1 . diff --git a/static/netbsd/man2/fstab.nfs.2 b/static/netbsd/man2/fstab.nfs.2 new file mode 100644 index 00000000..0f2c2731 --- /dev/null +++ b/static/netbsd/man2/fstab.nfs.2 @@ -0,0 +1,10 @@ +# $NetBSD: fstab.nfs.2,v 1.2 2005/04/03 14:12:14 hubertf Exp $ +# +# Sample fstab file for diskless clients using NFS. +# +server:/export/arch/root / nfs rw +# +# Possibly include data from the following files here: +# fstab.cdrom +# fstab.pseudo +# fstab.ramdisk diff --git a/static/netbsd/man2/fstab.sd0.2 b/static/netbsd/man2/fstab.sd0.2 new file mode 100644 index 00000000..aaaac46a --- /dev/null +++ b/static/netbsd/man2/fstab.sd0.2 @@ -0,0 +1,10 @@ +# $NetBSD: fstab.sd0.2,v 1.4 2005/05/06 08:41:00 hubertf Exp $ +# +/dev/sd0a / ffs rw 1 1 +/dev/sd0b none swap sw 0 0 +/dev/sd0g /usr ffs rw 1 2 +# +# Possibly include data from the following files here: +# fstab.cdrom +# fstab.pseudo +# fstab.ramdisk diff --git a/static/netbsd/man2/fstab.wd0.2 b/static/netbsd/man2/fstab.wd0.2 new file mode 100644 index 00000000..ee383d51 --- /dev/null +++ b/static/netbsd/man2/fstab.wd0.2 @@ -0,0 +1,17 @@ +# $NetBSD: fstab.wd0.2,v 1.4 2005/05/06 08:41:00 hubertf Exp $ +# +# Sample fstab for IDE disk based system +# see fstab(5) for details on what the fields mean +# Notes: +# All swap devices are now configured by swapctl(8), so a swap entry +# is now needed for all swap partitions so that the "swapctl -A" in +# /etc/rc will find them, or you will have no swap space. +# +/dev/wd0a / ffs rw 1 1 +/dev/wd0b none swap sw 0 0 +/dev/wd0e /usr ffs rw 1 2 +# +# Possibly include data from the following files here: +# fstab.cdrom +# fstab.pseudo +# fstab.ramdisk diff --git a/static/netbsd/man2/fsync.2 b/static/netbsd/man2/fsync.2 new file mode 100644 index 00000000..0c2dec4b --- /dev/null +++ b/static/netbsd/man2/fsync.2 @@ -0,0 +1,196 @@ +.\" $NetBSD: fsync.2,v 1.21 2021/02/17 22:55:20 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)fsync.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd February 17, 2021 +.Dt FSYNC 2 +.Os +.Sh NAME +.Nm fsync , +.Nm fsync_range +.Nd "synchronize a file's in-core state with that on disk" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn fsync "int fd" +.Ft int +.Fn fsync_range "int fd" "int how" "off_t start" "off_t length" +.Sh DESCRIPTION +.Fn fsync +causes all modified data and attributes of +.Fa fd +to be written to a permanent storage device. +This normally results in all in-core modified copies +of buffers for the associated file to be written to a disk. +.Pp +.Fn fsync_range +is similar, but provides control over the region of the file +to be synchronized, and the method of synchronization. +.Pp +These functions should be used by programs that require a file to be +in a known state, for example, in building a simple transaction +facility. +.Pp +Note that writing the data to a permanent storage device +does not necessarily write the data to permanent storage media +within that device; +for example, after writing data to a disk device, the data might +reside in a cache within the device, but not yet on +more permanent storage within the device. +Neither +.Fn fsync +nor the default behavior of +.Fn fsync_range +(without the +.Dv FDISKSYNC +flag) +will flush disk caches, +because they assume that storage devices are able to ensure that +completed writes are transferred to media some time between the +write and a power failure or system crash. +.Pp +.Fn fsync_range +causes all modified data starting at +.Fa start +for length +.Fa length +of +.Fa fd +to be written to a permanent storage device. +If the +.Fa length +parameter is zero, +.Fn fsync_range +will synchronize all of the file data. +.Pp +.Fn fsync_range +takes a +.Fa how +parameter which contains one or more of the following flags: +.Bl -tag -width FDATASYNC -offset indent +.It Dv FDATASYNC +Synchronize the file data and sufficient meta-data to retrieve the +data for the specified range. +This is equivalent to +.Xr fdatasync 2 +on the specified range. +.It Dv FFILESYNC +Synchronize all modified file data and meta-data for the specified range. +This is equivalent to +.Nm +on the specified range. +.It Dv FDISKSYNC +Request the destination device to ensure that the relevant data +and meta-data is flushed from any cache to permanent storage media. +In the present implementation, the entire cache on the affected device will +be flushed, and this may have a significant impact on performance. +.El +.Pp +The +.Dv FDATASYNC +and +.Dv FFILESYNC +flags are mutually exclusive. +Either of those flags may be combined with the +.Dv FDISKSYNC +flag. +.Pp +Note that +.Fn fsync_range +requires that the file +.Fa fd +must be open for writing, whereas +.Fn fsync +does not. +.Sh RETURN VALUES +A 0 value is returned on success. +A \-1 value indicates an error. +.Sh ERRORS +.Fn fsync +or +.Fn fsync_range +fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa fd +is not a valid descriptor. +.It Bq Er EINVAL +.Fa fd +refers to a socket, not to a file. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.El +.Pp +Additionally, +.Fn fsync_range +fails if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa fd +is not open for writing. +.It Bq Er EINVAL +.Fa start +is less than zero, or +.Fa start ++ +.Fa length +is less than +.Fa start +or triggers an integer overflow; or +.Fa how +contains an invalid value. +.El +.Sh NOTES +For optimal efficiency, the +.Fn fsync_range +call requires that the file system containing the file referenced by +.Fa fd +support partial synchronization of file data. +For file systems which do +not support partial synchronization, the entire file will be synchronized +and the call will be the equivalent of calling +.Fn fsync . +.Sh SEE ALSO +.Xr fdatasync 2 , +.Xr sync 2 , +.Xr sync 8 +.Sh HISTORY +The +.Fn fsync +function call appeared in +.Bx 4.2 . +.Pp +The +.Fn fsync_range +function call first appeared in +.Nx 2.0 +and is modeled after the function available in AIX. diff --git a/static/netbsd/man2/getcontext.2 b/static/netbsd/man2/getcontext.2 new file mode 100644 index 00000000..ac3f638d --- /dev/null +++ b/static/netbsd/man2/getcontext.2 @@ -0,0 +1,152 @@ +.\" $NetBSD: getcontext.2,v 1.7 2010/04/29 06:07:35 jruoho Exp $ +.\" +.\" Copyright (c) 1999 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Klaus Klein. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 28, 2010 +.Dt GETCONTEXT 2 +.Os +.Sh NAME +.Nm getcontext , +.Nm setcontext +.Nd get and set current user context +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In ucontext.h +.Ft int +.Fn getcontext "ucontext_t *ucp" +.Ft int +.Fn setcontext "const ucontext_t *ucp" +.Sh DESCRIPTION +The +.Fn getcontext +function initializes the object pointed to by +.Fa ucp +to the current user context of the calling thread. +The user context defines a thread's execution environment and includes +the contents of its machine registers, +its signal mask, +and its current execution stack. +.Pp +The +.Fn setcontext +function restores the user context defined in the object pointed to by +.Fa ucp +as most recently initialized by a previous call to either +.Fn getcontext +or +.Xr makecontext 3 . +.\" TODO: signal handler +If successful, execution of the program resumes as defined in the +.Fa ucp +argument, and +.Fn setcontext +will not return. +If +.Fa ucp +was initialized by the +.Fn getcontext +function, program execution continues as if the corresponding invocation of +.Fn getcontext +had just returned (successfully). +If +.Fa ucp +was initialized by the +.Xr makecontext 3 +function, program execution continues with the function (and function +arguments) passed to +.Xr makecontext 3 . +.Sh RETURN VALUES +On successful completion, +.Fn getcontext +returns 0 and +.Fn setcontext +does not return. +Otherwise a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn getcontext +and +.Fn setcontext +functions will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The +.Fa ucp +argument points to an invalid address. +.El +.Pp +The +.Fn setcontext +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The contents of the datum pointed to by +.Fa ucp +are invalid. +.El +.Sh SEE ALSO +.Xr sigprocmask 2 , +.Xr longjmp 3 , +.Xr makecontext 3 , +.Xr setjmp 3 , +.Xr swapcontext 3 +.Sh STANDARDS +The +.Fn getcontext +and +.Fn setcontext +functions conform to +.St -xsh5 +and +.St -p1003.1-2001 . +The +.Va errno +indications are an extension to the standard. +.Pp +The +.St -p1003.1-2004 +revision marked the functions +.Fn getcontext +and +.Fn setcontext +as obsolete, citing portability issues and recommending the use of +.Tn POSIX +threads instead. +The +.St -p1003.1-2008 +revision removed the functions from the specification. +.Sh HISTORY +The +.Fn getcontext +and +.Fn setcontext +functions first appeared in +.At V.4 . diff --git a/static/netbsd/man2/getdents.2 b/static/netbsd/man2/getdents.2 new file mode 100644 index 00000000..b72b04fe --- /dev/null +++ b/static/netbsd/man2/getdents.2 @@ -0,0 +1,132 @@ +.\" $NetBSD: getdents.2,v 1.25 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getdirentries.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 4, 2010 +.Dt GETDENTS 2 +.Os +.Sh NAME +.Nm getdents +.Nd "get directory entries in a file system independent format" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In dirent.h +.Ft int +.Fn getdents "int fd" "char *buf" "size_t nbytes" +.Sh DESCRIPTION +.Fn getdents +reads directory entries from the directory +referenced by the file descriptor +.Fa fd +into the buffer pointed to by +.Fa buf , +in a file system independent format. +Up to +.Fa nbytes +of data will be transferred. +.Fa nbytes +must be greater than or equal to the +block size associated with the file, +see +.Xr stat 2 . +Some file systems may not support +.Fn getdents +with buffers smaller than this size. +.Pp +The data in the buffer is a series of +.Em dirent +structures: +.Bd -literal -offset indent +struct dirent { + ino_t d_fileno; /* file number of entry */ + uint16_t d_reclen; /* length of this record */ + uint16_t d_namlen; /* length of d_name */ + uint8_t d_type; /* file type, see below */ + char d_name[MAXNAMLEN + 1]; +}; +.Ed +.Pp +The structure is described in +.Xr dirent 3 . +.Pp +Entries may be separated by extra space. +The +.Fa d_reclen +entry may be used as an offset from the start of a +.Fa dirent +structure to the next structure, if any. +.Pp +The actual number of bytes transferred is returned. +The current position pointer associated with +.Fa fd +is set to point to the next block of entries. +The pointer may not advance by the number of bytes returned by +.Fn getdents . +A value of zero is returned when +the end of the directory has been reached. +.Pp +The current position pointer may be set and retrieved by +.Xr lseek 2 . +The current position pointer should only be set to a value returned by +.Xr lseek 2 , +or zero. +.Sh RETURN VALUES +If successful, the number of bytes actually transferred is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn getdents +will fail if: +.Bl -tag -width "[EINVAL]" +.It Bq Er EBADF +.Fa fd +is not a valid file descriptor open for reading. +.It Bq Er EFAULT +.Fa buf +points outside the allocated address space. +.It Bq Er EINVAL +A directory was being read on NFS, but it was modified on the server while +it was being read. +.It Bq Er EIO +An +.Tn I/O +error occurred while reading from or writing to the file system. +.El +.Sh SEE ALSO +.Xr lseek 2 , +.Xr open 2 , +.Xr dirent 3 +.Sh HISTORY +The +.Fn getdents +function first appeared in +.Nx 1.3 . diff --git a/static/netbsd/man2/getfh.2 b/static/netbsd/man2/getfh.2 new file mode 100644 index 00000000..4076739b --- /dev/null +++ b/static/netbsd/man2/getfh.2 @@ -0,0 +1,122 @@ +.\" $NetBSD: getfh.2,v 1.21 2006/10/30 18:53:42 mjf Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getfh.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd October 30, 2006 +.Dt GETFH 2 +.Os +.Sh NAME +.Nm getfh +.Nd get file handle +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/mount.h +.Ft int +.Fn getfh "const char *path" "void *fhp" "size_t *fh_size" +.Sh DESCRIPTION +.Fn getfh +returns a file handle for the specified file or directory +in the file handle pointed to by +.Fa fhp . +The variable pointed to by +.Fa fh_size +has to be initialized to the memory allocated for the variable sized file +handle. +On return the value will be replaced by the actual size +needed (which will vary depending on the file system the path is on). +This system call is restricted to the superuser. +To query the necessary size for the filehandle, a +.Dv NULL +pointer may +be passed as +.Fa fhp , +and the value pointed to by +.Fa fh_size +should be initialized to zero. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn getfh +fails if one or more of the following are true: +.Bl -tag -width Er +.It Bq Er ENOTDIR +A component of the path prefix of +.Fa path +is not a directory. +.It Bq Er ENAMETOOLONG +The length of a component of +.Fa path +exceeds +.Brq Dv NAME_MAX +characters, or the length of +.Fa path +exceeds +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The file referred to by +.Fa path +does not exist. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix of +.Fa path . +.It Bq Er ELOOP +Too many symbolic links were encountered in translating +.Fa path . +.It Bq Er EFAULT +.Fa fhp +points to an invalid address. +.It Bq Er EIO +An +.Tn I/O +error occurred while reading from or writing to the file system. +.It Bq Er E2BIG +The memory allocated for the file handle is too small. +The size needed has been written to the variable pointed to by +.Fa fh_size . +.It Bq Er ENOMEM +The kernel failed to allocate temporary memory to create a filehandle of the +requested size. +.El +.Sh SEE ALSO +.Xr fhstat 2 , +.Xr fhstatvfs 2 , +.Xr fhstatvfs1 2 +.Sh HISTORY +The +.Fn getfh +function +first appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/getgid.2 b/static/netbsd/man2/getgid.2 new file mode 100644 index 00000000..fe0b9265 --- /dev/null +++ b/static/netbsd/man2/getgid.2 @@ -0,0 +1,85 @@ +.\" $NetBSD: getgid.2,v 1.19 2010/04/03 15:13:43 jruoho Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getgid.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd April 3, 2010 +.Dt GETGID 2 +.Os +.Sh NAME +.Nm getgid , +.Nm getegid +.Nd get group process identification +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft gid_t +.Fn getgid void +.Ft gid_t +.Fn getegid void +.Sh DESCRIPTION +The +.Fn getgid +function returns the real group ID of the calling process, +.Fn getegid +returns the effective group ID of the calling process. +.Pp +The real group ID is specified at login time. +.Pp +The real group ID is the group of the user who invoked the program. +As the effective group ID gives the process additional permissions +during the execution of +.Dq Em set-group-ID +mode processes, +.Fn getgid +is used to determine the real-group-id of the calling process. +.Sh ERRORS +The +.Fn getgid +and +.Fn getegid +functions are always successful, and no return value is reserved to +indicate an error. +.Sh SEE ALSO +.Xr getuid 2 , +.Xr setgid 2 , +.Xr setgroups 2 , +.Xr setregid 2 +.Sh STANDARDS +.Fn getgid +and +.Fn getegid +conform to +.St -p1003.1-90 . +.Sh HISTORY +The +.Fn getgid +function appeared in +.At v4 . diff --git a/static/netbsd/man2/getgroups.2 b/static/netbsd/man2/getgroups.2 new file mode 100644 index 00000000..6fb3d3ec --- /dev/null +++ b/static/netbsd/man2/getgroups.2 @@ -0,0 +1,103 @@ +.\" $NetBSD: getgroups.2,v 1.23 2013/07/14 14:29:09 njoly Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getgroups.2 8.2 (Berkeley) 4/16/94 +.\" +.Dd October 7, 2006 +.Dt GETGROUPS 2 +.Os +.Sh NAME +.Nm getgroups +.Nd get group access list +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn getgroups "int gidsetlen" "gid_t *gidset" +.Sh DESCRIPTION +.Fn getgroups +gets the current group access list of the current user process +and stores it in the array +.Fa gidset . +The parameter +.Fa gidsetlen +indicates the number of entries that may be placed in +.Fa gidset . +.Fn getgroups +returns the actual number of groups returned in +.Fa gidset . +No more than +.Brq Dv NGROUPS_MAX +will ever +be returned. +If +.Fa gidsetlen +is 0, +.Fn getgroups +returns the number of groups without modifying the +.Fa gidset +array. +.Pp +This system call only returns the secondary groups. +.Sh RETURN VALUES +A successful call returns the number of groups in the group set. +A value of \-1 indicates that an error occurred, and the error +code is stored in the global variable +.Va errno . +.Sh ERRORS +The possible errors for +.Fn getgroups +are: +.Bl -tag -width Er +.It Bq Er EINVAL +The argument +.Fa gidsetlen +is non-zero and is smaller than the number of groups in the group set. +.It Bq Er EFAULT +The argument +.Fa gidset +specifies +an invalid address. +.El +.Sh SEE ALSO +.Xr getegid 2 , +.Xr getgid 2 , +.Xr setgroups 2 , +.Xr initgroups 3 +.Sh STANDARDS +The +.Fn getgroups +function conforms to +.St -p1003.1-90 . +.Sh HISTORY +The +.Fn getgroups +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/getitimer.2 b/static/netbsd/man2/getitimer.2 new file mode 100644 index 00000000..202e23c2 --- /dev/null +++ b/static/netbsd/man2/getitimer.2 @@ -0,0 +1,199 @@ +.\" $NetBSD: getitimer.2,v 1.29 2019/04/27 22:00:29 pgoyette Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getitimer.2 8.3 (Berkeley) 5/16/95 +.\" +.Dd April 28, 2019 +.Dt GETITIMER 2 +.Os +.Sh NAME +.Nm getitimer , +.Nm setitimer +.Nd get/set value of interval timer +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/time.h +.Ft int +.Fn getitimer "int which" "struct itimerval *value" +.Ft int +.Fn setitimer "int which" "const struct itimerval * restrict value" "struct itimerval * restrict ovalue" +.Sh DESCRIPTION +The system provides each process with multiple interval timers, +defined in +.Ao Pa sys/time.h Ac . +The +.Fn getitimer +call returns the current value for the timer specified in +.Fa which +in the structure at +.Fa value . +The +.Fn setitimer +call sets a timer to the specified +.Fa value , +returning the previous value of the timer if +.Fa ovalue +is not +.Dv NULL . +.Pp +A timer value is defined by the +.Fa itimerval +structure: +.Bd -literal -offset indent +struct itimerval { + struct timeval it_interval; /* timer interval */ + struct timeval it_value; /* current value */ +}; +.Ed +.Pp +If +.Fa it_value +is non-zero, it indicates the time to the next timer expiration. +If +.Fa it_interval +is non-zero, it specifies a value to be used in reloading +.Fa it_value +when the timer expires. +Setting +.Fa it_value +to 0 disables a timer. +Setting +.Fa it_interval +to 0 causes a timer to be disabled after its next expiration (assuming +.Fa it_value +is non-zero). +.Pp +The +.Fa which +parameter specifies the type of the timer: +.Bl -tag -width "ITIMER_MONOTONIC " -offset indent +.It Dv ITIMER_REAL +timer decrements in real time. +This timer is affected by +.Xr adjtime 2 +and +.Xr settimeofday 2 . +A +.Dv SIGALRM +signal is +delivered when this timer expires. +.It Dv ITIMER_VIRTUAL +timer decrements in process virtual time. +It runs only when the process is executing. +A +.Dv SIGVTALRM +signal +is delivered when it expires. +.It Dv ITIMER_PROF +timer decrements both in process virtual time and +when the system is running on behalf of the process. +It is designed to be used by interpreters in statistically profiling +the execution of interpreted programs. +Each time the +.Dv ITIMER_PROF +timer expires, the +.Dv SIGPROF +signal is +delivered. +Because this signal may interrupt in-progress +system calls, programs using this timer must be prepared to +restart interrupted system calls. +.It Dv ITIMER_MONOTONIC +timer decrements in monotonic time. +This timer is not affected by +.Xr adjtime 2 +and +.Xr settimeofday 2 . +A +.Dv SIGALRM +signal is +delivered when this timer expires. +.El +Note that: +.Bl -bullet -offset indent +.It +Time values smaller than the resolution of the +system clock are rounded up to this resolution +(typically 10 milliseconds). +.It +The interaction between +.Fn setitimer +and +.Xr alarm 3 +or +.Xr sleep 3 +is unspecified by the specification. +.El +.Sh RETURN VALUES +If the calls succeed, a value of 0 is returned. +If an error occurs, the value \-1 is returned, and a more precise error +code is placed in the global variable +.Va errno . +.Sh ERRORS +Both functions may fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The +.Fa value +parameter specified a bad address. +.It Bq Er EINVAL +The +.Fa which +parameter was not a known timer type, or the +.Fa value +parameter specified a time that was too large +to be handled. +.El +.Sh SEE ALSO +.Xr gettimeofday 2 , +.Xr select 2 , +.Xr sigaction 2 , +.Xr itimerval 3 , +.Xr timeradd 3 +.Sh STANDARDS +The functions conform to +.St -p1003.1-2001 . +The later +.St -p1003.1-2008 +revision however marked both as obsolescent, +recommending the use of +.Xr timer_gettime 2 +and +.Xr timer_settime 2 +instead. +.Sh HISTORY +The +.Fn getitimer +function call appeared in +.Bx 4.2 . +The +.Dv ITIMER_MONOTONIC +functionality appeared in +.Nx 6.0 . diff --git a/static/netbsd/man2/getlogin.2 b/static/netbsd/man2/getlogin.2 new file mode 100644 index 00000000..316c294f --- /dev/null +++ b/static/netbsd/man2/getlogin.2 @@ -0,0 +1,208 @@ +.\" $NetBSD: getlogin.2,v 1.22 2009/01/11 02:46:30 christos Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getlogin.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd January 6, 2009 +.Dt GETLOGIN 2 +.Os +.Sh NAME +.Nm getlogin , +.Nm getlogin_r , +.Nm setlogin +.Nd get/set login name +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft char * +.Fn getlogin void +.Ft int +.Fn getlogin_r "char *name" "size_t len" +.Ft int +.Fn setlogin "const char *name" +.Sh DESCRIPTION +The +.Fn getlogin +routine +returns the login name of the user associated with the current session, +as previously set by +.Fn setlogin . +The name is normally associated with a login shell +at the time a session is created, +and is inherited by all processes descended from the login shell. +(This is true even if some of those processes assume another user ID, +for example when +.Xr su 1 +is used.) +.Pp +The +.Fn getlogin_r +function +provides the same service as +.Fn getlogin , +however the caller must provide the buffer +.Fa name +with length +.Fa len +bytes +to hold the result. +The buffer should be at least +.Dv MAXLOGNAME +bytes in length. +.Pp +.Fn setlogin +sets the login name of the user associated with the current session to +.Fa name . +This call is restricted to the super-user, and +is normally used only when a new session is being created on behalf +of the named user +(for example, at login time, or when a remote shell is invoked). +.Pp +.Em NOTE : +There is only one login name per session. +.Pp +It is +.Em CRITICALLY +important to ensure that +.Fn setlogin +is only ever called after the process has taken adequate steps to ensure +that it is detached from its parent's session. +The +.Em ONLY +way to do this is via the +.Fn setsid +function. +The +.Fn daemon +function calls +.Fn setsid +which is an ideal way of detaching from a controlling terminal and +forking into the background. +.Pp +In particular, neither +.Fn ioctl ttyfd TIOCNOTTY ... +nor +.Fn setpgid ... +is sufficient to create a new session. +.Pp +Once a parent process has called +.Fn setsid , +it is acceptable for some child of that process to then call +.Fn setlogin , +even though it is not the session leader. +Beware, however, that +.Em ALL +processes in the session will change their login name at the same time, +even the parent. +.Pp +This is different from traditional +.Ux +privilege inheritance and as such can be counter-intuitive. +.Pp +Since the +.Fn setlogin +routine is restricted to the super-user, it is assumed that (like +all other privileged programs) the programmer has taken adequate +precautions to prevent security violations. +.Sh RETURN VALUES +If a call to +.Fn getlogin +succeeds, it returns a pointer to a null-terminated string in a static buffer. +If the name has not been set, it returns +.Dv NULL . +.Pp +If a call to +.Fn setlogin +succeeds, a value of 0 is returned. +If +.Fn setlogin +fails, a value of \-1 is returned and an error code is +placed in the global location +.Va errno . +.Pp +The +.Fn getlogin_r +function +returns zero if successful, or the error number upon failure. +.Sh ERRORS +The following errors may be returned by these calls: +.Bl -tag -width Er +.It Bq Er EFAULT +The +.Fa name +parameter gave an +invalid address. +.It Bq Er EINVAL +The +.Fa name +parameter +pointed to a string that was too long. +Login names are limited to +.Dv MAXLOGNAME +(from +.Ao Pa sys/param.h Ac ) +characters, currently 16. +.It Bq Er EPERM +The caller tried to set the login name and was not the super-user. +.It Bq Er ERANGE +The size of the buffer is smaller than the result to be returned. +.El +.Sh SEE ALSO +.Xr setsid 2 +.Sh STANDARDS +The +.Fn getlogin +and +.Fn getlogin_r +functions conform to +.St -p1003.1-96 . +.Sh HISTORY +The +.Fn getlogin +function first appeared in +.Bx 4.4 . +.Sh BUGS +Login names are limited in length by +.Fn setlogin . +However, lower limits are placed on login names elsewhere in the system +.Pf ( Dv UT_NAMESIZE +in +.Ao Pa utmp.h Ac ) . +.Pp +In earlier versions of the system, +.Fn getlogin +failed unless the process was associated with a login terminal. +The current implementation (using +.Fn setlogin ) +allows getlogin to succeed even when the process has no controlling terminal. +In earlier versions of the system, the value returned by +.Fn getlogin +could not be trusted without checking the user ID. +Portable programs should probably still make this check. diff --git a/static/netbsd/man2/getpeername.2 b/static/netbsd/man2/getpeername.2 new file mode 100644 index 00000000..2dbbd16b --- /dev/null +++ b/static/netbsd/man2/getpeername.2 @@ -0,0 +1,137 @@ +.\" $NetBSD: getpeername.2,v 1.21 2011/06/03 08:07:48 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getpeername.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 3, 2011 +.Dt GETPEERNAME 2 +.Os +.Sh NAME +.Nm getpeername +.Nd get name of connected peer +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn getpeername \ +"int s" "struct sockaddr * restrict name" "socklen_t * restrict namelen" +.Sh DESCRIPTION +The +.Fn getpeername +function returns the name of the peer connected to the socket +.Fa s . +One common use occurs when a process inherits an open socket, such as +TCP servers forked from +.Xr inetd 8 . +In this scenario, +.Fn getpeername +is used to determine the connecting client's IP address. +.Pp +The function takes three parameters: +.Bl -tag -width namelen -offset indent +.It Fa s +contains the file descriptor of the socket whose peer should be looked up. +.It Fa name +points to a +.Li sockaddr +structure that will hold the address information for the connected peer. +Normal use requires one to use a structure +specific to the protocol family in use, such as +.Li sockaddr_in +(IPv4) or +.Li sockaddr_in6 +(IPv6), cast to a (struct sockaddr *). +.Pp +For greater portability, especially with the newer protocol families, the new +.Li struct sockaddr_storage +should be used. +.Li sockaddr_storage +is large enough to hold any of the other sockaddr_* variants. +On return, it can be cast to the correct sockaddr type, +based on the protocol family contained in its ss_family field. +.It Fa namelen +indicates the amount of space pointed to by +.Fa name , +in bytes. +.El +.Pp +If address information for the local end of the socket is required, the +.Xr getsockname 2 +function should be used instead. +.Pp +If +.Fa name +does not point to enough space to hold the entire socket address, the +result will be truncated to +.Fa namelen +bytes. +.Sh RETURN VALUES +If the call succeeds, a 0 is returned and +.Fa namelen +is set to the actual size of the socket address returned in +.Fa name . +Otherwise, +.Va errno +is set and a value of \-1 is returned. +.Sh ERRORS +The call succeeds unless: +.Bl -tag -width Er +.It Bq Er EBADF +The argument +.Fa s +is not a valid descriptor. +.It Bq Er EFAULT +The +.Fa name +parameter points to memory not in a valid part of the +process address space. +.It Bq Er ENOBUFS +Insufficient resources were available in the system +to perform the operation. +.It Bq Er ENOTCONN +The socket is not connected. +.It Bq Er ENOTSOCK +The argument +.Fa s +is a file, not a socket. +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr bind 2 , +.Xr getsockname 2 , +.Xr socket 2 +.Sh STANDARDS +The function conforms to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn getpeername +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/getpgrp.2 b/static/netbsd/man2/getpgrp.2 new file mode 100644 index 00000000..78588c29 --- /dev/null +++ b/static/netbsd/man2/getpgrp.2 @@ -0,0 +1,129 @@ +.\" $NetBSD: getpgrp.2,v 1.24 2014/09/19 16:02:58 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getpgrp.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd August 11, 2002 +.Dt GETPGRP 2 +.Os +.Sh NAME +.Nm getpgrp , +.Nm getpgid +.Nd get process group +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft pid_t +.Fn getpgrp "void" +.Ft pid_t +.Fn getpgid "pid_t pid" +.Sh DESCRIPTION +The process group of the current process is returned by +.Fn getpgrp . +The process group of the +.Fa pid +process is returned by +.Fn getpgid . +.Pp +Process groups are used for distribution of signals, and +by terminals to arbitrate requests for their input: processes +that have the same process group as the terminal are foreground +and may read, while others will block with a signal if they attempt +to read. +.Pp +This call is thus used by programs such as +.Xr csh 1 +to create +process groups +in implementing job control. +The +.Fn tcgetpgrp +and +.Fn tcsetpgrp +calls +are used to get/set the process group of the control terminal. +.Sh COMPATIBILITY +This version of +.Fn getpgrp +differs from past Berkeley versions by not taking a +.Fa "pid_t pid" +argument. +This incompatibility is required by +.St -p1003.1-90 . +.Pp +From the +.St -p1003.1-90 +Rationale: +.Lp +.Bx 4.3 +provides a +.Fn getpgrp +function that returns the process group ID for a specified process. +Although this function is used to support job control, all known +job-control shells always specify the calling process with this +function. +Thus, the simpler System V +.Fn getpgrp +suffices, and the added complexity of the +.Bx 4.3 +.Fn getpgrp +has been omitted from POSIX.1. +The old functionality is available from the +.Fn getpgid +function. +.Sh ERRORS +.Fn getpgrp +always succeeds, however +.Fn getpgid +will succeed unless: +.Bl -tag -width Er +.It Bq Er ESRCH +if there is no process with a process ID equal to +.Fa pid . +.El +.Sh SEE ALSO +.Xr setpgid 2 , +.Xr termios 4 +.Sh STANDARDS +The +.Fn getpgrp +function conforms to +.St -p1003.1-88 . +.Sh HISTORY +The +.Fn getpgrp +function call appeared in +.Bx 4.0 . +The +.Fn getpgid +function call is derived from its usage in +.At V.4 , +and first appeared in +.Nx 1.3 . diff --git a/static/netbsd/man2/getpid.2 b/static/netbsd/man2/getpid.2 new file mode 100644 index 00000000..9373a85d --- /dev/null +++ b/static/netbsd/man2/getpid.2 @@ -0,0 +1,77 @@ +.\" $NetBSD: getpid.2,v 1.17 2010/04/03 15:13:43 jruoho Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getpid.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd April 3, 2010 +.Dt GETPID 2 +.Os +.Sh NAME +.Nm getpid , +.Nm getppid +.Nd get parent or calling process identification +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft pid_t +.Fn getpid void +.Ft pid_t +.Fn getppid void +.Sh DESCRIPTION +.Fn getpid +returns +the process ID of +the calling process. +The ID is guaranteed to be unique and is +useful for constructing temporary file names. +.Pp +.Fn getppid +returns the process ID of the parent +of the calling process. +.Sh ERRORS +The +.Fn getpid +and +.Fn getppid +functions are always successful, and no return value is reserved to +indicate an error. +.Sh SEE ALSO +.Xr gethostid 3 +.Sh STANDARDS +.Fn getpid +and +.Fn getppid +conform to +.St -p1003.1-90 . +.Sh HISTORY +The +.Fn getpid +function appeared in +.At v5 . diff --git a/static/netbsd/man2/getpriority.2 b/static/netbsd/man2/getpriority.2 new file mode 100644 index 00000000..ff8326f3 --- /dev/null +++ b/static/netbsd/man2/getpriority.2 @@ -0,0 +1,153 @@ +.\" $NetBSD: getpriority.2,v 1.20 2012/04/13 16:32:15 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getpriority.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd April 13, 2012 +.Dt GETPRIORITY 2 +.Os +.Sh NAME +.Nm getpriority , +.Nm setpriority +.Nd get/set program scheduling priority +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/resource.h +.Ft int +.Fn getpriority "int which" "id_t who" +.Ft int +.Fn setpriority "int which" "id_t who" "int prio" +.Sh DESCRIPTION +The scheduling +priority of the process, process group, or user, as indicated by +.Fa which +and +.Fa who +is obtained with the +.Fn getpriority +call and set with the +.Fn setpriority +call. +.Pp +The priority is maintained in a per-process basis and +affects scheduling of LWPs which belong to the process and use the +.Dv SCHED_OTHER +scheduling class. +.Pp +.Fa which +is one of +.Dv PRIO_PROCESS , +.Dv PRIO_PGRP , +or +.Dv PRIO_USER , +and +.Fa who +is interpreted relative to +.Fa which +(a process identifier for +.Dv PRIO_PROCESS , +process group +identifier for +.Dv PRIO_PGRP , +and a user ID for +.Dv PRIO_USER ) . +A zero value of +.Fa who +denotes the current process, process group, or user. +.Fa prio +is a value in the range -20 to 20. +The default priority is 0; +numerically lower priority values cause more favorable scheduling. +A value of 19 or 20 +will schedule a process only when nothing at priority \*(Le 0 is runnable. +.Pp +The +.Fn getpriority +call returns the highest priority (lowest numerical value) +enjoyed by any of the specified processes. +The +.Fn setpriority +call sets the priorities of all of the specified processes +to the specified value. +Only the super-user may lower priority values. +.Sh RETURN VALUES +Since +.Fn getpriority +can legitimately return the value \-1, it is necessary +to clear the external variable +.Va errno +prior to the +call, then check it afterward to determine +if a \-1 is an error or a legitimate value. +The +.Fn setpriority +call returns 0 if there is no error, or +\-1 if there is. +.Sh ERRORS +.Fn getpriority +and +.Fn setpriority +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa which +was not one of +.Dv PRIO_PROCESS , +.Dv PRIO_PGRP , +or +.Dv PRIO_USER . +.It Bq Er ESRCH +No process was located using the +.Fa which +and +.Fa who +values specified. +.El +.Pp +In addition to the errors indicated above, +.Fn setpriority +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +A non super-user attempted to lower a process priority value. +.It Bq Er EPERM +A process was located, but neither its effective nor real user +ID matched the effective user ID of the caller. +.El +.Sh SEE ALSO +.Xr nice 1 , +.Xr fork 2 , +.Xr sched 3 , +.Xr renice 8 +.Sh HISTORY +The +.Fn getpriority +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/getrandom.2 b/static/netbsd/man2/getrandom.2 new file mode 100644 index 00000000..0543c7be --- /dev/null +++ b/static/netbsd/man2/getrandom.2 @@ -0,0 +1,244 @@ +.\" $NetBSD: getrandom.2,v 1.3 2023/07/02 13:25:52 riastradh Exp $ +.\" +.\" Copyright (c) 2020 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Taylor R. Campbell. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd March 17, 2022 +.Dt GETRANDOM 2 +.Os +.Sh NAME +.Nm getrandom +.Nd generate uniform random seeds from system entropy for cryptography +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/random.h +.Ft ssize_t +.Fn getrandom "void *buf" "size_t buflen" "unsigned int flags" +.Sh DESCRIPTION +The +.Nm +function fills +.Fa buf +with up to +.Fa buflen +independent uniform random bytes derived from the system's entropy +pool. +.Pp +The output of +.Nm +is meant to be unpredictable to an adversary and fit for use in +cryptography. +See CAVEATS below. +.Pp +.Nm +is meant for seeding random number generators, not for direct use by +applications; most applications should use +.Xr arc4random 3 . +.Pp +.Nm +is a nonstandard extension that was added before POSIX began to +converge on +.Xr getentropy 2 . +Applications should avoid +.Nm +and use +.Xr getentropy 2 +instead; +.Nm +may be removed from a later release. +.Pp +.Nm +may block indefinitely unless the +.Dv GRND_INSECURE +or +.Dv GRND_NONBLOCK +flags are specified. +.Pp +The +.Fa flags +argument may be: +.Bl -tag -offset indent -width GRND_INSECURE +.It Li 0 +May block. +On success, guaranteed to generate the smaller of +.Fa buflen +or 256 bytes. +.It Dv GRND_INSECURE +Never blocks. +On success, guaranteed to generate the smaller of +.Fa buflen +or 256 bytes. +.It Dv GRND_RANDOM +Will probably block. +On success, may generate as little as a single byte of data. +.Pp +This is provided for source compatibility with Linux; there is no +reason to ever use it. +.El +.Pp +The flag +.Dv GNRD_NONBLOCK +may also be included with bitwise-OR, in which case if +.Fn getrandom +would have blocked without +.Dv GRND_NONBLOCK , +it returns +.Er EAGAIN +instead. +.Pp +Adding +.Dv GRND_NONBLOCK +to +.Dv GRND_INSECURE +has no effect; the combination +.Dv GRND_INSECURE Ns Li "|" Ns Li GRND_NONBLOCK +is equivalent to +.Dv GRND_INSECURE , +since +.Dv GRND_INSECURE +never blocks. +The combination +.Dv GRND_INSECURE Ns Li "|" Ns Li GRND_RANDOM +always fails with +.Er EINVAL . +.Sh RETURN VALUES +If successful, +.Fn getrandom +returns the number of bytes stored in +.Fa buf . +Otherwise, +.Fn getrandom +returns \-1 and sets +.Va errno . +.Pp +Since +.Li "getrandom(..., 0)" +and +.Li "getrandom(..., GRND_INSECURE)" +are guaranteed to generate +.Fa buflen +or 256 bytes, whichever is smaller, if successful, it +is sufficient to use, e.g., +.Bd -literal -compact + getrandom(buf, 32, 0) == -1 +.Ed +or +.Bd -literal -compact + getrandom(buf, 32, GRND_INSECURE) == -1 +.Ed +to detect failure. +However, with +.Dv GRND_RANDOM , +.Fn getrandom +may generate as little as a single byte if successful. +.Sh EXAMPLES +Generate a key for cryptography: +.Bd -literal + uint8_t secretkey[32]; + + if (getrandom(secretkey, sizeof secretkey, 0) == -1) + err(EXIT_FAILURE, "getrandom"); + crypto_secretbox_xsalsa20poly1305(..., secretkey); +.Ed +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EAGAIN +The +.Dv GRND_NONBLOCK +flag was specified, and +.Nm +would have blocked waiting for entropy. +.It Bq Er EINTR +The +.Dv GRND_NONBLOCK +flag was +.Em not +specified, +.Nm +blocked waiting for entropy, and the process was interrupted by a +signal. +.It Bq Er EINVAL +.Fa flags +contains an unrecognized flag or a nonsensical combination of flags. +.It Bq Er EFAULT +.Fa buf +points outside the allocated address space. +.El +.Sh CAVEATS +Security can only be guaranteed relative to whatever unpredictable +physical processes or secret seed material are available to the system; +see +.Xr entropy 7 . +.Pp +On systems which have no hardware random number generator and which +have not had secret seed material loaded, +.Nx +makes a reasonable effort to incorporate samples from various physical +processes available to it that might be unpredictable from random +jitter in timing. +.Pp +However, the +.Nm +interface alone can make no security guarantees without a physical +system configuration that includes random number generation hardware or +secret seed material from such hardware on another machine. +.Sh SEE ALSO +.Xr arc4random 3 , +.Xr getentropy 3 , +.Xr rnd 4 , +.Xr entropy 7 +.Sh STANDARDS +The +.Nm +function is a nonstandard Linux extension and will probably never be +standardized. +.Sh HISTORY +The +.Nm +system call first appeared in Linux 3.17, and was added to +.Nx 10.0 . +.Sh BUGS +There is no way to multiplex waiting for +.Fn getrandom +with other I/O in +.Xr select 2 , +.Xr poll 2 , +or +.Xr kqueue 2 , +or to atomically unmask a set of signals while +.Nm +blocks. +Instead, you can wait for a read from +.Pa /dev/random ; +see +.Xr rnd 4 . +.Pp +The +.Nm +interface has more options than real-world applications need, with +confusing and unclear semantics inherited from Linux. diff --git a/static/netbsd/man2/getrlimit.2 b/static/netbsd/man2/getrlimit.2 new file mode 100644 index 00000000..c3cbffdb --- /dev/null +++ b/static/netbsd/man2/getrlimit.2 @@ -0,0 +1,241 @@ +.\" $NetBSD: getrlimit.2,v 1.36 2012/06/09 02:36:25 christos Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getrlimit.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 8, 2012 +.Dt GETRLIMIT 2 +.Os +.Sh NAME +.Nm getrlimit , +.Nm setrlimit +.Nd control maximum system resource consumption +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/resource.h +.Ft int +.Fn getrlimit "int resource" "struct rlimit *rlp" +.Ft int +.Fn setrlimit "int resource" "const struct rlimit *rlp" +.Sh DESCRIPTION +Limits on the consumption of system resources by the current process +and each process it creates may be obtained with the +.Fn getrlimit +call, and set with the +.Fn setrlimit +call. +Resources of an arbitrary process can be obtained/changed using +.Xr sysctl 3 . +.Pp +The +.Fa resource +parameter is one of the following: +.Bl -tag -width RLIMIT_FSIZEAA +.It Li RLIMIT_AS +The maximum amount (in bytes) of virtual memory the process is allowed to map. +.It Li RLIMIT_CORE +The largest size (in bytes) +.Pa core +file that may be created. +.It Li RLIMIT_CPU +The maximum amount of CPU time (in seconds) to be used by +each process. +.It Li RLIMIT_DATA +The maximum size (in bytes) of the data segment for a process; +this defines how far a program may extend its break with the +.Xr sbrk 2 +system call. +.It Li RLIMIT_FSIZE +The largest size (in bytes) file that may be created. +.It Li RLIMIT_MEMLOCK +The maximum size (in bytes) which a process may lock into memory +using the +.Xr mlock 2 +function. +.It Li RLIMIT_NOFILE +The maximum number of open files for this process. +.It Li RLIMIT_NPROC +The maximum number of simultaneous processes for this user id. +.It Li RLIMIT_NTHR +The maximum number of simultaneous threads (Lightweight Processes) for this +user id. +Kernel threads and the first thread of each process are not counted against +this limit. +.It Li RLIMIT_RSS +The maximum size (in bytes) to which a process's resident set size may +grow. +This imposes a limit on the amount of physical memory to be given to +a process; if memory is tight, the system will prefer to take memory +from processes that are exceeding their declared resident set size. +.It Li RLIMIT_SBSIZE +The maximum size (in bytes) of the socket buffers +set by the +.Xr setsockopt 2 +.Dv SO_RCVBUF +and +.Dv SO_SNDBUF +options. +.It Li RLIMIT_STACK +The maximum size (in bytes) of the stack segment for a process; +this defines how far a program's stack segment may be extended. +Stack extension is performed automatically by the system. +.El +.Pp +A resource limit is specified as a soft limit and a hard limit. +When a soft limit is exceeded a process may receive a signal (for example, +if the CPU time or file size is exceeded), but it will be allowed to +continue execution until it reaches the hard limit (or modifies +its resource limit). +The +.Em rlimit +structure is used to specify the hard and soft limits on a resource, +.Bd -literal -offset indent +struct rlimit { + rlim_t rlim_cur; /* current (soft) limit */ + rlim_t rlim_max; /* hard limit */ +}; +.Ed +.Pp +Only the super-user may raise the maximum limits. +Other users may only alter +.Fa rlim_cur +within the range from 0 to +.Fa rlim_max +or (irreversibly) lower +.Fa rlim_max . +.Pp +An +.Dq infinite +value for a limit is defined as +.Dv RLIM_INFINITY . +.Pp +Because this information is stored in the per-process information, +this system call must be executed directly by the shell if it +is to affect all future processes created by the shell. +Thus, shells provide built-in commands to change the limits +.Ic ( limit +for +.Xr csh 1 , +or +.Ic ulimit +for +.Xr sh 1 ) . +.Pp +The system refuses to extend the data or stack space when the limits +would be exceeded in the normal way: a +.Xr brk 2 +call fails if the data space limit is reached. +When the stack limit is reached, the process receives +a segmentation fault +.Pq Dv SIGSEGV ; +if this signal is not +caught by a handler using the signal stack, this signal +will kill the process. +.Pp +A file I/O operation that would create a file larger that the process' +soft limit will cause the write to fail and a signal +.Dv SIGXFSZ +to be +generated; this normally terminates the process, but may be caught. +When the soft CPU time limit is exceeded, a signal +.Dv SIGXCPU +is sent to the +offending process. +.Sh RETURN VALUES +A 0 return value indicates that the call succeeded, changing +or returning the resource limit. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn getrlimit +and +.Fn setrlimit +will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The address specified for +.Fa rlp +is invalid. +.It Bq Er EINVAL +Specified +.Fa resource +was invalid; or, in the +.Fn setrlimit +call, the specified +.Fa rlim_cur +exceeds the specified +.Fa rlim_max . +.It Bq Er EPERM +The limit specified to +.Fn setrlimit +would have +raised the maximum limit value, and the caller is not the super-user. +.El +.Pp +The +.Fn setrlimit +function may fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The limit specified to +.Fn setrlimit +cannot be lowered, because current usage is already higher than the limit. +.El +.Sh SEE ALSO +.Xr csh 1 , +.Xr sh 1 , +.Xr mlock 2 , +.Xr setsockopt 2 , +.Xr sigaction 2 , +.Xr sigaltstack 2 , +.Xr libquota 3 , +.Xr sysctl 3 +.\" Sh STANDARDS +.\" With exception of +.\" .Li RLIMIT_AS +.\" (which is not currently supported), the +.\" .Fn getrlimit +.\" and +.\" .Fn setrlimit +.\" functions conform to +.\" .St -susv2 . +.Sh HISTORY +The +.Fn getrlimit +function call appeared in +.Bx 4.2 . +.Sh BUGS +The resource limit +.Dv RLIMIT_RSS +is not implemented in +.Xr uvm 9 +which means that process memory size limits are not enforced. diff --git a/static/netbsd/man2/getrusage.2 b/static/netbsd/man2/getrusage.2 new file mode 100644 index 00000000..26ea9828 --- /dev/null +++ b/static/netbsd/man2/getrusage.2 @@ -0,0 +1,164 @@ +.\" $NetBSD: getrusage.2,v 1.18 2004/05/13 10:20:58 wiz Exp $ +.\" +.\" Copyright (c) 1985, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getrusage.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETRUSAGE 2 +.Os +.Sh NAME +.Nm getrusage +.Nd get information about resource utilization +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/resource.h +.Fd #define RUSAGE_SELF 0 +.Fd #define RUSAGE_CHILDREN \-1 +.Ft int +.Fn getrusage "int who" "struct rusage *rusage" +.Sh DESCRIPTION +.Fn getrusage +returns information describing the resources used by the current +process, or all its terminated child processes. +The +.Fa who +parameter is either +.Dv RUSAGE_SELF +or +.Dv RUSAGE_CHILDREN . +The buffer to which +.Fa rusage +points will be filled in with +the following structure: +.Bd -literal +struct rusage { + struct timeval ru_utime; /* user time used */ + struct timeval ru_stime; /* system time used */ + long ru_maxrss; /* max resident set size */ + long ru_ixrss; /* integral shared text memory size */ + long ru_idrss; /* integral unshared data size */ + long ru_isrss; /* integral unshared stack size */ + long ru_minflt; /* page reclaims */ + long ru_majflt; /* page faults */ + long ru_nswap; /* swaps */ + long ru_inblock; /* block input operations */ + long ru_oublock; /* block output operations */ + long ru_msgsnd; /* messages sent */ + long ru_msgrcv; /* messages received */ + long ru_nsignals; /* signals received */ + long ru_nvcsw; /* voluntary context switches */ + long ru_nivcsw; /* involuntary context switches */ +}; +.Ed +.Pp +The fields are interpreted as follows: +.Bl -tag -width ru_minfltaa +.It Fa ru_utime +the total amount of time spent executing in user mode. +.It Fa ru_stime +the total amount of time spent in the system executing on behalf +of the process(es). +.It Fa ru_maxrss +the maximum resident set size used (in kilobytes). +.It Fa ru_ixrss +an \*(lqintegral\*(rq value indicating the amount of memory used +by the text segment +that was also shared among other processes. +This value is expressed +in units of kilobytes * ticks-of-execution. +.It Fa ru_idrss +an integral value of the amount of unshared memory residing in the +data segment of a process (expressed in units of +kilobytes * ticks-of-execution). +.It Fa ru_isrss +an integral value of the amount of unshared memory residing in the +stack segment of a process (expressed in units of +kilobytes * ticks-of-execution). +.It Fa ru_minflt +the number of page faults serviced without any I/O activity; here +I/O activity is avoided by \*(lqreclaiming\*(rq a page frame from +the list of pages awaiting reallocation. +.It Fa ru_majflt +the number of page faults serviced that required I/O activity. +.It Fa ru_nswap +the number of times a process was \*(lqswapped\*(rq out of main +memory. +.It Fa ru_inblock +the number of times the file system had to perform input. +.It Fa ru_oublock +the number of times the file system had to perform output. +.It Fa ru_msgsnd +the number of IPC messages sent. +.It Fa ru_msgrcv +the number of IPC messages received. +.It Fa ru_nsignals +the number of signals delivered. +.It Fa ru_nvcsw +the number of times a context switch resulted due to a process +voluntarily giving up the processor before its time slice was +completed (usually to await availability of a resource). +.It Fa ru_nivcsw +the number of times a context switch resulted due to a higher +priority process becoming runnable or because the current process +exceeded its time slice. +.El +.Sh NOTES +The numbers +.Fa ru_inblock +and +.Fa ru_oublock +account only for real +I/O; data supplied by the caching mechanism is charged only +to the first process to read or write the data. +.Sh ERRORS +.Fn getrusage +returns \-1 on error. +The possible errors are: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa who +parameter is not a valid value. +.It Bq Er EFAULT +The address specified by the +.Fa rusage +parameter is not in a valid part of the process address space. +.El +.Sh SEE ALSO +.Xr gettimeofday 2 , +.Xr wait 2 +.Sh HISTORY +The +.Fn getrusage +function call appeared in +.Bx 4.2 . +.Sh BUGS +There is no way to obtain information about a child process +that has not yet terminated. diff --git a/static/netbsd/man2/getsid.2 b/static/netbsd/man2/getsid.2 new file mode 100644 index 00000000..62b612fb --- /dev/null +++ b/static/netbsd/man2/getsid.2 @@ -0,0 +1,73 @@ +.\" $NetBSD: getsid.2,v 1.11 2011/04/04 08:00:53 jruoho Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getpgrp.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd April 4, 2011 +.Dt GETSID 2 +.Os +.Sh NAME +.Nm getsid +.Nd get session ID +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft pid_t +.Fn getsid "pid_t pid" +.Sh DESCRIPTION +The +.Fn getsid +function returns the session ID of the process specified by +.Ar pid . +If +.Ar pid +is 0, the session ID of the calling process is returned. +The session ID is defined as the process group ID of the +process that is the session leader. +.Sh ERRORS +If an error occurs, +.Fn getsid +returns \-1 and the global variable +.Va errno +is set to indicate the error, as follows: +.Bl -tag -width Er +.It Bq Er ESRCH +No process can be found corresponding to that specified by +.Ar pid . +.El +.Sh SEE ALSO +.Xr getpgid 2 , +.Xr setsid 2 , +.Xr termios 4 +.Sh STANDARDS +The +.Fn getsid +function conforms to +.St -xpg4.2 . diff --git a/static/netbsd/man2/getsockname.2 b/static/netbsd/man2/getsockname.2 new file mode 100644 index 00000000..3a152fdc --- /dev/null +++ b/static/netbsd/man2/getsockname.2 @@ -0,0 +1,151 @@ +.\" $NetBSD: getsockname.2,v 1.26 2016/07/30 11:31:00 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getsockname.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 30, 2016 +.Dt GETSOCKNAME 2 +.Os +.Sh NAME +.Nm getsockname +.Nd get socket name +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn getsockname "int s" "struct sockaddr * restrict name" "socklen_t * restrict namelen" +.Sh DESCRIPTION +.Fn getsockname +returns the locally bound address information for a specified socket. +.Pp +Common uses of this function are as follows: +.Bl -bullet +.It +When +.Xr bind 2 +is called with a port number of 0 (indicating the kernel should pick +an ephemeral port) +.Fn getsockname +is used to retrieve the kernel-assigned port number. +.It +When a process calls +.Xr bind 2 +on a wildcard IP address, +.Fn getsockname +is used to retrieve the local IP address for the connection. +.It +When a function wishes to know the address family of a socket, +.Fn getsockname +can be used. +.El +.Pp +.Fn getsockname +takes three parameters: +.Pp +.Fa s , +Contains the file descriptor for the socket to be looked up. +.Pp +.Fa name +points to a +.Li sockaddr +structure which will hold the resulting address information. +Normal use requires one to use a structure +specific to the protocol family in use, such as +.Li sockaddr_in +(IPv4) or +.Li sockaddr_in6 +(IPv6), cast to a (struct sockaddr *). +.Pp +For greater portability (such as newer protocol families) the new +structure sockaddr_storage exists. +.Li sockaddr_storage +is large enough to hold any of the other sockaddr_* variants. +On return, it should be cast to the correct sockaddr type, +according to the current protocol family. +.Pp +.Fa namelen +indicates the amount of space pointed to by +.Fa name , +in bytes. +Upon return, +.Fa namelen +is set to the actual size of the returned address information. +.Pp +If the address of the destination socket for a given socket connection is +needed, the +.Xr getpeername 2 +function should be used instead. +.Pp +If +.Fa name +does not point to enough space to hold the entire socket address, the +result will be truncated to +.Fa namelen +bytes. +.Sh RETURN VALUES +On success, +.Fn getsockname +returns a 0, and +.Fa namelen +is set to the actual size of the socket address returned in +.Fa name . +Otherwise, +.Va errno +is set, and a value of \-1 is returned. +.Sh ERRORS +The call succeeds unless: +.Bl -tag -width Er +.It Bq Er EBADF +The argument +.Fa s +is not a valid descriptor. +.It Bq Er EFAULT +The +.Fa name +parameter points to memory not in a valid part of the process address space. +.It Bq Er EINVAL +The socket has been shut down. +.It Bq Er ENOBUFS +Insufficient resources were available in the system to perform the operation. +.It Bq Er ENOTCONN +The socket is not connected. +.It Bq Er ENOTSOCK +The argument +.Fa s +is a file, not a socket. +.El +.Sh SEE ALSO +.Xr bind 2 , +.Xr socket 2 +.Sh HISTORY +The +.Fn getsockname +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/getsockopt.2 b/static/netbsd/man2/getsockopt.2 new file mode 100644 index 00000000..be2a324c --- /dev/null +++ b/static/netbsd/man2/getsockopt.2 @@ -0,0 +1,485 @@ +.\" $NetBSD: getsockopt.2,v 1.42 2021/08/08 20:54:48 nia Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 +.\" +.Dd August 7, 2021 +.Dt GETSOCKOPT 2 +.Os +.Sh NAME +.Nm getsockopt , +.Nm setsockopt , +.Nm getsockopt2 +.Nd get and set options on sockets +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn getsockopt "int s" "int level" "int optname" "void * restrict optval" "socklen_t * restrict optlen" +.Ft int +.Fn setsockopt "int s" "int level" "int optname" "const void *optval" "socklen_t optlen" +.Ft int +.Fn getsockopt2 "int s" "int level" "int optname" "void * restrict optval" "socklen_t * restrict optlen" +.Sh DESCRIPTION +.Fn getsockopt , +.Fn setsockopt +and +.Fn getsockopt2 +manipulate the +.Em options +associated with a socket. +.Pp +When manipulating socket options the level at which the +option resides and the name of the option must be specified. +To manipulate options at the socket level, +.Fa level +is specified as +.Dv SOL_SOCKET . +To manipulate options at any +other level the protocol number of the appropriate protocol +controlling the option is supplied. +Options may exist at multiple protocol levels. +For example, to indicate that an option is to be interpreted by the +.Tn TCP +protocol, +.Fa level +should be set to the protocol number of +.Tn TCP ; +see +.Xr getprotoent 3 . +.Pp +The parameters +.Fa optval +and +.Fa optlen +are used to access option values for +.Fn setsockopt . +For +.Fn getsockopt +and +.Fn getsockopt2 +they identify a buffer in which the value for the +requested option(s) are to be returned. +For +.Fn getsockopt2 +they are also used to provide an extra argument to select which +value to return. +For +.Fn getsockopt +and +.Fn getsockopt2 , +.Fa optlen +is a value-result parameter, initially containing the +size of the buffer pointed to by +.Fa optval , +and modified on return to indicate the actual size of +the value returned. +If the size of the requested option value to be stored in +.Fa optval +is greater than the size indicated in +.Fa optlen +then only +.Fa optlen +bytes will be stored in +.Fa optval +and the result will be silently truncated. +If no option value is to be supplied or returned, +.Fa optval +may be +.Dv NULL . +.Pp +.Fa optname +and any specified options are passed uninterpreted to the appropriate +protocol module for interpretation. +The include file +.Ao Pa sys/socket.h Ac +contains definitions for +socket level options, described below. +Options at other protocol levels vary in format and +name; consult the appropriate entries in +section +4 of the manual, including: +.Xr faith 4 , +.Xr icmp6 4 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr ipsec 4 , +.Xr multicast 4 , +.Xr pim 4 , +.Xr route 4 , +.Xr tcp 4 , +and +.Xr unix 4 . +.Pp +Most socket-level options use an +.Fa int +parameter for +.Fa optval . +For +.Fn setsockopt , +the parameter should be non-zero to enable a boolean option, +or zero if the option is to be disabled. +.Dv SO_LINGER +uses a +.Fa struct linger +parameter, defined in +.Ao Pa sys/socket.h Ac , +which specifies the desired state of the option and the +linger interval (see below). +.Dv SO_SNDTIMEO +and +.Dv SO_RCVTIMEO +use a +.Fa struct timeval +parameter, defined in +.Ao Pa sys/time.h Ac . +.Pp +The following options are recognized at the socket level. +Except as noted, each may be examined with +.Fn getsockopt +or +.Fn getsockopt2 +and set with +.Fn setsockopt . +.Bl -column SO_ACCEPTFILTER data -offset indent +.It Dv SO_DEBUG Ta "enables recording of debugging information" +.It Dv SO_REUSEADDR Ta "enables local address reuse" +.It Dv SO_REUSEPORT Ta "enables duplicate address and port bindings" +.It Dv SO_KEEPALIVE Ta "enables keep connections alive" +.It Dv SO_DONTROUTE Ta "enables routing bypass for outgoing messages" +.It Dv SO_LINGER Ta "linger on close if data present" +.It Dv SO_BROADCAST Ta "enables permission to transmit broadcast messages" +.It Dv SO_OOBINLINE Ta "enables reception of out-of-band data in band" +.It Dv SO_SNDBUF Ta "set buffer size for output" +.It Dv SO_RCVBUF Ta "set buffer size for input" +.It Dv SO_SNDLOWAT Ta "set minimum count for output" +.It Dv SO_RCVLOWAT Ta "set minimum count for input" +.It Dv SO_SNDTIMEO Ta "set timeout value for output" +.It Dv SO_RCVTIMEO Ta "set timeout value for input" +.It Dv SO_TIMESTAMP Ta "enables reception of a timestamp with datagrams" +.It Dv SO_ACCEPTFILTER Ta "set accept filter on listening socket" +.It Dv SO_RERROR Ta "enables receive size error reporting" +.It Dv SO_NOSIGPIPE Ta +controls generation of +.Dv SIGPIPE +for the socket +.It Dv SO_TYPE Ta "get the type of the socket (get only)" +.It Dv SO_ERROR Ta "get and clear error on the socket (get only)" +.El +.Pp +.Dv SO_DEBUG +enables debugging in the underlying protocol modules. +.Dv SO_REUSEADDR +indicates that the rules used in validating addresses supplied +in a +.Xr bind 2 +call should allow reuse of local addresses. +.Dv SO_REUSEPORT +allows completely duplicate bindings by multiple processes +if they all set +.Dv SO_REUSEPORT +before binding the port. +This option permits multiple instances of a program to each +receive UDP/IP multicast or broadcast datagrams destined for the bound port. +.Dv SO_KEEPALIVE +enables the +periodic transmission of messages on a connected socket. +Should the connected party fail to respond to these messages, the connection +is considered broken and processes using the socket are notified via a +.Dv SIGPIPE +signal when attempting to send data. +.Dv SO_DONTROUTE +indicates that outgoing messages should +bypass the standard routing facilities. +Instead, messages are directed to the appropriate network interface +according to the network portion of the destination address. +.Dv SO_RERROR +indicates that receive buffer overflows should be handled as errors. +Historically receive buffer overflows have been ignored and programs +could not tell if they missed messages or messages had been truncated +because of overflows. +Since programs historically do not expect to get receive overflow errors, +this behavior is not the default, but the default can be changed by +setting the +.Dv SO_RERROR +flag using +.Xr sysctl 8 +and +.Dv kern.sooptions . +.Pp +.Dv SO_LINGER +controls the action taken when unsent messages +are queued on socket and a +.Xr close 2 +is performed. +If the socket promises reliable delivery of data and +.Dv SO_LINGER +is set, the system will block the process on the +.Xr close 2 +attempt until it is able to transmit the data or until it decides it +is unable to deliver the information (a timeout period, measured in +seconds, termed the linger interval, is specified in the +.Fn setsockopt +call when +.Dv SO_LINGER +is requested). +If +.Dv SO_LINGER +is disabled and a +.Xr close 2 +is issued, the system will process the close in a manner that allows +the process to continue as quickly as possible. +.Pp +The option +.Dv SO_BROADCAST +requests permission to send broadcast datagrams +on the socket. +Broadcast was a privileged operation in earlier versions of the system. +With protocols that support out-of-band data, the +.Dv SO_OOBINLINE +option +requests that out-of-band data be placed in the normal data input queue +as received; it will then be accessible with +.Xr recv 2 +or +.Xr read 2 +calls without the +.Dv MSG_OOB +flag. +Some protocols always behave as if this option is set. +.Dv SO_SNDBUF +and +.Dv SO_RCVBUF +are options to adjust the normal +buffer sizes allocated for output and input buffers, respectively. +The buffer size may be increased for high-volume connections, +or may be decreased to limit the possible backlog of incoming data. +The system places an absolute limit on these values. +.Pp +.Dv SO_SNDLOWAT +is an option to set the minimum count for output operations. +Most output operations process all of the data supplied +by the call, delivering data to the protocol for transmission +and blocking as necessary for flow control. +Nonblocking output operations will process as much data as permitted +subject to flow control without blocking, but will process no data +if flow control does not allow the smaller of the low water mark value +or the entire request to be processed. +A +.Xr select 2 +or +.Xr poll 2 +operation testing the ability to write to a socket will return true +only if the low water mark amount could be processed. +The default value for +.Dv SO_SNDLOWAT +is set to a convenient size for network efficiency, often 1024. +.Dv SO_RCVLOWAT +is an option to set the minimum count for input operations. +In general, receive calls will block until any (non-zero) amount of data +is received, then return with the smaller of the amount available or the amount +requested. +The default value for +.Dv SO_RCVLOWAT +is 1. +If +.Dv SO_RCVLOWAT +is set to a larger value, blocking receive calls normally +wait until they have received the smaller of the low water mark value +or the requested amount. +Receive calls may still return less than the low water mark if an error +occurs, a signal is caught, or the type of data next in the receive queue +is different than that returned. +.Pp +.Dv SO_SNDTIMEO +is an option to set a timeout value for output operations. +It accepts a +.Fa struct timeval +parameter with the number of seconds and microseconds +used to limit waits for output operations to complete. +If a send operation has blocked for this much time, +it returns with a partial count +or with the error +.Er EAGAIN +if no data were sent. +In the current implementation, this timer is restarted each time additional +data are delivered to the protocol, +implying that the limit applies to output portions ranging in size +from the low water mark to the high water mark for output. +.Dv SO_RCVTIMEO +is an option to set a timeout value for input operations. +It accepts a +.Fa struct timeval +parameter with the number of seconds and microseconds +used to limit waits for input operations to complete. +In the current implementation, this timer is restarted each time additional +data are received by the protocol, +and thus the limit is in effect an inactivity timer. +If a receive operation has been blocked for this much time without +receiving additional data, it returns with a short count +or with the error +.Er EAGAIN +if no data were received. +.Pp +If the +.Dv SO_TIMESTAMP +option is enabled on a +.Dv SOCK_DGRAM +socket, the +.Xr recvmsg 2 +call will return a timestamp corresponding to when the datagram was +received. +The msg_control field in the msghdr structure points to a buffer +that contains a cmsghdr structure followed by a struct timeval. +The cmsghdr fields have the following values: +.Bd -literal +cmsg_len = sizeof(struct timeval) +cmsg_level = SOL_SOCKET +cmsg_type = SCM_TIMESTAMP +.Ed +.Pp +.Dv SO_ACCEPTFILTER +places an +.Xr accept_filter 9 +on the socket, which will filter incoming connections on a listening +socket before being presented for +.Xr accept 2 . +The +.Fn setsockopt +system call will fail if the socket already has a filter set, and +.Xr listen 2 +must be called on the socket before trying to install a filter. +The +.Fa optval +argument +should point to a +.Fa struct accept_filter_arg +that will select and configure the +.Xr accept_filter 9 , +defined as follows: +.Bd -literal +struct accept_filter_arg { + char af_name[16]; + char af_arg[256-16]; +}; +.Ed +.Lp +The +.Fa af_name +argument should be filled with the name of the accept filter +that the application wishes to place on the listening socket. +The optional argument +.Fa af_arg +can be passed to the accept filter specified by +.Fa af_name +to provide additional configuration options at attach time. +Passing in an +.Fa optval +of +.Dv NULL +will remove the filter. +.Pp +Finally, +.Dv SO_TYPE +and +.Dv SO_ERROR +are options used only with +.Fn getsockopt +or +.Fn getsockopt2 . +.Dv SO_TYPE +returns the type of the socket, such as +.Dv SOCK_STREAM ; +it is useful for servers that inherit sockets on startup. +.Dv SO_ERROR +returns any pending error on the socket and clears +the error status. +It may be used to check for asynchronous errors on connected +datagram sockets or for other asynchronous errors. +.Sh RETURN VALUES +A 0 is returned if the call succeeds, \-1 if it fails. +.Sh ERRORS +The call succeeds unless: +.Bl -tag -width Er +.It Bq Er EBADF +The argument +.Fa s +is not a valid descriptor. +.It Bq Er EFAULT +The address pointed to by +.Fa optval +is not in a valid part of the process address space. +For +.Fn getsockopt , +this error may also be returned if +.Fa optlen +is not in a valid part of the process address space. +.It Bq Er EINVAL +The socket +.Fa s +was not suitable for installing an +.Xr accept_filter 9 . +.It Bq Er ENOPROTOOPT +The option is unknown at the level indicated. +.It Bq Er ENOTSOCK +The argument +.Fa s +is a file, not a socket. +.El +.Sh SEE ALSO +.Xr ioctl 2 , +.Xr poll 2 , +.Xr select 2 , +.Xr socket 2 , +.Xr getprotoent 3 , +.Xr faith 4 , +.Xr icmp6 4 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr ipsec 4 , +.Xr multicast 4 , +.Xr pim 4 , +.Xr route 4 , +.Xr tcp 4 , +.Xr unix 4 , +.Xr protocols 5 , +.Xr accept_filter 9 +.Sh HISTORY +The +.Fn getsockopt +system call appeared in +.Bx 4.2 . +.Pp +The +.Fn getsockopt2 +system call appeared in +.Nx 9.0 . +.Sh BUGS +Several of the socket options should be handled at lower levels of the system. diff --git a/static/netbsd/man2/gettimeofday.2 b/static/netbsd/man2/gettimeofday.2 new file mode 100644 index 00000000..1977e9e6 --- /dev/null +++ b/static/netbsd/man2/gettimeofday.2 @@ -0,0 +1,163 @@ +.\" $NetBSD: gettimeofday.2,v 1.30 2022/10/16 20:37:03 christos Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)gettimeofday.2 8.2 (Berkeley) 5/26/95 +.\" +.Dd October 16, 2022 +.Dt GETTIMEOFDAY 2 +.Os +.Sh NAME +.Nm gettimeofday , +.Nm settimeofday +.Nd get/set date and time +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/time.h +.Ft int +.Fn gettimeofday "struct timeval * restrict tp" "void * restrict tzp" +.Ft int +.Fn settimeofday "const struct timeval * restrict tp" "const void * restrict tzp" +.Sh DESCRIPTION +.Bf -symbolic +Note: time zone information is no longer provided by this interface. +See +.Xr localtime 3 +for information on how to retrieve it. +.Ef +.Pp +The system's notion of the current UTC time is obtained with the +.Fn gettimeofday +call, and set with the +.Fn settimeofday +call. +The time is expressed in seconds and microseconds +since midnight (0 hour), January 1, 1970. +The resolution of the system clock is hardware dependent, +and the time may be updated continuously or in +.Dq ticks . +.Pp +If +.Fa tp +is NULL, the time will not be returned or set. +Despite being declared +.Fa void * , +the objects pointed to by +.Fa tzp +shall be of type +.Fa struct timezone . +.Pp +The structures pointed to by +.Fa tp +and +.Fa tzp +are defined in +.In sys/time.h . +The first one is described in +.Xr timeval 3 +and the latter legacy structure is defined as: +.Bd -literal -offset indent +struct timezone { + int tz_minuteswest; /* of Greenwich */ + int tz_dsttime; /* type of dst correction to apply */ +}; +.Ed +.Pp +The +.Fa timezone +structure is provided only for source compatibility. +It is ignored by +.Fn settimeofday , +and +.Fn gettimeofday +will always return zeroes. +.Pp +The +.Fn settimeofday +system call is available only for the super-user. +If the calling user is not the super-user, the system call will fail, and the +.Fn settimeofday +function in the standard C library will try to use the +.Xr clockctl 4 +device if present, thus making it possible for non privileged users to +set the system time. +If +.Xr clockctl 4 +is not present or not accessible, then +.Fn settimeofday +returns +.Er EPERM . +.\" XXX uncomment when/if this is put into place! +.\" If the system is running in secure mode (see +.\" .Xr init 8 ), +.\" the time may only be advanced. +.\" This limitation is imposed to prevent a malicious super user +.\" from setting arbitrary time stamps on files. +.\" The system time can still be adjusted backwards using the +.\" .Xr adjtime 2 +.\" system call even when the system is secure. +.Sh RETURN VALUES +A return value 0 indicates that the call succeeded. +A return value \-1 indicates an error occurred, and in this +case an error code is stored into the global variable +.Va errno . +.Sh ERRORS +The following error codes may be set in +.Va errno : +.Bl -tag -width Er +.It Bq Er EFAULT +An argument address referenced invalid memory. +.It Bq Er EINVAL +.Fn settimeofday : +.Ar tp.tv_sec +is outside the range [0..2^36] or +.Ar tp.tv_usec +is outside the range [0..999,999]. +.It Bq Er EPERM +A user other than the super user attempted to set the time, or the specified +time was less than the current time, which was not permitted at the current +security level. +.El +.Sh SEE ALSO +.Xr date 1 , +.Xr adjtime 2 , +.Xr ctime 3 , +.Xr localtime 3 , +.Xr clockctl 4 , +.Xr timed 8 +.Sh HISTORY +The +.Fn gettimeofday +function call appeared in +.Bx 4.2 . +The +.Fa tzp +argument was deprecated in +.Bx 4.4 +(and many other systems). diff --git a/static/netbsd/man2/getuid.2 b/static/netbsd/man2/getuid.2 new file mode 100644 index 00000000..ccccb17c --- /dev/null +++ b/static/netbsd/man2/getuid.2 @@ -0,0 +1,85 @@ +.\" $NetBSD: getuid.2,v 1.18 2019/09/01 19:46:58 sevan Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getuid.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd September 1, 2019 +.Dt GETUID 2 +.Os +.Sh NAME +.Nm getuid , +.Nm geteuid +.Nd get user identification +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft uid_t +.Fn getuid void +.Ft uid_t +.Fn geteuid void +.Sh DESCRIPTION +The +.Fn getuid +function returns the real user ID of the calling process. +The +.Fn geteuid +function +returns the effective user ID of the calling process. +.Pp +The real user ID is that of the user who has invoked the program. +As the effective user ID +gives the process additional permissions during +execution of +.Dq Em set-user-ID +mode processes, +.Fn getuid +is used to determine the real-user-id of the calling process. +.Sh ERRORS +The +.Fn getuid +and +.Fn geteuid +functions are always successful, and no return value is reserved to +indicate an error. +.Sh SEE ALSO +.Xr getgid 2 , +.Xr setreuid 2 +.Sh STANDARDS +The +.Fn geteuid +and +.Fn getuid +functions conform to +.St -p1003.1-90 . +.Sh HISTORY +The +.Fn getuid +function appeared in +.At v1 . diff --git a/static/netbsd/man2/getvfsstat.2 b/static/netbsd/man2/getvfsstat.2 new file mode 100644 index 00000000..c8a1b6d8 --- /dev/null +++ b/static/netbsd/man2/getvfsstat.2 @@ -0,0 +1,120 @@ +.\" $NetBSD: getvfsstat.2,v 1.4 2021/03/27 23:35:37 dholland Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getvfsstat.2 8.3 (Berkeley) 5/25/95 +.\" +.Dd March 27, 2021 +.Dt GETVFSSTAT 2 +.Os +.Sh NAME +.Nm getvfsstat +.Nd get list of all mounted file systems +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/statvfs.h +.Ft int +.Fn getvfsstat "struct statvfs *buf" "size_t bufsize" "int flags" +.Sh DESCRIPTION +.Fn getvfsstat +returns information about all mounted file systems. +.Fa buf +is a pointer to an array of +.Nm statvfs +structures defined in +.Xr statvfs 5 . +.Pp +The buffer is filled with an array of +.Fa statvfs +structures, one for each mounted file system +up to the size specified by +.Fa bufsize . +.Pp +If +.Fa buf +is given as +.Dv NULL , +.Fn getvfsstat +returns just the number of mounted file systems. +.Pp +Normally +.Fa flags +should be specified as +.Dv ST_WAIT . +If +.Fa flags +is set to +.Dv ST_NOWAIT , +.Fn getvfsstat +will return the information it has available without requesting +an update from each file system. +Thus, some of the information will be out of date, but +.Fn getvfsstat +will not block waiting for information from a file system that is +unable to respond. +.Pp +Note that +.Fa bufsize +is the size of the buffer in bytes, not the count of structures that +will fit in it, and the return value is the count of structures, not +the size. +.Sh RETURN VALUES +Upon successful completion, the number of +.Fa statvfs +structures is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn getvfsstat +fails if one or more of the following are true: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa buf +points to an invalid address. +.It Bq Er EIO +An +.Tn I/O +error occurred while reading from or writing to the file system. +.El +.Sh SEE ALSO +.Xr statvfs 2 , +.Xr getmntinfo 3 , +.Xr fstab 5 , +.Xr mount 8 +.Sh HISTORY +The +.Fn getvfsstat +function first appeared in +.Nx 3.0 +to replace +.Fn getfsstat +which appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/i386_get_ldt.2 b/static/netbsd/man2/i386_get_ldt.2 new file mode 100644 index 00000000..58d3fa00 --- /dev/null +++ b/static/netbsd/man2/i386_get_ldt.2 @@ -0,0 +1,97 @@ +.\" Copyright (c) 1980, 1991 Regents of the University of California. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" from: @(#)fork.2 6.5 (Berkeley) 3/10/91 +.\" $NetBSD: i386_get_ldt.2,v 1.14 2017/07/03 21:32:48 wiz Exp $ +.\" +.Dd September 20, 1993 +.Dt I386_GET_LDT 2 i386 +.Os +.Sh NAME +.Nm i386_get_ldt , +.Nm i386_set_ldt +.Nd manage i386 per-process Local Descriptor Table entries +.Sh LIBRARY +.Lb libi386 +.Sh SYNOPSIS +.In sys/types.h +.In machine/segments.h +.In machine/sysarch.h +.Ft int +.Fn i386_get_ldt "int start_sel" "union descriptor *descs" "int num_sels" +.Ft int +.Fn i386_set_ldt "int start_sel" "union descriptor *descs" "int num_sels" +.Sh DESCRIPTION +.Fn i386_get_ldt +will return the list of i386 descriptors that the process has in its +LDT. +.Fn i386_set_ldt +will set a list of i386 descriptors for the current process in its +LDT. +Both routines accept a starting selector number +.Fa start_sel +, an array of memory that +will contain the descriptors to be set or returned +.Fa descs +, and the number of entries to set or return +.Fa num_sels . +.Pp +The argument +.Fa descs +can be either segment_descriptor or gate_descriptor and are defined in +.Fd <i386/segments.h> . +These structures are defined by the architecture +as disjoint bit-fields, so care must be taken in constructing them. +.Sh RETURN VALUES +Upon successful completion, +.Fn i386_get_ldt +returns the number of descriptors currently in the LDT. +.Fn i386_set_ldt +returns the first selector set. +Otherwise, a value of \-1 is returned and the global +variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn i386_get_ldt +and +.Fn i386_set_ldt +will fail if: +.Bl -tag -width [EINVAL] +.It Bq Er EINVAL +An inappropriate parameter was used for +.Fa start_sel +or +.Fa num_sels . +.It Bq Er EACCES +The caller attempted to use a descriptor that would +circumvent protection or cause a failure. +.El +.Sh REFERENCES +i386 Microprocessor Programmer's Reference Manual, Intel +.Sh WARNING +You can really hose your process using this. diff --git a/static/netbsd/man2/i386_get_mtrr.2 b/static/netbsd/man2/i386_get_mtrr.2 new file mode 100644 index 00000000..6f102ec8 --- /dev/null +++ b/static/netbsd/man2/i386_get_mtrr.2 @@ -0,0 +1,168 @@ +.\" $NetBSD: i386_get_mtrr.2,v 1.13 2008/04/30 13:10:50 martin Exp $ +.\" +.\" Copyright (c) 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Gregory McGarry. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 10, 2001 +.Dt I386_GET_MTRR 2 i386 +.Os +.Sh NAME +.Nm i386_get_mtrr , +.Nm i386_set_mtrr +.Nd access Memory Type Range Registers +.Sh LIBRARY +.Lb libi386 +.Sh SYNOPSIS +.In sys/types.h +.In machine/sysarch.h +.In machine/mtrr.h +.Ft int +.Fn i386_get_mtrr "struct mtrr *mtrrp" "int *n" +.Ft int +.Fn i386_set_mtrr "struct mtrr *mtrrp" "int *n" +.Sh DESCRIPTION +These functions provide an interface to the MTRR registers found on +686-class processors for controlling processor access to memory ranges. +This is most useful for accessing devices such as video accelerators on +.Xr pci 4 +and +.Xr agp 4 +buses. +For example, enabling write-combining allows bus-write transfers +to be combined into a larger transfer before bursting over the bus. +This can increase performance of write operations 2.5 times or more. +.Pp +.Fa mtrrp +is a pointer to one or more mtrr structures, as described below. +The +.Fa n +argument is a pointer to an integer containing the number of structures +pointed to by +.Fa mtrrp . +For +.Fn i386_set_mtrr +the integer pointed to by +.Fa n +will be updated to reflect the actual number of MTRRs successfully set. +For +.Fn i386_get_mtrr +no more than +.Fa n +structures will be copied out, and the integer value pointed to by +.Fa n +will be updated to reflect the actual number of valid structures retrieved. +A +.Dv NULL +argument to +.Fa mtrrp +will result in just the number of MTRRs available being returned +in the integer pointed to by +.Fa n . +.Pp +The argument +.Fa mtrrp +has the following structure: +.Bd -literal +struct mtrr { + uint64_t base; + uint64_t len; + uint8_t type; + int flags; + pid_t owner; +}; +.Ed +.Pp +The location of the mapping is described by its physical base address +.Em base +and length +.Em len . +Valid values for +.Em type +are: +.Pp +.Bl -tag -offset indent -width MTRR_TYPE_UNDEF1 -compact +.It MTRR_TYPE_UC +uncached memory +.It MTRR_TYPE_WC +use write-combining +.It MTRR_TYPE_WT +use write-through caching +.It MTRR_TYPE_WP +write-protected memory +.It MTRR_TYPE_WB +use write-back caching +.El +.Pp +Valid values for +.Em flags +are: +.Pp +.Bl -tag -offset indent -width MTRR_PRIVATE -compact +.It MTRR_PRIVATE +own range, reset the MTRR when the current process exits +.It MTRR_FIXED +use fixed range MTRR +.It MTRR_VALID +entry is valid +.El +.Pp +The +.Em owner +member is the PID of the user process which claims the mapping. +It is only valid if MTRR_PRIVATE is set in +.Em flags . +To clear/reset MTRRs, use a +.Em flags +field without MTRR_VALID set. +.Sh RETURN VALUES +Upon successful completion zero is returned, otherwise \-1 is returned +on failure, and the global variable +.Va errno +is set to indicate the error. +The integer value pointed to by +.Fa n +will contain the number of successfully processed mtrr structures +in both cases. +.Sh ERRORS +.Bl -tag -width [EINVAL] +.It Bq Er ENOSYS +The currently running kernel or CPU has no MTRR support. +.It Bq Er EINVAL +The currently running kernel has no MTRR support, or one of the mtrr +structures pointed to by +.Fa mtrrp +is invalid. +.It Bq Er EBUSY +No unused MTRRs are available. +.El +.Sh HISTORY +The +.Fn i386_get_mtrr +and +.Fn i386_set_mtrr +functions appeared in +.Nx 1.6 . diff --git a/static/netbsd/man2/i386_iopl.2 b/static/netbsd/man2/i386_iopl.2 new file mode 100644 index 00000000..56492b8d --- /dev/null +++ b/static/netbsd/man2/i386_iopl.2 @@ -0,0 +1,68 @@ +.\" $NetBSD: i386_iopl.2,v 1.17 2008/04/30 13:10:50 martin Exp $ +.\" +.\" Copyright (c) 1996 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by John T. Kohl and Charles M. Hannum. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 12, 2004 +.Dt I386_IOPL 2 i386 +.Os +.Sh NAME +.Nm i386_iopl +.Nd change the i386 I/O privilege level +.Sh LIBRARY +.Lb libi386 +.Sh SYNOPSIS +.In sys/types.h +.In machine/sysarch.h +.Ft int +.Fn i386_iopl "int iopl" +.Sh DESCRIPTION +.Fn i386_iopl +sets the i386 I/O privilege level to the value specified by +.Ar iopl . +This call is restricted to the super-user. +.Sh RETURN VALUES +Upon successful completion, +.Fn i386_iopl +returns 0. +Otherwise, a value of \-1 is returned and the global +variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn i386_iopl +will fail if: +.Bl -tag -width [EINVAL] +.It Bq Er EPERM +The caller was not the super-user, or the operation was not permitted at the +current security level. +.El +.Sh REFERENCES +i386 Microprocessor Programmer's Reference Manual, Intel +.Sh WARNING +You can really hose your machine if you enable user-level I/O and +write to hardware ports without care. diff --git a/static/netbsd/man2/include.include.withclauses.2 b/static/netbsd/man2/include.include.withclauses.2 new file mode 100644 index 00000000..49c88fe8 --- /dev/null +++ b/static/netbsd/man2/include.include.withclauses.2 @@ -0,0 +1 @@ +include: include.withclauses.* diff --git a/static/netbsd/man2/include.include.withoutclauses.2 b/static/netbsd/man2/include.include.withoutclauses.2 new file mode 100644 index 00000000..3552d769 --- /dev/null +++ b/static/netbsd/man2/include.include.withoutclauses.2 @@ -0,0 +1 @@ +include: include.withoutclauses.* diff --git a/static/netbsd/man2/include.includetop.withclauses.2 b/static/netbsd/man2/include.includetop.withclauses.2 new file mode 100644 index 00000000..5e296548 --- /dev/null +++ b/static/netbsd/man2/include.includetop.withclauses.2 @@ -0,0 +1 @@ +include-toplevel: include.withclauses.* diff --git a/static/netbsd/man2/include.includetop.withoutclauses.2 b/static/netbsd/man2/include.includetop.withoutclauses.2 new file mode 100644 index 00000000..a411f7b5 --- /dev/null +++ b/static/netbsd/man2/include.includetop.withoutclauses.2 @@ -0,0 +1 @@ +include-toplevel: include.withoutclauses.* diff --git a/static/netbsd/man2/include.withclauses.2 b/static/netbsd/man2/include.withclauses.2 new file mode 100644 index 00000000..3537974c --- /dev/null +++ b/static/netbsd/man2/include.withclauses.2 @@ -0,0 +1 @@ +server: identity: "withclauses2" diff --git a/static/netbsd/man2/include.withoutclauses.2 b/static/netbsd/man2/include.withoutclauses.2 new file mode 100644 index 00000000..fec8b200 --- /dev/null +++ b/static/netbsd/man2/include.withoutclauses.2 @@ -0,0 +1 @@ +identity: "withoutclauses2" diff --git a/static/netbsd/man2/include.withsomeclauses.2 b/static/netbsd/man2/include.withsomeclauses.2 new file mode 100644 index 00000000..ec910e1a --- /dev/null +++ b/static/netbsd/man2/include.withsomeclauses.2 @@ -0,0 +1 @@ +identity: "withsomeclauses2" diff --git a/static/netbsd/man2/intro.2 b/static/netbsd/man2/intro.2 new file mode 100644 index 00000000..be3d4680 --- /dev/null +++ b/static/netbsd/man2/intro.2 @@ -0,0 +1,82 @@ +.\" $NetBSD: intro.2,v 1.8 2003/08/07 16:44:28 agc Exp $ +.\" +.\" Copyright (c) 1980, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)intro.2 8.1 (Berkeley) 6/4/93 +.\" +.sh 1 Variables +.pp +Many variables which are used to describe the terminal environment +are available to the programmer. +They are: +.(b +.TS +expand; +lw(6m) lw(8n) lw(50n). +type name description +_ +WINDOW * curscr T{ +.fi +current version of the screen (terminal screen). +T} +WINDOW * stdscr T{ +standard screen. +Most updates are usually done here. +T} +char * Def\*_term T{ +default terminal type if type cannot be determined +T} +bool My\*_term T{ +use the terminal specification in \fIDef\*_term\fR as terminal, +irrelevant of real terminal type +T} +char * ttytype T{ +full name of the current terminal. +T} +int LINES T{ +number of lines on the terminal +T} +int COLS T{ +number of columns on the terminal +T} +int COLORS T{ +number of colors on the terminal +T} +int COLOR_PAIRS T{ +number of color pairs on the terminal +T} +int ERR T{ +error flag returned by routines on a fail. +T} +int OK T{ +flag returned by routines upon success. +T} +.TE +.fi +.)b +.lp diff --git a/static/netbsd/man2/ioctl.2 b/static/netbsd/man2/ioctl.2 new file mode 100644 index 00000000..5c801e12 --- /dev/null +++ b/static/netbsd/man2/ioctl.2 @@ -0,0 +1,220 @@ +.\" $NetBSD: ioctl.2,v 1.23 2010/12/19 22:19:27 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)ioctl.2 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 19, 2010 +.Dt IOCTL 2 +.Os +.Sh NAME +.Nm ioctl +.Nd control device +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/ioctl.h +.Ft int +.Fn ioctl "int d" "unsigned long request" "..." +.Sh DESCRIPTION +The +.Fn ioctl +function manipulates the underlying device parameters of special files. +In particular, many operating +characteristics of character special files (e.g. terminals) +may be controlled with +.Fn ioctl +requests. +The argument +.Fa d +must be an open file descriptor. +.Pp +An +.Fn ioctl +.Fa request +has encoded in it whether the argument is an +.Dq in , +.Dq out , +or +.Dq inout +parameter, and the size of the first variadic argument +in bytes. +Note that there can be only one variadic argument but cannot be represented as +a +.Ft "void *" +argument in the prototype because this would require a cast to pass integral +types without warnings. +Macros and defines used in specifying an +.Fn ioctl +.Fa request +are located in the header +.In sys/ioctl.h . +.Sh GENERIC IOCTLS +Some ioctls are applicable to any file descriptor. +These include: +.Bl -tag -width "xxxxxx" +.It Dv FIOCLEX +Set close-on-exec flag. +The file will be closed when +.Xr exec 3 +is invoked +(This is equivalent to +.Fn fcntl +.Dv F_SETFD +.Dv FD_CLOEXEC +and the +.Fn fcntl +form should be preferred). +.It Dv FIONCLEX +Clear close-on-exec flag. +The file will remain open across +.Xr exec 3 +(This is equivalent to +.Fn fcntl +.Dv F_SETFD +.Dv 0 +and the +.Fn fcntl +form should be preferred). +.El +.Pp +Some generic ioctls are not implemented for all types of file +descriptors. +These include: +.Bl -tag -width "xxxxxx" +.It Dv FIONREAD "int" +Get the number of bytes that are immediately available for reading. +.It Dv FIONWRITE "int" +Get the number of bytes in the descriptor's send queue. +These bytes are data which has been written to the descriptor but +which are being held by the kernel for further processing. +The nature of the required processing depends on the underlying device. +For tty devices, these bytes are typically queued for delivery +to the tty hardware. +For TCP sockets, these bytes have not yet been acknowledged by the +other side of the connection. +For files, this operation always returns zero as files do not have +send queues. +.It Dv FIONSPACE "int" +Get the free space in the descriptor's send queue. +This value is the size of the send queue minus the number of bytes +being held in the queue. +Note: while this value represents the number of bytes that may be +added to the queue, other resource limitations may cause a write +not larger than the send queue's space to be blocked. +One such limitation would be a lack of network buffers for a write +to a network connection. +.It Dv FIONBIO "int" +Set non-blocking I/O mode if the argument is non-zero. +In non-blocking mode, +.Xr read 2 +or +.Xr write 2 +calls return +.Dv \-1 +and set +.Va errno +to +.Er EAGAIN +immediately when no data is available +(This is equivalent to +.Fn fcntl +.Dv F_SETFL +.Dv O_NONBLOCK +and the +.Fn fcntl +form should be preferred). +.It Dv FIOASYNC "int" +Set asynchronous I/O mode if the argument is non-zero +(This is equivalent to +.Fn fcntl +.Dv F_SETFL +.Dv O_ASYNC +and the +.Fn fcntl +form should be preferred). +In asynchronous mode, the process or process group specified by +.Dv FIOSETOWN +will start receiving +.Dv SIGIO +signals when data is available. +The +.Dv SIGIO +signal will be delivered when data is available on the file +descriptor. +.It Dv FIOSETOWN, FIOGETOWN "int" +Set/get the process or the process group (if negative) that should receive +.Dv SIGIO +signals when data is available +(This is equivalent to +.Fn fcntl +.Dv F_SETOWN +.Ft pid_t +and the +.Ft fcntl +form should be preferred). +.El +.Sh RETURN VALUES +If an error has occurred, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn ioctl +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa d +is not a valid descriptor. +.It Bq Er EFAULT +.Fa argp +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa request +or +.Fa argp +is not valid. +.It Bq Er ENOTTY +.Fa d +is not associated with a character +special device; or +the specified request does not apply to the kind +of object that the descriptor +.Fa d +references. +.El +.Sh SEE ALSO +.Xr mt 1 , +.Xr execve 2 , +.Xr fcntl 2 , +.Xr intro 4 , +.Xr tty 4 +.Sh HISTORY +An +.Fn ioctl +function call appeared in +.At v7 . diff --git a/static/netbsd/man2/ipv6.2 b/static/netbsd/man2/ipv6.2 new file mode 100644 index 00000000..8cc2d175 --- /dev/null +++ b/static/netbsd/man2/ipv6.2 @@ -0,0 +1,26 @@ +[out,de0] +6000 0000 0020 3aff ef00 0000 0000 0000 +0000 0000 0001 0013 ff02 0000 0000 0000 +0000 0001 ff01 000b 8700 ea32 0000 0000 +ef00 0000 0000 0000 0000 0000 0001 000b +0101 0048 5487 5c6f + +[in,de0] +6000 0000 0020 3aff ef00 0000 0000 0000 +0000 0000 0001 000b ef00 0000 0000 0000 +0000 0000 0001 0013 8800 5322 6000 0000 +ef00 0000 0000 0000 0000 0000 0001 000b +0201 0800 2071 cce1 + +[out,de0] +6000 0000 0010 3a40 ef00 0000 0000 0000 +0000 0000 0001 0013 ef00 0000 0000 0000 +0000 0000 0001 000b 8000 3210 06ff 0002 +9ec3 3c3c 8a82 0300 + +[in,de0] +6000 0000 0010 3aff ef00 0000 0000 0000 +0000 0000 0001 000b ef00 0000 0000 0000 +0000 0000 0001 0013 8100 3110 06ff 0002 +9ec3 3c3c 8a82 0300 + diff --git a/static/netbsd/man2/issetugid.2 b/static/netbsd/man2/issetugid.2 new file mode 100644 index 00000000..4857d223 --- /dev/null +++ b/static/netbsd/man2/issetugid.2 @@ -0,0 +1,101 @@ +.\" $NetBSD: issetugid.2,v 1.12 2012/04/21 12:27:27 roy Exp $ +.\" OpenBSD: issetugid.2,v 1.7 1997/02/18 00:16:09 deraadt Exp +.\" FreeBSD: src/lib/libc/sys/issetugid.2,v 1.5.2.2 1999/09/18 16:18:59 phantom Exp +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" FreeBSD: src/lib/libc/sys/issetugid.2,v 1.5.2.2 1999/09/18 16:18:59 phantom Exp +.\" +.Dd April 5, 2012 +.Dt ISSETUGID 2 +.Os +.Sh NAME +.Nm issetugid +.Nd is current process tainted by uid or gid changes +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn issetugid void +.Sh DESCRIPTION +The +.Fn issetugid +function returns 1 if the process environment or memory address space +is considered +.Dq tainted , +and returns 0 otherwise. +.Pp +A process is tainted if it was created as a result of an +.Xr execve 2 +system call which had either of the setuid or setgid bits set (and extra +privileges were given as a result) or if it has changed any of its real, +effective or saved user or group ID's since it began execution. +.Pp +This system call exists so that library routines (e.g., libc) +can reliably determine if it is safe to use information +that was obtained from the user, in particular the results from +.Xr getenv 3 +should be viewed with suspicion if it is used to control operation. +.Pp +A +.Dq tainted +status is inherited by child processes as a result of the +.Xr fork 2 +system call (or other library code that calls fork, such as +.Xr popen 3 ) . +.Pp +It is assumed that a program that clears all privileges as it prepares +to execute another will also reset the environment, hence the +.Dq tainted +status will not be passed on. +This is important for programs such as +.Xr su 1 +which begin setuid but need to be able to create an untainted process. +.Sh ERRORS +The +.Fn issetugid +function is always successful, and no return value is reserved to +indicate an error. +.Sh SEE ALSO +.Xr execve 2 , +.Xr fork 2 , +.Xr setegid 2 , +.Xr seteuid 2 , +.Xr setgid 2 , +.Xr setregid 2 , +.Xr setreuid 2 , +.Xr setuid 2 +.Sh HISTORY +A +.Fn issetugid +function call first appeared in +.Ox 2.0 +and was also implemented in +.Fx 3.0 . +.Fx +implementation was imported in +.Nx 1.5 . diff --git a/static/netbsd/man2/kill.2 b/static/netbsd/man2/kill.2 new file mode 100644 index 00000000..3730ac49 --- /dev/null +++ b/static/netbsd/man2/kill.2 @@ -0,0 +1,140 @@ +.\" $NetBSD: kill.2,v 1.24 2021/02/08 01:00:49 nia Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)kill.2 8.3 (Berkeley) 4/19/94 +.\" +.Dd February 8, 2021 +.Dt KILL 2 +.Os +.Sh NAME +.Nm kill +.Nd send signal to a process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn kill "pid_t pid" "int sig" +.Sh DESCRIPTION +The +.Fn kill +function sends the signal given by +.Fa sig +to +.Fa pid , +a +process or a group of processes. +.Fa sig +may be one of the signals specified in +.Xr sigaction 2 +or it may be 0, in which case +error checking is performed but no +signal is actually sent. +This can be used to check the validity of +.Fa pid . +.Pp +For a process to have permission to send a signal to a process designated +by +.Fa pid , +the real or effective user ID of the receiving process must match +that of the sending process or the user must have appropriate privileges +(such as given by a set-user-ID program or the user is the super-user). +A single exception is the signal SIGCONT, which may always be sent +to any descendant of the current process. +.Bl -tag -width Ds +.It \&If Fa pid No \&is greater than zero : +.Fa sig +is sent to the process whose ID is equal to +.Fa pid . +.It \&If Fa pid No \&is zero : +.Fa sig +is sent to all processes whose process group ID is equal +to the process group ID of the sender, and for which the +process has permission; +this is a variant of +.Xr killpg 3 . +.It \&If Fa pid No \&is \-1 : +If the user has super-user privileges, +the signal is sent to all processes excluding +system processes and the process sending the signal. +If the user is not the super user, the signal is sent to all processes +with the same uid as the user excluding the process sending the signal. +No error is returned if any process could be signaled, otherwise +.Er ESRCH +is returned. +.El +.Pp +For compatibility with System V, +if the process number is negative but not \-1, +the signal is sent to all processes whose process group ID +is equal to the absolute value of the process number. +This is a variant of +.Xr killpg 3 . +.Pp +If +.Fa sig +is equal to +.Dv 0 , +then no signal is sent to the process ID or process group ID, but error +checking is performed. +This can be used to check if the process ID or process group ID exist. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn kill +will fail and no signal will be sent if: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa sig +is not a valid signal number. +.It Bq Er EPERM +The sending process is not the super-user and its effective +user id does not match the effective user-id of the receiving process. +When signaling a process group, this error is returned if any members +of the group could not be signaled. +.It Bq Er ESRCH +No process can be found corresponding to that specified by +.Fa pid ; +or the process id was given as 0 +but the sending process does not have a process group. +.El +.Sh SEE ALSO +.Xr getpgrp 2 , +.Xr getpid 2 , +.Xr sigaction 2 , +.Xr killpg 3 , +.Xr signal 7 +.Sh STANDARDS +The +.Fn kill +function is expected to conform to +.St -p1003.1-90 . diff --git a/static/netbsd/man2/kqueue.2 b/static/netbsd/man2/kqueue.2 new file mode 100644 index 00000000..dbda5980 --- /dev/null +++ b/static/netbsd/man2/kqueue.2 @@ -0,0 +1,900 @@ +.\" $NetBSD: kqueue.2,v 1.60 2023/07/28 23:41:16 wiz Exp $ +.\" +.\" Copyright (c) 2000 Jonathan Lemon +.\" All rights reserved. +.\" +.\" Copyright (c) 2001, 2002, 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" Portions of this documentation is derived from text contributed by +.\" Luke Mewburn. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.22 2001/06/27 19:55:57 dd Exp $ +.\" +.Dd June 19, 2023 +.Dt KQUEUE 2 +.Os +.Sh NAME +.Nm kqueue , +.Nm kqueue1 , +.Nm kevent , +.Nm EV_SET +.Nd kernel event notification mechanism +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/event.h +.In sys/time.h +.Ft int +.Fn kqueue "void" +.Ft int +.Fn kqueue1 "int flags" +.Ft int +.Fn kevent "int kq" "const struct kevent *changelist" "size_t nchanges" "struct kevent *eventlist" "size_t nevents" "const struct timespec *timeout" +.Fn EV_SET "&kev" ident filter flags fflags data udata +.Sh DESCRIPTION +The +.Fn kqueue +system call +provides a generic method of notifying the user when an event +happens or a condition holds, based on the results of small +pieces of kernel code termed filters. +A kevent is identified by the (ident, filter) pair; there may only +be one unique kevent per kqueue. +.Pp +The filter is executed upon the initial registration of a kevent +in order to detect whether a preexisting condition is present, and is also +executed whenever an event is passed to the filter for evaluation. +If the filter determines that the condition should be reported, +then the kevent is placed on the kqueue for the user to retrieve. +.Pp +The filter is also run when the user attempts to retrieve the kevent +from the kqueue. +If the filter indicates that the condition that triggered +the event no longer holds, the kevent is removed from the kqueue and +is not returned. +.Pp +Multiple events which trigger the filter do not result in multiple +kevents being placed on the kqueue; instead, the filter will aggregate +the events into a single struct kevent. +Calling +.Xr close 2 +on a file descriptor will remove any kevents that reference the descriptor. +.Pp +The +.Fn kqueue +system call +creates a new kernel event queue and returns a descriptor. +.Pp +The +.Fn kqueue1 +system call also allows to set the following +.Fa flags +on the returned file descriptor: +.Bl -column O_NONBLOCK -offset indent +.It Dv O_CLOEXEC +Set the close on exec property. +.It Dv O_NONBLOCK +Set non-blocking I/O. +.It Dv O_NOSIGPIPE +Return +.Er EPIPE +instead of raising +.Dv SIGPIPE . +.El +.Pp +The queue is not inherited by a child created with +.Xr fork 2 . +.\" However, if +.\" .Xr rfork 2 +.\" is called without the +.\" .Dv RFFDG +.\" flag, then the descriptor table is shared, +.\" which will allow sharing of the kqueue between two processes. +.Pp +The +.Fn kevent +system call +is used to register events with the queue, and return any pending +events to the user. +The +.Fa changelist +argument +is a pointer to an array of +.Va kevent +structures, as defined in +.In sys/event.h . +All changes contained in the +.Fa changelist +are applied before any pending events are read from the queue. +The +.Fa nchanges +argument +gives the size of +.Fa changelist . +The +.Fa eventlist +argument +is a pointer to an array of kevent structures. +The +.Fa nevents +argument +determines the size of +.Fa eventlist . +When +.Fa nevents +is zero, +.Fn kevent +will return immediately even if there is a +.Fa timeout +specified unlike +.Xr select 2 . +If +.Fa timeout +is a +.No non- Ns Dv NULL +pointer, it specifies a maximum interval to wait +for an event, which will be interpreted as a +.Li struct timespec . +If +.Fa timeout +is a +.Dv NULL +pointer, +.Fn kevent +waits indefinitely. +To effect a poll, the +.Fa timeout +argument should be +.No non- Ns Dv NULL , +pointing to a zero-valued +.Xr timespec 3 +structure. +The same array may be used for the +.Fa changelist +and +.Fa eventlist . +.Pp +The +.Fn EV_SET +macro is provided for ease of initializing a kevent structure. +This macro does not evaluate its parameters multiple times. +.Pp +The +.Va kevent +structure is defined as: +.Bd -literal +struct kevent { + uintptr_t ident; /* identifier for this event */ + uint32_t filter; /* filter for event */ + uint32_t flags; /* action flags for kqueue */ + uint32_t fflags; /* filter flag value */ + int64_t data; /* filter data value */ + void *udata; /* opaque user data identifier */ + uint64_t ext[4]; /* extensions */ +}; +.Ed +.Pp +The fields of +.Fa struct kevent +are: +.Bl -tag -width "Fa filter" -offset indent +.It ident +Value used to identify this event. +The exact interpretation is determined by the attached filter, +but often is a file descriptor. +.It Fa filter +Identifies the kernel filter used to process this event. +There are pre-defined system filters (which are described below), and +other filters may be added by kernel subsystems as necessary. +.It Fa flags +Actions to perform on the event. +.It Fa fflags +Filter-specific flags. +.It Fa data +Filter-specific data value. +.It Fa udata +Opaque user-defined value passed through the kernel unchanged. +.It Fa ext +Extended data passed to and from kernel. +The +.Fa ext[0] +and +.Fa ext[1] +members use is defined by the filter. +If the filter does not use them, the members are copied unchanged. +The +.Fa ext[2] +and +.Fa ext[3] +members are always passed through the kernel as-is, +making additional context available to application. +.El +.Pp +The +.Va flags +field can contain the following values: +.Bl -tag -width XXXEV_ONESHOT -offset indent +.It Dv EV_ADD +Adds the event to the kqueue. +Re-adding an existing event will modify the parameters of the original +event, and not result in a duplicate entry. +Adding an event automatically enables it, +unless overridden by the EV_DISABLE flag. +.It Dv EV_ENABLE +Permit +.Fn kevent +to return the event if it is triggered. +.It Dv EV_DISABLE +Disable the event so +.Fn kevent +will not return it. +The filter itself is not disabled. +.It Dv EV_DISPATCH +Disable the event source immediately after delivery of an event. +See +.Dv EV_DISABLE +above. +.It Dv EV_DELETE +Removes the event from the kqueue. +Events which are attached to file descriptors are automatically deleted +on the last close of the descriptor. +.It Dv EV_RECEIPT +This flag is useful for making bulk changes to a kqueue without draining +any pending events. +When passed as input, it forces +.Dv EV_ERROR +to always be returned. +When a filter is successfully added the +.Va data +field will be zero. +Note that if this flag is encountered and there is no remaining space in +.Fa eventlist +to hold the +.Dv EV_ERROR +event, then subsequent changes will not get processed. +.It Dv EV_ONESHOT +Causes the event to return only the first occurrence of the filter +being triggered. +After the user retrieves the event from the kqueue, it is deleted. +.It Dv EV_CLEAR +After the event is retrieved by the user, its state is reset. +This is useful for filters which report state transitions +instead of the current state. +Note that some filters may automatically set this flag internally. +.It Dv EV_EOF +Filters may set this flag to indicate filter-specific EOF condition. +.It Dv EV_ERROR +See +.Sx RETURN VALUES +below. +.El +.Ss Filters +Filters are identified by a number. +There are two types of filters; pre-defined filters which +are described below, and third-party filters that may be added with +.Xr kfilter_register 9 +by kernel sub-systems, third-party device drivers, or loadable +kernel modules. +.Pp +As a third-party filter is referenced by a well-known name instead +of a statically assigned number, two +.Xr ioctl 2 Ns s +are supported on the file descriptor returned by +.Fn kqueue +to map a filter name to a filter number, and vice-versa (passing +arguments in a structure described below): +.Bl -tag -width KFILTER_BYFILTER -offset indent +.It Dv KFILTER_BYFILTER +Map +.Va filter +to +.Va name , +which is of size +.Va len . +.It Dv KFILTER_BYNAME +Map +.Va name +to +.Va filter . +.Va len +is ignored. +.El +.Pp +The following structure is used to pass arguments in and out of the +.Xr ioctl 2 : +.Bd -literal -offset indent +struct kfilter_mapping { + char *name; /* name to lookup or return */ + size_t len; /* length of name */ + uint32_t filter; /* filter to lookup or return */ +}; +.Ed +.Pp +The predefined system filters are listed below. +Arguments may be passed to and from the filter via the +.Va fflags +and +.Va data +fields in the kevent structure. +.Pp +The predefined system filters are: +.Bl -tag -width EVFILT_SIGNAL +.It Dv EVFILT_READ +Takes a descriptor as the identifier, and returns whenever +there is data available to read. +The behavior of the filter is slightly different depending +on the descriptor type. +.Bl -tag -width 2n +.It Sockets +Sockets which have previously been passed to +.Xr listen 2 +return when there is an incoming connection pending. +.Va data +contains the size of the listen backlog (i.e., the number of +connections ready to be accepted with +.Xr accept 2 . ) +.Pp +Other socket descriptors return when there is data to be read, +subject to the +.Dv SO_RCVLOWAT +value of the socket buffer. +This may be overridden with a per-filter low water mark at the +time the filter is added by setting the +NOTE_LOWAT +flag in +.Va fflags , +and specifying the new low water mark in +.Va data . +On return, +.Va data +contains the number of bytes in the socket buffer. +.Pp +If the read direction of the socket has shutdown, then the filter +also sets EV_EOF in +.Va flags , +and returns the socket error (if any) in +.Va fflags . +It is possible for EOF to be returned (indicating the connection is gone) +while there is still data pending in the socket buffer. +.It Vnodes +Returns when the file pointer is not at the end of file. +.Va data +contains the offset from current position to end of file, +and may be negative. +.\" .Pp +.\" This behavior is different from +.\" .Xr poll 2 , +.\" where read events are triggered for regular files unconditionally. +.\" This event can be triggered unconditionally by setting the +.\" .Dv NOTE_FILE_POLL +.\" flag in +.\" .Va fflags . +.It "Fifos, Pipes" +Returns when there is data to read; +.Va data +contains the number of bytes available. +.Pp +When the last writer disconnects, the filter will set EV_EOF in +.Va flags . +This may be cleared by passing in EV_CLEAR, at which point the +filter will resume waiting for data to become available before +returning. +.It "BPF devices" +Returns when the BPF buffer is full, the BPF timeout has expired, or +when the BPF has +.Dq immediate mode +enabled and there is any data to read; +.Va data +contains the number of bytes available. +.El +.It Dv EVFILT_WRITE +Takes a descriptor as the identifier, and returns whenever +it is possible to write to the descriptor. +For sockets, pipes, fifos, and ttys, +.Va data +will contain the amount of space remaining in the write buffer. +The filter will set EV_EOF when the reader disconnects, and for +the fifo case, this may be cleared by use of EV_CLEAR. +Note that this filter is not supported for vnodes. +.Pp +For sockets, the low water mark and socket error handling is +identical to the EVFILT_READ case. +.It Dv EVFILT_EMPTY +Takes a descriptor as the identifier, and returns whenever +there is no remaining data in the write buffer. +This is currently implemented only for sockets. +It's primary purpose is to provide visibility to an application that all +previously written data has been acknowledged by the receiver at the TCP +layer. +.It Dv EVFILT_AIO +This is not implemented in +.Nx . +.ig +The sigevent portion of the AIO request is filled in, with +.Va sigev_notify_kqueue +containing the descriptor of the kqueue that the event should +be attached to, +.Va sigev_value +containing the udata value, and +.Va sigev_notify +set to SIGEV_EVENT. +When the aio_* function is called, the event will be registered +with the specified kqueue, and the +.Va ident +argument set to the +.Fa struct aiocb +returned by the aio_* function. +The filter returns under the same conditions as aio_error. +.Pp +Alternatively, a kevent structure may be initialized, with +.Va ident +containing the descriptor of the kqueue, and the +address of the kevent structure placed in the +.Va aio_lio_opcode +field of the AIO request. +However, this approach will not work on +architectures with 64-bit pointers, and should be considered deprecated. +.. +.It Dv EVFILT_VNODE +Takes a file descriptor as the identifier and the events to watch for in +.Va fflags , +and returns when one or more of the requested events occurs on the descriptor. +The events to monitor are: +.Bl -tag -width NOTE_CLOSE_WRITE +.It Dv NOTE_ATTRIB +The file referenced by the descriptor had its attributes changed. +.It Dv NOTE_CLOSE +A file descriptor without write access referencing the file was closed. +.It Dv NOTE_CLOSE_WRITE +A file descriptor with write access referencing the file was closed. +.It Dv NOTE_DELETE +.Xr unlink 2 +was called on the file referenced by the descriptor. +.It Dv NOTE_EXTEND +The file referenced by the descriptor was extended. +.It Dv NOTE_LINK +The link count on the file changed. +.It Dv NOTE_OPEN +The file referenced by the descriptor was opened. +.It Dv NOTE_READ +A read occurred on the file referenced by the descriptor. +.It Dv NOTE_RENAME +The file referenced by the descriptor was renamed. +.It Dv NOTE_REVOKE +Access to the file was revoked via +.Xr revoke 2 +or the underlying file system was unmounted. +.It Dv NOTE_WRITE +A write occurred on the file referenced by the descriptor. +.El +.Pp +On return, +.Va fflags +contains the events which triggered the filter. +.It Dv EVFILT_PROC +Takes the process ID to monitor as the identifier and the events to watch for +in +.Va fflags , +and returns when the process performs one or more of the requested events. +If a process can normally see another process, it can attach an event to it. +The events to monitor are: +.Bl -tag -width XXNOTE_TRACKERR +.It Dv NOTE_EXIT +The process has exited. +The exit code of the process is stored in +.Va data . +.It Dv NOTE_FORK +The process has called +.Xr fork 2 . +.It Dv NOTE_EXEC +The process has executed a new process via +.Xr execve 2 +or similar call. +.It Dv NOTE_TRACK +Follow a process across +.Xr fork 2 +calls. +The parent process will return with NOTE_TRACK set in the +.Va fflags +field, while the child process will return with NOTE_CHILD set in +.Va fflags +and the parent PID in +.Va data . +.It Dv NOTE_TRACKERR +This flag is returned if the system was unable to attach an event to +the child process, usually due to resource limitations. +.El +.Pp +On return, +.Va fflags +contains the events which triggered the filter. +.It Dv EVFILT_SIGNAL +Takes the signal number to monitor as the identifier and returns +when the given signal is delivered to the current process. +This coexists with the +.Xr signal 3 +and +.Xr sigaction 2 +facilities, and has a lower precedence. +The filter will record +all attempts to deliver a signal to a process, even if the signal has +been marked as SIG_IGN. +Event notification happens after normal signal delivery processing. +.Va data +returns the number of times the signal has occurred since the last call to +.Fn kevent . +This filter automatically sets the EV_CLEAR flag internally. +.It Dv EVFILT_TIMER +Establishes an arbitrary timer identified by +.Va ident . +When adding a timer, +.Va data +specifies the timeout period in units described below, or, if +.Dv NOTE_ABSTIME +is set in +.Va fflags , +specifies the absolute time at which the timer should fire. +The timer will repeat unless +.Dv EV_ONESHOT +is set in +.Va flags +or +.Dv NOTE_ABSTIME +is set in +.Va fflags . +On return, +.Va data +contains the number of times the timeout has expired since the last call to +.Fn kevent . +This filter automatically sets +.Dv EV_CLEAR +in +.Va flags +for periodic timers. +Timers created with +.Dv NOTE_ABSTIME +remain activated on the kqueue once the absolute time has passed unless +.Dv EV_CLEAR +or +.Dv EV_ONESHOT +are also specified. +.Dv CLOCK_REALTIME +is the reference clock for timers created with +.Dv NOTE_ABSTIME . +.Pp +The filter accepts the following flags in the +.Va fflags +argument: +.Bl -tag -width XXNOTE_TRACKERR +.It Dv NOTE_SECONDS +The timer value in +.Va data +is expressed in seconds. +.It Dv NOTE_MSECONDS +The timer value in +.Va data +is expressed in milliseconds. +.It Dv NOTE_USECONDS +The timer value in +.Va data +is expressed in microseconds. +.It Dv NOTE_NSECONDS +The timer value in +.Va data +is expressed in nanoseconds. +.It Dv NOTE_ABSTIME +The timer value is an absolute time; see discussion above. +.El +.Pp +Note that +.Dv NOTE_SECONDS , +.Dv NOTE_MSECONDS , +.Dv NOTE_USECONDS , +and +.Dv NOTE_NSECONDS +are mutually exclusive; behavior is undefined if more than one are specified. +If a timer value unit is not specified, the default is +.Dv NOTE_MSECONDS . +.It Dv EVFILT_FS +Establishes a file system monitor. +Currently it only monitors file system mount and unmount actions. +.It Dv EVFILT_USER +Establishes a user event identified by +.Va ident +which is not associated with any kernel mechanism but is triggered by +user level code. +The lower 24 bits of the +.Va fflags +may be used for user defined flags and manipulated using the following: +.Bl -tag -width "Dv NOTE_FFLAGSMASK" +.It Dv NOTE_FFNOP +Ignore the input +.Va fflags . +.It Dv NOTE_FFAND +Bitwise AND +.Va fflags . +.It Dv NOTE_FFOR +Bitwise OR +.Va fflags . +.It Dv NOTE_FFCOPY +Copy +.Va fflags . +.It Dv NOTE_FFCTRLMASK +Control mask for +.Va fflags . +.It Dv NOTE_FFLAGSMASK +User defined flag mask for +.Va fflags . +.El +.Pp +A user event is triggered for output with the following: +.Bl -tag -width "Dv NOTE_FFLAGSMASK" +.It Dv NOTE_TRIGGER +Cause the event to be triggered. +.El +.Pp +On return, +.Va fflags +contains the users defined flags in the lower 24 bits. +.El +.Sh CANCELLATION BEHAVIOUR +If +.Fa nevents +is non-zero, i.e., the function is potentially blocking, the call +is a cancellation point. +Otherwise, i.e., if +.Fa nevents +is zero, the call is not cancellable. +Cancellation can only occur before any changes are made to the kqueue, +or when the call was blocked and no changes to the queue were requested. +.Sh RETURN VALUES +The +.Fn kqueue +system call +creates a new kernel event queue and returns a file descriptor. +If there was an error creating the kernel event queue, a value of \-1 is +returned and +.Dv errno +is set. +.Pp +The +.Fn kevent +system call +returns the number of events placed in the +.Fa eventlist , +up to the value given by +.Fa nevents . +If an error occurs while processing an element of the +.Fa changelist +and there is enough room in the +.Fa eventlist , +then the event will be placed in the +.Fa eventlist +with +.Dv EV_ERROR +set in +.Va flags +and the system error in +.Va data . +Otherwise, +.Dv \-1 +will be returned, and +.Dv errno +will be set to indicate the error condition. +If the time limit expires, then +.Fn kevent +returns 0. +.Sh EXAMPLES +The following example program monitors a file (provided to it as the first +argument) and prints information about some common events it receives +notifications for: +.Bd -literal -offset indent +#include <sys/types.h> +#include <sys/event.h> +#include <sys/time.h> +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <fcntl.h> +#include <err.h> + +int +main(int argc, char *argv[]) +{ + int fd, kq, nev; + struct kevent ev; + static const struct timespec tout = { 1, 0 }; + + if ((fd = open(argv[1], O_RDONLY)) == -1) + err(1, "Cannot open `%s'", argv[1]); + + if ((kq = kqueue()) == -1) + err(1, "Cannot create kqueue"); + + EV_SET(&ev, fd, EVFILT_VNODE, EV_ADD | EV_ENABLE | EV_CLEAR, + NOTE_DELETE|NOTE_WRITE|NOTE_EXTEND|NOTE_ATTRIB|NOTE_LINK| + NOTE_RENAME|NOTE_REVOKE, 0, 0); + if (kevent(kq, &ev, 1, NULL, 0, &tout) == -1) + err(1, "kevent"); + for (;;) { + nev = kevent(kq, NULL, 0, &ev, 1, &tout); + if (nev == -1) + err(1, "kevent"); + if (nev == 0) + continue; + if (ev.fflags & NOTE_DELETE) { + printf("deleted "); + ev.fflags &= ~NOTE_DELETE; + } + if (ev.fflags & NOTE_WRITE) { + printf("written "); + ev.fflags &= ~NOTE_WRITE; + } + if (ev.fflags & NOTE_EXTEND) { + printf("extended "); + ev.fflags &= ~NOTE_EXTEND; + } + if (ev.fflags & NOTE_ATTRIB) { + printf("chmod/chown/utimes "); + ev.fflags &= ~NOTE_ATTRIB; + } + if (ev.fflags & NOTE_LINK) { + printf("hardlinked "); + ev.fflags &= ~NOTE_LINK; + } + if (ev.fflags & NOTE_RENAME) { + printf("renamed "); + ev.fflags &= ~NOTE_RENAME; + } + if (ev.fflags & NOTE_REVOKE) { + printf("revoked "); + ev.fflags &= ~NOTE_REVOKE; + } + printf("\\n"); + if (ev.fflags) + warnx("unknown event 0x%x\\n", ev.fflags); + } +} +.Ed +.Sh ERRORS +The +.Fn kqueue +function fails if: +.Bl -tag -width Er +.It Bq Er EMFILE +The per-process descriptor table is full. +.It Bq Er ENFILE +The system file table is full. +.It Bq Er ENOMEM +The kernel failed to allocate enough memory for the kernel queue. +.El +.Pp +The +.Fn kevent +function fails if: +.Bl -tag -width Er +.It Bq Er EACCES +The process does not have permission to register a filter. +.It Bq Er EBADF +The specified descriptor is invalid. +.It Bq Er EFAULT +There was an error reading or writing the +.Va kevent +structure. +.It Bq Er EINTR +A signal was delivered before the timeout expired and before any +events were placed on the kqueue for return. +All changes contained in the +.Fa changelist +are applied before returning this error. +.It Bq Er EINVAL +The specified time limit or filter is invalid. +.It Bq Er ENOENT +The event could not be found to be modified or deleted. +.It Bq Er ENOMEM +No memory was available to register the event. +.It Bq Er EOPNOTSUPP +This type of file descriptor is not supported for +.Fn kevent +operations. +.It Bq Er ESRCH +The specified process to attach to does not exist. +.El +.Sh SEE ALSO +.\" .Xr aio_error 2 , +.\" .Xr aio_read 2 , +.\" .Xr aio_return 2 , +.Xr fork 2 , +.Xr ioctl 2 , +.Xr listen 2 , +.Xr poll 2 , +.Xr read 2 , +.Xr select 2 , +.Xr sigaction 2 , +.Xr unlink 2 , +.Xr write 2 , +.Xr signal 3 , +.Xr timespec 3 , +.Xr kfilter_register 9 , +.Xr knote 9 +.Rs +.%A Jonathan Lemon +.%T "Kqueue: A Generic and Scalable Event Notification Facility" +.%I USENIX Association +.%B Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference +.%D June 25-30, 2001 +.%U http://www.usenix.org/event/usenix01/freenix01/full_papers/lemon/lemon.pdf +.Re +.Sh HISTORY +The +.Fn kqueue +and +.Fn kevent +functions first appeared in +.Fx 4.1 , +and then in +.Nx 2.0 . +The +.Fn kqueue1 +function first appeared in +.Nx 6.0 . +.Pp +The +.Fn EV_SET +macro was protected from evaluating multiple times the first argument in +.Nx 8.0 . +.Pp +The +.Va udata +type was changed from intptr_t to void * in +.Nx 10.0 . +.Pp +Support for +.Dv NOTE_SECONDS , +.Dv NOTE_MSECONDS , +.Dv NOTE_USECONDS , +.Dv NOTE_NSECONDS , +and +.Dv NOTE_ABSTIME +filter flags for +.Dv EVFILT_TIMER +was added in +.Nx 10.0 . +.Pp +Support for +.Dv NOTE_OPEN , +.Dv NOTE_CLOSE , +.Dv NOTE_CLOSE_WRITE , +and +NOTE_READ +filter flags for +.Dv EVFILT_VNODE +was added in +.Nx 10.0 . +.Pp +Support for +.Dv EVFILT_EMPTY +was added in +.Nx 10.0 . diff --git a/static/netbsd/man2/ktrace.2 b/static/netbsd/man2/ktrace.2 new file mode 100644 index 00000000..e62d458d --- /dev/null +++ b/static/netbsd/man2/ktrace.2 @@ -0,0 +1,181 @@ +.\" $NetBSD: ktrace.2,v 1.22 2017/10/25 17:30:03 abhinav Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd March 19, 2016 +.Dt KTRACE 2 +.Os +.Sh NAME +.Nm ktrace , +.Nm fktrace +.Nd process tracing +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/param.h +.In sys/ktrace.h +.Ft int +.Fn ktrace "const char *tracefile" "int ops" "int trpoints" "pid_t pid" +.Ft int +.Fn fktrace "int fd" "int ops" "int trpoints" "pid_t pid" +.Sh DESCRIPTION +The +.Fn ktrace +function enables or disables tracing of one or more processes. +Users may only trace their own processes. +Only the super-user can trace setuid or setgid programs. +.Pp +The +.Ar tracefile +gives the pathname of the file to be used for tracing. +The file must exist and be writable by the calling process. +All trace records are always appended to the file, +so the file must be truncated to zero length to discard +previous trace data. +If tracing points are being disabled (see KTROP_CLEAR below), +.Ar tracefile +may be NULL. +If using +.Fn fktrace +then instead of passing a filename as +.Ar tracefile , +a file descriptor is passed as +.Ar fd +and behaviour is otherwise the same. +.Pp +The +.Nm ops +parameter specifies the requested ktrace operation. +The defined operations are: +.Bl -column KTRFLAG_DESCENDXXX -offset indent +.It KTROP_SET Enable trace points specified in Ar trpoints . +.It KTROP_CLEAR Disable trace points specified in Ar trpoints . +.It KTROP_CLEARFILE Stop all tracing. +.It KTRFLAG_DESCEND The tracing change should apply to the +specified process and all its current children. +.El +.Pp +The +.Nm trpoints +parameter specifies the trace points of interest. +The defined trace points are: +.Bl -column KTRFAC_SYSCALLXXX -offset indent +.It KTRFAC_SYSCALL Trace system calls. +.It KTRFAC_SYSRET Trace return values from system calls. +.It KTRFAC_NAMEI Trace name lookup operations. +.It KTRFAC_GENIO Trace all I/O (note that this option can +generate much output). +.It KTRFAC_PSIG Trace posted signals. +.It KTRFAC_CSW Trace context switch points. +.It KTRFAC_EMUL Trace emulation changes. +.It KTRFAC_INHERIT Inherit tracing to future children. +.El +.Pp +Each tracing event outputs a record composed of a generic header +followed by a trace point specific structure. +The generic header is: +.Bd -literal +struct ktr_header { + int ktr_len; /* length of buf */ + short ktr_type; /* trace record type */ + short ktr_version; /* trace record version */ + pid_t ktr_pid; /* process id */ + char ktr_comm[MAXCOMLEN+1]; /* command name */ + struct timespec ktr_time; /* timestamp */ + lwpid_t ktr_lid; +}; +.Ed +.Pp +The +.Nm ktr_len +field specifies the length of the data that follows this header. +The +.Nm ktr_type +and +.Nm ktr_version +fields (whose ordering in the structure depends on byte order) +specify the format of this data. +The +.Nm ktr_pid , +.Nm ktr_lid , +and +.Nm ktr_comm +fields specify the process and command generating the record. +The +.Nm ktr_time +field gives the time (with nanosecond resolution) +that the record was generated. +.Pp +The generic header is followed by +.Nm ktr_len +bytes of a +.Nm ktr_type +record of version +.Nm ktr_version . +The type specific records are defined in the +.Aq Pa sys/ktrace.h +include file. +.Sh RETURN VALUES +On successful completion a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to show the error. +.Sh ERRORS +.Fn ktrace +will fail if: +.Bl -tag -width ENAMETOOLONGAA +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EINVAL +The pathname contains a character with the high-order bit set. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, +or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named tracefile does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.El +.Sh SEE ALSO +.Xr kdump 1 , +.Xr ktrace 1 +.Sh HISTORY +A +.Nm ktrace +function call first appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/lfs_bmapv.2 b/static/netbsd/man2/lfs_bmapv.2 new file mode 100644 index 00000000..70bfdd3e --- /dev/null +++ b/static/netbsd/man2/lfs_bmapv.2 @@ -0,0 +1,105 @@ +.\" $NetBSD: lfs_bmapv.2,v 1.10 2008/04/30 13:10:51 martin Exp $ +.\" +.\" Copyright (c) 2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Konrad Schroder. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 23, 2000 +.Dt LFS_BMAPV 2 +.Os +.Sh NAME +.Nm lfs_bmapv +.Nd retrieve disk addresses for arrays of blocks +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In ufs/lfs/lfs.h +.Ft int +.Fn lfs_bmapv "fsid_t *fsidp" "BLOCK_INFO *blkiov" "int blkcnt" +.Sh DESCRIPTION +.Fn lfs_bmapv +fills in the bi_daddr field for every block listed in the block array +.Fa blkiov +with the disk address corresponding to the logical block +.Fa bi_lbn +of the file with inode +.Fa bi_inode . +If +.Fa bi_lbn +is LFS_UNUSED_LBN, the disk location of the inode block containing the +file's inode will be returned in +.Fa bi_daddr +instead. +.Pp +The +.Fa fsidp +argument contains the id of the file system to which the inodes and +blocks belong. +The +.Fa blkiov +argument is an array of BLOCK_INFO structures (see below). +The +.Fa blkcnt +argument determines the size of the +.Fa blkiov +array. +.Bd -literal +typedef struct block_info { + ino_t bi_inode; /* inode # */ + ufs_daddr_t bi_lbn; /* logical block w/in file */ + ufs_daddr_t bi_daddr; /* disk address of block */ + time_t bi_segcreate; /* origin segment create time */ + int bi_version; /* file version number */ + void *bi_bp; /* data buffer */ + int bi_size; /* size of the block (if fragment) */ +} BLOCK_INFO; +.Ed +.Sh RETURN VALUES +.Fn lfs_bmapv +returns 0 on success, or \-1 on error. +.Sh ERRORS +An error return from +.Fn lfs_bmapv +indicates: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa fsidp +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa *fsidp +does not specify a valid file system. +.El +.Sh SEE ALSO +.Xr lfs_markv 2 , +.Xr lfs_segclean 2 , +.Xr lfs_segwait 2 , +.Xr lfs_cleanerd 8 +.Sh HISTORY +The +.Fn lfs_bmapv +function call appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/lfs_markv.2 b/static/netbsd/man2/lfs_markv.2 new file mode 100644 index 00000000..f2b4e4d7 --- /dev/null +++ b/static/netbsd/man2/lfs_markv.2 @@ -0,0 +1,129 @@ +.\" $NetBSD: lfs_markv.2,v 1.12 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Konrad Schroder. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 23, 2000 +.Dt LFS_MARKV 2 +.Os +.Sh NAME +.Nm lfs_markv +.Nd rewrite disk blocks to new disk locations +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In ufs/lfs/lfs.h +.Ft int +.Fn lfs_markv "fsid_t *fsidp" "BLOCK_INFO *blkiov" "int blkcnt" +.Sh DESCRIPTION +.Fn lfs_markv +rewrites the blocks specified in +.Fa blkiov +to new disk locations, for the purposes of grouping them next to one +another, or to move them out of a segment to clean it. +All fields of the BLOCK_INFO structure must be filled in, except for +.Fa bi_segcreate . +If +.Fa bi_daddr +is not the correct current address for logical block +.Fa bi_lbn +of the file with inode number +.Fa bi_inode , +or if the file's version number does not match +.Fa bi_version , +the block will not be written to disk, but no error will be returned. +.Pp +The +.Fa fsidp +argument contains the id of the file system to which the inodes and +blocks belong. +The +.Fa bi_bp +field contains +.Fa bi_size +bytes of data to be written into the appropriate block. +If +.Fa bi_lbn +is specified as LFS_UNUSED_LBN, the inode itself will be rewritten. +.Pp +The +.Fa blkiov +argument is an array of BLOCK_INFO structures (see below). +The +.Fa blkcnt +argument determines the size of the +.Fa blkiov +array. +.Bd -literal +typedef struct block_info { + ino_t bi_inode; /* inode # */ + ufs_daddr_t bi_lbn; /* logical block w/in file */ + ufs_daddr_t bi_daddr; /* disk address of block */ + time_t bi_segcreate; /* origin segment create time */ + int bi_version; /* file version number */ + void *bi_bp; /* data buffer */ + int bi_size; /* size of the block (if fragment) */ +} BLOCK_INFO; +.Ed +.Sh RETURN VALUES +.Fn lfs_markv +returns 0 on success, or \-1 on error. +.Sh ERRORS +An error return from +.Fn lfs_markv +indicates: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa fsidp +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa *fsidp +does not specify a valid file system. +.It Bq Er EBUSY +One or more of the inodes whose blocks were to be written was locked, +and its blocks were not rewritten. +.El +.Sh SEE ALSO +.Xr lfs_segclean 2 , +.Xr lfs_segwait 2 , +.Xr lfs_cleanerd 8 +.Sh HISTORY +The +.Fn lfs_markv +function call appeared in +.Bx 4.4 . +.Sh BUGS +The functionality of +.Fn lfs_markv +does not really belong in user space. +Among other things it could be used to work around the +SF_IMMUTABLE +and +SF_APPEND +file flags (see +.Xr chflags 2 ) . diff --git a/static/netbsd/man2/lfs_segclean.2 b/static/netbsd/man2/lfs_segclean.2 new file mode 100644 index 00000000..467de4f8 --- /dev/null +++ b/static/netbsd/man2/lfs_segclean.2 @@ -0,0 +1,76 @@ +.\" $NetBSD: lfs_segclean.2,v 1.9 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Konrad Schroder. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 23, 2000 +.Dt LFS_SEGCLEAN 2 +.Os +.Sh NAME +.Nm lfs_segclean +.Nd mark a segment clean +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.Ft int +.Fn lfs_segclean "fsid_t *fsidp" "u_long segment" +.Sh DESCRIPTION +.Fn lfs_segclean +marks segment number +.Fa segment +in LFS file system +.Fa *fsidp +"clean" or available for writing. +.Sh RETURN VALUES +.Fn lfs_segclean +returns 0 on success, or \-1 on error. +.Sh ERRORS +An error return from +.Fn lfs_segclean +indicates: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa fsidp +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa *fsidp +does not specify a valid file system. +.It Bq Er EBUSY +.Fa segment +is marked SU_ACTIVE, meaning that it does not yet belong to a valid checkpoint. +.El +.Sh SEE ALSO +.Xr lfs_bmapv 2 , +.Xr lfs_markv 2 , +.Xr lfs_segwait 2 , +.Xr lfs_cleanerd 8 +.Sh HISTORY +The +.Fn lfs_segclean +function call appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/lfs_segwait.2 b/static/netbsd/man2/lfs_segwait.2 new file mode 100644 index 00000000..0d57e4e1 --- /dev/null +++ b/static/netbsd/man2/lfs_segwait.2 @@ -0,0 +1,85 @@ +.\" $NetBSD: lfs_segwait.2,v 1.9 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Konrad Schroder. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 23, 2000 +.Dt LFS_SEGWAIT 2 +.Os +.Sh NAME +.Nm lfs_segwait +.Nd wait until a segment is written +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.Ft int +.Fn lfs_segwait "fsid_t *fsidp" "struct timeval *tv" +.Sh DESCRIPTION +.Fn lfs_segwait +blocks until a new segment is acquired for writing by the file system +specified by +.Fa *fsidp +or if +.Fa *fsidp +is \-1, until a segment is acquired for writing by any LFS file system. +.Pp +If +.Fa timeout +is non-zero, +.Fn lfs_segwait +will return after +.Fa timeout +milliseconds regardless of whether a new segment has been designated for +writing or not. +.Sh RETURN VALUES +.Fn lfs_segwait +returns 0 if a new segment was acquired; 1 if it timed out; or \-1 on error. +.Sh ERRORS +An error return from +.Fn lfs_segwait +indicates: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa fsidp +points outside the process's allocated address space. +.It Bq Er EINTR +A signal was delivered before the time limit expired and +before a new segment was designated for writing. +.It Bq Er EINVAL +The specified time limit is negative. +.El +.Sh SEE ALSO +.Xr lfs_bmapv 2 , +.Xr lfs_markv 2 , +.Xr lfs_segclean 2 , +.Xr lfs_cleanerd 8 +.Sh HISTORY +The +.Fn lfs_segwait +function call appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/link.2 b/static/netbsd/man2/link.2 new file mode 100644 index 00000000..53b6d3d7 --- /dev/null +++ b/static/netbsd/man2/link.2 @@ -0,0 +1,242 @@ +.\" $NetBSD: link.2,v 1.34 2024/07/20 13:12:19 uwe Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993, 2011 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)link.2 8.3 (Berkeley) 1/12/94 +.\" +.Dd July 20, 2024 +.Dt LINK 2 +.Os +.Sh NAME +.Nm link +.Nd make a hard file link +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn link "const char *name1" "const char *name2" +.In fcntl.h +.Ft int +.Fn linkat "int fd1" "const char *name1" "int fd2" "const char *name2" "int flags" +.Sh DESCRIPTION +The +.Fn link +function call +atomically creates the specified directory entry (hard link) +.Fa name2 +with the attributes of the underlying object pointed at by +.Fa name1 . +If the link is successful: the link count of the underlying object +is incremented; +.Fa name1 +and +.Fa name2 +share equal access and rights +to the +underlying object. +.Pp +If +.Fa name1 +is removed, the file +.Fa name2 +is not deleted and the link count of the +underlying object is +decremented. +.Pp +.Fa name1 +must exist for the hard link to +succeed and +both +.Fa name1 +and +.Fa name2 +must be in the same file system. +.Fa name1 +may not be a directory. +.Pp +.Fn linkat +works the same way as +.Fn link +except if +.Fa name1 +(resp. +.Fa name2 ) +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd1 +(resp. +.Fa fd2 ) . +Search permission is required on the directories named by +.Fa fd1 +and +.Fa fd2 . +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on the directories named by +.\" .Fa fd1 +.\" and +.\" .Fa fd2 +.\" unless they were opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directories named by +.\" .Fa fd1 +.\" and +.\" .Fa fd2 +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd1 +or +.Fa fd2 +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +When operating on a symlink, +.Fn link +resolves the symlink and creates a hard link on the target. +.Fn linkat +will do the same if +.Dv AT_SYMLINK_FOLLOW +is set in +.Fa flags , +but it will link on the symlink itself if the flag is clear. +.Sh RETURN VALUES +.Rv -std link linkat +.Sh ERRORS +.Fn link +and +.Fn linkat +will fail and no link will be created if: +.Bl -tag -width Er +.It Bq Er EACCES +A component of either path prefix denies search permission, or +the requested link requires writing in a directory with a mode +that denies write permission. +.It Bq Er EDQUOT +The directory in which the entry for the new link +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +.It Bq Er EEXIST +The link named by +.Fa name2 +does exist. +.It Bq Er EFAULT +One of the pathnames specified +is outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading from or writing to +the file system to make the directory entry. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating one of the pathnames. +.It Bq Er EMLINK +The link count of the file named by +.Fa name1 +would exceed +.Brq Dv LINK_MAX . +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of either path prefix does not exist, or the file named +by +.Fa name1 +does not exist. +.It Bq Er ENOSPC +The directory in which the entry for the new link is being placed +cannot be extended because there is no space left on the file +system containing the directory. +.It Bq Er ENOTDIR +A component of either path prefix is not a directory. +.It Bq Er EOPNOTSUPP +The file system containing the file named by +.Fa name1 +does not support links. +.It Bq Er EPERM +The file named by +.Fa name1 +is a directory. +.It Bq Er EROFS +The requested link requires writing in a directory on a read-only file +system. +.It Bq Er EXDEV +The link named by +.Fa name2 +and the file named by +.Fa name1 +are on different file systems. +.El +.Pp +In addition, +.Fn linkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa name1 +or +.Fa name2 +does not specify an absolute path and +.Fa fd1 +or +.Fa fd2 , +respectively, is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa name1 +or +.Fa name2 +is not an absolute path and +.Fa fd1 +or +.Fa fd2 , +respectively, is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr symlink 2 , +.Xr unlink 2 +.Sh STANDARDS +The +.Fn link +function conforms to +.St -p1003.1-90 . +.Fn linkat +conforms to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn link +function appeared in +.At v1 . diff --git a/static/netbsd/man2/listen.2 b/static/netbsd/man2/listen.2 new file mode 100644 index 00000000..3fe0ea64 --- /dev/null +++ b/static/netbsd/man2/listen.2 @@ -0,0 +1,101 @@ +.\" $NetBSD: listen.2,v 1.16 2004/05/13 10:20:58 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)listen.2 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt LISTEN 2 +.Os +.Sh NAME +.Nm listen +.Nd listen for connections on a socket +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn listen "int s" "int backlog" +.Sh DESCRIPTION +To accept connections, a socket +is first created with +.Xr socket 2 , +a willingness to accept incoming connections and +a queue limit for incoming connections are specified with +.Fn listen , +and then the connections are +accepted with +.Xr accept 2 . +The +.Fn listen +call applies only to sockets of type +.Dv SOCK_STREAM +or +.Dv SOCK_SEQPACKET . +.Pp +The +.Fa backlog +parameter defines the maximum length the queue of +pending connections may grow to. +If a connection +request arrives with the queue full the client may +receive an error with an indication of +.Er ECONNREFUSED , +or, if the underlying protocol supports retransmission, +the request may be ignored so that retries may succeed. +.Sh RETURN VALUES +A 0 return value indicates success; \-1 indicates an error. +.Sh ERRORS +.Fn listen +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +The argument +.Fa s +is not a valid descriptor. +.It Bq Er ENOTSOCK +The argument +.Fa s +is not a socket. +.It Bq Er EOPNOTSUPP +The socket is not of a type that supports the operation +.Fn listen . +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr connect 2 , +.Xr socket 2 +.Sh HISTORY +The +.Fn listen +function call appeared in +.Bx 4.2 . +.Sh BUGS +The +.Fa backlog +is currently limited (silently) to 128. diff --git a/static/netbsd/man2/lseek.2 b/static/netbsd/man2/lseek.2 new file mode 100644 index 00000000..4025958c --- /dev/null +++ b/static/netbsd/man2/lseek.2 @@ -0,0 +1,148 @@ +.\" $NetBSD: lseek.2,v 1.25 2019/09/02 00:01:42 sevan Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)lseek.2 8.3 (Berkeley) 4/19/94 +.\" +.Dd September 2, 2019 +.Dt LSEEK 2 +.Os +.Sh NAME +.Nm lseek , +.Nm seek +.Nd reposition read/write file offset +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft off_t +.Fn lseek "int fildes" "off_t offset" "int whence" +.Sh DESCRIPTION +The +.Fn lseek +function repositions the offset of the file descriptor +.Fa fildes +to the +argument +.Fa offset +according to the directive +.Fa whence . +The argument +.Fa fildes +must be an open +file descriptor. +.Fn lseek +repositions the file pointer +.Fa fildes +as follows: +.Bl -item -offset indent +.It +If +.Fa whence +is +.Dv SEEK_SET , +the offset is set to +.Fa offset +bytes. +.It +If +.Fa whence +is +.Dv SEEK_CUR , +the offset is set to its current location plus +.Fa offset +bytes. +.It +If +.Fa whence +is +.Dv SEEK_END , +the offset is set to the size of the +file plus +.Fa offset +bytes. +.El +.Pp +The +.Fn lseek +function allows the file offset to be set beyond the end +of the existing end-of-file of the file. +If data is later written +at this point, subsequent reads of the data in the gap return +bytes of zeros (until data is actually written into the gap). +.Pp +Some devices are incapable of seeking. +The value of the pointer associated with such a device is undefined. +.Sh RETURN VALUES +Upon successful completion, +.Fn lseek +returns the resulting offset location as measured in bytes from the +beginning of the file. +Otherwise, +a value of \-1 is returned and +.Va errno +is set to indicate +the error. +.Sh ERRORS +.Fn lseek +will fail and the file pointer will remain unchanged if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa fildes +is not an open file descriptor. +.It Bq Er EINVAL +.Fa whence +is not a proper value, or the resulting file offset would be invalid. +.It Bq Er ESPIPE +.Fa fildes +is associated with a pipe, socket, or FIFO. +.El +.Sh SEE ALSO +.Xr dup 2 , +.Xr open 2 +.Sh STANDARDS +The +.Fn lseek +function conforms to +.St -p1003.1-90 . +.Sh HISTORY +A +.Fn seek +function appeared in +.At v1 , +later renamed into +.Fn lseek +for +.Dq long seek +due to a larger +.Fa offset +argument type. +.Sh BUGS +This document's use of +.Fa whence +is incorrect English, but is maintained for historical reasons. diff --git a/static/netbsd/man2/m68k_sync_icache.2 b/static/netbsd/man2/m68k_sync_icache.2 new file mode 100644 index 00000000..8d58417d --- /dev/null +++ b/static/netbsd/man2/m68k_sync_icache.2 @@ -0,0 +1,66 @@ +.\" $NetBSD: m68k_sync_icache.2,v 1.11 2011/03/27 12:48:41 njoly Exp $ +.\" +.\" Copyright (c) 1999 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Ignatios Souvatzis. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 9, 1998 +.Dt M68K_SYNC_ICACHE 2 m68k +.Os +.Sh NAME +.Nm m68k_sync_icache +.Nd instruction cache synchronization +.Sh LIBRARY +.Lb libm68k +.Sh SYNOPSIS +.In sys/types.h +.In m68k/sync_icache.h +.Ft void +.Fn m68k_sync_icache "void *start" "size_t size" +.Sh DESCRIPTION +.Fn m68k_sync_icache +synchronizes data and instruction caches over the specified region. +It should be called prior to executing newly generated code. +.Pp +The affected address range starts at +.Fa start +and continues for +.Fa size +bytes. +If +.Fa start +is 0, all the address space of the current execution thread is affected. +Addresses outside the specified region may be synchronized, too. +.Pp +The call always succeeds. +.Sh SEE ALSO +.Xr arm_sync_icache 2 +.Sh HISTORY +.Fn m68k_sync_icache +appeared first in +.Nx 1.4 . +.Sh AUTHORS +Ignatios Souvatzis diff --git a/static/netbsd/man2/madvise.2 b/static/netbsd/man2/madvise.2 new file mode 100644 index 00000000..09b84c2f --- /dev/null +++ b/static/netbsd/man2/madvise.2 @@ -0,0 +1,134 @@ +.\" $NetBSD: madvise.2,v 1.29 2017/02/03 21:10:22 abhinav Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)madvise.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd March 29, 2011 +.Dt MADVISE 2 +.Os +.Sh NAME +.Nm madvise , +.Nm posix_madvise +.Nd give advice about use of memory +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn madvise "void *addr" "size_t len" "int behav" +.Ft int +.Fn posix_madvise "void *addr" "size_t len" "int advice" +.Sh DESCRIPTION +The +.Fn madvise +system call +allows a process that has knowledge of its memory behavior +to describe it to the system. +The +.Fn posix_madvise +interface is identical and is provided for standards conformance. +.Pp +The known behaviors are: +.Bl -tag -width MADV_SEQUENTIAL +.It Dv MADV_NORMAL +Tells the system to revert to the default paging +behavior. +.It Dv MADV_RANDOM +Is a hint that pages will be accessed randomly, and prefetching +is likely not advantageous. +.It Dv MADV_SEQUENTIAL +Is a hint that pages will be accessed sequentially, from the lower address to +higher address. +It might cause the VM system to depress the priority of +pages immediately preceding a given page when it is faulted in. +.It Dv MADV_WILLNEED +Is a hint that pages will be accessed in the near future. +It might cause the VM system to make pages that are in a given virtual +address range to temporarily have higher priority, and if they are in +memory, decrease the likelihood of them being freed. +It might immediately map the pages that are already in memory into the +process, thereby eliminating unnecessary overhead of going through +the entire process of faulting the pages in. +It might or might not fault pages in from backing store. +.It Dv MADV_DONTNEED +Is a hint that pages will not be accessed in the near future. +It might allow the VM system to decrease the in-memory priority +of pages in the specified range. +.It Dv MADV_FREE +Gives the VM system the freedom to free pages, +and tells the system that information in the specified page range +is no longer important. +.El +.Pp +Portable programs that call the +.Fn posix_madvise +interface should use the aliases +.Dv POSIX_MADV_NORMAL , POSIX_MADV_SEQUENTIAL , +.Dv POSIX_MADV_RANDOM , POSIX_MADV_WILLNEED , +and +.Dv POSIX_MADV_DONTNEED +rather than the flags described above. +.Sh RETURN VALUES +Upon successful completion, +a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn madvise +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +Invalid parameters were provided. +.El +.Sh SEE ALSO +.Xr mincore 2 , +.Xr mprotect 2 , +.Xr msync 2 , +.Xr munmap 2 , +.Xr posix_fadvise 2 +.Sh STANDARDS +The +.Fn posix_madvise +system call is expected to conform to the +.St -p1003.1-2001 +standard. +.Sh HISTORY +The +.Nm madvise +system call first appeared in +.Bx 4.4 , +but until +.Nx 1.5 +it did not perform any of the requests on, or change any behavior of the +address range given. +The +.Fn posix_madvise +call was added in +.Nx 5.0 . diff --git a/static/netbsd/man2/memfd_create.2 b/static/netbsd/man2/memfd_create.2 new file mode 100644 index 00000000..7eb44812 --- /dev/null +++ b/static/netbsd/man2/memfd_create.2 @@ -0,0 +1,134 @@ +.\" $NetBSD: memfd_create.2,v 1.3 2025/11/15 19:03:37 gutteridge Exp $ +.\" +.\" Copyright (c) 2023 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Theodore Preduta. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 14, 2025 +.Dt MEMFD_CREATE 2 +.Os +.Sh NAME +.Nm memfd_create +.Nd create anonymous files +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn memfd_create "const char *name" "unsigned int flags" +.Sh DESCRIPTION +The +.Fn memfd_create +system call returns a file descriptor to a file named +.Fa name +backed only by RAM. +Initially, the size of the file is zero. +.Pp +The length of +.Fa name +must not exceed +.Dv NAME_MAX-6 +characters in length, to allow for the prefix +.Dq memfd: +to be added. +But since the file descriptor does not live on disk, +.Fa name +does not have to be unique. +.Fa name +is only intended to be used for debugging purposes and commands like +.Xr fstat 1 . +.Pp +Additionally, any of the following may be specified as the +.Fa flags : +.Bl -tag -width MFD_ALLOW_SEALING +.It Dv MFD_CLOEXEC +Set the +.Xr close 2 +on +.Xr exec 3 +flag. +.It Dv MFD_CLOFORK +Set the +.Xr close 2 +on +.Xr fork 2 +flag. +.It Dv MFD_ALLOW_SEALING +Allow adding seals to the file descriptor using the +.Xr fcntl 2 +.Dv F_ADD_SEALS +command. +.El +.Pp +Otherwise, the returned file descriptor behaves the same as a regular file, +including the ability to be mapped by +.Xr mmap 2 . +.Sh RETURN VALUES +If successful, the +.Fn memfd_create +system call returns a non-negative integer. +On failure -1 is returned and +.Fa errno +is set to indicate the error. +.Sh ERRORS +.Fn memfd_create +will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The argument +.Fa name +is +.Dv NULL +or points to invalid memory. +.It Bq Er EINVAL +The argument +.Fa flags +has any bits set other than +.Dv MFD_CLOEXEC , +.Dv MFD_CLOFORK , +or +.Dv MFD_ALLOW_SEALING . +.It Bq Er ENAMETOOLONG +The length of +.Fa name +appended with the prefix +.Dq memfd: +would exceed +.Dv NAME_MAX . +.It Bq Er ENFILE +The system file table is full. +.El +.Sh SEE ALSO +.Xr fcntl 2 , +.Xr mmap 2 , +.Xr shmget 2 , +.Xr shm_open 3 +.Sh HISTORY +.Fn memfd_create +is compatible with the Linux system call of the same name that first appeared in +Linux 3.17. +It was added in +.Nx 11.0 . diff --git a/static/netbsd/man2/mincore.2 b/static/netbsd/man2/mincore.2 new file mode 100644 index 00000000..509b5237 --- /dev/null +++ b/static/netbsd/man2/mincore.2 @@ -0,0 +1,98 @@ +.\" $NetBSD: mincore.2,v 1.21 2022/07/26 00:25:45 uwe Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mincore.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 6, 1999 +.Dt MINCORE 2 +.Os +.Sh NAME +.Nm mincore +.Nd determine residency of memory pages +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn mincore "void *addr" "size_t len" "char *vec" +.Sh DESCRIPTION +The +.Fn mincore +system call tells whether the pages covering +.Fa len +bytes of data starting at +.Fa addr +are core resident in the process. +The status of the memory range is returned in the character-per-page array +.Fa vec . +If the page is resident, the least significant bit of the corresponding +character in +.Fa vec +will be set. +Other bits are reserved for additional information +which future implementations may return. +.Pp +Note that the status of each page may change between the call to +.Fn mincore +and the return of the page status information. +In order to guarantee +that pages will remain in core, the address range must be locked with +.Xr mlock 2 . +.Sh RETURN VALUES +.Rv -std mincore +.Sh ERRORS +The +.Fn mincore +call will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa vec +points to an illegal address. +.It Bq Er EINVAL +.Fa addr +is not a multiple of the system page size. +.It Bq Er EINVAL +.Fa len +is equal to 0. +.It Bq Er ENOMEM +The address range specified is invalid for the calling process, +or one or more of the pages specified in the range are not mapped. +.El +.Sh SEE ALSO +.Xr madvise 2 , +.Xr mlock 2 , +.Xr mprotect 2 , +.Xr msync 2 , +.Xr munmap 2 , +.Xr sysconf 3 +.Sh HISTORY +The +.Fn mincore +function first appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/minherit.2 b/static/netbsd/man2/minherit.2 new file mode 100644 index 00000000..6919bef3 --- /dev/null +++ b/static/netbsd/man2/minherit.2 @@ -0,0 +1,112 @@ +.\" $NetBSD: minherit.2,v 1.21 2019/09/08 17:47:33 sevan Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)minherit.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd September 8, 2019 +.Dt MINHERIT 2 +.Os +.Sh NAME +.Nm minherit +.Nd control the inheritance of pages +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn minherit "void *addr" "size_t len" "int inherit" +.Sh DESCRIPTION +The +.Fn minherit +system call changes the specified range of virtual addresses to have +the inheritance characteristic +.Fa inherit , +which determines how +.Xr fork 2 +will map the region in the child process. +The supported inheritance characteristics are: +.Bl -tag -offset abcd -width MAP_INHERIT_DEFAULT +.It MAP_INHERIT_COPY +The child is given a private copy of the region: writes from parent or +child are not seen by the other. +.It MAP_INHERIT_NONE +The region is unmapped in the child. +.It MAP_INHERIT_SHARE +The child is shares the region with the parent: writes from parent and +child are seen by both. +.It MAP_INHERIT_ZERO +The region is mapped in the child to anonymous pages filled with +zeros. +.El +.Pp +Normally, the parent's virtual address space is copied for the child +as if with +.Dv MAP_INHERIT_COPY , +for which the alias +.Dv MAP_INHERIT_DEFAULT +is provided. +Regions in the parent mapped using +.Xr mmap 2 +with the +.Dv MAP_SHARED +flag are by default shared with the child as if with +.Dv MAP_INHERIT_SHARED . +.Pp +Not all implementations will guarantee that the inheritance characteristic +can be set on a page basis; +the granularity of changes may be as large as an entire region. +.Sh RETURN VALUES +.Rv -std minherit +.Sh ERRORS +.Fn minherit +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +An invalid region or invalid parameters were specified. +.El +.Sh SEE ALSO +.Xr fork 2 , +.Xr madvise 2 , +.Xr mincore 2 , +.Xr mmap 2 , +.Xr mprotect 2 , +.Xr msync 2 , +.Xr munmap 2 +.Sh HISTORY +The +.Fn minherit +function first appeared in +.Ox 2.0 , +then +.Nx 1.3 . +.Sh BUGS +If a particular port does not support page-granularity +inheritance, there's no way to figure out how large a region is +actually affected by +.Fn minherit . diff --git a/static/netbsd/man2/mkdir.2 b/static/netbsd/man2/mkdir.2 new file mode 100644 index 00000000..d3011549 --- /dev/null +++ b/static/netbsd/man2/mkdir.2 @@ -0,0 +1,179 @@ +.\" $NetBSD: mkdir.2,v 1.33 2025/09/12 14:54:36 jschauma Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mkdir.2 8.2 (Berkeley) 12/11/93 +.\" +.Dd September 12, 2025 +.Dt MKDIR 2 +.Os +.Sh NAME +.Nm mkdir , +.Nm mkdirat +.Nd make a directory file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/stat.h +.Ft int +.Fn mkdir "const char *path" "mode_t mode" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn mkdirat "int fd" "const char *path" "mode_t mode" +.Sh DESCRIPTION +The directory +.Fa path +is created with the access permissions specified by +.Fa mode +and restricted by the +.Xr umask 2 +of the calling process. +On +.Nx +all other mode bits +.Dv ( S_ISUID , +.Dv S_ISGID , +.Dv S_ISTXT ) +are ignored. +This is implementation defined; for example on Linux +.Dv S_ISTXT +is honored. +.Pp +.Fn mkdirat +works the same way as +.Fn mkdir +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +The directory's owner ID is set to the process's effective user ID. +The directory's group ID is set to that of the parent directory in +which it is created. +.Sh RETURN VALUES +.Rv -std mkdir mkdirat +.Sh ERRORS +Both +.Fn mkdir +and +.Fn mkdirat +will fail and no directory will be created if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EDQUOT +The new directory cannot be created because the user's +quota of disk blocks on the file system that will +contain the directory has been exhausted. +Or, the user's quota of inodes on the file system on +which the directory is being created has been exhausted. +.It Bq Er EEXIST +The named file exists. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while making the directory entry or allocating the inode; +or an I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er EMLINK +The new directory cannot be created because the parent directory contains too +many subdirectories. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of the path prefix does not exist. +.It Bq Er ENOSPC +The new directory cannot be created because there is no space left +on the file system that will contain the directory. +Or, there are no free inodes on the file system on which the +directory is being created. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn mkdirat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr chmod 2 , +.Xr stat 2 , +.Xr umask 2 +.Sh STANDARDS +The +.Fn mkdir +function conforms to +.St -p1003.1-90 . +.Fn mkdirat +conforms to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn mkdir +function appeared in +.At v1 . diff --git a/static/netbsd/man2/mkfifo.2 b/static/netbsd/man2/mkfifo.2 new file mode 100644 index 00000000..22c95ea7 --- /dev/null +++ b/static/netbsd/man2/mkfifo.2 @@ -0,0 +1,170 @@ +.\" $NetBSD: mkfifo.2,v 1.27 2013/10/15 11:43:21 njoly Exp $ +.\" +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mkfifo.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 29, 2013 +.Dt MKFIFO 2 +.Os +.Sh NAME +.Nm mkfifo , +.Nm mkfifoat +.Nd make a fifo file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/stat.h +.Ft int +.Fn mkfifo "const char *path" "mode_t mode" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn mkfifoat "int fd" "const char *path" "mode_t mode" +.Sh DESCRIPTION +.Fn mkfifo +creates a new fifo file with name +.Fa path . +The access permissions are +specified by +.Fa mode +and restricted by the +.Xr umask 2 +of the calling process. +.Pp +.Fn mkfifoat +works the same way as +.Fn mkfifo +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +The fifo's owner ID is set to the process's effective user ID. +The fifo's group ID is set to that of the parent directory in +which it is created. +.Sh RETURN VALUES +.Rv -std mkfifo mkfifoat +.Sh ERRORS +.Fn mkfifo +and +.Fn mkfifoat +will fail and no fifo will be created if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EDQUOT +The directory in which the entry for the new fifo +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +Or, the user's quota of inodes on the file system on +which the fifo is being created has been exhausted. +.It Bq Er EEXIST +The named file exists. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An +.Tn I/O +error occurred while making the directory entry or allocating the inode. +Or, an +.Tn I/O +error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of the path prefix does not exist. +.It Bq Er ENOSPC +The directory in which the entry for the new fifo is being placed +cannot be extended because there is no space left on the file +system containing the directory. +Or, there are no free inodes on the file system on which the +fifo is being created. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EOPNOTSUPP +The kernel has not been configured to support fifo's. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn mkfifoat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr chmod 2 , +.Xr stat 2 , +.Xr umask 2 +.Sh STANDARDS +The +.Nm mkfifo +function call conforms to +.St -p1003.1-90 . +.Fn mkfifoat +conforms to +.St -p1003.1-2008 . diff --git a/static/netbsd/man2/mknod.2 b/static/netbsd/man2/mknod.2 new file mode 100644 index 00000000..e0f39409 --- /dev/null +++ b/static/netbsd/man2/mknod.2 @@ -0,0 +1,210 @@ +.\" $NetBSD: mknod.2,v 1.31 2019/06/20 06:59:32 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mknod.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 20, 2019 +.Dt MKNOD 2 +.Os +.Sh NAME +.Nm mknod , +.Nm mknodat +.Nd make a special file node +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/stat.h +.Ft int +.Fn mknod "const char *path" "mode_t mode" "dev_t dev" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn mknodat "int fd" "const char *path" "mode_t mode" "dev_t dev" +.Sh DESCRIPTION +.Nm +with +.Dv S_IFIFO +specified in +.Fa mode +and 0 in +.Fa dev +makes a FIFO file. +This call is respectively a portable alias for +.Xr mkfifo 2 +and +.Xr mkfifoat 2 . +.Pp +.Nm +with +.Dv S_IFCHR +or +.Dv S_IFBLK +in +.Fa mode +makes a device special file. +The file +.Fa path +is created with the major and minor +device numbers specified by +.Fa dev . +The access permissions of +.Fa path +are extracted from +.Fa mode , +modified by the +.Xr umask 2 +of the parent process. +.Pp +.Fn mknodat +works the same way as +.Fn mknod +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +.Fn mknod +requires super-user privileges for creating device special files. +.Sh RETURN VALUES +.Rv -std mknod mknodat +.Sh ERRORS +.Fn mknod +and +.Fn mknodat +will fail and the file will be not created if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EDQUOT +The directory in which the entry for the new node +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted; or +the user's quota of inodes on the file system on +which the node is being created has been exhausted. +.It Bq Er EEXIST +The named file exists. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EINVAL +The supplied +.Fa mode +or +.Fa dev +is invalid. +.It Bq Er EIO +An I/O error occurred while making the directory entry or allocating the inode. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of the path prefix does not exist. +.It Bq Er ENOSPC +The directory in which the entry for the new node is being placed +cannot be extended because there is no space left on the file +system containing the directory; or +there are no free inodes on the file system on which the +node is being created. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EOPNOTSUPP +The kernel has not been configured to support FIFOs. +.It Bq Er EPERM +The process's effective user ID is not super-user. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn mknodat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr chmod 2 , +.Xr mkfifo 2 , +.Xr stat 2 , +.Xr umask 2 , +.Xr makedev 3 +.Sh STANDARDS +The +.Fn mknod +function conforms to +.St -p1003.1-90 . +.Fn mknodat +conforms to +.St -p1003.1-2008 . +.Sh HISTORY +A +.Fn mknod +function call appeared in +.At v6 . +.Pp +The alias mode for +.Xr mkfifo 2 +and +.Xr mkfifoat 2 +first appeared in +.Nx 9 . diff --git a/static/netbsd/man2/mlock.2 b/static/netbsd/man2/mlock.2 new file mode 100644 index 00000000..f41e7c9d --- /dev/null +++ b/static/netbsd/man2/mlock.2 @@ -0,0 +1,167 @@ +.\" $NetBSD: mlock.2,v 1.22 2015/02/08 14:10:28 wiz Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mlock.2 8.2 (Berkeley) 12/11/93 +.\" +.Dd February 8, 2015 +.Dt MLOCK 2 +.Os +.Sh NAME +.Nm mlock , +.Nm munlock +.Nd lock (unlock) physical pages in memory +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn mlock "void *addr" "size_t len" +.Ft int +.Fn munlock "void *addr" "size_t len" +.Sh DESCRIPTION +The +.Nm mlock +system call +locks into memory the physical pages associated with the virtual address +range starting at +.Fa addr +for +.Fa len +bytes. +The +.Nm munlock +call unlocks pages previously locked by one or more +.Nm mlock +calls. +The entire range of memory must be allocated. +.Pp +After an +.Nm mlock +call, the indicated pages will cause neither a non-resident page +nor address-translation fault until they are unlocked. +They may still cause protection-violation faults or TLB-miss faults on +architectures with software-managed TLBs. +The physical pages remain in memory until all locked mappings for the pages +are removed. +Multiple processes may have the same physical pages locked via their own +virtual address mappings. +A single process may likewise have pages multiply-locked via different virtual +mappings of the same pages or via nested +.Nm mlock +calls on the same address range. +Unlocking is performed explicitly by +.Nm munlock +or implicitly by a call to +.Nm munmap +which deallocates the unmapped address range. +Locked mappings are not inherited by the child process after a +.Xr fork 2 . +.Pp +Since physical memory is a potentially scarce resource, processes are +limited in how much they can lock down. +A single process can +.Nm mlock +the minimum of +a system-wide ``wired pages'' limit and +the per-process +.Li RLIMIT_MEMLOCK +resource limit. +.Pp +Portable code should ensure that the +.Fa addr +and +.Fa len +parameters are aligned to a multiple of the page size, even though the +.Nx +implementation will round as necessary. +.Sh RETURN VALUES +A return value of 0 indicates that the call +succeeded and all pages in the range have either been locked or unlocked. +A return value of \-1 indicates an error occurred and the locked +status of all pages in the range remains unchanged. +In this case, the global location +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn mlock +will fail if: +.Bl -tag -width Er +.It Bq Er EAGAIN +Locking the indicated range would exceed either the system or per-process +limit for locked memory. +.It Bq Er EINVAL +The address or length given is not page aligned and the implementation does +not round. +.It Bq Er ENOMEM +Some portion of the indicated address range is not allocated. +There was an error faulting/mapping a page. +.It Bq Er EPERM +.Fn mlock +was called by non-root on an architecture where locked page accounting +is not implemented. +.Pp +.El +.Fn munlock +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The address or length given is not page aligned and the implementation does +not round. +.It Bq Er ENOMEM +Some portion of the indicated address range is not allocated. +Some portion of the indicated address range is not locked. +.El +.Sh SEE ALSO +.Xr fork 2 , +.Xr mincore 2 , +.Xr mmap 2 , +.Xr munmap 2 , +.Xr setrlimit 2 , +.Xr getpagesize 3 +.Sh STANDARDS +The +.Fn mlock +and +.Fn munlock +functions conform to +.St -p1003.1b-93 . +.Sh HISTORY +The +.Fn mlock +and +.Fn munlock +functions first appeared in +.Bx 4.4 . +.Sh BUGS +The per-process resource limit is a limit on the amount of virtual +memory locked, while the system-wide limit is for the number of locked +physical pages. +Hence a process with two distinct locked mappings of the same physical page +counts as 2 pages against the per-process limit and as only a single page +in the system limit. diff --git a/static/netbsd/man2/mlockall.2 b/static/netbsd/man2/mlockall.2 new file mode 100644 index 00000000..f27838e7 --- /dev/null +++ b/static/netbsd/man2/mlockall.2 @@ -0,0 +1,131 @@ +.\" $NetBSD: mlockall.2,v 1.13 2008/04/30 13:10:51 martin Exp $ +.\" +.\" Copyright (c) 1999 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, +.\" NASA Ames Research Center. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd June 12, 1999 +.Dt MLOCKALL 2 +.Os +.Sh NAME +.Nm mlockall , +.Nm munlockall +.Nd lock (unlock) the address space of a process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn mlockall "int flags" +.Ft int +.Fn munlockall "void" +.Sh DESCRIPTION +The +.Nm mlockall +system call locks into memory the physical pages associated with the +address space of a process until the address space is unlocked, the +process exits, or execs another program image. +.Pp +The following flags affect the behavior of +.Nm mlockall : +.Bl -tag -width MCL_CURRENT +.It Dv MCL_CURRENT +Lock all pages currently mapped into the process's address space. +.It Dv MCL_FUTURE +Lock all pages mapped into the process's address space in the future, +at the time the mapping is established. +Note that this may cause future mappings to fail if those mappings +cause resource limits to be exceeded. +.El +.Pp +Since physical memory is a potentially scarce resource, processes are +limited in how much they can lock down. +A single process can lock the minimum of a system-wide +.Dq wired pages +limit and the per-process +.Li RLIMIT_MEMLOCK +resource limit. +.Pp +The +.Nm munlockall +call unlocks any locked memory regions in the process address space. +Any regions mapped after an +.Nm munlockall +call will not be locked. +.Sh RETURN VALUES +A return value of 0 indicates that the call +succeeded and all pages in the range have either been locked or unlocked. +A return value of \-1 indicates an error occurred and the locked +status of all pages in the range remains unchanged. +In this case, the global location +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn mlockall +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Ar flags +argument is zero, or includes unimplemented flags. +.It Bq Er ENOMEM +Locking the indicated range would exceed either the system or per-process +limit for locked memory. +.It Bq Er EAGAIN +Some or all of the memory mapped into the process's address space +could not be locked when the call was made. +.It Bq Er EPERM +The calling process does not have the appropriate privilege to perform +the requested operation. +.El +.Sh SEE ALSO +.Xr mincore 2 , +.Xr mlock 2 , +.Xr mmap 2 , +.Xr munmap 2 , +.Xr setrlimit 2 +.Sh STANDARDS +The +.Fn mlockall +and +.Fn munlockall +functions conform to +.St -p1003.1b-93 . +.Sh HISTORY +The +.Fn mlockall +and +.Fn munlockall +functions first appeared in +.Nx 1.5 . +.Sh BUGS +The per-process resource limit is a limit on the amount of virtual +memory locked, while the system-wide limit is for the number of locked +physical pages. +Hence a process with two distinct locked mappings of the same physical page +counts as 2 pages against the per-process limit and as only a single page +in the system limit. diff --git a/static/netbsd/man2/mmap.2 b/static/netbsd/man2/mmap.2 new file mode 100644 index 00000000..b532368d --- /dev/null +++ b/static/netbsd/man2/mmap.2 @@ -0,0 +1,373 @@ +.\" $NetBSD: mmap.2,v 1.57 2024/05/13 00:01:52 msaitoh Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 +.\" +.Dd September 8, 2019 +.Dt MMAP 2 +.Os +.Sh NAME +.Nm mmap +.Nd map files or devices into memory +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft void * +.Fn mmap "void *addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset" +.Sh DESCRIPTION +The +.Nm mmap +function causes the pages starting at +.Fa addr +and continuing for at most +.Fa len +bytes to be mapped from the object described by +.Fa fd , +starting at byte offset +.Fa offset . +If +.Fa len +is not a multiple of the pagesize, the mapped region may extend past the +specified range. +Any such extension beyond the end of the mapped object will be zero-filled. +.Pp +If +.Fa addr +is non-zero, it is used as a hint to the system. +.Po +As a convenience to the system, the actual address of the region may differ +from the address supplied. +.Pc +If +.Fa addr +is zero, an address will be selected by the system. +The actual starting address of the region is returned. +A successful +.Nm +deletes any previous mapping in the allocated address range. +.Pp +The protections (region accessibility) are specified in the +.Fa prot +argument by +.Em or\^ Ap ing +the following values: +.Bl -tag -width PROT_WRITEXX -offset indent +.It Dv PROT_EXEC +Pages may be executed. +.It Dv PROT_READ +Pages may be read. +.It Dv PROT_WRITE +Pages may be written. +.It Dv PROT_NONE +Placeholder when requesting no access permission. +.El +.Pp +As a +.Nx +extension, the +.Dv PROT_MPROTECT +macro can be used to request additional permissions for later use with +.Fn mprotect 2 . +For example +.Li PROT_MPROTECT(PROT_READ) +requests that future +.Dv PROT_READ +mappings are allowed and can be enabled using +.Xr mprotect 2 , +but does not currently grant read mappings to the returned memory segment. +This is necessary for switching pages between writable and executable +when PaX MPROTECT restrictions are in place. +See +.Xr mremap 2 +for a sample use case. +.Pp +.Bf -symbolic +Note that, due to hardware limitations, on some platforms +.Dv PROT_WRITE +may imply +.Dv PROT_READ , +and +.Dv PROT_READ +may imply +.Dv PROT_EXEC . +Portable programs should not rely on these flags being separately +enforceable. +.Ef +.Pp +The +.Fa flags +parameter specifies the type of the mapped object, mapping options and +whether modifications made to the mapped copy of the page are private +to the process or are to be shared with other references. +Note that either +.Dv MAP_SHARED +or +.Dv MAP_PRIVATE +must be specified. +Sharing, mapping type and options are specified in the +.Fa flags +argument by +.Em or\^ Ap ing +the following values: +.Bl -tag -width ".Dv MAP_HASSEMAPHORE" -offset indent +.It Dv MAP_ALIGNED Ns Li \&( Ns Ar n Ns Li \&) +Request that the allocation be aligned to the given boundary. +The parameter +.Ar n +should be the base\~2 logarithm of the desired alignment +.Po +e.g., to request alignment to 16K, use 14 as the value for +.Ar n +.Pc . +The alignment must be equal to or greater than the platform's page +size as returned by +.Xr sysconf 3 +with the +.Dv _SC_PAGESIZE +request. +The following constants are defined for convenience: +.Bl -bullet -compact -offset indent +.It +.Dv MAP_ALIGNMENT_64KB +.It +.Dv MAP_ALIGNMENT_16MB +.It +.Dv MAP_ALIGNMENT_4GB +.It +.Dv MAP_ALIGNMENT_1TB +.It +.Dv MAP_ALIGNMENT_256TB +.It +.Dv MAP_ALIGNMENT_64PB +.El +.It Dv MAP_ANON +Map anonymous memory not associated with any specific file. +The file descriptor is not used for creating +.Dv MAP_ANON +regions, and must be specified as \-1. +The mapped memory will be zero filled. +.It Dv MAP_ANONYMOUS +Synonymous with +.Dv MAP_ANON . +.It Dv MAP_FILE +Mapped from a regular file or character-special device memory. +Read accesses beyond the end of the file or device but less +than the current page size will be zero-filled. +Write accesses beyond the end of the file or device but less +than the current page size will not affect the file or device. +References beyond the end of file that are beyond the current +page size will result in the delivery of +.Dv SIGBUS +signal. +.It Dv MAP_FIXED +Do not permit the system to select a different address than the one +specified. +If the specified address cannot be used, +.Nm mmap +will fail. +If +.Dv MAP_FIXED +is specified, +.Fa addr +must be a multiple of the pagesize. +Use of this option is discouraged. +.It Dv MAP_HASSEMAPHORE +Notify the kernel that the region may contain semaphores and that special +handling may be necessary. +.It Dv MAP_INHERIT +Permit regions to be inherited across +.Xr execve 2 +system calls. +.It Dv MAP_NORESERVE +Only reserve address space, but do not reserve swap space or any other +resources for this mapping. +Access to the address space is not guaranteed and may result in a segmentation +violation. +.Em Unimplemented . +.It Dv MAP_PRIVATE +Modifications made by this process are private, however modifications made by +other processes using +.Dv MAP_SHARED +will be seen. +.It Dv MAP_REMAPDUP +Only valid for +.Xr mremap 2 . +.It Dv MAP_RENAME +Assign the referenced private pages to the file descriptor provided. +.Em Unimplemented . +.It Dv MAP_SHARED +Modifications are shared. +.It Dv MAP_STACK +Allocate a memory segment that can be used either for a process or thread stack. +This currently has no effect, but its use is reserved for architectures +that might require special treatment of that address space. +.Em Unimplemented . +.It Dv MAP_TRYFIXED +Attempt to use the address +.Fa addr +even if it falls within the normally protected process data or +text segment memory regions. +If the requested region of memory +is actually present in the memory map, a different address will +be selected as if +.Dv MAP_TRYFIXED +had not been specified. +If +.Fa addr +is +.Dv NULL , +this flag is ignored and the system will select a mapping address. +.It Dv MAP_WIRED +Lock the mapped region into memory as with +.Xr mlock 2 . +.El +.Pp +The +.Xr close 2 +function does not unmap pages, see +.Xr munmap 2 +for further information. +.Pp +The current design does not allow a process to specify the location of +swap space. +In the future we may define an additional mapping type, +.Dv MAP_SWAP , +in which +the file descriptor argument specifies a file or device to which swapping +should be done. +.Pp +If +.Dv MAP_FIXED +is not specified, the system will attempt to place the mapping in an +unused portion of the address space chosen to minimize possible +collision between mapped regions and the heap. +.Sh RETURN VALUES +Upon successful completion, +.Nm mmap +returns a pointer to the mapped region. +Otherwise, a value of +.Dv MAP_FAILED +is returned and +.Va errno +is set to indicate the error. +The symbol +.Dv MAP_FAILED +is defined in the header +.In sys/mman.h . +No successful return from +.Fn mmap +will return the value +.Dv MAP_FAILED . +.Sh ERRORS +.Fn mmap +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The flag +.Dv PROT_READ +was specified as part of the +.Fa prot +parameter and +.Fa fd +was not open for reading. +.Pp +The flags +.Dv MAP_SHARED +and +.Dv PROT_WRITE +were specified as part of the +.Fa flags +and +.Fa prot +parameters and +.Fa fd +was not open for writing. +.Pp +PaX mprotect restrictions prohibit the requested protection. +.It Bq Er EBADF +.Fa fd +is not a valid open file descriptor. +.It Bq Er EINVAL +.\"One of +.\".Dv MAP_ANON +.\"or +.\".Dv MAP_FILE +.\"was not specified as part of the +.\".Fa flags +.\"parameter. +.Dv MAP_FIXED +was specified and the +.Fa addr +parameter was not page aligned or was outside of the +valid address range for a process. +.Pp +.Dv MAP_ANON +was specified and +.Fa fd +was not \-1. +.It Bq Er ENODEV +.Fa fd +did not reference a regular or character special file. +.It Bq Er ENOMEM +.Dv MAP_FIXED +was specified and the +.Fa addr +parameter wasn't available. +.Pp +.Dv MAP_ANON +was specified and insufficient memory was available. +.It Bq Er EOVERFLOW +.Fa fd +references a regular file and the value of +.Fa offset +plus +.Fa len +would exceed the offset maximum established in its open file description. +.El +.Sh SEE ALSO +.Xr madvise 2 , +.Xr mincore 2 , +.Xr mlock 2 , +.Xr mprotect 2 , +.Xr mremap 2 , +.Xr msync 2 , +.Xr munmap 2 , +.Xr getpagesize 3 , +.Xr sysconf 3 +.Sh STANDARDS +The +.Fn mmap +function conforms to +.St -p1003.1b-93 . +.Sh HISTORY +The +.Fn mmap +interface was first designed in +.Bx 4.2 . diff --git a/static/netbsd/man2/modctl.2 b/static/netbsd/man2/modctl.2 new file mode 100644 index 00000000..41b8c68a --- /dev/null +++ b/static/netbsd/man2/modctl.2 @@ -0,0 +1,323 @@ +.\" $NetBSD: modctl.2,v 1.19 2020/04/26 18:56:49 pgoyette Exp $ +.\" +.\" Copyright (c) 2009 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 26, 2020 +.Dt MODCTL 2 +.Os +.Sh NAME +.Nm modctl +.Nd module control +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/module.h +.Ft int +.Fn modctl "int operation" "void *argp" +.Sh DESCRIPTION +.Fn modctl +provides control over loaded kernel modules. +The argument +.Fa operation +is one of +.Dv MODCTL_LOAD , +.Dv MODCTL_UNLOAD , +.Dv MODCTL_STAT , +or +.Dv MODCTL_EXISTS . +The argument +.Fa argp +depends on the +.Fa operation +to be performed. +.Pp +Operations are: +.Bl -tag -width MODCTL_UNLOAD +.It Dv MODCTL_LOAD +Load a module. +The +.Fa argp +argument should be a pointer to a +.Em modctl_load_t +structure, described below. +.It Dv MODCTL_UNLOAD +Unload a module. +In this case, +.Fa argp +should be a string containing the name of the module to be unloaded. +.It Dv MODCTL_STAT +Return a list of loaded modules. +In this case, the +.Fa argp +argument should be a +.Em struct iovec +pointing to a suitable block of memory. +The kernel will fill this block with +.Bl -bullet +.It +a count of the number of modules loaded, +.It +an array of +.Em modstat_t +structures, one per loaded module, and +.It +a series of NUL-terminated strings containing the modules' +required modules lists. +.El +.Pp +If the block is not large enough, the data returned will be truncated +to fit. +The kernel will then update the +.Fa iov_len +member of the +.Em iovec +to reflect the size of the complete report, regardless of whether this +is larger or smaller than the size passed in. +.It Dv MODCTL_EXISTS +Test to see if the kernel was compiled with +.Dq options MODULAR +and whether or +not modules may be loaded at the moment. +In this case, +.Fa argp +should be an integer. +It should be +.Dq 0 +to test if a user can load a module via +.Dv MODCTL_LOAD , +or it should be +.Dq 1 +to test if the system can autoload modules. +Note that this +test does not consider the sysctl +.Li kern.module.autoload . +.El +.Ss Data Types +The +.Em modctl_load_t +structure used with +.Dv MODCTL_LOAD +contains the following elements, which should be filled in by the caller: +.Bl -tag -width aaaaaaaa +.It Fa "const char *ml_filename" +The name/path of the module to load. +.It Fa "int ml_flags" +Zero or more of the following flag values: +.Bl -tag -compact -width "MODCTL_LOAD_FORCE" +.It Dv MODCTL_NO_PROP +Don't load +.Ao module Ac Ns Pa .plist . +.It Dv MODCTL_LOAD_FORCE +Ignore kernel version mismatch. +.El +.It Fa "const char *ml_props" +Externalized proplib dictionary to pass to module. +.It Fa "size_t ml_propslen" +Size of the dictionary blob. +.Fa ml_props +may be +.Dv NULL +in which case +.Fa ml_propslen +must be +.Dv 0 . +An upper limit of 4096 bytes is imposed on the value of ml_propslen. +Attempting to load a proplib dictionary larger than this size will return +.Er ENOMEM . +.El +.Pp +The +.Em modstat_t +structure used with +.Dv MODCTL_STAT +contains the following elements, which are filled in by the kernel: +.Bl -tag -width aaaaaaaa +.It Fa "char ms_name[MAXMODNAME]" +The name of the module. +.It Fa "modsrc_t ms_source" +One of the following enumerated constants: +.Bl -tag -compact -width "MODULE_SOURCE_FILESYS" +.It Dv MODULE_SOURCE_KERNEL +The module is compiled into the kernel. +.It Dv MODULE_SOURCE_BOOT +The module was provided by the bootstrap loader. +.It Dv MODULE_SOURCE_FILESYS +The module was loaded from the file system. +.El +.It Fa "modclass_t ms_class" +One of the following enumerated constants: +.Bl -tag -compact -width "MODULE_SOURCE_FILESYS" +.It Dv MODULE_CLASS_SECMODEL +Security model. +.It Dv MODULE_CLASS_VFS +File system. +.It Dv MODULE_CLASS_DRIVER +Device driver. +.It Dv MODULE_CLASS_EXEC +Executable file format. +.It Dv MODULE_CLASS_MISC +Miscellaneous. +.El +.It Fa "uint64_t ms_addr" +The load address within the kernel of the module's text segment. +(This value is available only for privileged users.) +.It Fa "u_int ms_size" +Loaded size of the module's text segment. +(This value is available only for privileged users.) +.It Fa "u_int ms_refcnt" +Current number of live references to this module. +.It Fa "u_int ms_flags" +The module's flags: +.Bl -tag -compact -width "MODFLAG_AUTO_LOADED" +.It Dv MODFLAG_MUST_FORCE +The "force" flag must be specified to reload this module. +.It Dv MODFLAG_AUTO_LOADED +The module was auto-loaded by the operating system. +.El +.It Fa "uint_ms_reqoffset" +The offset (in bytes) from the beginning of the required-module data. +.El +.Sh RETURN VALUES +Upon successful completion, the value returned is 0. +.Pp +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn modctl +will fail if: +.Bl -tag -width Er +.It Bq Er EBUSY +The argument +.Fa operation +is +.Dv MODCTL_UNLOAD +and the module is in use or the module is compiled into the kernel. +.It Bq Er EDEADLK +The argument +.Fa operation +is +.Dv MODCTL_LOAD +and there is a circular dependency in the module's dependency chain. +.It Bq Er EEXIST +The argument +.Fa operation +is +.Dv MODCTL_LOAD +and the module is already loaded. +.It Bq Er EFAULT +A bad address was given for +.Fa argp . +.It Bq Er EFBIG +The argument +.Fa operation +is +.Dv MODCTL_LOAD , +the specified module resides in the file system, and the module's default +proplib file was too large. +.It Bq Er EINVAL +The argument +.Fa operation +is invalid. +.Pp +The argument +.Fa operation +is +.Dv MODCTL_LOAD +and ml_props is not +.Dv NULL +and +.Dq ml_propslen +is +.Dv 0 , +or +ml_props is +.Dv NULL +and +.Dq ml_propslen +is not +.Dv 0 . +The kernel is unable to internalize the plist. +Or, there is a problem with the module or <module>.plist. +.It Bq Er ENAMETOOLONG +A module name/path is too long. +.It Bq Er ENOENT +The argument +.Fa operation +is +.Dv MODCTL_LOAD +and the module or a dependency can't be found. +.Pp +The argument +.Fa operation +is +.Dv MODCTL_UNLOAD +and no module by the name of +.Fa argp +is loaded. +.It Bq Er ENOEXEC +The argument +.Fa operation +is +.Dv MODCTL_LOAD +and the module is not a valid object for the system. +Most likely, one or more undefined symbols could not be resolved by the +in-kernel linker. +.It Bq Er ENOMEM +There was not enough memory to perform the +.Fa operation . +.It Bq Er ENOSYS +The argument +.Fa operation +is +.Dv MODLOAD_EXIST +and the kernel does not include +.Dq options MODULAR . +.It Bq Er EPERM +Not allowed to perform the +.Fa operation . +.It Bq Er EPROGMISMATCH +The argument +.Fa operation +is +.Dv MODCTL_LOAD , +the +.Fa ml_flags +field in the +.Em modctl_load_t +structure does not include +.Dv MODCTL_LOAD_FORCE , +and the requested module does not match the current kernel's version +information. +.El +.Sh SEE ALSO +.Xr module 7 , +.Xr sysctl 7 , +.Xr module 9 +.Sh HISTORY +The +.Fn modctl +function call first appeared in +.Nx 5.0 . diff --git a/static/netbsd/man2/modrdn.out.provider.2 b/static/netbsd/man2/modrdn.out.provider.2 new file mode 100644 index 00000000..057ec934 --- /dev/null +++ b/static/netbsd/man2/modrdn.out.provider.2 @@ -0,0 +1,19 @@ +dn: cn=James A Jones II,ou=Information Technology Division,ou=People,dc=exampl + e,dc=com +objectClass: OpenLDAPperson +cn: James Jones +cn: Jim Jones +cn: James A Jones II +sn: Doe +uid: jjones +seeAlso: cn=All Staff,ou=Groups,dc=example,dc=com +homePostalAddress: 933 Brooks $ Anytown, MI 48104 +homePhone: +1 313 555 8838 +title: Senior Manager, Information Technology Division +description: Not around very much +mail: jjones@mailgw.example.com +postalAddress: Info Tech Division $ 535 W William $ Anytown, MI 48103 +pager: +1 313 555 2833 +facsimileTelephoneNumber: +1 313 555 8688 +telephoneNumber: +1 313 555 7334 + diff --git a/static/netbsd/man2/mount.2 b/static/netbsd/man2/mount.2 new file mode 100644 index 00000000..7f30f3e4 --- /dev/null +++ b/static/netbsd/man2/mount.2 @@ -0,0 +1,442 @@ +.\" $NetBSD: mount.2,v 1.53 2025/03/10 05:18:04 pgoyette Exp $ +.\" +.\" Copyright (c) 1980, 1989, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mount.2 8.3 (Berkeley) 5/24/95 +.\" +.Dd September 2, 2019 +.Dt MOUNT 2 +.Os +.Sh NAME +.Nm mount , +.Nm unmount +.Nd mount or dismount a file system +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/param.h +.In sys/mount.h +.Ft int +.Fn mount "const char *type" "const char *dir" "int flags" "void *data" "size_t data_len" +.Ft int +.Fn unmount "const char *dir" "int flags" +.Sh DESCRIPTION +The +.Fn mount +function grafts +a file system object onto the system file tree +at the point +.Ar dir . +The argument +.Ar data +describes the file system object to be mounted, and is +.Ar data_len +bytes long. +The argument +.Ar type +tells the kernel how to interpret +.Ar data +(See +.Ar type +below). +The contents of the file system +become available through the new mount point +.Ar dir . +Any files in +.Ar dir +at the time +of a successful mount are swept under the carpet so to speak, and +are unavailable until the file system is unmounted. +.Pp +The following +.Ar flags +may be specified to +suppress default semantics which affect file system access. +.Bl -tag -width MNT_SYNCHRONOUS +.It Dv MNT_RDONLY +The file system should be treated as read-only; +even the super-user may not write on it. +.It Dv MNT_UNION +Union with underlying file system instead of obscuring it. +.It Dv MNT_HIDDEN +Cause the +.Xr df 1 +program, and perhaps others, to, by default, +exclude this file system from its output. +.It Dv MNT_NOEXEC +Do not allow files to be executed from the file system. +.It Dv MNT_NOSUID +Do not honor setuid or setgid bits on files when executing them. +.It Dv MNT_NODEV +Do not interpret special files on the file system. +.It Dv MNT_NOCOREDUMP +Do not allow programs to dump core files on the file system. +.It Dv MNT_NOATIME +Never update access time in the file system. +.It Dv MNT_RELATIME +Update access time on write and change. +This helps programs that verify that the file has been read after written +to work. +.It Dv MNT_NODEVMTIME +Never update modification time of device files. +.It Dv MNT_SYMPERM +Recognize the permission of symbolic link when reading or traversing. +.It Dv MNT_SYNCHRONOUS +All I/O to the file system should be done synchronously. +This will slow I/O performance considerably, but +enhances overall file system reliability. +.It Dv MNT_ASYNC +All I/O to the file system should be done asynchronously. +This vastly improves I/O throughput, +but at a cost of making the file system likely to be +completely unrecoverable should the system crash while +unwritten data is pending in kernel buffers. +.It Dv MNT_LOG +Use a file system journal. +.Dv MNT_LOG +causes a journal (or log) to be created in the +file system, creating a record of meta-data writes to be +performed, allowing the actual writes to be deferred. +This improves performance in most cases. +.It MNT_EXTATTR +Enable extended attributes, if the file system supports them and +does not enable them by default. +Currently this is only the case for UFS1. +.El +.Pp +The +.Dv MNT_UPDATE , +.Dv MNT_RELOAD , +and +.Dv MNT_GETARGS +flags indicate that the mount command is being applied +to an already mounted file system. +The +.Dv MNT_UPDATE +flag allows the mount flags to be changed without requiring +that the file system be unmounted and remounted. +A conversion from read-write to read-only will fail if any files +are currently open for writing on the file system, unless the +.Dv MNT_FORCE +flag is also applied. +Some file systems may not allow all flags to be changed. +For example, +some file systems will not allow a change from read-write to read-only. +The +.Dv MNT_RELOAD +flag causes kernel file system data to be reloaded from +the file system device. +It is only permitted on file systems mounted read-only. +Its purpose is to notify the system that the file system +data has been modified by some external process. +The +.Dv MNT_GETARGS +flag does not alter any of the mounted file system's properties, +but returns the file system-specific arguments for the currently mounted +file system. +.Pp +The +.Fa type +argument defines the type of the file system. +The types of file systems known to the system are defined in +.In sys/mount.h , +and those supported by the current running kernel obtained +using +.Xr sysctl 8 +to obtain the node +.\" .Bd -literal -offset indent +vfs.generic.fstypes. +.\" XXX from lite-2: +.\" The types of file systems known to the system can be obtained with +.\" .Xr sysctl 8 +.\" by using the command: +.\" .Bd -literal -offset indent +.\" sysctl vfs +.\" .Ed +.\" .Pp +.Fa data +is a pointer to a structure that contains the type +specific arguments to mount. +Some of the currently supported types of file systems and +their type specific data are: +.Pp +.Dv MOUNT_FFS +.Bd -literal -offset indent -compact +struct ufs_args { + char *fspec; /* block special file to mount */ +}; +.Ed +.Pp +.Dv MOUNT_NFS +.Bd -literal -offset indent -compact +struct nfs_args { + int version; /* args structure version */ + struct sockaddr *addr; /* file server address */ + int addrlen; /* length of address */ + int sotype; /* Socket type */ + int proto; /* and Protocol */ + u_char *fh; /* File handle to be mounted */ + int fhsize; /* Size, in bytes, of fh */ + int flags; /* flags */ + int wsize; /* write size in bytes */ + int rsize; /* read size in bytes */ + int readdirsize; /* readdir size in bytes */ + int timeo; /* initial timeout in .1 secs */ + int retrans; /* times to retry send */ + int maxgrouplist; /* Max. size of group list */ + int readahead; /* # of blocks to readahead */ + int leaseterm; /* Term (sec) of lease */ + int deadthresh; /* Retrans threshold */ + char *hostname; /* server's name */ +}; +.Ed +.Pp +.Dv MOUNT_MFS +.Bd -literal -offset indent -compact +struct mfs_args { + char *fspec; /* name to export for statfs */ + struct export_args30 pad; /* unused */ + caddr_t base; /* base of file system in mem */ + u_long size; /* size of file system */ +}; +.Ed +.\" XXX from lite-2: +.\" The format for these argument structures is described in the +.\" manual page for each file system. +.\" By convention file system manual pages are named +.\" by prefixing ``mount_'' to the name of the file system as returned by +.\" .Xr sysctl 8 . +.\" Thus the +.\" .Nm NFS +.\" file system is described by the +.\" .Xr mount_nfs 8 +.\" manual page. +.Pp +The +.Fn unmount +function call disassociates the file system from the specified +mount point +.Fa dir . +.Pp +The +.Fa flags +argument may specify +.Dv MNT_FORCE +to specify that the file system should be forcibly unmounted even if files are +still active. +Active special devices continue to work, +but any further accesses to any other active files result in errors +even if the file system is later remounted. +.Sh RETURN VALUES +.Fn mount +returns the value 0 if the mount was successful, +the number of bytes written to +.Ar data +for +.Dv MNT_GETARGS , +otherwise \-1 is returned and the variable +.Va errno +is set to indicate the error. +.Pp +.Fn unmount +returns the value 0 if the unmount succeeded; otherwise \-1 is returned +and the variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn mount +will fail when one of the following occurs: +.Bl -tag -width Er +.It Bq Er EBUSY +Another process currently holds a reference to +.Fa dir , +or for an update from read-write to read-only +there are files on the file system open for writes. +.It Bq Er EFAULT +.Fa dir +points outside the process's allocated address space. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating a pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of +.Fa dir +does not exist. +.It Bq Er ENOTDIR +A component of +.Ar name +is not a directory, +or a path prefix of +.Ar special +is not a directory. +.It Bq Er EPERM +The caller is not the super-user, +and ordinary user mounts are not permitted or +this particular request violates the rules. +.El +.Pp +The following errors can occur for a +.Em ufs +file system mount: +.Bl -tag -width Er +.It Bq Er EBUSY +.Ar Fspec +is already mounted. +.It Bq Er EFAULT +.Ar Fspec +points outside the process's allocated address space. +.It Bq Er EINVAL +The super block for the file system had a bad magic +number or an out of range block size. +.It Bq Er EIO +An I/O error occurred while reading the super block or +cylinder group information. +.It Bq Er EMFILE +No space remains in the mount table. +.It Bq Er ENODEV +A component of ufs_args +.Ar fspec +does not exist. +.It Bq Er ENOMEM +Not enough memory was available to read the cylinder +group information for the file system. +.It Bq Er ENOTBLK +.Ar Fspec +is not a block device. +.It Bq Er ENXIO +The major device number of +.Ar fspec +is out of range (this indicates no device driver exists +for the associated hardware). +.El +.Pp +The following errors can occur for a +.Em nfs +file system mount: +.Bl -tag -width Er +.It Bq Er EFAULT +Some part of the information described by nfs_args +points outside the process's allocated address space. +.It Bq Er ETIMEDOUT +.Em Nfs +timed out trying to contact the server. +.El +.Pp +The following errors can occur for a +.Em mfs +file system mount: +.Bl -tag -width Er +.It Bq Er EFAULT +.Em Name +points outside the process's allocated address space. +.It Bq Er EINVAL +The super block for the file system had a bad magic +number or an out of range block size. +.It Bq Er EIO +A paging error occurred while reading the super block or +cylinder group information. +.It Bq Er EMFILE +No space remains in the mount table. +.It Bq Er ENOMEM +Not enough memory was available to read the cylinder +group information for the file system. +.El +.Pp +.Fn unmount +may fail with one of the following errors: +.Bl -tag -width Er +.It Bq Er EBUSY +A process is holding a reference to a file located +on the file system. +.It Bq Er EFAULT +.Fa dir +points outside the process's allocated address space. +.It Bq Er EINVAL +The requested directory is not in the mount table. +.It Bq Er EIO +An I/O error occurred while writing cached file system information. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOTDIR +A component of the path is not a directory. +.It Bq Er EPERM +The caller is not the super-user. +.El +.Pp +A +.Em ufs +or +.Em mfs +mount can also fail if the maximum number of file systems are currently +mounted. +.Sh SEE ALSO +.Xr df 1 , +.Xr getvfsstat 2 , +.Xr nfssvc 2 , +.Xr getmntinfo 3 , +.Xr symlink 7 , +.Xr mount 8 , +.Xr sysctl 8 , +.Xr umount 8 +.Sh HISTORY +The +.Fn mount +and +.Fn umount +(now +.Fn unmount ) +functions appeared in +.At v1 . +.Pp +Prior to +.Nx 4.0 +the +.Nm +call was used to export NFS file systems. +This is now done through +.Fn nfssvc . +.Pp +The +.Dv data_len +argument was added for +.Nx 5.0 . +.Sh BUGS +Some of the error codes need translation to more obvious messages. +.Pp +Far more file systems are supported than those those listed. diff --git a/static/netbsd/man2/mprotect.2 b/static/netbsd/man2/mprotect.2 new file mode 100644 index 00000000..2625c5bf --- /dev/null +++ b/static/netbsd/man2/mprotect.2 @@ -0,0 +1,105 @@ +.\" $NetBSD: mprotect.2,v 1.29 2019/09/09 07:46:49 wiz Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)mprotect.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd September 8, 2019 +.Dt MPROTECT 2 +.Os +.Sh NAME +.Nm mprotect +.Nd control the protection of pages +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn mprotect "void *addr" "size_t len" "int prot" +.Sh DESCRIPTION +The +.Nm +system call +changes the specified pages to have protection +.Fa prot . +Not all implementations will guarantee protection on a page basis; +the granularity of protection changes may be as large as an entire region. +.Pp +The protections (region accessibility) are specified in the +.Fa prot +argument by +.Tn OR Ns 'ing +the following values: +.Bl -tag -width "Dv MAP_WRITE" -offset indent +.It Dv PROT_EXEC +Pages may be executed. +.It Dv PROT_READ +Pages may be read. +.It Dv PROT_WRITE +Pages may be written. +.It Dv PROT_NONE +Placeholder when requesting no access permission. +.El +.Sh RETURN VALUES +Upon successful completion, +a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EACCES +A memory protection violation occurred. +.Pp +The +.Dv PROT_EXEC +flag was attempted on pages which belong to a file system mounted with the +.Dv NOEXEC +flag. +.Pp +The new protection is less restrictive than the protection originally +set with +.Xr mmap 2 . +.Pp +PaX mprotect restrictions prohibit the requested protection. +.It Bq Er EINVAL +An invalid memory range, or invalid parameters were provided. +.It Bq Er ENOMEM +A resource shortage occurred while internally calling +.Xr uvm_map_protect 9 . +.El +.Sh SEE ALSO +.Xr madvise 2 , +.Xr mincore 2 , +.Xr msync 2 , +.Xr munmap 2 +.Sh HISTORY +The +.Nm +function first appeared in SunOS 4.0 and subsequently +.Bx 4.4 . diff --git a/static/netbsd/man2/mremap.2 b/static/netbsd/man2/mremap.2 new file mode 100644 index 00000000..413f17bb --- /dev/null +++ b/static/netbsd/man2/mremap.2 @@ -0,0 +1,266 @@ +.\" $NetBSD: mremap.2,v 1.10 2023/10/25 18:23:10 riastradh Exp $ +.\" +.\" Copyright (c) 2007 Thomas Klausner and Joerg Sonnenberger +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd May 2, 2018 +.Dt MREMAP 2 +.Os +.Sh NAME +.Nm mremap +.Nd re-map a virtual memory address +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft void * +.Fn mremap "void *oldp" "size_t oldsize" "void *newp" "size_t newsize" \ +"int flags" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +The +.Fn mremap +function resizes the mapped range (see +.Xr mmap 2 ) +starting at +.Ar oldp +and having size +.Ar oldsize +to +.Ar newsize . +The following arguments can be +.Dv OR Ap ed +together in the +.Ar flags +argument: +.Bl -tag -width XXMAPXALIGNEDXnXX +.It Dv MAP_ALIGNED Ns Pq Ar n +The allocation should be aligned to the given boundary, i.e. ensure +that the lowest +.Ar n +bits of the address are zero. +The parameter +.Ar n +should be the base 2 logarithm of the desired alignment (e.g., to +request alignment to 16K, use 14 as the value for n). +The alignment must be equal to or greater than the platform's page +size as returned by +.Xr sysconf 3 +with the +.Dv _SC_PAGESIZE +request. +.It Dv MAP_FIXED +.Ar newp +is tried and +.Fn mremap +fails if that address can't be used as new base address for the range. +Otherwise, +.Ar oldp +and +.Ar newp +are used as hints for the position, factoring in the given alignment. +.It Dv MAP_REMAPDUP +Duplicate the mapping. +Both address ranges reference the same pages, but can have different protection flags. +.El +.Sh RETURN VALUES +.Fn mremap +returns the new address or +.Dv MAP_FAILED , +if the remap failed. +.Sh EXAMPLES +The following example program creates a two mappings for the same +memory range, one RW- and one R-X. +.Bd -literal +#include <sys/types.h> +#include <sys/mman.h> + +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include <stdlib.h> +#include <err.h> + +static int +return_1(void) +{ + return 1; +} + +static void +return_1_end(void) +{ +} + +static int +return_2(void) +{ + return 2; +} + +static void +return_2_end(void) +{ +} + +int +main(int argc, char *argv[]) +{ + void *maprw, *maprx; + int rv; + size_t page = (size_t)sysconf(_SC_PAGESIZE); + + // Create the first mapping that has no protections, but intended + // protections only + maprw = mmap(NULL, page, + PROT_MPROTECT(PROT_EXEC|PROT_WRITE|PROT_READ), + MAP_ANON|MAP_PRIVATE, -1, 0); + if (maprw == MAP_FAILED) + err(EXIT_FAILURE, "mmap failed"); + + // Create the second mapping for the same physical space, which + // again has no protections. + maprx = mremap(maprw, page, NULL, page, MAP_REMAPDUP); + if (maprx == MAP_FAILED) + err(EXIT_FAILURE, "mremap failed"); + + // Set the first mapping read/write + if (mprotect(maprw, page, PROT_READ|PROT_WRITE) == -1) + err(EXIT_FAILURE, "mprotect(rw) failed"); + + // Set the second mapping read/execute + if (mprotect(maprx, page, PROT_READ|PROT_EXEC) == -1) + err(EXIT_FAILURE, "mprotect(rx) failed"); + +#define XS(a) (size_t)((uintptr_t)(a ## _end) - (uintptr_t)(a)) + + // Copy and run the first function + memcpy(maprw, return_1, XS(return_1)); + __builtin___clear_cache(maprw, (void *)((uintptr_t)maprw + page)); + rv = ((int (*)(void))maprx)(); + printf("%d\en", rv); + + // Copy and run the second function + memcpy(maprw, return_2, XS(return_2)); + __builtin___clear_cache(maprw, (void *)((uintptr_t)maprw + page)); + rv = ((int (*)(void))maprx)(); + printf("%d\en", rv); + + return EXIT_SUCCESS; +} +.Ed +.Sh COMPATIBILITY +The semantics of +.Fn mremap +differ from the one provided by glibc on Linux in that the +.Ar newp +argument was added and a different set of +.Ar flags +are implemented. +.Sh ERRORS +The +.Fn mremap +function fails if: +.Bl -tag -width Er +.It Bq Er E2BIG +A request to extend +.Fa oldp +failed because of address overflow. +.It Bq Er EINVAL +If +.Fa oldp +or +.Fa newp +are not page aligned, or +.Fa oldsize +or +.Fa newsize +are not a multiple of the page size, or if +.Fa oldp + +.Fa oldsize +or +.Fa newp + +.Fa newsize +wrap around, or if an invalid alignment was requested in the +.Fa flags +argument, or if the request was to extend +.Fa oldp +and the extension address space either did not fit, was already occupied, +or had set permissions. +.It Bq Er ENOENT +If the +.Fa oldp +segmented was not already mapped. +.It Bq Er ENOMEM +If there was either no space to allocate/move memory, +or if a fixed allocation was requested in the +.Fa flags +that could not be accommodated. +.El +.Sh SEE ALSO +.Xr mmap 2 , +.Xr munmap 2 +.Sh HISTORY +The +.Fn mremap +system call appeared in +.Nx 5.0 . +It was based on the code that supports +.Fn mremap +compatibility for Linux binaries. +.Sh BUGS +If a mapping is created by +.Xr mmap 2 +with +.Dv MAP_PRIVATE +and then duplicated by +.Nm +with +.Dv MAP_REMAPDUP , +calling +.Xr fork 2 +destroys the coupling between the original and duplicate mapping. +Workarounds: +.Bl -dash +.It +Create the original mapping with +.Dv MAP_SHARED . +.It +Use +.Xr minherit 2 +with +.Dv MAP_INHERIT_NONE +on the writable mapping. +.It +Don't use +.Xr fork 2 ; +use +.Xr posix_spawn 2 . +.El +.Pp +See +.Lk https://gnats.NetBSD.org/55177 "PR lib/55177" +for details. diff --git a/static/netbsd/man2/msgctl.2 b/static/netbsd/man2/msgctl.2 new file mode 100644 index 00000000..a29c59b6 --- /dev/null +++ b/static/netbsd/man2/msgctl.2 @@ -0,0 +1,195 @@ +.\" $NetBSD: msgctl.2,v 1.16 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd August 25, 1999 +.Dt MSGCTL 2 +.Os +.Sh NAME +.Nm msgctl +.Nd message control operations +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/msg.h +.Ft int +.Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf" +.Sh DESCRIPTION +The +.Fn msgctl +system call performs control operations on the message queue specified +by +.Fa msqid . +.Pp +Each message queue has a +.Sy msqid_ds +structure associated with it which contains the following members: +.Bd -literal + struct ipc_perm msg_perm; /* msg queue permission bits */ + msgqnum_t msg_qnum; /* # of msgs in the queue */ + msglen_t msg_qbytes; /* max # of bytes on the queue */ + pid_t msg_lspid; /* pid of last msgsnd() */ + pid_t msg_lrpid; /* pid of last msgrcv() */ + time_t msg_stime; /* time of last msgsnd() */ + time_t msg_rtime; /* time of last msgrcv() */ + time_t msg_ctime; /* time of last msgctl() */ +.Ed +.Pp +The +.Sy ipc_perm +structure used inside the +.Sy msgid_ds +structure is defined in +.In sys/ipc.h +and contains the following members: +.Bd -literal + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* permission (lower 9 bits) */ +.Ed +.Pp +The operation to be performed by +.Fn msgctl +is specified in +.Fa cmd +and is one of: +.Bl -tag -width IPC_RMIDX +.It Dv IPC_STAT +Gather information about the message queue and place it in the +structure pointed to by +.Fa buf . +.It Dv IPC_SET +Set the value of the +.Va msg_perm.uid , +.Va msg_perm.gid , +.Va msg_perm.mode +and +.Va msg_qbytes +fields in the structure associated with +.Fa msqid . +The values are taken from the corresponding fields in the structure +pointed to by +.Fa buf . +This operation can only be executed by the super-user, or a process that +has an effective user id equal to either +.Va msg_perm.cuid +or +.Va msg_perm.uid +in the data structure associated with the message queue. +The value of +.Va msg_qbytes +can only be increased by the super-user. +Values for +.Va msg_qbytes +that exceed the system limit +.Pf ( Dv MSGMNB +from +.In sys/msg.h ) +are silently truncated to that limit. +.It Dv IPC_RMID +Remove the message queue specified by +.Fa msqid +and destroy the data associated with it. +Only the super-user or a process with an effective uid equal to the +.Va msg_perm.cuid +or +.Va msg_perm.uid +values in the data structure associated with the queue can do this. +.El +.Pp +The permission to read from or write to a message queue (see +.Xr msgsnd 2 +and +.Xr msgrcv 2 ) +is determined by the +.Va msg_perm.mode +field in the same way as is done with files (see +.Xr chmod 2 ) , +but the effective uid can match either the +.Va msg_perm.cuid +field or the +.Va msg_perm.uid +field, and the +effective gid can match either +.Va msg_perm.cgid +or +.Va msg_perm.gid . +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn msgctl +will fail if: +.Bl -tag -width Er +.It Bq Er EPERM +.Fa cmd +is equal to +.Dv IPC_SET +or +.Dv IPC_RMID +and the caller is not the super-user, nor does +the effective uid match either the +.Va msg_perm.uid +or +.Va msg_perm.cuid +fields of the data structure associated with the message queue. +.Pp +An attempt was made to increase the value of +.Va msg_qbytes +through +.Dv IPC_SET , +but the caller is not the super-user. +.It Bq Er EACCES +.Fa cmd +is +.Dv IPC_STAT +and the caller has no read permission for this message queue. +.It Bq Er EINVAL +.Fa msqid +is not a valid message queue identifier. +.Pp +.Fa cmd +is not a valid command. +.It Bq Er EFAULT +.Fa buf +specifies an invalid address. +.El +.Sh SEE ALSO +.Xr msgget 2 , +.Xr msgrcv 2 , +.Xr msgsnd 2 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Message queues appeared in the first release of +.At V . diff --git a/static/netbsd/man2/msgget.2 b/static/netbsd/man2/msgget.2 new file mode 100644 index 00000000..945b5ddc --- /dev/null +++ b/static/netbsd/man2/msgget.2 @@ -0,0 +1,147 @@ +.\" $NetBSD: msgget.2,v 1.15 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 13, 2004 +.Dt MSGGET 2 +.Os +.Sh NAME +.Nm msgget +.Nd get message queue identifier +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/msg.h +.Ft int +.Fn msgget "key_t key" "int msgflg" +.Sh DESCRIPTION +The +.Fn msgget +system call returns the message queue identifier associated with +.Fa key . +A message queue identifier is a unique integer greater than zero. +.Pp +A message queue is created if either +.Fa key +is equal to +.Dv IPC_PRIVATE , +or +.Fa key +does not have a message queue identifier associated with it and the +.Dv IPC_CREAT +bit is set in +.Fa msgflg . +If both the +.Dv IPC_CREAT +bit and the +.Dv IPC_EXCL +bit are set in +.Fa msgflg , +and +.Fa key +has a message queue identifier associated with it already, +the operation will fail. +.Pp +If a new message queue is created, the data structure associated with it (the +.Va msqid_ds +structure, see +.Xr msgctl 2 ) +is initialized as follows: +.Bl -bullet +.It +.Va msg_perm.cuid +and +.Va msg_perm.uid +are set to the effective uid of the calling process. +.It +.Va msg_perm.gid +and +.Va msg_perm.cgid +are set to the effective gid of the calling process. +.It +.Va msg_perm.mode +is set to the lower 9 bits of +.Fa msgflg . +.It +.Va msg_qnum , +.Va msg_lspid , +.Va msg_lrpid , +.Va msg_rtime , +and +.Va msg_stime +are set to 0. +.It +.Va msg_qbytes +is set to the system wide maximum value for the number of bytes in a queue +.Pq Dv MSGMNB . +.It +.Va msg_ctime +is set to the current time. +.El +.Sh RETURN VALUES +Upon successful completion a positive message queue identifier is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EACCES +A message queue is already associated with +.Fa key +and the caller has no permission to access it. +.It Bq Er EEXIST +Both +.Dv IPC_CREAT +and +.Dv IPC_EXCL +are set in +.Fa msgflg , +and a message queue is already associated with +.Fa key . +.It Bq Er ENOSPC +A new message queue could not be created because the system limit for +the number of message queues has been reached. +.It Bq Er ENOENT +.Dv IPC_CREAT +is not set in +.Fa msgflg +and no message queue associated with +.Fa key +was found. +.El +.Sh SEE ALSO +.Xr msgctl 2 , +.Xr msgrcv 2 , +.Xr msgsnd 2 , +.Xr ftok 3 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Message queues appeared in the first release of +.At V . diff --git a/static/netbsd/man2/msgrcv.2 b/static/netbsd/man2/msgrcv.2 new file mode 100644 index 00000000..f064f197 --- /dev/null +++ b/static/netbsd/man2/msgrcv.2 @@ -0,0 +1,216 @@ +.\" $NetBSD: msgrcv.2,v 1.23 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd July 24, 2013 +.Dt MSGRCV 2 +.Os +.Sh NAME +.Nm msgrcv +.Nd receive a message from a message queue +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/msg.h +.Ft ssize_t +.Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg" +.Sh DESCRIPTION +The +.Fn msgrcv +function receives a message from the message queue specified in +.Fa msqid , +and places it into the user-defined structure pointed to by +.Fa msgp . +This structure must contain a first field of type +.Sy long +that will indicate the user-defined type of the message. +The remaining fields will contain the contents of the message. +The following is an example of what this user-defined structure might +look like: +.Bd -literal +struct mymsg { + long mtype; /* message type */ + char mtext[1]; /* body of message */ +}; +.Ed +.Pp +.Va mtype +is an integer greater than 0 that can be used to select messages. +.Va mtext +is an array of bytes, with size up to the system limit +.Dv MSGMAX . +.Pp +The value of +.Fa msgtyp +has one of the following meanings: +.Bl -bullet +.It +.Fa msgtyp +is greater than 0. +The first message of type +.Fa msgtyp +will be received. +.It +.Fa msgtyp +is equal to 0. +The first message on the queue will be received. +.It +.Fa msgtyp +is less than 0. +The first message of the lowest message type that is +less than or equal to the absolute value of +.Fa msgtyp +will be received. +.El +.Pp +The argument +.Fa msgsz +specifies the size in bytes of +.Va mtext . +If the received message has a length greater than +.Fa msgsz +it will be silently truncated if the +.Dv MSG_NOERROR +flag is set in +.Fa msgflg , +otherwise an error will be returned. +.Pp +If no matching message is present on the message queue specified by +.Fa msqid , +the behaviour of +.Fn msgrcv +depends on whether the +.Dv IPC_NOWAIT +flag is set in +.Fa msgflg +or not. +If +.Dv IPC_NOWAIT +is set, then +.Fn msgrcv +will immediately return a value of \-1 and set +.Va errno +to +.Er EAGAIN . +If +.Dv IPC_NOWAIT +is not set, the calling process will block until: +.Bl -bullet +.It +A message of the requested type becomes available on the message queue. +.It +The message queue is removed, in which case \-1 will be returned and +.Va errno +set to +.Er EIDRM . +.It +A signal is received and caught. +\-1 is returned and +.Va errno +is set to +.Er EINTR . +.El +.Pp +If a message is successfully received, the data structure associated with +.Fa msqid +is updated as follows: +.Bl -bullet +.It +.Va msg_lrpid +is set to the pid of the caller. +.It +.Va msg_lrtime +is set to the current time. +.It +.Va msg_qnum +is decremented by 1. +.El +.Sh RETURN VALUES +Upon successful completion, +.Fn msgrcv +returns the number of bytes received and placed into the +.Va mtext +field of the structure pointed to by +.Fa msgp . +Otherwise, \-1 is returned, and +.Va errno +set to indicate the error. +.Sh ERRORS +.Fn msgrcv +will fail if: +.Bl -tag -width Er +.It Bq Er E2BIG +A matching message was received, but its size was greater than +.Fa msgsz +and the +.Dv MSG_NOERROR +flag was not set in +.Fa msgflg . +.It Bq Er EACCES +The calling process does not have read access to the message queue. +.It Bq Er EAGAIN +There is no message of the requested type available on the message queue, +and +.Dv IPC_NOWAIT +is set in +.Fa msgflg . +.It Bq Er EFAULT +.Fa msgp +points to an invalid address. +.It Bq Er EIDRM +The message queue identifier +.Fa msqid +is removed from the system. +.It Bq Er EINTR +The system call was interrupted by the delivery of a signal. +.It Bq Er EINVAL +.Fa msqid +is not a valid message queue identifier +.Pp +The message queue was removed while +.Fn msgrcv +was waiting for a message of the requested type to become available in it. +.Pp +.Fa msgsz +is greater than +.Dv SSIZE_MAX . +.It Bq Er ENOMSG +The queue does not contain a message of the desired type and +.Dv IPC_NOWAIT +is set. +.El +.Sh SEE ALSO +.Xr msgctl 2 , +.Xr msgget 2 , +.Xr msgsnd 2 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Message queues appeared in the first release of +.At V . diff --git a/static/netbsd/man2/msgsnd.2 b/static/netbsd/man2/msgsnd.2 new file mode 100644 index 00000000..79d0fca7 --- /dev/null +++ b/static/netbsd/man2/msgsnd.2 @@ -0,0 +1,179 @@ +.\" $NetBSD: msgsnd.2,v 1.21 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd July 24, 2013 +.Dt MSGSND 2 +.Os +.Sh NAME +.Nm msgsnd +.Nd send a message to a message queue +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/msg.h +.Ft int +.Fn msgsnd "int msqid" "const void *msgp" "size_t msgsz" "int msgflg" +.Sh DESCRIPTION +The +.Fn msgsnd +function sends a message from the message queue specified in +.Fa msqid . +The +.Fa msgp +argument is a pointer to a user-defined structure containing the message. +This structure must contain a first field of type +.Vt long +that will indicate the user-defined type of the message. +The remaining fields will contain the contents of the message. +The following is an example of what this user-defined +structure might look like: +.Bd -literal -offset indent +struct mymsg { + long mtype; /* message type */ + char mtext[1]; /* body of message */ +}; +.Ed +.Pp +The +.Va mtype +field is an integer greater than 0 that can +be used for selecting messages (see +.Xr msgrcv 2 ) . +The +.Va mtext +field is an array of bytes of length +.Fa msgsz , +with size up to the system limit +.Dv MSGMAX . +.Pp +If the number of bytes already on the message queue plus +.Fa msgsz +is greater than the maximum number of bytes in the message queue +.Pf ( Va msg_qbytes , +see +.Xr msgctl 2 ) , +or if the number of messages on all queues system-wide is already equal to +the system limit, +.Fa msgflg +determines the action of +.Fn msgsnd . +If +.Fa msgflg +has +.Dv IPC_NOWAIT +mask set in it, the call will return immediately. +If +.Fa msgflg +does not have +.Dv IPC_NOWAIT +set in it, the call will block until: +.Bl -bullet -offset indent +.It +The condition which caused the call to block no longer exists. +The message was sent. +.It +The message queue is removed, in which case \-1 will be returned and +.Va errno +set to +.Er EINVAL . +.It +The caller catches a signal. +The call returns with +.Va errno +set to +.Er EINTR . +.El +.Pp +After a successful call, the data structure associated with the message +queue is updated in the following way: +.Bl -bullet -offset indent +.It +.Va msg_qnum +is incremented by 1. +.It +.Va msg_lspid +is set to the pid of the calling process. +.It +.Va msg_stime +is set to the current time. +.El +.Sh RETURN VALUES +Upon successful completion, 0 is returned. +Otherwise, \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn msgsnd +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The calling process does not have write access to the message queue. +.It Bq Er EAGAIN +There was no space for this message either on the queue or in the whole +system, and +.Dv IPC_NOWAIT +was set in +.Fa msgflg . +.It Bq Er EFAULT +.Fa msgp +points to an invalid address. +.It Bq Er EINTR +The system call was interrupted by the delivery of a signal. +.It Bq Er EINVAL +The +.Fa msqid +argument is not a valid message queue identifier, +or the value of +.Fa mtype +is less than 1. +.Pp +The message queue was removed while +.Fn msgsnd +was waiting for a resource to become available in order to deliver the +message. +.Pp +The +.Fa msgsz +argument is greater than +.Va msg_qbytes +or +.Dv SSIZE_MAX . +.El +.Sh SEE ALSO +.Xr msgctl 2 , +.Xr msgget 2 , +.Xr msgrcv 2 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 +and +.St -p1003.1-2001 . +.Sh HISTORY +Message queues appeared in the first release of +.At V . diff --git a/static/netbsd/man2/msync.2 b/static/netbsd/man2/msync.2 new file mode 100644 index 00000000..f0700160 --- /dev/null +++ b/static/netbsd/man2/msync.2 @@ -0,0 +1,132 @@ +.\" $NetBSD: msync.2,v 1.25 2014/05/09 17:25:11 njoly Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)msync.2 8.2 (Berkeley) 6/21/94 +.\" +.Dd May 9, 2014 +.Dt MSYNC 2 +.Os +.Sh NAME +.Nm msync +.Nd synchronize a mapped region +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn msync "void *addr" "size_t len" "int flags" +.Sh DESCRIPTION +The +.Fn msync +system call writes all pages with shared modifications +in the specified +region of the process's address space back to permanent +storage, and, if requested, invalidates cached data mapped +in the region. +If +.Fa len +is 0, all modified pages within the region containing +.Fa addr +will be flushed; +if +.Fa len +is non-zero, only modified pages containing +.Fa addr +and +.Fa len +succeeding locations will be flushed. +Any required synchronization of memory caches +will also take place at this time. +Filesystem operations on a file that is mapped for shared modifications +are unpredictable except after an +.Fn msync . +.Pp +The +.Fa flags +argument is formed by +.Em or Ns 'ing +the following values +.Pp +.Bl -column -offset indent -compact MS_INVALIDATE +.It Dv MS_ASYNC Ta Perform asynchronous writes. +.It Dv MS_SYNC Ta Perform synchronous writes. +.It Dv MS_INVALIDATE Ta Invalidate cached data after writing. +.El +.Sh RETURN VALUES +Upon successful completion, +a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +The following errors may be reported: +.Bl -tag -width Er +.It Bq Er EBUSY +The +.Dv MS_INVALIDATE +flag was specified and a portion of the specified region +was locked with +.Xr mlock 2 . +.It Bq Er EINVAL +The specified +.Fa flags +argument was invalid. +.It Bq Er EINVAL +The +.Fa addr +parameter was not page aligned. +.It Bq Er EINVAL +The +.Fa addr +parameter did not specify an address part of a mapped region. +.It Bq Er EIO +An I/O error occurred while writing to the file system. +.It Bq Er ENOMEM +Addresses in the specified region are outside the range allowed +for the address space of the process, or specify one or more pages +which are unmapped. +.El +.Sh SEE ALSO +.Xr mlock 2 , +.Xr mmap 2 , +.Xr munlock 2 +.Sh STANDARDS +The +.Fn msync +function conforms to +.St -p1003.1b-93 +.Sh HISTORY +The +.Fn msync +function first appeared in +.Bx 4.4 . +It was modified to conform to +.St -p1003.1b-93 +in +.Nx 1.3 . diff --git a/static/netbsd/man2/munmap.2 b/static/netbsd/man2/munmap.2 new file mode 100644 index 00000000..f0263cc2 --- /dev/null +++ b/static/netbsd/man2/munmap.2 @@ -0,0 +1,86 @@ +.\" $NetBSD: munmap.2,v 1.21 2014/05/30 16:11:01 njoly Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)munmap.2 8.3 (Berkeley) 5/27/94 +.\" +.Dd May 27, 1994 +.Dt MUNMAP 2 +.Os +.Sh NAME +.Nm munmap +.Nd remove a mapping +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn munmap "void *addr" "size_t len" +.Sh DESCRIPTION +The +.Fn munmap +system call +deletes the mappings for the specified address range, +and causes further references to addresses within the range +to generate invalid memory references. +.Sh RETURN VALUES +Upon successful completion, +.Nm munmap +returns zero. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn munmap +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa addr +parameter was not page aligned, or +some part of the region being unmapped is outside the +valid address range for a process. +.El +.Sh SEE ALSO +.Xr madvise 2 , +.Xr mincore 2 , +.Xr mlock 2 , +.Xr mmap 2 , +.Xr mprotect 2 , +.Xr msync 2 , +.Xr getpagesize 3 +.Sh STANDARDS +The +.Fn munmap +function conforms to +.St -p1003.1b-93 . +.Sh HISTORY +The +.Fn munmap +function first appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/nanosleep.2 b/static/netbsd/man2/nanosleep.2 new file mode 100644 index 00000000..f218f075 --- /dev/null +++ b/static/netbsd/man2/nanosleep.2 @@ -0,0 +1,196 @@ +.\" $NetBSD: nanosleep.2,v 1.25 2017/10/25 17:58:04 abhinav Exp $ +.\" +.\" Copyright (c) 1986, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sleep.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd November 11, 2016 +.Dt NANOSLEEP 2 +.Os +.Sh NAME +.Nm nanosleep , +.Nm clock_nanosleep +.Nd high resolution sleep +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In time.h +.Ft int +.Fn clock_nanosleep "clockid_t clock_id" "int flags" "const struct timespec *rqtp" "struct timespec *rmtp" +.Ft int +.Fn nanosleep "const struct timespec *rqtp" "struct timespec *rmtp" +.Sh DESCRIPTION +If the +.Dv TIMER_ABSTIME +flag is not set in the +.Fa flags +argument, then +.Fn clock_nanosleep +suspends execution of the calling thread until either the number of +seconds and nanoseconds specified in the +.Fa rqtp +argument have elapsed using the clock in the +.Fa clock_id +argument, or a signal is delivered to the calling process and its +action is to invoke a signal catching function or to terminate the +process. +.Pp +If the +.Dv TIMER_ABSTIME +flag is set in the +.Fa flags +argument, then +.Fn clock_nanosleep +suspends execution of the calling thread until either the value +of the clock specified in the +.Fa clock_id +argument reaches the value of the +.Fa rqtp +argument in seconds and nanoseconds, +or a signal is delivered to the calling process and its +action is to invoke a signal catching function or to terminate the +process. +.Pp +The suspension time may be longer than requested due to the +scheduling of other activity by the system. +.Pp +The +.Fn nanosleep +function behaves like +.Fn clock_nanosleep +with the +.Fa clock_id +argument equal to +.Dv CLOCK_MONOTONIC +and the +.Fa flags +argument having +.Dv TIMER_ABSTIME +not set. +.Pp +The +.Em struct timespec +is described in +.Xr timespec 3 . +The +.Fa clock_id +specified is the time source, which is described in +.Xr clock_gettime 2 . +.Sh RETURN VALUES +If the +.Fn clock_nanosleep +or the +.Fn nanosleep +functions return because the requested time has elapsed, the value +returned will be zero. +.Pp +If the +.Fn clock_nanosleep +or the +.Fn nanosleep +functions return due to the delivery of a signal, then +.Fn clock_nanosleep +will return directly the error number, and +.Fn nanosleep +will return \-1, and the global variable +.Va errno +will be set to indicate the interruption. +If +.Fa rmtp +is +.Pf non- Dv NULL , +the timespec structure it references is updated to contain the +unslept amount (the request time minus the time actually slept), +unless it is called from +.Fn clock_nanosleep +with a +.Fa flags +argument of +.Dv TIMER_ABSTIME . +In that case, the +.Fa rmtp +argument is left unmodified. +.Sh ERRORS +If any of the following conditions occur, the +.Fn nanosleep +function shall return \-1 and set +.Va errno +to the corresponding value, and the +.Fn clock_nanosleep +function shall return the error number directly. +.Bl -tag -width Er +.It Bq Er EFAULT +Either +.Fa rqtp +or +.Fa rmtp +points to memory that is not a valid part of the process +address space. +.It Bq Er EINTR +.Nm +was interrupted by the delivery of a signal. +.It Bq Er EINVAL +.Fa rqtp +specified a nanosecond value less than zero or greater than 1000 million. +.It Bq Er ENOSYS +.Nm +is not supported by this implementation. +.It Bq Er ENOTSUP +for +.Fn clock_nanosleep , +the clock specified in the +.Fa clock_id +argument is not supported. +.El +.Sh SEE ALSO +.Xr clock_gettime 2 , +.Xr sleep 3 , +.Xr timespec 3 +.Sh STANDARDS +The +.Fn nanosleep +function conforms to +.St -p1003.1b-93 . +The +.Fn clock_nanosleep +function conforms to +.St -p1003.1-2008 . +.Sh BUGS +The +.Nx +kernel is not tickless, so the maximum sleep resolution is determined +by the value of +.Dv HZ +which is by default +.Dv 100 +in most architectures. +This means that a request to sleep for less than +.Dv 10ms +(1 / +.Dv HZ +seconds), is rounded up to that. diff --git a/static/netbsd/man2/nestgroup.out.2 b/static/netbsd/man2/nestgroup.out.2 new file mode 100644 index 00000000..81c5fc8d --- /dev/null +++ b/static/netbsd/man2/nestgroup.out.2 @@ -0,0 +1,628 @@ +# Re-search the entire database after adding memberof configuration... +dn: cn=A-M,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: A-M +member: cn=Baby Herman,ou=People,dc=example,dc=com +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Daffy Duck,ou=People,dc=example,dc=com +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Baby Herman,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Baby Herman +sn: Herman +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer2,ou=Groups,dc=example,dc=com + +dn: cn=Bugs Bunny,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Bugs Bunny +sn: Bunny +memberOf: cn=Leporidae,ou=Groups,dc=example,dc=com +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com + +dn: cn=Daffy Duck,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Daffy Duck +sn: Duck +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com + +dn: cn=Desert Foes,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Desert Foes +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com + +dn: cn=Elmer Fudd,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Elmer Fudd +sn: Fudd +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Humans,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com + +dn: cn=Endless Loop,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Endless Loop +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +member: cn=Endless Loop,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com + +dn: dc=example,dc=com +objectClass: organization +objectClass: dcObject +o: Example, Inc. +dc: example + +dn: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Foghorn Leghorn +sn: Leghorn +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com + +dn: ou=Groups,dc=example,dc=com +objectClass: organizationalUnit +ou: Groups + +dn: cn=Humans,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Humans +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Yosemite Sam,ou=People,dc=example,dc=com +memberOf: cn=Mixer2,ou=Groups,dc=example,dc=com + +dn: cn=Jessica Rabbit,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Jessica Rabbit +sn: Rabbit +memberOf: cn=Rabbits,ou=Groups,dc=example,dc=com +memberOf: cn=A-M,ou=Groups,dc=example,dc=com + +dn: cn=Leporidae,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Leporidae +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Rabbits,ou=Groups,dc=example,dc=com +member: cn=Roger Rabbit,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com + +dn: cn=Looney Tunes,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Looney Tunes +member: cn=Porky Pig,ou=People,dc=example,dc=com +member: cn=Daffy Duck,ou=People,dc=example,dc=com +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Tweety Bird,ou=People,dc=example,dc=com + +dn: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Loop, Endless +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +member: cn=Endless Loop,ou=Groups,dc=example,dc=com +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com + +dn: cn=Mixer1,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer1 +member: cn=Leporidae,ou=Groups,dc=example,dc=com +member: cn=Desert Foes,ou=Groups,dc=example,dc=com +member: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Rabbits,ou=Groups,dc=example,dc=com +member: cn=Roger Rabbit,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com + +dn: cn=Mixer2,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer2 +member: cn=Humans,ou=Groups,dc=example,dc=com +member: cn=Baby Herman,ou=People,dc=example,dc=com +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Yosemite Sam,ou=People,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Mixer3,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer3 +member: cn=Desert Foes,ou=Groups,dc=example,dc=com +member: cn=Porky Pig,ou=People,dc=example,dc=com +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Mixer4,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer4 +member: cn=Mixer1,ou=Groups,dc=example,dc=com +member: cn=Mixer2,ou=Groups,dc=example,dc=com +member: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +member: cn=Leporidae,ou=Groups,dc=example,dc=com +member: cn=Desert Foes,ou=Groups,dc=example,dc=com +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Rabbits,ou=Groups,dc=example,dc=com +member: cn=Roger Rabbit,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com +member: cn=Humans,ou=Groups,dc=example,dc=com +member: cn=Baby Herman,ou=People,dc=example,dc=com +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Yosemite Sam,ou=People,dc=example,dc=com + +dn: cn=Mixer5,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer5 +member: cn=Mixer2,ou=Groups,dc=example,dc=com +member: cn=Mixer3,ou=Groups,dc=example,dc=com +member: cn=A-M,ou=Groups,dc=example,dc=com +member: cn=Humans,ou=Groups,dc=example,dc=com +member: cn=Baby Herman,ou=People,dc=example,dc=com +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Yosemite Sam,ou=People,dc=example,dc=com +member: cn=Desert Foes,ou=Groups,dc=example,dc=com +member: cn=Porky Pig,ou=People,dc=example,dc=com +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Daffy Duck,ou=People,dc=example,dc=com +member: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com + +dn: cn=N-Z,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: N-Z +member: cn=Porky Pig,ou=People,dc=example,dc=com +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Roger Rabbit,ou=People,dc=example,dc=com +member: cn=Tweety Bird,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +member: cn=Yosemite Sam,ou=People,dc=example,dc=com + +dn: ou=People,dc=example,dc=com +objectClass: organizationalUnit +ou: People + +dn: cn=Porky Pig,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Porky Pig +sn: Pig +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com + +dn: cn=Rabbits,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Rabbits +member: cn=Roger Rabbit,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com +memberOf: cn=Leporidae,ou=Groups,dc=example,dc=com + +dn: cn=Road Runner,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Road Runner +sn: Runner +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com + +dn: cn=Roger Rabbit,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Roger Rabbit +sn: Rabbit +memberOf: cn=Rabbits,ou=Groups,dc=example,dc=com +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com + +dn: cn=Strays,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Strays +member: cn=Tom Riddle,ou=People,dc=example,dc=com + +dn: cn=Tom Riddle,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Tom Riddle +sn: Riddle +memberOf: cn=Strays,ou=Groups,dc=example,dc=com + +dn: cn=Tweety Bird,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Tweety Bird +sn: Bird +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com + +dn: cn=Wile E. Coyote,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Wile E. Coyote +sn: Coyote +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com + +dn: cn=Yosemite Sam,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Yosemite Sam +sn: Sam +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Humans,ou=Groups,dc=example,dc=com + +# Search for memberOf=cn=Mixer3... +dn: cn=Desert Foes,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Desert Foes +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com + +dn: cn=Porky Pig,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Porky Pig +sn: Pig +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com + +# Re-search for memberOf=cn=Mixer3 with filter nesting... +dn: cn=Desert Foes,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Desert Foes +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com + +dn: cn=Porky Pig,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Porky Pig +sn: Pig +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com + +dn: cn=Road Runner,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Road Runner +sn: Runner +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com + +dn: cn=Wile E. Coyote,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Wile E. Coyote +sn: Coyote +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com + +# Re-search for memberOf=cn=Mixer3 with filter and value nesting... +dn: cn=Desert Foes,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Desert Foes +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Porky Pig,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Porky Pig +sn: Pig +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Road Runner,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Road Runner +sn: Runner +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com + +dn: cn=Wile E. Coyote,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Wile E. Coyote +sn: Coyote +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com + +# Re-search the entire database with memberof value nesting... +dn: cn=A-M,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: A-M +member: cn=Baby Herman,ou=People,dc=example,dc=com +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Daffy Duck,ou=People,dc=example,dc=com +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Baby Herman,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Baby Herman +sn: Herman +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer2,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Bugs Bunny,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Bugs Bunny +sn: Bunny +memberOf: cn=Leporidae,ou=Groups,dc=example,dc=com +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Daffy Duck,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Daffy Duck +sn: Duck +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Desert Foes,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Desert Foes +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Elmer Fudd,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Elmer Fudd +sn: Fudd +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Humans,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer2,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Endless Loop,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Endless Loop +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com + +dn: dc=example,dc=com +objectClass: organization +objectClass: dcObject +o: Example, Inc. +dc: example + +dn: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Foghorn Leghorn +sn: Leghorn +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: ou=Groups,dc=example,dc=com +objectClass: organizationalUnit +ou: Groups + +dn: cn=Humans,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Humans +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Yosemite Sam,ou=People,dc=example,dc=com +memberOf: cn=Mixer2,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Jessica Rabbit,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Jessica Rabbit +sn: Rabbit +memberOf: cn=Rabbits,ou=Groups,dc=example,dc=com +memberOf: cn=A-M,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com +memberOf: cn=Leporidae,ou=Groups,dc=example,dc=com + +dn: cn=Leporidae,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Leporidae +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Rabbits,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com + +dn: cn=Looney Tunes,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Looney Tunes +member: cn=Porky Pig,ou=People,dc=example,dc=com +member: cn=Daffy Duck,ou=People,dc=example,dc=com +member: cn=Elmer Fudd,ou=People,dc=example,dc=com +member: cn=Bugs Bunny,ou=People,dc=example,dc=com +member: cn=Tweety Bird,ou=People,dc=example,dc=com + +dn: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Loop, Endless +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +member: cn=Endless Loop,ou=Groups,dc=example,dc=com + +dn: cn=Mixer1,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer1 +member: cn=Leporidae,ou=Groups,dc=example,dc=com +member: cn=Desert Foes,ou=Groups,dc=example,dc=com +member: cn=Foghorn Leghorn,ou=People,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com + +dn: cn=Mixer2,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer2 +member: cn=Humans,ou=Groups,dc=example,dc=com +member: cn=Baby Herman,ou=People,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Mixer3,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer3 +member: cn=Desert Foes,ou=Groups,dc=example,dc=com +member: cn=Porky Pig,ou=People,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Mixer4,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer4 +member: cn=Mixer1,ou=Groups,dc=example,dc=com +member: cn=Mixer2,ou=Groups,dc=example,dc=com +member: cn=Foghorn Leghorn,ou=People,dc=example,dc=com + +dn: cn=Mixer5,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Mixer5 +member: cn=Mixer2,ou=Groups,dc=example,dc=com +member: cn=Mixer3,ou=Groups,dc=example,dc=com +member: cn=A-M,ou=Groups,dc=example,dc=com + +dn: cn=N-Z,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: N-Z +member: cn=Porky Pig,ou=People,dc=example,dc=com +member: cn=Road Runner,ou=People,dc=example,dc=com +member: cn=Roger Rabbit,ou=People,dc=example,dc=com +member: cn=Tweety Bird,ou=People,dc=example,dc=com +member: cn=Wile E. Coyote,ou=People,dc=example,dc=com +member: cn=Yosemite Sam,ou=People,dc=example,dc=com + +dn: ou=People,dc=example,dc=com +objectClass: organizationalUnit +ou: People + +dn: cn=Porky Pig,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Porky Pig +sn: Pig +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + +dn: cn=Rabbits,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Rabbits +member: cn=Roger Rabbit,ou=People,dc=example,dc=com +member: cn=Jessica Rabbit,ou=People,dc=example,dc=com +memberOf: cn=Leporidae,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com + +dn: cn=Road Runner,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Road Runner +sn: Runner +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com + +dn: cn=Roger Rabbit,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Roger Rabbit +sn: Rabbit +memberOf: cn=Rabbits,ou=Groups,dc=example,dc=com +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Leporidae,ou=Groups,dc=example,dc=com + +dn: cn=Strays,ou=Groups,dc=example,dc=com +objectClass: groupOfNames +cn: Strays +member: cn=Tom Riddle,ou=People,dc=example,dc=com + +dn: cn=Tom Riddle,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Tom Riddle +sn: Riddle +memberOf: cn=Strays,ou=Groups,dc=example,dc=com + +dn: cn=Tweety Bird,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Tweety Bird +sn: Bird +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Looney Tunes,ou=Groups,dc=example,dc=com + +dn: cn=Wile E. Coyote,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Wile E. Coyote +sn: Coyote +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Desert Foes,ou=Groups,dc=example,dc=com +memberOf: cn=Loop\2C Endless,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer1,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer3,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com +memberOf: cn=Endless Loop,ou=Groups,dc=example,dc=com + +dn: cn=Yosemite Sam,ou=People,dc=example,dc=com +objectClass: inetOrgPerson +cn: Yosemite Sam +sn: Sam +memberOf: cn=N-Z,ou=Groups,dc=example,dc=com +memberOf: cn=Humans,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer2,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com +memberOf: cn=Mixer5,ou=Groups,dc=example,dc=com + diff --git a/static/netbsd/man2/nfssvc.2 b/static/netbsd/man2/nfssvc.2 new file mode 100644 index 00000000..fd693886 --- /dev/null +++ b/static/netbsd/man2/nfssvc.2 @@ -0,0 +1,195 @@ +.\" $NetBSD: nfssvc.2,v 1.25 2021/06/08 10:02:04 hannken Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)nfssvc.2 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 8, 2021 +.Dt NFSSVC 2 +.Os +.Sh NAME +.Nm nfssvc +.Nd NFS services +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.In nfs/nfs.h +.Ft int +.Fn nfssvc "int flags" "void *argstructp" +.Sh DESCRIPTION +The +.Fn nfssvc +function is used by the NFS daemons to pass information into and out +of the kernel and also to enter the kernel as a server daemon. +The +.Fa flags +argument consists of several bits that show what action is to be taken +once in the kernel and the +.Fa argstructp +points to one of three structures depending on which bits are set in +flags. +.Ss Calls used by Xr nfsd 8 +On the server side, +.Fn nfssvc +is called with the flag +.Dv NFSSVC_NFSD +and a pointer to a +.Bd -literal +struct nfsd_srvargs { + struct nfsd *nsd_nfsd; /* Pointer to in kernel nfsd struct */ + uid_t nsd_uid; /* Effective uid mapped to cred */ + u_long nsd_haddr; /* Ip address of client */ + struct ucred nsd_cr; /* Cred. uid maps to */ + int nsd_authlen; /* Length of auth string (ret) */ + char *nsd_authstr; /* Auth string (ret) */ +}; +.Ed +.Pp +to enter the kernel as an +.Xr nfsd 8 +daemon. +Whenever an +.Xr nfsd 8 +daemon receives a Kerberos authentication ticket, it will return from +.Fn nfssvc +with errno set to +.Er ENEEDAUTH . +The +.Xr nfsd 8 +will attempt to authenticate the ticket and generate a set of credentials +on the server for the +.Dq user id +specified in the field nsd_uid. +This is done by first authenticating the Kerberos ticket and then mapping +the Kerberos principal to a local name and getting a set of credentials for +that user via +.Xr getpwnam 3 +and +.Xr getgrouplist 3 . +If successful, the +.Xr nfsd 8 +will call +.Fn nfssvc +with the +.Dv NFSSVC_NFSD +and +.Dv NFSSVC_AUTHIN +flags set to pass the credential mapping in nsd_cr into the +kernel to be cached on the server socket for that client. +If the authentication failed, +.Xr nfsd 8 +calls +.Fn nfssvc +with the flags +.Dv NFSSVC_NFSD +and +.Dv NFSSVC_AUTHINFAIL +to denote an authentication failure. +.Pp +The master +.Xr nfsd 8 +server daemon calls +.Fn nfssvc +with the flag +.Dv NFSSVC_ADDSOCK +and a pointer to a +.Bd -literal +struct nfsd_args { + int sock; /* Socket to serve */ + caddr_t name; /* Client address for connection based sockets */ + int namelen; /* Length of name */ +}; +.Ed +.Pp +to pass a server side +.Tn NFS +socket into the kernel for servicing by the +.Xr nfsd 8 +daemons. +.Ss Calls used by Xr mountd 8 +The +.Xr mountd 8 +server daemon calls +.Fn nfssvc +with the flag +.Dv NFSSVC_REPLACEEXPORTSLIST +and a pointer to a +.Ft struct mountd_exports_list +object to atomically replace the exports lists of a specific file system. +This structure has the following fields: +.Bl -tag -width ".Vt const char *mel_path" +.It Vt const char *mel_path +Path to the file system that will have its exports list replaced by the +one described in the other fields. +.It Vt size_t mel_nexports +Number of valid entries in the +.Vt mel_export +field. +If zero, the exports list will be cleared for the given file system. +.It Vt struct export_args mel_export[AF_MAX] +Set of exports to be used for the given file system. +.El +.Sh RETURN VALUES +Usually +.Nm +does not return unless the server +is terminated by a signal when a value of 0 is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to specify the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er ENEEDAUTH +This special error value is really used for authentication support, +particularly Kerberos, as explained above. +.It Bq Er EPERM +The caller is not the super-user. +.El +.Sh SEE ALSO +.Xr mount_nfs 8 , +.Xr nfsd 8 +.Sh HISTORY +The +.Nm +function first appeared in +.Bx 4.4 . +.Sh BUGS +The +.Nm +system call is designed specifically for the +.Tn NFS +support daemons and as such is specific to their requirements. +It should really return values to indicate the need for authentication +support, since +.Er ENEEDAUTH +is not really an error. +Several fields of the argument structures are assumed to be valid and +sometimes to be unchanged from a previous call, such that +.Nm +must be used with extreme care. diff --git a/static/netbsd/man2/ntp_adjtime.2 b/static/netbsd/man2/ntp_adjtime.2 new file mode 100644 index 00000000..db8bb792 --- /dev/null +++ b/static/netbsd/man2/ntp_adjtime.2 @@ -0,0 +1,323 @@ +.\" $NetBSD: ntp_adjtime.2,v 1.12 2016/08/28 00:15:01 dholland Exp $ +.\" +.\" Copyright (c) 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Thomas Klausner. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd December 8, 2015 +.Dt NTP_ADJTIME 2 +.Os +.Sh NAME +.Nm ntp_adjtime , +.Nm ntp_gettime +.Nd Network Time Protocol (NTP) daemon interface system calls +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/time.h +.In sys/timex.h +.Ft int +.Fn ntp_adjtime "struct timex *" +.Ft int +.Fn ntp_gettime "struct ntptimeval *" +.Sh DESCRIPTION +The two system calls +.Fn ntp_adjtime +and +.Fn ntp_gettime +are the kernel interface to the Network Time Protocol (NTP) daemon +.Xr ntpd 8 . +.Pp +The +.Fn ntp_adjtime +function is used by the NTP daemon to adjust the system clock to an +externally derived time. +The +.Fn ntp_adjtime +system call is available only for the super user. +If the system call fails, the +.Fn ntp_adjtime +function in the standard C library will try to use the +.Xr clockctl 4 +device if present, thus making it possible for the NTP +daemon to run as a non-privileged user. +If +.Xr clockctl 4 +is not present, +.Fn ntp_adjtime +returns +.Er EPERM . +.Pp +The time offset and related variables which are set by +.Fn ntp_adjtime +are used by +.Xr hardclock 9 +to adjust the phase and frequency of the phase- or frequency-lock loop +(PLL resp. FLL) which controls the system clock. +.Pp +The +.Fn ntp_gettime +function provides the time, maximum error (sync distance) and +estimated error (dispersion) to client user application programs. +.Pp +In the following, all variables that refer PPS are only relevant if +the +.Em PPS_SYNC +option (see +.Xr options 4 ) +is enabled in the kernel. +.Pp +.Fn ntp_adjtime +has as argument a +.Va struct timex * +of the following form: +.Bd -literal +struct timex { + unsigned int modes; /* clock mode bits (wo) */ + long offset; /* time offset (us) (rw) */ + long freq; /* frequency offset (scaled ppm) (rw) */ + long maxerror; /* maximum error (us) (rw) */ + long esterror; /* estimated error (us) (rw) */ + int status; /* clock status bits (rw) */ + long constant; /* pll time constant (rw) */ + long precision; /* clock precision (us) (ro) */ + long tolerance; /* clock frequency tolerance (scaled + * ppm) (ro) */ + /* + * The following read-only structure members are implemented + * only if the PPS signal discipline is configured in the + * kernel. + */ + long ppsfreq; /* pps frequency (scaled ppm) (ro) */ + long jitter; /* pps jitter (us) (ro) */ + int shift; /* interval duration (s) (shift) (ro) */ + long stabil; /* pps stability (scaled ppm) (ro) */ + long jitcnt; /* jitter limit exceeded (ro) */ + long calcnt; /* calibration intervals (ro) */ + long errcnt; /* calibration errors (ro) */ + long stbcnt; /* stability limit exceeded (ro) */ +}; +.Ed +.Pp +The members of this struct have the following meanings when used as +argument for +.Fn ntp_adjtime : +.Bl -tag -width tolerance -compact +.It Fa modes +Defines what settings should be changed with the current +.Fn ntp_adjtime +call (write-only). +Bitwise OR of the following: +.Bl -tag -width MOD_TIMECONST -compact -offset indent +.It MOD_OFFSET +set time offset +.It MOD_FREQUENCY +set frequency offset +.It MOD_MAXERROR +set maximum time error +.It MOD_ESTERROR +set estimated time error +.It MOD_STATUS +set clock status bits +.It MOD_TIMECONST +set PLL time constant +.It MOD_CLKA +set clock A +.It MOD_CLKB +set clock B +.El +.It Fa offset +Time offset (in microseconds), used by the PLL/FLL to adjust the +system time in small increments (read-write). +.It Fa freq +Frequency offset (scaled ppm) (read-write). +.It Fa maxerror +Maximum error (in microseconds). +Initialized by an +.Fn ntp_adjtime +call, and increased by the kernel once each second to reflect the maximum +error bound growth (read-write). +.It Fa esterror +Estimated error (in microseconds). +Set and read by +.Fn ntp_adjtime , +but unused by the kernel (read-write). +.It Fa status +System clock status bits (read-write). +Bitwise OR of the following: +.Bl -tag -width STA_PPSJITTER -compact -offset indent +.It STA_PLL +Enable PLL updates (read-write). +.It STA_PPSFREQ +Enable PPS freq discipline (read-write). +.It STA_PPSTIME +Enable PPS time discipline (read-write). +.It STA_FLL +Select frequency-lock mode (read-write). +.It STA_INS +Insert leap (read-write). +.It STA_DEL +Delete leap (read-write). +.It STA_UNSYNC +Clock unsynchronized (read-write). +.It STA_FREQHOLD +Hold frequency (read-write). +.It STA_PPSSIGNAL +PPS signal present (read-only). +.It STA_PPSJITTER +PPS signal jitter exceeded (read-only). +.It STA_PPSWANDER +PPS signal wander exceeded (read-only). +.It STA_PPSERROR +PPS signal calibration error (read-only). +.It STA_CLOCKERR +Clock hardware fault (read-only). +.El +.It Fa constant +PLL time constant, determines the bandwidth, or +.Dq stiffness , +of the PLL (read-write). +.It Fa precision +Clock precision (in microseconds). +In most cases the same as the kernel tick variable (see +.Xr hz 9 ) . +If a precision clock counter or external time-keeping signal is available, +it could be much lower (and depend on the state of the signal) +(read-only). +.It Fa tolerance +Maximum frequency error, or tolerance of the CPU clock oscillator (scaled +ppm). +Ordinarily a property of the architecture, but could change under +the influence of external time-keeping signals (read-only). +.It Fa ppsfreq +PPS frequency offset produced by the frequency median filter (scaled +ppm) (read-only). +.It Fa jitter +PPS jitter measured by the time median filter in microseconds +(read-only). +.It Fa shift +Logarithm to base 2 of the interval duration in seconds (PPS, +read-only). +.It Fa stabil +PPS stability (scaled ppm); dispersion (wander) measured by the +frequency median filter (read-only). +.It Fa jitcnt +Number of seconds that have been discarded because the jitter measured +by the time median filter exceeded the limit +.Em MAXTIME +(PPS, read-only). +.It Fa calcnt +Count of calibration intervals (PPS, read-only). +.It Fa errcnt +Number of calibration intervals that have been discarded because the +wander exceeded the limit +.Em MAXFREQ +or where the calibration interval jitter exceeded two ticks (PPS, +read-only). +.It Fa stbcnt +Number of calibration intervals that have been discarded because the +frequency wander exceeded the limit +.Em MAXFREQ Ns /4 +(PPS, read-only). +.El +After the +.Fn ntp_adjtime +call, the +.Va struct timex * +structure contains the current values of the corresponding variables. +.Pp +.Fn ntp_gettime +has as argument a +.Va struct ntptimeval * +with the following members: +.Bd -literal +struct ntptimeval { + struct timespec time; /* current time (ro) */ + long maxerror; /* maximum error (us) (ro) */ + long esterror; /* estimated error (us) (ro) */ + /* the following are placeholders for now */ + long tai; /* TAI offset */ + int time_state; /* time status */ +}; +.Ed +.Pp +These have the following meaning: +.Bl -tag -width tolerance -compact +.It Fa time +Current time (read-only). +.It Fa maxerror +Maximum error in microseconds (read-only). +.It Fa esterror +Estimated error in microseconds (read-only). +.El +.Sh RETURN VALUES +.Fn ntp_adjtime +and +.Fn ntp_gettime +return the current state of the clock on success, or any of the errors +of +.Xr copyin 9 +and +.Xr copyout 9 . +.Fn ntp_adjtime +may additionally return +.Er EPERM +if the user calling +.Fn ntp_adjtime +does not have sufficient permissions. +.Pp +Possible states of the clock are: +.Bl -tag -width TIME_ERROR -compact -offset indent +.It TIME_OK +Everything okay, no leap second warning. +.It TIME_INS +.Dq insert leap second +warning. +.It TIME_DEL +.Dq delete leap second +warning. +.It TIME_OOP +Leap second in progress. +.It TIME_WAIT +Leap second has occurred. +.It TIME_ERROR +Clock not synchronized. +.El +.Sh SEE ALSO +.Xr options 4 , +.Xr ntpd 8 , +.Xr hardclock 9 , +.Xr hz 9 +.Rs +.%A J. Mogul +.%A D. Mills +.%A J. Brittenson +.%A J. Stone +.%A U. Windl +.%T Pulse-Per-Second API for UNIX-like Operating Systems +.%R RFC 2783 +.%D March 2000 +.Re diff --git a/static/netbsd/man2/open.2 b/static/netbsd/man2/open.2 new file mode 100644 index 00000000..0b61208a --- /dev/null +++ b/static/netbsd/man2/open.2 @@ -0,0 +1,558 @@ +.\" $NetBSD: open.2,v 1.67 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)open.2 8.2 (Berkeley) 11/16/93 +.\" +.Dd July 8, 2025 +.Dt OPEN 2 +.Os +.Sh NAME +.Nm open , +.Nm openat +.Nd open or create a file for reading, writing or executing +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In fcntl.h +.Ft int +.Fn open "const char *path" "int flags" "..." +.Ft int +.Fn openat "int fd" "const char *path" "int flags" "..." +.Sh DESCRIPTION +The file name specified by +.Fa path +is opened +for either execution or reading and/or writing as specified by the +argument +.Fa flags +and the file descriptor returned to the calling process. +The +.Fa flags +argument may indicate the file is to be +created if it does not exist (by specifying the +.Dv O_CREAT +flag). +In this case +.Fn open +and +.Fn openat +require an additional argument +.Fa "mode_t mode" , +and the file is created with mode +.Fa mode +as described in +.Xr chmod 2 +and modified by the process' umask value (see +.Xr umask 2 ) . +.Pp +The +.Fn openat +function is equivalent to the +.Fn open +function except in the case where the +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +.\" Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +Search permission is required on this directory +except if +.Fa fd +was opened with the +.Dv O_SEARCH +flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +The +.Fa flags +are specified by +.Em or Ns 'ing +the values listed below. +Applications must specify exactly one of these four values +(file access methods): +.Bl -tag -offset indent -width O_DIRECTORY +.It Dv O_RDONLY +Open for reading only. +.It Dv O_WRONLY +Open for writing only. +.It Dv O_EXEC +Open for execute only. +.It Dv O_RDWR +Open for reading and writing. +.El +.Pp +Any combination of the following may be used as well: +.Bl -tag -offset indent -width O_DIRECTORY +.It Dv O_NONBLOCK +Do not block on open or for data to become available. +.It Dv O_APPEND +Append to the file on each write. +.It Dv O_CREAT +Create the file if it does not exist. +The third argument of type +.Ft mode_t +is used to compute the mode bits of the file as described in +.Xr chmod 2 +and modified by the process' umask value (see +.Xr umask 2 ) . +.It Dv O_TRUNC +Truncate size to 0. +.It Dv O_EXCL +Error if +.Dv O_CREAT +and the file already exists. +.It Dv O_SHLOCK +Atomically obtain a shared lock. +.It Dv O_EXLOCK +Atomically obtain an exclusive lock. +.It Dv O_NOFOLLOW +If last path element is a symlink, don't follow it. +This option is provided for compatibility with other operating +systems, but its security value is questionable. +.It Dv O_CLOEXEC +Set the +.Xr close 2 +on +.Xr exec 3 +flag. +.It Dv O_CLOFORK +Set the +.Xr close 2 +on +.Xr fork 2 +flag. +.It Dv O_NOSIGPIPE +Return +.Er EPIPE +instead of raising +.Dv SIGPIPE . +.It Dv O_DSYNC +If set, write operations will be performed according to synchronized +I/O data integrity completion: +each write will wait for the file data to be committed to stable +storage. +.It Dv O_SYNC +If set, write operations will be performed according to synchronized +I/O file integrity completion: +each write will wait for both the file data and file status to be +committed to stable storage. +.It Dv O_RSYNC +If set, read operations will complete at the same level of +integrity which is in effect for write operations: +if specified together with +.Dv O_SYNC , +each read will wait for the file status to be committed to stable +storage. +.Pp +Combining +.Dv O_RSYNC +with +.Dv O_DSYNC +only, or specifying it without any other synchronized I/O integrity +completion flag set, has no further effect. +.It Dv O_ALT_IO +Alternate I/O semantics will be used for read and write operations +on the file descriptor. +Alternate semantics are defined by the underlying layers and will not +have any alternate effect in most cases. +.It Dv O_NOCTTY +If the file is a terminal device, the opened device is not +made the controlling terminal for the session. +This flag has no effect on +.Nx , +since the system defaults to the abovementioned behaviour. +The flag is present only for standards conformance. +.It Dv O_DIRECT +If set on a regular file, data I/O operations will not buffer the data +being transferred in the kernel's cache, but rather transfer the data +directly between user memory and the underlying device driver if possible. +This flag is advisory; the request may be performed in the normal +buffered fashion if certain conditions are not met, e.g. if the request +is not sufficiently aligned or if the file is mapped. +.Pp +To meet the alignment requirements for direct I/O, the file offset, +the length of the I/O and the address of the buffer in memory must all +be multiples of +.Dv DEV_BSIZE +(512 bytes). +If the I/O request is made +using an interface that supports scatter/gather via struct iovec, each +element of the request must meet the above alignment constraints. +.It Dv O_DIRECTORY +Fail if the file is not a directory. +.It Dv O_REGULAR +Fail if the path does not refer to a regular file. +.It Dv O_ASYNC +Enable the +.Dv SIGIO +signal to be sent to the process group +when I/O is possible, e.g., +upon availability of data to be read. +.Pp +Note: This is broken in +.Fn open ; +it must be set explicitly with the +.Dv F_SETFL +command to +.Xr fcntl 2 . +.\" (This block awaits a decision about the semantics of O_SEARCH) +.It Dv O_SEARCH +If opening a directory, search permission checks will not be performed on +subsequent usage of the file descriptor for looking up relative paths by +.Xr faccessat 2 , +.Xr fchmodat 2 , +.Xr fchownat 2 , +.Xr fstatat 2 , +.Xr linkat 2 , +.Xr mkdirat 2 , +.Xr mkfifoat 2 , +.Xr mknodat 2 , +.Xr openat 2 , +.Xr readlinkat 2 , +.Xr symlinkat 2 , +.Xr unlinkat 2 , +and +.Xr utimensat 2 . +.El +.Pp +Opening a file with +.Dv O_APPEND +set causes each write on the file +to be appended to the end. +If +.Dv O_TRUNC +is specified and the +file exists, the file is truncated to zero length. +.Pp +If +.Dv O_EXCL +is set with +.Dv O_CREAT +and the file already +exists, +.Fn open +returns an error. +This may be used to implement a simple exclusive access locking mechanism. +If +.Dv O_EXCL +is set and the last component of the pathname is +a symbolic link, +.Fn open +will fail even if the symbolic +link points to a non-existent name. +.Pp +If the +.Dv O_NONBLOCK +flag is specified, do not wait for the device or file to be ready or +available. +If the +.Fn open +call would result +in the process being blocked for some reason (e.g., waiting for +carrier on a dialup line), +.Fn open +returns immediately. +This flag also has the effect of making all subsequent I/O on the open file non-blocking. +.Pp +When opening a file, a lock with +.Xr flock 2 +semantics can be obtained by setting +.Dv O_SHLOCK +for a shared lock, or +.Dv O_EXLOCK +for an exclusive lock. +If creating a file with +.Dv O_CREAT , +the request for the lock will never fail +(provided that the underlying file system supports locking). +.Pp +If +.Fn open +is successful, the file pointer used to mark the current position within +the file is set to the beginning of the file. +.Pp +When a new file is created it is given the group of the directory +which contains it. +.Pp +Unless inhibited by the +.Dv O_CLOEXEC +flag, +the new descriptor is set to remain open across +.Xr execve 2 +system calls; +and similarly for +.Xr fork 2 +calls with +.Dv O_CLOFORK ; +see +.Xr close 2 +and +.Xr fcntl 2 . +.Pp +The system imposes a limit on the number of file descriptors +open simultaneously by one process. +Calling +.Xr getdtablesize 3 +returns the current system limit. +.Sh RETURN VALUES +If successful, +.Fn open +and +.Fn openat +returns a non-negative integer, termed a file descriptor. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +The named file is opened unless: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, +the required permissions (for reading and/or writing) +are denied for the given flags, or +.Dv O_CREAT +is specified, +the file does not exist, +and the directory in which it is to be created +does not permit writing. +.It Bq Er EDQUOT +.Dv O_CREAT +is specified, +the file does not exist, +and the directory in which the entry for the new file +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted; or +.Dv O_CREAT +is specified, +the file does not exist, +and the user's quota of inodes on the file system on +which the file is being created has been exhausted. +.It Bq Er EEXIST +.Dv O_CREAT +and +.Dv O_EXCL +were specified and the file exists. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EFTYPE +.Dv O_NOFOLLOW +was specified, but the last path component is a symlink. +.Em Note : +.St -p1003.1-2008 +specifies returning +.Bq Er ELOOP +for this case. +.It Bq Er EFTYPE +.Dv O_REGULAR +is specified and the last path component is not a regular file. +.It Bq Er EINTR +The +.Fn open +operation was interrupted by a signal. +.It Bq Er EIO +An I/O error occurred while making the directory entry or +allocating the inode for +.Dv O_CREAT . +.It Bq Er EISDIR +The named file is a directory, and the arguments specify +it is to be opened for writing. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er EMFILE +The process has already reached its limit for open file descriptors. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENFILE +The system file table is full. +.It Bq Er ENOENT +.Dv O_CREAT +is not set and the named file does not exist, or +a component of the path name that must exist does not exist. +.It Bq Er ENOSPC +.Dv O_CREAT +is specified, +the file does not exist, +and the directory in which the entry for the new file is being placed +cannot be extended because there is no space left on the file +system containing the directory; or +.Dv O_CREAT +is specified, +the file does not exist, +and there are no free inodes on the file system on which the +file is being created. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory; or +.Dv O_DIRECTORY +is specified and the last path component is not a directory. +.It Bq Er ENXIO +The named file is a character special or block +special file, and the device associated with this special file +does not exist, or the named file is a FIFO, +.Dv O_NONBLOCK +and +.Dv O_WRONLY +is set and no process has the file open for reading. +.It Bq Er EOPNOTSUPP +.Dv O_SHLOCK +or +.Dv O_EXLOCK +is specified but the underlying file system does not support locking; or +an attempt was made to open a socket (not currently implemented). +.It Bq Er EPERM +The file's flags (see +.Xr chflags 2 ) +don't allow the file to be opened. +.It Bq Er EROFS +The named file resides on a read-only file system, +and the file is to be modified. +.It Bq Er ETXTBSY +The file is a pure procedure (shared text) file that is being +executed and the +.Fn open +call requests write access. +.El +.Pp +In addition, +.Fn openat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er EINVAL +An attempt was made to open a descriptor with an illegal combination +of +.Dv O_RDONLY , +.Dv O_WRONLY , +.Dv O_RDWR , +and +.Dv O_EXEC . +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr chmod 2 , +.Xr close 2 , +.Xr dup 2 , +.Xr faccessat 2 , +.Xr fchmodat 2 , +.Xr fchownat 2 , +.Xr fcntl 2 , +.Xr fstatat 2 , +.Xr linkat 2 , +.Xr lseek 2 , +.Xr mkdirat 2 , +.Xr mkfifoat 2 , +.Xr mknodat 2 , +.Xr read 2 , +.Xr readlinkat 2 , +.Xr symlinkat 2 , +.Xr umask 2 , +.Xr unlinkat 2 , +.Xr utimensat 2 , +.Xr write 2 , +.Xr getdtablesize 3 +.Sh STANDARDS +The +.Fn open +function conforms to +.St -p1003.1-90 . +.Fn openat +conforms to +.St -p1003.1-2008 . +.Pp +The +.Fa flags +values +.Dv O_DSYNC , +.Dv O_SYNC +and +.Dv O_RSYNC +are extensions defined in +.St -p1003.1b-93 . +.Pp +.Dv O_SEARCH +is defined in +.St -p1003.1-2008 . +.Pp +.Dv O_CLOFORK +conforms to +.St -p1003.1-2024 . +.Pp +The +.Dv O_SHLOCK +and +.Dv O_EXLOCK +flags are non-standard extensions and should not be used if portability +is of concern. +.Pp +.Sh HISTORY +An +.Fn open +function call appeared in +.At v1 . +The +.Dv O_CLOFORK +implementation first appeared in +.Fx 15.0 , +.Dx 6.5 +and +.Nx 11.0 . +.Sh BUGS +.Dv O_ASYNC +doesn't actually work as advertised with +.Nm ; +you must set +.Dv O_ASYNC +explicitly with the +.Dv F_SETFL +command to +.Xr fcntl 2 . diff --git a/static/netbsd/man2/p.2 b/static/netbsd/man2/p.2 new file mode 100644 index 00000000..dbef6e31 --- /dev/null +++ b/static/netbsd/man2/p.2 @@ -0,0 +1 @@ +{ print $1, $3 } diff --git a/static/netbsd/man2/pathconf.2 b/static/netbsd/man2/pathconf.2 new file mode 100644 index 00000000..c123f75b --- /dev/null +++ b/static/netbsd/man2/pathconf.2 @@ -0,0 +1,192 @@ +.\" $NetBSD: pathconf.2,v 1.28 2014/06/09 09:15:48 njoly Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 26, 2010 +.Dt PATHCONF 2 +.Os +.Sh NAME +.Nm pathconf , +.Nm fpathconf +.Nd get configurable pathname variables +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft long +.Fn pathconf "const char *path" "int name" +.Ft long +.Fn fpathconf "int fd" "int name" +.Sh DESCRIPTION +The +.Fn pathconf +and +.Fn fpathconf +functions provide a method for applications to determine the current +value of a configurable system limit or option variable associated +with a pathname or file descriptor. +.Pp +For +.Nm pathconf , +the +.Fa path +argument is the name of a file or directory. +For +.Nm fpathconf , +the +.Fa fd +argument is an open file descriptor. +The +.Fa name +argument specifies the system variable to be queried. +Symbolic constants for each name value are found in the +.In unistd.h +header. +.Pp +The available values are as follows: +.Bl -tag -width "123456" +.It Li _PC_LINK_MAX +The maximum file link count. +.It Li _PC_MAX_CANON +The maximum number of bytes in terminal canonical input line. +.It Li _PC_MAX_INPUT +The minimum maximum number of bytes for which space is available in +a terminal input queue. +.It Li _PC_NAME_MAX +The maximum number of bytes in a filename, +not including a terminating null character. +.It Li _PC_PATH_MAX +The maximum number of bytes in a pathname, +including the terminating null character. +.It Li _PC_PIPE_BUF +The maximum number of bytes which will be written atomically to a pipe. +.It Li _PC_CHOWN_RESTRICTED +Return 1 if appropriate privileges are required for the +.Xr chown 2 +system call, otherwise 0. +.It Li _PC_NO_TRUNC +Return 0 if filenames longer than +.Brq Dv NAME_MAX +are silently truncated, or non-zero if an error is generated when +.Brq Dv NAME_MAX +is exceeded. +.It Li _PC_VDISABLE +Returns the terminal character disabling value. +.It Li _PC_SYNC_IO +Returns 1 if synchronized I/O is supported, otherwise 0. +.It Li _PC_FILESIZEBITS +If the maximum size file that could ever exist on the mounted file system is +.Dv maxsize , +then the returned value is 2 plus the floor of the base 2 logarithm of +.Dv maxsize . +.It Li _PC_SYMLINK_MAX +The maximum number of bytes in a symbolic link. +.It Li _PC_2_SYMLINKS +When referring to a directory the system supports the creation of symbolic +links within that directory; for nondirectory files, the meaning of +.Dv {_PC_2_SYMLINKS} +is undefined. +.El +.Sh RETURN VALUES +If the call to +.Nm pathconf +or +.Nm fpathconf +is not successful, \-1 is returned and +.Va errno +is set appropriately. +Otherwise, if the variable is associated with functionality that does +not have a limit in the system, \-1 is returned and +.Va errno +is not modified. +Otherwise, the current variable value is returned. +.Sh ERRORS +If any of the following conditions occur, the +.Nm pathconf +and +.Nm fpathconf +functions shall return \-1 and set +.Va errno +to the corresponding value. +.Bl -tag -width Er +.It Bq Er EINVAL +The value of the +.Fa name +argument is invalid, or +the implementation does not support an association of the variable +name with the associated file. +.El +.Pp +.Fn pathconf +will fail if: +.Bl -tag -width ENAMETOOLONGAA +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.El +.Pp +.Fn fpathconf +will fail if: +.Bl -tag -width [EFAULT] +.It Bq Er EBADF +.Fa fd +is not a valid open file descriptor. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.El +.Sh SEE ALSO +.Xr sysctl 3 +.Sh STANDARDS +The +.Fn pathconf +and +.Fn fpathconf +functions conform to +.St -p1003.1-90 . +.Sh HISTORY +The +.Nm pathconf +and +.Nm fpathconf +functions first appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/pipe.2 b/static/netbsd/man2/pipe.2 new file mode 100644 index 00000000..e9f54b30 --- /dev/null +++ b/static/netbsd/man2/pipe.2 @@ -0,0 +1,177 @@ +.\" $NetBSD: pipe.2,v 1.34 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)pipe.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 8, 2025 +.Dt PIPE 2 +.Os +.Sh NAME +.Nm pipe , +.Nm pipe2 +.Nd create descriptor pair for interprocess communication +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn pipe "int fildes[2]" +.In fcntl.h +.In unistd.h +.Ft int +.Fn pipe2 "int fildes[2]" "int flags" +.Sh DESCRIPTION +The +.Fn pipe +function +creates a +.Em pipe , +which is an object allowing +unidirectional data flow, +and allocates a pair of file descriptors. +The first descriptor connects to the +.Em read end +of the pipe, +and the second connects to the +.Em write end , +so that data written to +.Fa fildes[1] +appears on (i.e., can be read from) +.Fa fildes[0] . +This allows the output of one program to be +sent +to another program: +the source's standard output is set up to be +the write end of the pipe, +and the sink's standard input is set up to be +the read end of the pipe. +The pipe itself persists until all its associated descriptors are +closed. +.Pp +A pipe whose read or write end has been closed is considered +.Em widowed . +Writing on such a pipe causes the writing process to receive +a +.Dv SIGPIPE +signal. +Widowing a pipe is the only way to deliver end-of-file to a reader: +after the reader consumes any buffered data, reading a widowed pipe +returns a zero count. +.Pp +The +.Fn pipe2 +function +behaves exactly like +.Fn pipe +only it allows extra +.Fa flags +to be set on the returned file descriptors. +The following flags are valid: +.Bl -tag -width O_NOSIGPIPE -offset indent +.It Dv O_CLOEXEC +Set the +.Dq close-on-exec +property. +.It Dv O_CLOFORK +Set the +.Dq close-on-fork +property. +.It Dv O_NONBLOCK +Sets non-blocking I/O. +.It Dv O_NOSIGPIPE +Return +.Er EPIPE +instead of raising +.Dv SIGPIPE . +.El +.Sh RETURN VALUES +On successful creation of the pipe, zero is returned. +Otherwise, a value of \-1 is returned and the variable +.Va errno +set to indicate the +error. +.Sh ERRORS +The +.Fn pipe +and +.Fn pipe2 +calls will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The +.Fa fildes +buffer is in an invalid area of the process's address space. +The reliable detection of this error cannot be guaranteed; when not +detected, a signal may be delivered to the process, indicating an +address violation. +.It Bq Er EMFILE +Too many descriptors are active. +.It Bq Er ENFILE +The system file table is full. +.It Bq Er ENOMEM +Not enough kernel memory to establish a pipe. +.El +.Pp +.Fn pipe2 +will also fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa flags +contains an invalid value. +.El +.Sh SEE ALSO +.Xr sh 1 , +.Xr close 2 , +.Xr fcntl 2 , +.Xr fork 2 , +.Xr read 2 , +.Xr socketpair 2 , +.Xr write 2 +.Sh STANDARDS +The +.Fn pipe +function conforms to +.St -p1003.1-90 . +The +.Fn pipe2 +function conforms to +.St -p1003.1-2024 . +.Sh HISTORY +A +.Fn pipe +function call appeared in +.At v3 . +Since +.At v4 , +it allocates two distinct file descriptors. +.Pp +The +.Fn pipe2 +function is inspired from Linux and appeared in +.Nx 6.0 . diff --git a/static/netbsd/man2/poll.2 b/static/netbsd/man2/poll.2 new file mode 100644 index 00000000..93c2b5ae --- /dev/null +++ b/static/netbsd/man2/poll.2 @@ -0,0 +1,303 @@ +.\" $NetBSD: poll.2,v 1.38 2023/07/07 01:31:25 riastradh Exp $ +.\" +.\" Copyright (c) 1998, 2005, 2020 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Charles M. Hannum. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 8, 2021 +.Dt POLL 2 +.Os +.Sh NAME +.Nm poll, pollts, ppoll +.Nd synchronous I/O multiplexing +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In poll.h +.Ft int +.Fn poll "struct pollfd *fds" "nfds_t nfds" "int timeout" +.In poll.h +.In signal.h +.In time.h +.Ft int +.Fn pollts "struct pollfd * restrict fds" "nfds_t nfds" "const struct timespec * restrict ts" "const sigset_t * restrict sigmask" +.In poll.h +.In signal.h +.In time.h +.Ft int +.Fn ppoll "struct pollfd * restrict fds" "nfds_t nfds" "const struct timespec * restrict ts" "const sigset_t * restrict sigmask" +.Sh DESCRIPTION +.Fn poll , +.Fn pollts +and +.Fn ppoll +examine a set of file descriptors to see if some of them are ready for +I/O. +For each object inspected, the caller provides a list of conditions +(called ``events'') to check for, and the kernel returns a list of +conditions that are true. +The intent, as with +.Xr select 2 , +is to check for whether I/O is possible before performing any, so as +to permit a top-level event loop to process input from many sources +(and output to many destinations) +without blocking on any of them and thus becoming stuck. +.Ss Arguments +The +.Fa fds +argument is a pointer to an array of pollfd structures, one per file +to inspect, as defined in +.In poll.h +(shown below). +The +.Fa nfds +argument gives the size of the +.Fa fds +array. +.Pp +If +.Fa timeout +is neither zero nor INFTIM (\-1), it specifies a maximum interval to +wait for any file descriptor to become ready, in milliseconds. +If +.Fa timeout +is INFTIM (\-1), then +.Fn poll +blocks indefinitely. +If +.Fa timeout +is zero, then +.Fn poll +will return without blocking. +.Pp +Similarly, if +.Fa ts +is not a null pointer, it references a timespec structure which specifies a +maximum interval to wait for any file descriptor to become ready. +If +.Fa ts +is a null pointer, +.Fn pollts +and +.Fn ppoll +block indefinitely. +If +.Fa ts +is not a null pointer, referencing a zero-valued timespec structure, then +.Fn pollts +and +.Fn ppoll +will return without blocking. +.Pp +If +.Fa sigmask +is not a null pointer, then the +.Fn pollts +and +.Fn ppoll +functions replace the signal mask of the caller by the set of +signals pointed to by +.Fa sigmask +while the call is in progress, and restore the caller's original +signal mask before returning. +.Pp +The +.Vt pollfd +structure: +.Bd -literal +struct pollfd { + int fd; /* file descriptor */ + short events; /* events to look for */ + short revents; /* events returned */ +}; +.Ed +.\" without this Pp there is no blank line after the struct which is ugly +.Pp +The fields of +.Fa struct pollfd +are as follows: +.Pp +.Bl -tag -width XXXrevents -compact +.It Fa fd +File descriptor to poll. +(Input) +.It Fa events +Conditions to poll for. +(Input) +.It Fa revents +Conditions that are true. +(Output) +.El +.Ss Conditions +There are four conditions that can be placed in +.Fa events +and reported in +.Fa revents : +.Pp +.Bl -tag -width XXXPOLLWRNORM -compact +.It POLLRDNORM +Normal data may be read without blocking. +.It POLLRDBAND +Urgent/out-of-band data may be read without blocking. +.It POLLWRNORM +Normal data may be written without blocking. +.It POLLWRBAND +Urgent/out-of-band data may be written without blocking. +.El +.Pp +There are three more conditions that are always checked for regardless +of +.Fa events +and thus may always be reported in +.Fa revents : +.Pp +.Bl -tag -width XXXPOLLWRNORM -compact +.It POLLERR +An exceptional condition has occurred on the object. +.It POLLHUP +The object has been disconnected. +.It POLLNVAL +The file descriptor is not open. +.El +.Pp +The following additional flags are defined: +.Pp +.Bl -tag -width XXXPOLLWRNORM -compact +.It POLLIN +Synonym for POLLRDNORM. +.It POLLOUT +Synonym for POLLWRNORM. +.It POLLPRI +Synonym for POLLRDBAND. +.El +.Ss Notes +If the value passed in +.Fa fd +is negative, the entry is ignored and +.Fa revents +is set to 0. +(POLLNVAL is +.Em not +set.) +.Pp +No file descriptor will ever produce POLLHUP at the same time as POLLWRNORM. +.\" (XXX but what about POLLWRBAND? POLLRDBAND? POLLRDNORM?) +.Pp +Sockets produce POLLIN rather than POLLHUP when the remote +end is closed. +.Sh RETURN VALUES +.Fn poll +returns the number of descriptors that are ready for I/O, or returns +\-1 and sets +.Dv errno +if an error occurred. +If the time limit expires, +.Fn poll +returns 0. +If +.Fn poll +returns with an error, +including one due to an interrupted call, +the +.Fa fds +array will be unmodified. +.Sh COMPATIBILITY +This implementation differs from the historical one in that no individual +file descriptor may cause +.Fn poll +to return with an error. +In cases where this would have happened in the historical implementation +(e.g. trying to poll a +.Xr revoke 2 Ns d +descriptor), this implementation instead copies the +.Fa events +bitmask to the +.Fa revents +bitmask. +Attempting to perform I/O on this descriptor will then return an error. +This behavior is believed to be more useful. +.Pp +The +.Fn ppoll +function is a wrapper for +.Fn pollts +to provide compatibility with the Linux implementation. +.Sh ERRORS +An error return from +.Fn poll +indicates: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa fds +points outside the process's allocated address space. +.It Bq Er EINTR +A signal was delivered before the time limit expired and +before any of the selected events occurred. +.It Bq Er EINVAL +The specified time limit is negative or +the number of pollfd structures specified is larger than the current +file descriptor resource limit. +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr connect 2 , +.Xr read 2 , +.Xr recv 2 , +.Xr select 2 , +.Xr send 2 , +.Xr write 2 +.Sh HISTORY +The +.Fn poll +function appeared in +.At V.3 , +and was added to +.Nx +in +.Nx 1.3 . +The +.Fn pollts +function first appeared in +.Nx 3.0 . +The +.Fn ppoll +function first appeared in +.Nx 10.0 . +.Sh BUGS +As of this writing, in the underlying implementation, POLLIN and +POLLPRI are distinct flags from POLLRDNORM and POLLRDBAND +(respectively) and the behavior is not always exactly identical. +.Pp +The detailed behavior of specific flags is not very portable from one +OS to another. +.\" The old note, which is too vague to be helpful: +.\" +.\" The distinction between some of the fields in the +.\" .Fa events +.\" and +.\" .Fa revents +.\" bitmasks is really not useful without STREAMS. +.\" The fields are defined for compatibility with existing software. diff --git a/static/netbsd/man2/posix_fadvise.2 b/static/netbsd/man2/posix_fadvise.2 new file mode 100644 index 00000000..26406f4a --- /dev/null +++ b/static/netbsd/man2/posix_fadvise.2 @@ -0,0 +1,102 @@ +.\" $NetBSD: posix_fadvise.2,v 1.6 2016/12/19 06:45:29 abhinav Exp $ +.\" +.\" Copyright (c)2006,2009 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd February 4, 2013 +.Dt POSIX_FADVISE 2 +.Os +.Sh NAME +.Nm posix_fadvise +.Nd hint at the future access pattern of a file +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In fcntl.h +.Ft int +.Fn posix_fadvise "int fd" "off_t offset" "off_t size" "int hint" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn posix_fadvise +hints at the application's access pattern to the file and range +given by +the file descriptor, +.Fa fd , +and +.Fa offset +and +.Fa size . +If +.Fa size +is zero, it means to the end of file. +.Pp +.Fa hint +should be one of the following: +.Pp +.Bl -tag -offset indent -width POSIX_FADV_SEQUENTIAL -compact +.It POSIX_FADV_NORMAL +No hint. +(default) +.It POSIX_FADV_RANDOM +Random access. +.It POSIX_FADV_SEQUENTIAL +Sequential access. +(from lower offset to higher offset.) +.It POSIX_FADV_WILLNEED +Will be accessed. +.It POSIX_FADV_DONTNEED +Will not be accessed. +.It POSIX_FADV_NOREUSE +Will be accessed just once. +.El +.Pp +Calling +.Fn posix_fadvise +doesn't alter the semantics of the operations, +it is only a matter of performance. +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +On success, +.Fn posix_fadvise +returns 0. +Otherwise, it returns an error number. +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr errno 2 , +.Xr madvise 2 +.\" ------------------------------------------------------------ +.Sh BUGS +For +.Dv POSIX_FADV_NORMAL , +.Dv POSIX_FADV_RANDOM , +and +.Dv POSIX_FADV_SEQUENTIAL , +the current implementation ignores +.Fa offset +and +.Fa size , +and applies the hint to the whole file. diff --git a/static/netbsd/man2/profil.2 b/static/netbsd/man2/profil.2 new file mode 100644 index 00000000..b0d9e490 --- /dev/null +++ b/static/netbsd/man2/profil.2 @@ -0,0 +1,132 @@ +.\" $NetBSD: profil.2,v 1.14 2016/06/18 14:39:15 kamil Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Donn Seeley of BSDI. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)profil.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt PROFIL 2 +.Os +.Sh NAME +.Nm profil +.Nd control process profiling +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn profil "char *samples" "size_t size" "unsigned long offset" "unsigned int scale" +.Sh DESCRIPTION +The +.Fn profil +function enables or disables +program counter profiling of the current process. +If profiling is enabled, +then at every clock tick, +the kernel updates an appropriate count in the +.Fa samples +buffer. +.Pp +The buffer +.Fa samples +contains +.Fa size +bytes and is divided into +a series of 16-bit bins. +Each bin counts the number of times the program counter +was in a particular address range in the process +when a clock tick occurred while profiling was enabled. +For a given program counter address, +the number of the corresponding bin is given +by the relation: +.Bd -literal -offset indent +[(pc - offset) / 2] * scale / 65536 +.Ed +.Pp +The +.Fa offset +parameter is the lowest address at which +the kernel takes program counter samples. +The +.Fa scale +parameter ranges from 1 to 65536 and +can be used to change the span of the bins. +A scale of 65536 maps each bin to 2 bytes of address range; +a scale of 32768 gives 4 bytes, 16384 gives 8 bytes and so on. +Intermediate values provide approximate intermediate ranges. +A +.Fa scale +value of 0 disables profiling. +.Sh RETURN VALUES +If the +.Fa scale +value is nonzero and the buffer +.Fa samples +contains an illegal address, +.Fn profil +returns \-1, +profiling is terminated and +.Va errno +is set appropriately. +Otherwise +.Fn profil +returns 0. +.Sh FILES +.Bl -tag -width /usr/lib/gcrt0.o -compact +.It Pa /usr/lib/gcrt0.o +profiling C run-time startup file +.It Pa gmon.out +conventional name for profiling output file. +This may be different if the PROFDIR environment variable is set. +.El +.Sh ERRORS +The following error may be reported: +.Bl -tag -width Er +.It Bq Er EFAULT +The buffer +.Fa samples +contains an invalid address. +.El +.Sh SEE ALSO +.Xr gprof 1 , +.Xr moncontrol 3 +.\" .Sh HISTORY +.\" wish I knew... probably v7. +.Sh BUGS +This routine should be named +.Fn profile . +.Pp +The +.Fa samples +argument should really be a vector of type +.Fa "unsigned short" . +.Pp +The format of the gmon.out file is undocumented. diff --git a/static/netbsd/man2/ptrace.2 b/static/netbsd/man2/ptrace.2 new file mode 100644 index 00000000..3d32cfb5 --- /dev/null +++ b/static/netbsd/man2/ptrace.2 @@ -0,0 +1,1026 @@ +.\" $NetBSD: ptrace.2,v 1.86 2024/05/12 23:55:57 msaitoh Exp $ +.\" +.\" This file is in the public domain. +.Dd May 14, 2020 +.Dt PTRACE 2 +.Os +.Sh NAME +.Nm ptrace +.Nd process tracing and debugging +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/ptrace.h +.Ft int +.Fn ptrace "int request" "pid_t pid" "void *addr" "int data" +.Sh DESCRIPTION +.Fn ptrace +provides tracing and debugging facilities. +It allows one process (the +.Em tracing +process) to control another (the +.Em traced +process). +Most of the time, the traced process runs normally, but when +it receives a signal +.Po +see +.Xr sigaction 2 +.Pc , +it stops. +The tracing process is expected to notice this via +.Xr wait 2 +or the delivery of a +.Dv SIGCHLD +signal +.Po +see +.Xr siginfo 2 +.Pc , +examine the state of the stopped process, and cause it to +terminate or continue as appropriate. +.Fn ptrace +is the mechanism by which all this happens. +.Pp +When a process that is traced by a debugger requests and calls +.Xr execve 2 +or any of the routines built on it +.Po +such as +.Xr execv 3 +.Pc , +it will stop before executing the first instruction of the new image and emit +.Dv SIGTRAP +with +.Dv si_code +set to +.Dv TRAP_EXEC . +If a traced program calls +.Xr execve 2 +any setuid or setgid bits on the executable being executed will be ignored. +.Pp +Program (software) breakpoints are reported with +.Dv SIGTRAP +and the +.Dv si_code +value set to +.Dv TRAP_BKPT . +These breakpoints are machine specific instructions that interrupt the process. +In order to put a trap by a tracer into the tracee's program, +debugger must violate the +.Dv PaX MPROTECT +restrictions. +For details check the +.Dv security.pax.mprotect.ptrace +option described in +.Xr sysctl 7 . +When a tracee is interrupted by a trap, +the trap is not removed by the kernel and it must be handled by a debugger. +.Pp +If a program is traced with single steps +.Dv ( PT_STEP ) +it reports each step with +.Dv SIGTRAP +with +.Dv si_code +set to +.Dv TRAP_TRACE . +This event is not maskable +.Dv PT_SET_EVENT_MASK . +.Pp +Child program traps are reported with +.Dv SIGTRAP +and the +.Dv si_code +value set to +.Dv TRAP_CHLD . +These events are by default disabled and can be configured with +.Dv PT_SET_EVENT_MASK . +If this event occurs, +check with +.Dv PT_GET_PROCESS_STATE +the details of the process state associated with this event. +.Pp +Design choices for Debug Register accessors +.Bl -dash +.It +.Fn exec +.Dv ( TRAP_EXEC +event) must remove debug registers from LWP +.It +debug registers are only per-LWP, not per-process globally +.It +debug registers must not be inherited after (v)forking a process +.It +debug registers must not be inherited after forking a thread +.It +a debugger is responsible to set global watchpoints/breakpoints with the +debug registers, +to achieve this +.Dv PTRACE_LWP_CREATE +/ +.Dv PTRACE_LWP_EXIT +event monitoring function is designed to be used +.It +debug register traps must generate +.Dv SIGTRAP with +.Dv si_code +.Dv TRAP_DBREG +.It +debugger is responsible to retrieve debug register state to distinguish +the exact debug register trap +.It +kernel must not remove debug register traps after triggering a trap event; +a debugger is responsible to detach this trap with appropriate +.Dv PT_SETDBREGS +call +.It +debug registers must not be exposed in mcontext +.It +userland must not be allowed to set a trap on the kernel +.El +.Pp +A debugger might reuse port specific symbols, +to help writing portable code as described in the port specific part of the +.In sys/ptrace.h +header. +Among these symbols, +there are: +.Bl -dash +.It +.Dv PTRACE_REG_PC +.It +.Dv PTRACE_REG_SET_PC +.It +.Dv PTRACE_REG_SP +.It +.Dv PTRACE_REG_INTRV +.It +.Dv PTRACE_BREAKPOINT +.It +.Dv PTRACE_BREAKPOINT_SIZE +.It +.Dv PTRACE_BREAKPOINT_ADJ +.El +.Pp +The +.Fa request +argument +of +.Nm +specifies what operation is being performed; the meaning of +the rest of the arguments depends on the operation, but except for one +special case noted below, all +.Nm +calls are made by the tracing process, and the +.Fa pid +argument specifies the process ID of the traced process. +.Fa request +can be: +.Bl -tag -width 12n +.It Dv PT_TRACE_ME +This request is the only one used by the traced process; it declares +that the process expects to be traced by its parent. +All the other arguments are ignored. +If the parent process does not expect to trace +the child, it will probably be rather confused by the results; once the +traced process stops, it cannot be made to continue except via +.Fn ptrace . +.Pp +This call does not stop the process neither emit +.Dv SIGSTOP +to parent. +.It Dv PT_READ_I , Dv PT_READ_D +These requests read a single +.Vt int +of data from the traced process' address space. +Traditionally, +.Fn ptrace +has allowed for machines with distinct address spaces for instruction +and data, which is why there are two requests: conceptually, +.Dv PT_READ_I +reads from the instruction space and +.Dv PT_READ_D +reads from the data space. +In the current +.Nx +implementation, these +two requests are completely identical. +The +.Fa addr +argument specifies the address (in the traced process' virtual address +space) at which the read is to be done. +This address does not have to meet any alignment constraints. +The value read is returned as the return value from +.Eo \& +.Fn ptrace +.Ec . +.Pp +These operations return success on incomplete and cancelled byte transfers. +New software shall use +.Dv PT_IO +as it allows to check whether a byte transfer was completed. +.It Dv PT_WRITE_I , Dv PT_WRITE_D +These requests parallel +.Dv PT_READ_I +and +.Dv PT_READ_D , +except that they write rather than read. +The +.Fa data +argument supplies the value to be written. +.Pp +New software shall use +.Dv PT_IO +as it allows to check whether an operation was completed. +.It Dv PT_CONTINUE +The traced process continues execution. +.Fa addr +is an address specifying the place where execution is to be resumed (a +new value for the program counter), or +.Li (void *)1 +to indicate that execution is to pick up where it left off. +.Fa data +provides a signal number to be delivered to the traced process as it +resumes execution, or 0 if no signal is to be sent. +If a negative value is supplied, that is the negative of the LWP +ID of the thread to be resumed, and only that thread executes. +.It Dv PT_KILL +The traced process terminates, as if +.Dv PT_CONTINUE +has been used with +.Dv SIGKILL +given as the signal to be delivered. +However, unlike +.Dv PT_CONTINUE , +.Dv PT_KILL +can be used on a non-stopped tracee. +The +.Fa addr +and +.Fa data +arguments are ignored. +.It Dv PT_STOP +The traced process stops, as if +.Xr kill 2 +has been used with +.Dv SIGSTOP +given as the signal to be delivered. +.Xr wait 2 +will report the child (again) as stopped even if it was stopped before. +The +.Fa addr +and +.Fa data +arguments are ignored. +Unlike +.Dv PT_CONTINUE +call with +.Dv SIGSTOP , +.Dv PT_STOP +works both on running and stopped processes. +.It Dv PT_ATTACH +This request allows a process to gain control of an otherwise unrelated +process and begin tracing it. +It does not need any cooperation from the to-be-traced process. +In this case, +.Fa pid +specifies the process ID of the to-be-traced process, and the other two +arguments are ignored. +This request requires that the target process +must have the same real UID as the tracing process, and that it must +not be executing a setuid or setgid executable. +(If the tracing process is running as root, +these restrictions do not apply.) +.Pp +The tracing process will see the newly-traced process stop and may then +control it as if it had been traced all along. +It means that the +.Dv SIGSTOP +signal is emitted to tracer. +It is different behavior to the one from +.Dv PT_TRACE_ME . +.Pp +Three other restrictions apply to all tracing processes, even those +running as root. +First, no process may trace a system process. +Second, no process may trace the process running +.Xr init 8 . +Third, if a process has its root directory set with +.Xr chroot 2 , +it may not trace another process unless that process' root directory +is at or below the tracing process' root. +.It Dv PT_DETACH +This request is like PT_CONTINUE, except that after it +succeeds, the traced process is no longer traced and continues +execution normally. +.It Dv PT_IO +This request is a more general interface that can be used instead of +.Dv PT_READ_D , +.Dv PT_WRITE_D , +.Dv PT_READ_I , +and +.Dv PT_WRITE_I . +The I/O request is encoded in a +.Vt struct ptrace_io_desc +defined as: +.Bd -literal -offset indent +struct ptrace_io_desc { + int piod_op; + void *piod_offs; + void *piod_addr; + size_t piod_len; +}; +.Ed +.Pp +where +.Fa piod_offs +is the offset within the traced process where the I/O operation should +take place, +.Fa piod_addr +is the buffer in the tracing process, and +.Fa piod_len +is the length of the I/O request. +The +.Fa piod_op +field specifies which type of I/O operation to perform. +Possible values are: +.Pp +.Bl -tag -width 18n -offset indent -compact +.It Dv PIOD_READ_D +.It Dv PIOD_WRITE_D +.It Dv PIOD_READ_I +.It Dv PIOD_WRITE_I +.It Dv PIOD_READ_AUXV +.El +.Pp +See the description of +.Dv PT_READ_I +for the difference between I and D spaces. +.Pp +The +.Dv PIOD_READ_AUXV +operation can be used to read from the ELF auxiliary vector. +The +.Fa piod_offs +argument sets the offset within the tracee's vector. +To read from the beginning of it, this value must be set to 0 and cast to +.Dv (void *) . +.Pp +A pointer to the I/O descriptor is passed in the +.Fa addr +argument to +.Fn ptrace . +On return, the +.Fa piod_len +field in the I/O descriptor will be updated with the actual number of +bytes transferred. +If the requested I/O could not be successfully performed, +.Fn ptrace +will return \-1 and set +.Va errno . +.Pp +This interface returns success for partial and cancelled byte transfers. +For an interrupted transfer, a user shall check whether occurred at least +a single of the following two conditions: +.Dv piod_len == 0 +and set +.Va errno . +Successful but incomplete byte transfers shall be restarted in the place +where they were stopped. +.It Dv PT_DUMPCORE +Makes the process specified in the +.Fa pid +pid generate a core dump. +The +.Fa addr +argument should contain the name of the core file to be generated +and the +.Fa data +argument should contain the length of the core filename. +.It Dv PT_LWPSTATUS +Returns information about a thread from the list of threads for the +process specified in the +.Fa pid +argument. +The +.Fa addr +argument should contain a +.Vt struct ptrace_lwpstatus +defined as: +.Bd -literal -offset indent +struct ptrace_lwpstatus { + lwpid_t pl_lwpid; + sigset_t pl_sigpend; + sigset_t pl_sigmask; + char pl_name[20]; + void *pl_private; +}; +.Ed +.Pp +where +.Fa pl_lwpid +contains a thread LWP ID. +Information is returned for the thread specified in +.Fa pl_lwpid . +.Fa pl_sigpend +contains the signals pending on that LWP. +.Fa pl_sigmask +contains the signals masked on that LWP. +.Fa pl_name +contains printable name of the LWP. +The string is always NUL terminated. +.Fa pl_private +contains the pointer to TLS base. +.Pp +The +.Fa data +argument should contain +.Dq Li sizeof(struct ptrace_lwpinfo) . +.It Dv PT_LWPNEXT +Is the same as +.Dv PT_LWPSTATUS , +except that information is returned for the thread following the one with the +specified ID in the process thread list, or for the first thread +if +.Fa pl_lwpid +is 0. +.Pp +Upon return +.Fa pl_lwpid +contains the LWP ID of the thread that was found, or 0 if there is +no thread after the one whose LWP ID was supplied in the call. +.It Dv PT_SYSCALL +Stops a process before and after executing each system call. +Otherwise this operation is the same as +.Dv PT_CONTINUE . +.It Dv PT_SYSCALLEMU +Intercept and ignore a system call before it has been executed, for use with +.Dv PT_SYSCALL . +This operation shall be called for syscall entry trap from +.Dv PT_SYSCALL . +To resume execution after intercepting the system call, +another +.Dv PT_SYSCALL +shall be used. +.It Dv PT_SET_EVENT_MASK +This request can be used to specify which events in the traced process +should be reported to the tracing process. +These events are specified in a +.Vt struct ptrace_event +defined as: +.Bd -literal -offset indent +typedef struct ptrace_event { + int pe_set_event; +} ptrace_event_t; +.Ed +.Pp +.Fa pe_set_event +is the set of events to be reported. +This set is formed by OR'ing together the following values: +.Bl -tag -width 18n +.It PTRACE_FORK +Report +.Xr fork 2 . +.It PTRACE_VFORK +Report +.Xr vfork 2 . +.It PTRACE_VFORK_DONE +Report parent resumed after +.Xr vfork 2 . +.It PTRACE_LWP_CREATE +Report thread birth. +.It PTRACE_LWP_EXIT +Report thread termination. +.It PTRACE_POSIX_SPAWN +Report +.Xr posix_spawn 3 . +.El +.Pp +The +.Xr fork 2 +and +.Xr vfork 2 +events can occur with +.Xr clone 2 . +The +.Dv PTRACE_FORK +value means that process gives birth to its child +without pending on its termination or +.Xr execve 2 +operation. +If enabled, +the child is also traced by the debugger and +.Dv SIGTRAP +is generated twice, +first for the parent and second for the child. +The +.Dv PTRACE_VFORK +event is the same as +.Dv PTRACE_FORK , +but the parent blocks after giving birth to the child. +The +.Dv PTRACE_VFORK_DONE +event can be used to report unblocking of the parent. +.Pp +.Fn posix_spawn +on +.Nx +directly creates the child process without intermediate fork. +The +.Dv PTRACE_POSIX_SPAWN +event semantics are the same as +.Dv PTRACE_FORK , +but the child is reported with implied execution of a file. +.Pp +A pointer to this structure is passed in +.Fa addr . +The +.Fa data +argument should be set to +.Li sizeof(struct ptrace_event) . +.It Dv PT_GET_EVENT_MASK +This request can be used to determine which events in the traced +process will be reported. +The information is read into the +.Vt struct ptrace_event +pointed to by +.Fa addr . +The +.Fa data +argument should be set to +.Li sizeof(struct ptrace_event) . +.It Dv PT_GET_PROCESS_STATE +This request reads the state information associated with the event +that stopped the traced process. +The information is reported in a +.Vt struct ptrace_state +that is equivalent to: +.Bd -literal -offset indent +typedef struct ptrace_state { + int pe_report_event; + union { + pid_t pe_other_pid; + lwpid_t pe_lwp; + }; +} ptrace_state_t; +.Ed +.Pp +A pointer to this structure is passed in +.Fa addr . +The +.Fa data +argument should be set to +.Li sizeof(struct ptrace_state) . +.It Dv PT_SET_SIGINFO +This request can be used to specify signal information emitted to tracee. +This signal information is specified in +.Vt struct ptrace_siginfo +defined as: +.Bd -literal -offset indentq +typedef struct ptrace_siginfo { + siginfo_t psi_siginfo; + lwpid_t psi_lwpid; +} ptrace_siginfo_t; +.Ed +.Pp +Where +.Fa psi_siginfo +is the set to signal information structure. +The +.Fa psi_lwpid +field describes LWP address of the signal. +Value +.Dv 0 +means the whole process +(route signal to all LWPs). +.Pp +A pointer to this structure is passed in +.Fa addr . +The +.Fa data +argument should be set to +.Li sizeof(struct ptrace_siginfo) . +.Pp +In order to pass faked signal to the tracee, +the signal type must match the signal passed to the process with +.Dv PT_CONTINUE +or +.Dv PT_SYSCALL . +.It Dv PT_GET_SIGINFO +This request can be used to determine signal information that was received by +a debugger +.Po +see +.Xr siginfo 2 +.Pc . +The information is read into the +.Vt struct ptrace_siginfo +pointed to by +.Fa addr . +The +.Fa data +argument should be set to +.Li sizeof(struct ptrace_siginfo) . +.It Dv PT_SET_SIGPASS +This request can be used to specify mask of signals that should be passed +directly to the debuggee, without reporting to the tracer. +A pointer to sigset_t is passed in +.Fa addr . +The +.Fa data +argument should be set to +.Li sizeof(sigset_t) . +.Pp +It is not permitted to mask +.Dv SIGSTOP +and +.Dv SIGKILL . +All debugger related signals +.Dv ( SIGTRAP , SIGILL , SIGSEGV , SIGBUS , SIGFPE ) +are reported to the tracer without interruption, +unless they were emitted by a non-crash source. +.It Dv PT_GET_SIGPASS +This request can be used to determine mask of signals passed directly to the debuggee. +A pointer to sigset_t is passed in +.Fa addr . +The +.Fa data +argument should be set to +.Li sizeof(sigset_t) . +.Pp +Upon debugger attach the sigpass mask shall be empty. +.It Dv PT_RESUME +Allow execution of a specified thread, +change its state from suspended to continued. +The +.Fa addr +argument is unused. +The +.Fa data +argument specifies the LWP ID. +.Pp +This call is equivalent to +.Xr _lwp_continue 2 +called by a traced process. +This call does not change the general process state from stopped to continued. +.It Dv PT_SUSPEND +Prevent execution of a specified thread, +change its state from continued to suspended. +The +.Fa addr +argument is unused. +The +.Fa data +argument specifies the requested LWP ID. +.Pp +This call is equivalent to +.Xr _lwp_suspend 2 +called by a traced process. +This call does not change the general process state from continued to stopped. +.El +.Pp +Additionally, the following requests exist but are +not available on all machine architectures. +The file +.In machine/ptrace.h +lists which requests exist on a given machine. +.Bl -tag -width 12n +.It Dv PT_STEP +Execution continues as in request PT_CONTINUE; however +as soon as possible after execution of at least one +instruction, execution stops again. +If the +.Fa data +argument is greater than 0, it contains the LWP ID of the thread to be +stepped, and any other threads are continued. +If the +.Fa data +argument is less than zero, it contains the negative of the LWP ID of +the thread to be stepped, and only that thread executes. +.It Dv PT_SETSTEP +This request will turn on single stepping of the specified thread. +.Fa addr +is unused. +.Fa data +specifies the LWP ID of the thread to be stepped. +The execution does not continue until +.Dv PT_CONTINUE +is issued. +This request permits combining single-stepping with sending signals and +.Dv PT_SYSCALL . +.It Dv PT_CLEARSTEP +This request will turn off single stepping of the specified thread. +.Fa addr +is unused. +.Fa data +specifies the LWP ID of the thread to disable single-stepping. +.It Dv PT_GETREGS +This request reads the traced process' machine registers into the +.Vt struct reg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be read. +If zero is supplied, the first thread of the process is read. +.It Dv PT_SETREGS +This request is the converse of +.Dv PT_GETREGS ; +it loads the traced process' machine registers from the +.Vt struct reg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be written. +If zero is supplied, the first thread of the process is written. +.It Dv PT_GETFPREGS +This request reads the traced process' floating-point registers into +the +.Vt struct fpreg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be read. +If zero is supplied, the first thread of the process is read. +.It Dv PT_SETFPREGS +This request is the converse of +.Dv PT_GETFPREGS ; +it loads the traced process' floating-point registers from the +.Vt struct fpreg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be written. +If zero is supplied, the first thread of the process is written. +.It Dv PT_GETDBREGS +This request reads the traced process' debug registers into +the +.Vt struct dbreg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be read. +If zero is supplied, the first thread of the process is read. +.It Dv PT_SETDBREGS +This request is the converse of +.Dv PT_GETDBREGS ; +it loads the traced process' debug registers from the +.Vt struct dbreg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be written. +If zero is supplied, the first thread of the process is written. +.It Dv PT_GETXMMREGS +This request reads the traced process' XMM registers into +the +.Vt struct xmmregs +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be read. +If zero is supplied, the first thread of the process is read. +.It Dv PT_SETXMMREGS +This request is the converse of +.Dv PT_GETXMMREGS ; +it loads the traced process' XMM registers from the +.Vt struct xmmregs +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be written. +If zero is supplied, the first thread of the process is written. +.It Dv PT_GETVECREGS +This request reads the traced process' vector registers into +the +.Vt struct vreg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be read. +If zero is supplied, the first thread of the process is read. +.It Dv PT_SETVECREGS +This request is the converse of +.Dv PT_GETVECREGS ; +it loads the traced process' vector registers from the +.Vt struct vreg +(defined in +.In machine/reg.h ) +pointed to by +.Fa addr . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be written. +If zero is supplied, the first thread of the process is written. +.It Dv PT_GETXSTATE +This request reads the traced process' FPU extended state into +the +.Vt struct xstate +(defined in +.In machine/cpu_extended_state.h ) . +.Fa addr +should be a pointer to +.Vt struct iovec +(defined in +.In sys/uio.h ) +specifying the pointer to the aforementioned struct as +.Fa iov_base +and its size as +.Fa iov_len . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be read. +If zero is supplied, the first thread of the process is read. +The struct will be filled up to the specified +.Fa iov_len . +The caller needs to check the +.Fa xs_rfbm +bitmap in order to determine which fields were provided by the CPU, +and may check +.Fa xs_xstate_bv +to determine which component states were changed from the initial state. +.It Dv PT_SETXSTATE +This request is the converse of +.Dv PT_GETXSTATE ; +it loads the traced process' extended FPU state from the +.Vt struct xstate +(defined in +.In machine/cpu_extended_state.h ) . +.Fa addr +should be a pointer to +.Vt struct iovec +(defined in +.In sys/uio.h ) +specifying the pointer to the aforementioned struct as +.Fa iov_base +and its size as +.Fa iov_len . +The +.Fa data +argument contains the LWP ID of the thread whose registers are to +be written. +If zero is supplied, the first thread of the process is written. +The +.Fa xs_rfbm +field of the supplied xstate specifies which state components are to +be updated. +Other components (fields) will be ignored. +The +.Fa xs_xstate_bv +field specifies whether component state should be set to provided +values (when 1) or reset to uninitialized (when 0). +The request will fail if +.Fa xs_xstate_bv +is not a subset of +.Fa xs_rfbm , +or any of the specified components is not supported by the CPU or kernel +(i.e., not returned by +.Dv PT_GETXSTATE ) . +.El +.Sh ERRORS +Some requests can cause +.Fn ptrace +to return \-1 as a non-error value; to disambiguate, +.Va errno +can be set to 0 before the call and checked afterwards. +The possible errors are: +.Bl -tag -width "[EINVAL]" +.It Bq Er EAGAIN +Process is currently exec'ing and cannot be traced. +.It Bq Er EBUSY +.Bl -bullet -compact +.It +.Dv PT_ATTACH +was attempted on a process that was already being traced. +.It +A request attempted to manipulate a process that was being traced by +some process other than the one making the request. +.It +A request (other than +.Dv PT_ATTACH ) +specified a process that wasn't stopped. +.El +.It Bq Er EDEADLK +An attempt to unstop a process with locked threads. +.It Bq Er EINVAL +.Bl -bullet -compact +.It +A process attempted to use +.Dv PT_ATTACH +on itself. +.It +The +.Fa request +was not a legal request on this machine architecture. +.It +The signal number (in +.Fa data ) +to +.Dv PT_CONTINUE +was neither 0 nor a legal signal number. +.It +.Dv PT_GETREGS , +.Dv PT_SETREGS , +.Dv PT_GETFPREGS , +.Dv PT_SETFPREGS , +.Dv PT_GETXSTATE , +or +.Dv PT_SETXSTATE +was attempted on a process with no valid register set. +(This is normally true only of system processes.) +.It +A process attempted to set Program Counter to 0 in +.Dv PT_CONTINUE , +.Dv PT_SYSCALL +or +.Dv PT_DETACH +with +.Dv vm.user_va0_disable +set to 1. +.It +.Dv PT_SETXSTATE +attempted to set state components not supported by the kernel, +or +.Dv xs_xstate_bv +was not a subset of +.Dv xs_rfbm . +.El +.It Bq Er EPERM +.Bl -bullet -compact +.It +A request (other than +.Dv PT_ATTACH ) +attempted to manipulate a process that wasn't being traced at all. +.It +An attempt was made to use +.Dv PT_ATTACH +on a process in violation of the requirements listed under +.Dv PT_ATTACH +above. +.El +.It Bq Er ESRCH +No process having the specified process ID exists. +.El +.Sh SEE ALSO +.Xr sigaction 2 , +.Xr signal 7 +.Sh HISTORY +The +.Fn ptrace +function appeared in +.At v7 . +.Sh BUGS +On the SPARC, the PC is set to the provided PC value for +.Dv PT_CONTINUE +and similar calls, +but the NPC is set willy-nilly to 4 greater than the PC value. +Using +.Dv PT_GETREGS +and +.Dv PT_SETREGS +to modify the PC, passing +.Li (void *)1 +to +.Eo \& +.Fn ptrace +.Ec , +should be able to sidestep this. diff --git a/static/netbsd/man2/rasctl.2 b/static/netbsd/man2/rasctl.2 new file mode 100644 index 00000000..1d1b7e84 --- /dev/null +++ b/static/netbsd/man2/rasctl.2 @@ -0,0 +1,212 @@ +.\" $NetBSD: rasctl.2,v 1.13 2008/04/29 21:06:28 scw Exp $ +.\" +.\" Copyright (c) 2002 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Gregory McGarry. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 29, 2008 +.Dt RASCTL 2 +.Os +.Sh NAME +.Nm rasctl +.Nd restartable atomic sequences +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/ras.h +.Ft int +.Fn rasctl "void *addr" "size_t len" "int op" +.Sh DESCRIPTION +Restartable atomic sequences are code sequences which are guaranteed +to execute without preemption. +This property is assured by the kernel +by re-executing a preempted sequence from the start. +This functionality enables applications to build atomic sequences which, +when executed to completion, will have executed atomically. +Restartable atomic sequences are intended to be used on systems that +do not have hardware support for low-overhead atomic primitives. +.Pp +The +.Nm +function manipulates a process's set of restartable atomic sequences. +If a restartable atomic sequence is registered and the process is +preempted within the range +.Fa addr +and +.Fa addr Ns + Ns Fa len , +then the process is resumed at +.Fa addr . +.Pp +As the process execution can be rolled-back, the code in the sequence +should have no side effects other than a final store at +.Fa addr Ns + Ns Fa len Ns \-1 . +The kernel does not guarantee that the sequences are successfully +restartable. +It assumes that the application knows what it is doing. +Restartable atomic sequences should adhere to the following guidelines: +.Pp +.Bl -bullet -compact +.It +have a single entry point and a single exit point; +.It +not execute emulated instructions; and +.It +not invoke any functions or system calls. +.El +.Pp +Restartable atomic sequences are inherited from the parent by the +child during the +.Xr fork 2 +operation. +Restartable atomic sequences for a process are removed during +.Xr exec 3 . +.Pp +The operations that can be applied to a restartable atomic sequence +are specified by the +.Fa op +argument. +Possible operations are: +.Pp +.Bl -tag -compact -width RAS_PURGE_ALLXXX +.It Dv RAS_INSTALL +Install this sequence. +.It Dv RAS_PURGE +Remove the specified registered sequence for this process. +.It Dv RAS_PURGE_ALL +Remove all registered sequences for this process. +.El +.Pp +The +.Dv RAS_PURGE +and +.Dv RAS_PURGE_ALL +operations should be considered to have +undefined behaviour if there are any other runnable threads in the +address space which might be executing within the restartable atomic +sequence(s) at the time of the purge. +The caller must be responsible for ensuring that there is some form of +coordination with other threads to prevent unexpected behaviour. +.Pp +To preserve the atomicity of sequences, the kernel attempts to protect +the sequences from alteration by the +.Xr ptrace 2 +facility. +.Sh RETURN VALUES +Upon successful completion, +.Fn rasctl +returns zero. +Otherwise, \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Nm +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +Invalid input was supplied, such as an invalid operation, an invalid +address, or an invalid length. +A process may have a finite number of +atomic sequences that is defined at compile time. +.It Bq Er EOPNOTSUPP +Restartable atomic sequences are not supported by the kernel. +.It Bq Er ESRCH +Restartable atomic sequence not registered. +.El +.Sh SEE ALSO +.Xr ptrace 2 +.\" .Xr lock 9 +.Sh HISTORY +The +.Nm +functionality first appeared in +.Nx 2.0 +based on a similar interface that appeared in Mach 2.5. +.Sh CAVEATS +Modern compilers reorder instruction sequences to optimize speed. +The start address and size of a +.Nm RAS +need to be protected against this. +One level of protection is created by compiler dependent instructions, +abstracted from user level code via the following macros: +.Bl -tag -width RAS_START(name) +.It Dv RAS_DECL(name) +Declares the start and end labels used internally by the +other macros to mark a +.Nm RAS . +The name uniquely identifies the +.Nm RAS . +.It Dv RAS_START(name) +Marks the start of the code. +Each restart returns to the instruction following this macro. +.It Dv RAS_END(name) +Marks the end of the restartable code. +.It Dv RAS_ADDR(name) +Returns the start address of a +.Nm RAS +and is used to create the first argument to +.Nm . +.It Dv RAS_SIZE(name) +Returns the size of a +.Nm RAS +and is used as second argument to +.Nm . +.El +Recent versions of +.Xr gcc 1 +require the +.Fl fno-reorder-blocks +flag to prevent blocks of code wrapped with +.Dv RAS_START Ns / Ns Dv RAS_END +being moved outside these labels. +However, be aware that this may not always be sufficient to prevent +.Xr gcc 1 +from generating non-restartable code within the +.Nm RAS +due to register clobbers. +It is, therefore, strongly recommended that restartable atomic sequences +are coded in assembly. +.Nm RAS +blocks within assembly code can be specified by using the following macros: +.Bl -tag -width RAS_START_ASM_HIDDEN(name) +.It Dv RAS_START_ASM(name) +Similar to +.Nm RAS_START +but for use in assembly source code. +.It Dv RAS_END_ASM(name) +Similar to +.Nm RAS_END +but for use in assembly source code. +.It Dv RAS_START_ASM_HIDDEN(name) +Similar to +.Nm RAS_START_ASM +except that the symbol will not be placed in the dynamic symbol table. +.It Dv RAS_END_ASM_HIDDEN(name) +Similar to +.Nm RAS_END_ASM +except that the symbol will not be placed in the dynamic symbol table. +.El diff --git a/static/netbsd/man2/read.2 b/static/netbsd/man2/read.2 new file mode 100644 index 00000000..8a4827ba --- /dev/null +++ b/static/netbsd/man2/read.2 @@ -0,0 +1,275 @@ +.\" $NetBSD: read.2,v 1.39 2019/09/02 00:00:25 sevan Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)read.2 8.4 (Berkeley) 2/26/94 +.\" +.Dd September 2, 2019 +.Dt READ 2 +.Os +.Sh NAME +.Nm read , +.Nm readv , +.Nm pread , +.Nm preadv +.Nd read input +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft ssize_t +.Fn read "int d" "void *buf" "size_t nbytes" +.Ft ssize_t +.Fn pread "int d" "void *buf" "size_t nbytes" "off_t offset" +.In sys/uio.h +.Ft ssize_t +.Fn readv "int d" "const struct iovec *iov" "int iovcnt" +.Ft ssize_t +.Fn preadv "int d" "const struct iovec *iov" "int iovcnt" "off_t offset" +.Sh DESCRIPTION +.Fn read +attempts to read +.Fa nbytes +of data from the object referenced by the descriptor +.Fa d +into the buffer pointed to by +.Fa buf . +.Fn readv +performs the same action, but scatters the input data +into the +.Fa iovcnt +buffers specified by the members of the +.Fa iov +array: iov[0], iov[1], ..., iov[iovcnt\|\-\|1]. +.Fn pread +and +.Fn preadv +perform the same functions, but read from the specified position in +the file without modifying the file pointer. +.Pp +For +.Fn readv +and +.Fn preadv , +the +.Fa iovec +structure is defined as: +.Pp +.Bd -literal -offset indent -compact +struct iovec { + void *iov_base; + size_t iov_len; +}; +.Ed +.Pp +Each +.Fa iovec +entry specifies the base address and length of an area +in memory where data should be placed. +.Fn readv +will always fill an area completely before proceeding +to the next. +.Pp +On objects capable of seeking, the +.Fn read +starts at a position +given by the file pointer associated with +.Fa d +(see +.Xr lseek 2 ) . +Upon return from +.Fn read , +the file pointer is incremented by the number of bytes actually read. +.Pp +Objects that are not capable of seeking always read from the current +position. +The value of the file pointer associated with such an object is undefined. +.Pp +Upon successful completion, +.Fn read , +.Fn readv , +.Fn pread , +and +.Fn preadv +return the number of bytes actually read and placed in the buffer. +The system guarantees to read the number of bytes requested if +the descriptor references a normal file that has that many bytes left +before the end-of-file, but in no other case. +.Sh RETURN VALUES +If successful, the +number of bytes actually read is returned. +Upon reading end-of-file, zero is returned. +Otherwise, a \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn read , +.Fn readv , +.Fn pread , +and +.Fn preadv +will succeed unless: +.Bl -tag -width Er +.It Bq Er EAGAIN +The file was marked for non-blocking I/O, +and no data were ready to be read. +.It Bq Er EBADF +.Fa d +is not a valid file or socket descriptor open for reading. +.It Bq Er EFAULT +.Fa buf +points outside the allocated address space. +.It Bq Er EINTR +A read from a slow device +(i.e. one that might block for an arbitrary amount of time) +was interrupted by the delivery of a signal +before any data arrived. +See +.Xr sigaction 2 +for more information on the interaction between signals and system +calls. +.It Bq Er EINVAL +The file pointer associated with +.Fa d +was negative; or +the total length of the I/O is more than can be expressed by the ssize_t +return value. +.It Bq Er EIO +An I/O error occurred while reading from the file system. +.It Bq Er EISDIR +.Fa d +refers to a directory and the implementation does not allow the directory +to be read using +.Fn read +or +.Fn pread . +The +.Fn readdir +function should be used instead. +.It Bq Er ENOBUFS +A message was not delivered because it would have overflowed the buffer. +.El +.Pp +In addition, +.Fn readv +and +.Fn preadv +may return one of the following errors: +.Bl -tag -width Er +.It Bq Er EFAULT +Part of the +.Fa iov +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa iovcnt +was less than or equal to 0, or greater than +.Brq Dv IOV_MAX ; +or one of the +.Fa iov_len +values in the +.Fa iov +array was negative; or +the sum of the +.Fa iov_len +values in the +.Fa iov +array overflowed a 32-bit integer. +.El +.Pp +The +.Fn pread +and +.Fn preadv +calls may also return the following errors: +.Bl -tag -width Er +.It Bq Er EINVAL +The specified file offset is invalid. +.It Bq Er ESPIPE +The file descriptor is associated with a pipe, socket, or FIFO. +.El +.Sh SEE ALSO +.Xr dup 2 , +.Xr fcntl 2 , +.Xr open 2 , +.Xr pipe 2 , +.Xr poll 2 , +.Xr select 2 , +.Xr sigaction 2 , +.Xr socket 2 , +.Xr socketpair 2 +.Sh STANDARDS +The +.Fn read +function conforms to +.St -p1003.1-90 . +The +.Fn readv +and +.Fn pread +functions conform to +.St -xpg4.2 . +.Sh HISTORY +The +.Fn preadv +function call +appeared in +.Nx 1.4 . +The +.Fn pread +function call +appeared in +.At V.4 . +The +.Fn readv +function call +appeared in +.Bx 4.2 . +The +.Fn read +function call appeared in +.At v1 . +.Sh CAVEATS +Error checks should explicitly test for \-1. +Code such as +.Bd -literal + while ((nr = read(fd, buf, sizeof(buf))) > 0) +.Ed +.Pp +is not maximally portable, as some platforms allow for +.Va nbytes +to range between +.Dv SSIZE_MAX +and +.Dv SIZE_MAX +\- 2, in which case the return value of an error-free +.Fn read +may appear as a negative number distinct from \-1. +Proper loops should use +.Bd -literal + while ((nr = read(fd, buf, sizeof(buf))) != -1 && nr != 0) +.Ed diff --git a/static/netbsd/man2/readlink.2 b/static/netbsd/man2/readlink.2 new file mode 100644 index 00000000..910900db --- /dev/null +++ b/static/netbsd/man2/readlink.2 @@ -0,0 +1,177 @@ +.\" $NetBSD: readlink.2,v 1.33 2017/07/03 21:32:50 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)readlink.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 28, 2013 +.Dt READLINK 2 +.Os +.Sh NAME +.Nm readlink , +.Nm readlinkat +.Nd read value of a symbolic link +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft ssize_t +.Fn readlink "const char * restrict path" "char * restrict buf" "size_t bufsiz" +.Ft ssize_t +.Fn readlinkat "int fd" "const char * restrict path" "char * restrict buf"\ + "size_t bufsiz" +.Sh DESCRIPTION +.Fn readlink +places the contents of the symbolic link +.Fa path +in the buffer +.Fa buf , +which has size +.Fa bufsiz . +.Fn readlink +does not append a +.Dv NUL +character to +.Fa buf . +.Pp +.Fn readlinkat +works the same way as +.Fn readlink +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Sh RETURN VALUES +The call returns the count of characters placed in the buffer +if it succeeds, or a \-1 if an error occurs, placing the error +code in the global variable +.Va errno . +.Sh EXAMPLES +A typical use is illustrated in the following piece of code +which reads the contents of a symbolic link named +.Pa /symbolic/link +and stores them as null-terminated string: +.Bd -literal -offset indent +#include <limits.h> +#include <unistd.h> + +char buf[PATH_MAX]; +ssize_t len; + +if ((len = readlink("/symbolic/link", buf, sizeof(buf)-1)) == -1) + error handling; +buf[len] = '\e0'; +.Ed +.Sh ERRORS +.Fn readlink +and +.Fn readlinkat +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EFAULT +.Fa buf +extends outside the process's allocated address space. +.It Bq Er EINVAL +The named file is not a symbolic link. +.It Bq Er EIO +An I/O error occurred while reading from the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.El +.Pp +In addition, +.Fn readlinkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr lstat 2 , +.Xr stat 2 , +.Xr symlink 2 , +.Xr symlink 7 +.Sh STANDARDS +The +.Fn readlink +function conforms to +.St -p1003.1-2001 . +.Fn readlinkat +conforms to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn readlink +function appeared in +.Bx 4.2 . +The type returned was changed from +.Ft int +to +.Ft ssize_t +in +.Nx 2.1 . diff --git a/static/netbsd/man2/reboot.2 b/static/netbsd/man2/reboot.2 new file mode 100644 index 00000000..a748635f --- /dev/null +++ b/static/netbsd/man2/reboot.2 @@ -0,0 +1,185 @@ +.\" $NetBSD: reboot.2,v 1.29 2010/03/22 19:30:55 joerg Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)reboot.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd September 4, 2009 +.Dt REBOOT 2 +.Os +.Sh NAME +.Nm reboot +.Nd reboot system or halt processor +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.In sys/reboot.h +.Ft int +.Fn reboot "int howto" "char *bootstr" +.Sh DESCRIPTION +.Fn reboot +reboots the system. +Only the super-user may reboot a machine on demand. +However, a reboot is invoked +automatically in the event of unrecoverable system failures. +.Pp +.Fa howto +is a mask of options; the system call interface allows the following +options, defined in the include file +.In sys/reboot.h , +to be passed +to the new kernel or the new bootstrap and init programs. +In addition to the options described below, other options +described in +.Xr boothowto 9 +may be set, but such options may be ignored by the system. +.Pp +Options can be combined together by OR'ing them, eg. +.Dv RB_DUMP | +.Dv RB_NOSYNC +would be interpreted as +.Dq dump kernel memory before rebooting and don't sync the disks . +.Bl -column RB_INITNAMEA 0x0000 +.It Dv RB_AUTOBOOT Ta Li 0x0000 Ta +The default, causing the system to reboot in its usual fashion. +.It Dv RB_ASKNAME Ta Li 0x0001 Ta +Interpreted by the bootstrap program itself, causing it to +prompt on the console as to what file should be booted. +Normally, the system is booted from the file +.Dq Em xx Ns No (0,0)netbsd , +where +.Em xx +is the default disk name, +without prompting for the file name. +.\" Obsolete! +.\" .It Dv RB_DFLTROOT Ta Li 0x0020 Ta +.\" Use the compiled in root device. +.\" Normally, the system uses the device from which it was booted +.\" as the root device if possible. +.\" (The default behavior is dependent on the ability of the bootstrap program +.\" to determine the drive from which it was loaded, which is not possible +.\" on all systems.) +.It Dv RB_DUMP Ta Li 0x0100 Ta +Dump kernel memory before rebooting; see +.Xr savecore 8 +for more information. +.It Dv RB_HALT Ta Li 0x0008 Ta +the processor is simply halted; no reboot takes place. +This option should be used with caution. +.It Dv RB_POWERDOWN Ta Li 0x0808 Ta +This option is always used in conjunction with +.Dv RB_HALT , +and if the system hardware supports the function, the system will be +powered off, otherwise it has no effect. +.It Dv RB_INITNAME Ta Li 0x0010 Ta +An option allowing the specification of an init program (see +.Xr init 8 ) +other than +.Pa /sbin/init +to be run when the system reboots. +This switch is not currently available. +.It Dv RB_KDB Ta Li 0x0040 Ta +Load the symbol table and enable a built-in debugger in the system. +This option will have no useful function if the kernel is not configured +for debugging. +Several other options have different meaning if combined +with this option, although their use may not be possible +via the +.Fn reboot +call. +See +.Xr ddb 4 +for more information. +.It Dv RB_NOSYNC Ta Li 0x0004 Ta +Normally, the disks are sync'd (see +.Xr sync 8 ) +before the processor is halted or rebooted. +This option may be useful if file system changes have been made manually +or if the processor is on fire. +.It Dv RB_RDONLY Ta Li 0x0080 Ta +Initially mount the root file system read-only. +This is currently the default, and this option has been deprecated. +.It Dv RB_SINGLE Ta Li 0x0002 Ta +Normally, the reboot procedure involves an automatic disk consistency +check and then multi-user operations. +.Dv RB_SINGLE +prevents this, booting the system with a single-user shell +on the console. +.Dv RB_SINGLE +is actually interpreted by the +.Xr init 8 +program in the newly booted system. +.Pp +When no options are given (i.e., +.Dv RB_AUTOBOOT +is used), the system is +rebooted from file ``netbsd'' in the root file system of unit 0 +of a disk chosen in a processor specific way. +An automatic consistency check of the disks is normally performed +(see +.Xr fsck 8 ) . +.It Dv RB_STRING Ta Li 0x0400 Ta +.Fa bootstr +is a string passed to the firmware on the machine, if possible, if this +option is set. +Currently this is only implemented on the sparc and the sun3 ports. +.It Dv RB_USERCONF Ta Li 0x1000 Ta +Initially invoke the +.Xr userconf 4 +facility when the system starts up again, if it has been compiled into +the kernel that is loaded. +.El +.Sh RETURN VALUES +If successful, this call never returns. +Otherwise, a \-1 is returned and an error is returned in the global +variable +.Va errno . +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EPERM +The caller is not the super-user. +.El +.Sh SEE ALSO +.Xr ddb 4 , +.Xr crash 8 , +.Xr halt 8 , +.Xr init 8 , +.Xr reboot 8 , +.Xr savecore 8 , +.Xr boothowto 9 +.Sh HISTORY +The +.Fn reboot +function call appeared in +.Bx 4.0 . +.Pp +The +.Dv RB_DFLTROOT +option is now +.Em obsolete . diff --git a/static/netbsd/man2/recv.2 b/static/netbsd/man2/recv.2 new file mode 100644 index 00000000..4df65402 --- /dev/null +++ b/static/netbsd/man2/recv.2 @@ -0,0 +1,367 @@ +.\" $NetBSD: recv.2,v 1.41 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1983, 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)recv.2 8.3 (Berkeley) 2/21/94 +.\" +.Dd July 8, 2025 +.Dt RECV 2 +.Os +.Sh NAME +.Nm recv , +.Nm recvfrom , +.Nm recvmsg , +.Nm recvmmsg +.Nd receive a message from a socket +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft ssize_t +.Fn recv "int s" "void *buf" "size_t len" "int flags" +.Ft ssize_t +.Fn recvfrom "int s" "void * restrict buf" "size_t len" "int flags" "struct sockaddr * restrict from" "socklen_t * restrict fromlen" +.Ft ssize_t +.Fn recvmsg "int s" "struct msghdr *msg" "int flags" +.Ft int +.Fn recvmmsg "int s" "struct mmsghdr *mmsg" "unsigned int vlen" "unsigned int flags" "struct timespec *timeout" +.Sh DESCRIPTION +.Fn recvfrom , +.Fn recvmsg +and +.Fn recvmmsg +are used to receive messages from a socket, +and may be used to receive data on a socket whether or not +it is connection-oriented. +.Pp +If +.Fa from +is non-nil, and the socket is not connection-oriented, +the source address of the message is filled in. +.Fa fromlen +is a value-result parameter, initialized to the size of +the buffer associated with +.Fa from , +and modified on return to indicate the actual size of the +address stored there. +.Pp +The +.Fn recvmmsg +call can be used to receive multiple messages in the same call using an array of +.Fa mmsghdr +elements with the following form, as defined in +.In sys/socket.h : +.Bd -literal +struct mmsghdr { + struct msghdr msg_hdr; /* the message to be sent */ + unsigned int msg_len; /* number of bytes received */ +}; +.Ed +.Pp +The +.Fa msg_len +member contains the number of bytes received for each +.Fa msg_hdr +member. +The array has +.Fa vlen +elements, which is limited to +.Dv 1024 . +If there is an error, a number fewer than +.Fa vlen +may be returned, and the error may be retrieved using +.Xr getsockopt 2 +with +.Dv SO_ERROR . +If the flag +.Dv MSG_WAITFORONE +is set in +.Fa flags +then the +.Fn recvmmsg +call will wait for one message, and set +.Dv MSG_DONTWAIT +for the rest. +If the +.Fa timeout +parameter is not +.Dv NULL , +then +.Fn recvmmsg +will return if that time is exceeded. +.Pp +The +.Fn recv +call is normally used only on a +.Em connected +socket (see +.Xr connect 2 ) +and is identical to +.Fn recvfrom +with a nil +.Fa from +parameter. +.Pp +.Fn recv , +.Fn recvfrom +and +.Fn recvmsg +routines return the length of the message on successful +completion. +.Fn recvmmsg +returns the number of messages received. +If a message is too long to fit in the supplied buffer, +excess bytes may be discarded depending on the type of socket +the message is received from (see +.Xr socket 2 ) . +.Pp +If no messages are available at the socket, the +receive call waits for a message to arrive, unless +the socket is nonblocking (see +.Xr fcntl 2 ) +in which case the value +\-1 is returned and the external variable +.Va errno +set to +.Er EAGAIN . +If no data is available and the remote peer was shut down, +0 is returned. +The receive calls normally return any data available, +up to the requested amount, +rather than waiting for receipt of the full amount requested; +this behavior is affected by the socket-level options +.Dv SO_RCVLOWAT +and +.Dv SO_RCVTIMEO +described in +.Xr getsockopt 2 . +.Pp +The +.Xr select 2 +or +.Xr poll 2 +call may be used to determine when more data arrives. +.Pp +The +.Fa flags +argument to a recv call is formed by +.Em or Ap ing +one or more of the values: +.Bl -column ".Dv MSG_CMSG_CLOEXEC" -offset indent +.It Dv MSG_CMSG_CLOEXEC Ta set the close on exec property for passed file descriptors +.It Dv MSG_CMSG_CLOFORK Ta set the close on fork property for passed file descriptors +.It Dv MSG_OOB Ta process out-of-band data +.It Dv MSG_PEEK Ta peek at incoming message +.It Dv MSG_WAITALL Ta wait for full request or error +.El +.Pp +The +.Dv MSG_OOB +flag requests receipt of out-of-band data +that would not be received in the normal data stream. +Some protocols place expedited data at the head of the normal +data queue, and thus this flag cannot be used with such protocols. +The +.Dv MSG_PEEK +flag causes the receive operation to return data +from the beginning of the receive queue without removing that +data from the queue. +Thus, a subsequent receive call will return the same data. +The +.Dv MSG_WAITALL +flag requests that the operation block until +the full request is satisfied. +However, the call may still return less data than requested +if a signal is caught, an error or disconnect occurs, +or the next data to be received is of a different type than that returned. +.Pp +The +.Fn recvmsg +call uses a +.Fa msghdr +structure to minimize the number of directly supplied parameters. +This structure has the following form, as defined in +.In sys/socket.h : +.Bd -literal +struct msghdr { + void *msg_name; /* optional address */ + socklen_t msg_namelen; /* size of address */ + struct iovec *msg_iov; /* scatter/gather array */ + int msg_iovlen; /* # elements in msg_iov */ + void *msg_control; /* ancillary data, see below */ + socklen_t msg_controllen; /* ancillary data buffer len */ + int msg_flags; /* flags on received message */ +}; +.Ed +.Pp +Here +.Fa msg_name +and +.Fa msg_namelen +specify the source address if the socket is unconnected; +.Fa msg_name +may be given as a null pointer if no names are desired or required. +If the socket is connected, +.Fa msg_name +and +.Fa msg_namelen +are ignored. +.Fa msg_iov +and +.Fa msg_iovlen +describe scatter gather locations, as discussed in +.Xr read 2 . +.Fa msg_control , +which has length +.Fa msg_controllen , +points to a buffer for other protocol control related messages +or other miscellaneous ancillary data. +The messages are of the form: +.Bd -literal +struct cmsghdr { + socklen_t cmsg_len; /* data byte count, including hdr */ + int cmsg_level; /* originating protocol */ + int cmsg_type; /* protocol-specific type */ +/* followed by + u_char cmsg_data[]; */ +}; +.Ed +As an example, one could use this to learn of changes in the data-stream +in XNS/SPP, or in ISO, to obtain user-connection-request data by requesting +a recvmsg with no data buffer provided immediately after an +.Xr accept 2 +call. +.Pp +Open file descriptors are now passed as ancillary data for +.Dv AF_LOCAL +domain sockets, with +.Fa cmsg_level +set to +.Dv SOL_SOCKET +and +.Fa cmsg_type +set to +.Dv SCM_RIGHTS . +.Pp +The +.Fa msg_flags +field is set on return according to the message received. +.Dv MSG_EOR +indicates end-of-record; +the data returned completed a record (generally used with sockets of type +.Dv SOCK_SEQPACKET ) . +.Dv MSG_TRUNC +indicates that +the trailing portion of a datagram was discarded because the datagram +was larger than the buffer supplied. +.Dv MSG_CTRUNC +indicates that some +control data were discarded due to lack of space in the buffer +for ancillary data. +.Dv MSG_OOB +is returned to indicate that expedited or out-of-band data were received. +.Sh RETURN VALUES +The +.Fn recv , +.Fn recvfrom +and +.Fn recvmsg +calls return the number of bytes received, or \-1 +if an error occurred. +For connected sockets whose remote peer was shut down, +0 is returned when no more data is available. +The +.Fn recvmmsg +call returns the number of messages received, or \-1 +if an error occurred. +.Sh ERRORS +The calls fail if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The socket is marked non-blocking, and the receive operation +would block, or +a receive timeout had been set, +and the timeout expired before data were received. +.It Bq Er EBADF +The argument +.Fa s +is an invalid descriptor. +.It Bq Er EFAULT +The receive buffer pointer(s) point outside the process's +address space. +.It Bq Er EINTR +The receive was interrupted by delivery of a signal before +any data were available. +.It Bq Er EINVAL +The total length of the I/O is more than can be expressed by the +.Vt ssize_t +return value. +.It Bq Er ENOBUFS +A message was not delivered because it would have overflowed the buffer. +.It Bq Er ENOTCONN +The socket is associated with a connection-oriented protocol +and has not been connected (see +.Xr connect 2 +and +.Xr accept 2 ) . +.It Bq Er ENOTSOCK +The argument +.Fa s +does not refer to a socket. +.El +.Pp +.Fn recvmsg +will also fail if: +.Bl -tag -width Er +.It Bq Er EMSGSIZE +The +.Fa msg_iovlen +member of the +.Fa msg +structure is less than or equal to 0, +or is greater than +.Brq Dv IOV_MAX . +.El +.Sh SEE ALSO +.Xr fcntl 2 , +.Xr getsockopt 2 , +.Xr poll 2 , +.Xr read 2 , +.Xr select 2 , +.Xr socket 2 +.Sh HISTORY +The +.Fn recv +function call appeared in +.Bx 4.2 . +The +.Fn recvmmsg +function call appeared in +.Tn Linux 2.6.32 +and +.Nx 7.0 . diff --git a/static/netbsd/man2/redirect.db.2 b/static/netbsd/man2/redirect.db.2 new file mode 100644 index 00000000..d4e65d11 --- /dev/null +++ b/static/netbsd/man2/redirect.db.2 @@ -0,0 +1,16 @@ +.\" $NetBSD: redirect.db.2,v 1.4 2025/01/26 16:24:37 christos Exp $ +.\" +; Copyright (C) Internet Systems Consortium, Inc. ("ISC") +; +; SPDX-License-Identifier: MPL-2.0 +; +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, you can obtain one at https://mozilla.org/MPL/2.0/. +; +; See the COPYRIGHT file distributed with this work for additional +; information regarding copyright ownership. + +@ 0 SOA . . 1 0 0 0 0 +@ 0 NS . +@ 0 A 127.0.0.1 diff --git a/static/netbsd/man2/rename.2 b/static/netbsd/man2/rename.2 new file mode 100644 index 00000000..8790f58e --- /dev/null +++ b/static/netbsd/man2/rename.2 @@ -0,0 +1,314 @@ +.\" $NetBSD: rename.2,v 1.34 2025/02/14 22:50:38 dholland Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)rename.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd February 14, 2025 +.Dt RENAME 2 +.Os +.Sh NAME +.Nm rename , +.Nm renameat +.Nd change the name of a file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In stdio.h +.Ft int +.Fn rename "const char *from" "const char *to" +.In unistd.h +.Ft int +.Fn renameat "int fromfd" "const char *from" "int tofd" "const char *to" +.Sh DESCRIPTION +.Fn rename +causes the link named +.Fa from +to be renamed as +.Fa to . +If +.Fa to +exists, it is first removed. +Both +.Fa from +and +.Fa to +must be of the same type (that is, both directories or both +non-directories), and must reside on the same file system. +.Pp +.Fn rename +guarantees that an instance of +.Fa to +will always exist, even if the system should crash in +the middle of the operation. +.Pp +If the final component of +.Fa from +is a symbolic link, +the symbolic link is renamed, +not the file or directory to which it points. +.Pp +If both +.Fa from +and +.Fa to +refer to the same name in the same directory, +.Fn rename +returns successfully and performs no other action. +.Pp +.Fn renameat +works the same way as +.Fn rename +except if +.Fa from +(resp. +.Fa to ) +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fromfd +(resp. +.Fa tofd ) . +Search permission is required on the directories named by +.Fa fromfd +and +.Fa tofd . +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on the directories named by +.\" .Fa fromfd +.\" and +.\" .Fa tofd +.\" unless they were opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directories named by +.\" .Fa fromfd +.\" and +.\" .Fa tofd +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fromfd +or +.Fa tofd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Sh RETURN VALUES +.Rv -std rename renameat +.Sh ERRORS +.Fn rename +and +.Fn renameat +will fail and neither of the argument files will be +affected if: +.Bl -tag -width Er +.It Bq Er EACCES +A component of either path prefix denies search permission, or +the requested link requires writing in a directory with a mode +that denies write permission. +.It Bq Er EBUSY +.Fa from +or +.Fa to +is the mount point for a mounted file system. +.It Bq Er EDQUOT +The directory in which the entry for the new name +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +.It Bq Er EFAULT +.Fa from +or +.Fa to +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa from +is a parent directory of +.Fa to , +or an attempt is made to rename +.Ql \&. +or +.Ql \&.. . +.It Bq Er EIO +An I/O error occurred while making or updating a directory entry. +.It Bq Er EISDIR +.Fa to +is a directory, but +.Fa from +is not a directory. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating either pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of the +.Fa from +path does not exist, +or a path prefix of +.Fa to +does not exist. +.It Bq Er ENOSPC +The directory in which the entry for the new name is being placed +cannot be extended because there is no space left on the file +system containing the directory. +.It Bq Er ENOTDIR +A component of either path prefix is not a directory, or +.Fa from +is a directory, but +.Fa to +is not a directory. +.It Bq Er ENOTEMPTY +.Fa to +is a directory and is not empty. +.It Bq Er EPERM +The directory containing +.Fa from +is marked sticky, +and neither the containing directory nor +.Fa from +are owned by the effective user ID. +Or the +.Fa to +file exists, +the directory containing +.Fa to +is marked sticky, +and neither the containing directory nor +.Fa to +are owned by the effective user ID. +.It Bq Er EROFS +The requested link requires writing in a directory on a read-only file +system. +.It Bq Er EXDEV +The link named by +.Fa to +and the file named by +.Fa from +are on different logical devices (file systems). +Note that this error code will not be returned if the implementation +permits cross-device links. +.El +.Pp +In addition, +.Fn renameat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa from +or +.Fa to +does not specify an absolute path and +.Fa fromfd +or +.Fa tofd , +respectively, is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa from +or +.Fa to +is not an absolute path and +.Fa fromfd +or +.Fa tofd , +respectively, is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr open 2 , +.Xr symlink 7 +.Sh STANDARDS +The +.Fn rename +function deviates from the semantics defined in +.St -p1003.1-90 , +which specifies that if both +.Fa from +and +.Fa to +.Em link +to the same existing file, +.Fn rename +shall return successfully and performs no further action, whereas this +implementation will remove the file specified by +.Fa from +unless both +.Fa from +and +.Fa to +are the same name in the same directory. +.Pp +To retain conformance, a compatibility interface is provided by the +.Lb libposix +which is also be brought into scope if any of the +.Dv _POSIX_SOURCE , +.Dv _POSIX_C_SOURCE +or +.Dv _XOPEN_SOURCE +preprocessor symbols are defined at compile-time: +the +.Fn rename +function conforms to +.St -p1003.1-90 +and +.St -xpg4.2 . +.Fn renameat +conforms to +.St -p1003.1-2008 . +.Sh BUGS +The system can deadlock if a loop in the file system graph is present. +This loop takes the form of an entry in directory +.Ql Pa a , +say +.Ql Pa a/foo , +being a hard link to directory +.Ql Pa b , +and an entry in +directory +.Ql Pa b , +say +.Ql Pa b/bar , +being a hard link +to directory +.Ql Pa a . +When such a loop exists and two separate processes attempt to +perform +.Ql rename a/foo b/bar +and +.Ql rename b/bar a/foo , +respectively, +the system may deadlock attempting to lock +both directories for modification. +Hard links to directories should be +replaced by symbolic links by the system administrator. diff --git a/static/netbsd/man2/revoke.2 b/static/netbsd/man2/revoke.2 new file mode 100644 index 00000000..8a2b9a1e --- /dev/null +++ b/static/netbsd/man2/revoke.2 @@ -0,0 +1,112 @@ +.\" $NetBSD: revoke.2,v 1.16 2014/11/11 08:10:02 njoly Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Berkeley Software Design, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)revoke.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 3, 2011 +.Dt REVOKE 2 +.Os +.Sh NAME +.Nm revoke +.Nd revoke file access +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn revoke "const char *path" +.Sh DESCRIPTION +The +.Fn revoke +function invalidates all current open file descriptors in the system +for the file named by +.Fa path . +Subsequent operations on any such descriptors +fail, with the exceptions that a +.Xr read 2 +from a character device file which has been revoked +returns a count of zero (end of file), +and a +.Xr close 2 +call will succeed. +If the file is a special file for a device which is open, +the device close function +is called as if all open references to the file had been closed. +.Pp +Access to a file may be revoked only by its owner or the super user. +.Pp +The +.Fn revoke +function is normally used to prepare a terminal device for a new login session, +preventing any access by a previous user of the terminal. +.Sh RETURN VALUES +A 0 value indicates that the call succeeded. +A \-1 return value indicates an error occurred and +.Va errno +is set to indicate the reason. +.Sh ERRORS +Access to the named file is revoked unless one of the following: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, +or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file or a component of the path name does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EPERM +The caller is neither the owner of the file nor the super user. +.El +.Sh SEE ALSO +.Xr close 2 , +.Xr dup 2 , +.Xr fcntl 2 , +.Xr flock 2 , +.Xr fstat 2 , +.Xr read 2 , +.Xr write 2 +.Sh HISTORY +The +.Fn revoke +function was introduced in +.Bx 4.3 Reno . diff --git a/static/netbsd/man2/rfilter.2 b/static/netbsd/man2/rfilter.2 new file mode 100644 index 00000000..5a30d2dd --- /dev/null +++ b/static/netbsd/man2/rfilter.2 @@ -0,0 +1,117 @@ +$NetBSD: rfilter.2,v 1.4 2020/03/22 23:24:08 gutteridge Exp $ + +Advanced rfilter usage: the strip key, and cmd:// notation + + +1. The strip key + +All examples so far have had a match field of foo/, and have +subsequently stripped out foo/ from the path before calling the +designated program. This example shows how to not strip, if +desired. + +Remember that the third parameter in a configuration specifies +the leading pathname component to strip (the ``strip key'' in my +nomenclature). This must match the leading characters in the +path, otherwise no stripping is done. To see the difference +between stripping and no stripping, use the following +configuration (or rfilter.2.conf): + + echo/ rfilter echo/ echo %s + echo_nostrip/ rfilter no_strip echo %s + +Mount, and try a few things: + + % mkdir portal + + % mount_portal /usr/share/examples/mount_portal/rfilter.2.conf `pwd`/portal + + % cat portal/echo/"Hello there." + Hello there. + + % cat portal/echo_nostrip/"Hello there." + echo_nostrip/Hello there. + +Notice that in the second case, the full path name (after +removing the mountpoint) was substituted for %s, and not just the +portion beyond the match key. + + +2. cmd://, and how it can cause problems + +With the proliferation of the web, URLs like +http://host/path/path and ftp://host/path/path, +gopher://host/path, etc. have become common. We can provide web +access through the file system by parsing such names, and +treating them appropriately. Use rfilter.2.conf, in particular, +the following lines: + + ftp:// rfilter nostrip ftp -Vo - %s + http:// rfilter nostrip ftp -Vo - %s + +Now, access the web! + + % mount_portal /usr/share/examples/mount_portal/rfilter.2.conf `pwd`/portal + + % cksum portal/http://www.NetBSD.org/ + 362001418 6920 portal/http://www.NetBSD.org/ + + % more portal/http://www.NetBSD.org/ + <html> + <head> + <!-- Copyright (c) 1996, 1997, 1998, 1999 + The NetBSD Foundation, Inc. ALL RIGHTS RESERVED. --> + ... + +Similarly, we can access ftp sites via ftp:// + + % cat portal/ftp://ftp.NetBSD.org/pub/NetBSD/.message + GIVEN THE NATURE OF THE SOFTWARE MADE AVAILABLE UNDER THIS PROGRAM + IT IS HEREBY NOTED THAT ALL SOFTWARE, WITH THE EXCEPTION ... + + +The difficulty with the URL format becomes clear if we try to tar +a file from ftp://...: + + % tar tzf portal/ftp://ftp.NetBSD.org/pub/NetBSD-current/tar_files/doc.tar.gz + portal/ftp: Unknown host + tar (child): can't open archive portal/ftp://ftp.NetBSD.org/pub/NetBSD-current/tar_files/doc.tar.gz : Input/output error + +The problem is, when tar sees a file of the form A:B, it assumes +A is a hostname. In this case, A is "portal/ftp", which is +obviously not a hostname. + +If we want to avoid this problem, there are at least two +solutions: + 1. cat portal/ftp://ftp.NetBSD.org/pub/NetBSD-current/tar_files/doc.tar.gz | tar tzf - + + 2. Use ftp%// in the configuration file: + + ftp%// rfilter ftp%// ftp -Vo - ftp://%s + + % tar tzf portal/ftp%//ftp.NetBSD.org/pub/NetBSD-current/tar_files/doc.tar.gz + +Note that in this case, we strip out ftp%//, and prepend ftp:// +to the path argument to ftp. + +tar is not the only application which treats a colon specially -- +some others include dump, restore, and rcp/scp. For this reason, +it is recommended to use %, rather than :, for URL-like cmd%// +portal configurations. + + +3. Guru usage + +We conclude this file with an outlandish example showing the full +utility of the rfilter portal. Assume we want a single command +that can extract files from a bzip2'd tar archive that is on +an ftp site. Currently, tar does not understand bzip2 format, so +it requires at least 3 commands: + 1. fetch from ftp site + 2. bunzip2 the file + 3. extract. + +With appropriate portal configurations, the following single command +would also work. + +tar xf portal/bzcat%//`pwd`/portal/ftp%//FTP.SITE.NET/path/path/tar.bz2 diff --git a/static/netbsd/man2/rmdir.2 b/static/netbsd/man2/rmdir.2 new file mode 100644 index 00000000..f483f1c3 --- /dev/null +++ b/static/netbsd/man2/rmdir.2 @@ -0,0 +1,112 @@ +.\" $NetBSD: rmdir.2,v 1.22 2014/10/11 12:06:58 njoly Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)rmdir.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd October 11, 2014 +.Dt RMDIR 2 +.Os +.Sh NAME +.Nm rmdir +.Nd remove a directory file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn rmdir "const char *path" +.Sh DESCRIPTION +.Fn rmdir +removes a directory file +whose name is given by +.Fa path . +The directory must not have any entries other +than +.Ql \&. +and +.Ql \&.. . +.Sh RETURN VALUES +.Rv -std +.Sh ERRORS +The named file is removed unless: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, or +write permission is denied on the directory containing the link +to be removed. +.It Bq Er EBUSY +The directory to be removed is the mount point +for a mounted file system. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EINVAL +The last component of the path is +.Ql \&. . +.It Bq Er EIO +An I/O error occurred while deleting the directory entry +or deallocating the inode. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named directory does not exist. +.It Bq Er ENOTDIR +A component of the path is not a directory. +.It Bq Er ENOTEMPTY +The named directory contains files other than +.Ql \&. +and +.Ql \&.. +in it. +.It Bq Er EPERM +The directory containing the directory to be removed is marked sticky, +and neither the containing directory nor the directory to be removed +are owned by the effective user ID. +.It Bq Er EROFS +The directory entry to be removed resides on a read-only file system. +.El +.Sh SEE ALSO +.Xr mkdir 2 , +.Xr unlink 2 +.Sh STANDARDS +The +.Fn rmdir +function conforms to +.St -p1003.1-90 . +.Sh HISTORY +The +.Fn rmdir +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/sa_enable.2 b/static/netbsd/man2/sa_enable.2 new file mode 100644 index 00000000..8edf703d --- /dev/null +++ b/static/netbsd/man2/sa_enable.2 @@ -0,0 +1,67 @@ +.\" $NetBSD: sa_enable.2,v 1.5 2022/03/13 17:50:54 andvar Exp $ +.\" +.\" Copyright (c)2004 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd March 14, 2004 +.Dt SA_ENABLE 2 +.Os +.Sh NAME +.Nm sa_enable +.Nd enable scheduler activation +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In sa.h +.Ft int +.Fn sa_enable +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn sa_enable +is used to enable scheduler activation. +.Pp +An upcall handler and upcall stacks should be registered with +.Fn sa_register +and +.Fn sa_stacks +beforehand. +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +On success, +.Fn sa_enable +will not return to userland in the normal way. +It returns into the upcall handler with an +.Dv SA_UPCALL_NEWPROC +upcall. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr sa_register 2 , +.Xr sa_stacks 2 , +.Xr pthread 3 diff --git a/static/netbsd/man2/sa_register.2 b/static/netbsd/man2/sa_register.2 new file mode 100644 index 00000000..e66767d5 --- /dev/null +++ b/static/netbsd/man2/sa_register.2 @@ -0,0 +1,75 @@ +.\" $NetBSD: sa_register.2,v 1.2 2004/03/14 10:19:59 snj Exp $ +.\" +.\" Copyright (c)2004 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd March 14, 2004 +.Dt SA_REGISTER 2 +.Os +.Sh NAME +.Nm sa_register +.Nd register a scheduler activation upcall handler +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In sa.h +.Ft int +.Fn sa_register \ + "sa_upcall_t new" \ + "sa_upcall_t *old" \ + "int flags" \ + "ssize_t stackinfo_offset" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Nm +is used to prepare scheduler activation. +It registers the upcall handler specified by +.Fa new . +If +.Fa old +isn't +.Dv NULL , +the previous handler will be returned to the location pointed by it. +If +.Dv SA_FLAG_STACKINFO +is specified in +.Fa flags , +.Fa stackinfo_offset +is used to locate per upcall stack memory areas shared between +userland and kernel. +.Fa stackinfo_offset +is a byte offset from the corresponding upcall stack. +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +.Fn sa_register +returns zero on success. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr pthread 3 diff --git a/static/netbsd/man2/sa_setconcurrency.2 b/static/netbsd/man2/sa_setconcurrency.2 new file mode 100644 index 00000000..e2b007fa --- /dev/null +++ b/static/netbsd/man2/sa_setconcurrency.2 @@ -0,0 +1,70 @@ +.\" $NetBSD: sa_setconcurrency.2,v 1.4 2005/09/05 21:57:35 yamt Exp $ +.\" +.\" Copyright (c)2004 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd September 6, 2005 +.Dt SA_CONCURRENCY 2 +.Os +.Sh NAME +.Nm sa_setconcurrency +.Nd increase the number of virtual processors +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In sa.h +.Ft int +.Fn sa_setconcurrency \ + "int concurrency" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn sa_setconcurrency +is used to increase the number of scheduler activation virtual processors +used by the process. +.Fn sa_setconcurrency +increases the number of virtual processors, i.e., execution concurrency, +up to +.Fa concurrency . +However, +.Fn sa_setconcurrency +won't try to allocate more virtual processors than there are physical +processors on the system. +.Pp +Scheduler activation should be enabled by +.Fn sa_enable +beforehand. +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +On success, +.Fn sa_setconcurrency +returns the number of newly added virtual processors. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr pthread 3 diff --git a/static/netbsd/man2/sa_stacks.2 b/static/netbsd/man2/sa_stacks.2 new file mode 100644 index 00000000..61ca0e3e --- /dev/null +++ b/static/netbsd/man2/sa_stacks.2 @@ -0,0 +1,68 @@ +.\" $NetBSD: sa_stacks.2,v 1.6 2004/12/12 05:56:45 snj Exp $ +.\" +.\" Copyright (c)2004 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd December 12, 2004 +.Dt SA_STACKS 2 +.Os +.Sh NAME +.Nm sa_stacks +.Nd register scheduler activation upcall stacks +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In sa.h +.Ft int +.Fn sa_stacks \ + "int num" \ + "stack_t *stacks" +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn sa_stacks +is used to register scheduler activation upcall stacks. +.Fa stacks +is an array of +.Fa num +of +.Vt stack_t . +.Pp +An upcall handler should be registered by +.Fn sa_register +beforehand. +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +On success, +.Fn sa_stacks +returns the number of stacks registered. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr sa_register 2 , +.Xr pthread 3 diff --git a/static/netbsd/man2/sa_yield.2 b/static/netbsd/man2/sa_yield.2 new file mode 100644 index 00000000..6f556a88 --- /dev/null +++ b/static/netbsd/man2/sa_yield.2 @@ -0,0 +1,64 @@ +.\" $NetBSD: sa_yield.2,v 1.5 2022/03/13 17:50:54 andvar Exp $ +.\" +.\" Copyright (c)2004 YAMAMOTO Takashi, +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" ------------------------------------------------------------ +.Dd May 9, 2004 +.Dt SA_YIELD 2 +.Os +.Sh NAME +.Nm sa_yield +.Nd idle a virtual processor +.\" ------------------------------------------------------------ +.Sh LIBRARY +.Lb libc +.\" ------------------------------------------------------------ +.Sh SYNOPSIS +.In sa.h +.Ft int +.Fn sa_yield +.\" ------------------------------------------------------------ +.Sh DESCRIPTION +.Fn sa_yield +is used to idle a virtual processor on which the calling thread is running. +It's typically used when the process's userland scheduler has no userland +thread to run. +.Pp +Scheduler activation should be enabled by +.Fn sa_enable +beforehand. +.\" ------------------------------------------------------------ +.Sh RETURN VALUES +On success, +.Fn sa_yield +will not return to userland in the normal way. +It returns into an upcall handler with an upcall. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.\" ------------------------------------------------------------ +.Sh SEE ALSO +.Xr sa_enable 2 , +.Xr pthread 3 diff --git a/static/netbsd/man2/select.2 b/static/netbsd/man2/select.2 new file mode 100644 index 00000000..04634ae6 --- /dev/null +++ b/static/netbsd/man2/select.2 @@ -0,0 +1,378 @@ +.\" $NetBSD: select.2,v 1.46 2024/09/09 01:20:20 riastradh Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)select.2 8.2 (Berkeley) 3/25/94 +.\" +.Dd September 9, 2024 +.Dt SELECT 2 +.Os +.Sh NAME +.Nm select , +.Nm pselect , +.Nm FD_SET , +.Nm FD_CLR , +.Nm FD_ISSET , +.Nm FD_ZERO +.Nd synchronous I/O multiplexing +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/select.h +.Ft int +.Fn select "int nfds" "fd_set * restrict readfds" "fd_set * restrict writefds" "fd_set * restrict exceptfds" "struct timeval * restrict timeout" +.Ft int +.Fn pselect "int nfds" "fd_set * restrict readfds" "fd_set * restrict writefds" "fd_set * restrict exceptfds" "const struct timespec *restrict timeout" "const sigset_t * restrict sigmask" +.Fn FD_SET "int fd" "fd_set *fdset" +.Fn FD_CLR "int fd" "fd_set *fdset" +.Fn FD_ISSET "int fd" "fd_set *fdset" +.Fn FD_ZERO "fd_set *fdset" +.Sh DESCRIPTION +.Fn select +and +.Fn pselect +examine the I/O descriptor sets whose addresses are passed in +.Fa readfds , +.Fa writefds , +and +.Fa exceptfds +to see if some of their descriptors +are ready for reading, are ready for writing, or have an exceptional +condition pending, respectively. +The first +.Fa nfds +descriptors are checked in each set; +i.e., the descriptors from 0 through +.Fa nfds Ns No \-1 +in the descriptor sets are examined. +This means that +.Fa nfds +must be set to the highest file descriptor of the three sets, plus one. +On return, +.Fn select +and +.Fn pselect +replace the given descriptor sets +with subsets consisting of those descriptors that are ready +for the requested operation. +.Fn select +and +.Fn pselect +return the total number of ready descriptors in all the sets. +.Pp +The descriptor sets are stored as bit fields in arrays of integers. +The following macros are provided for manipulating such descriptor sets: +.Fn FD_ZERO fdset +initializes a descriptor set pointed to by +.Fa fdset +to the null set. +.Fn FD_SET fd fdset +includes a particular descriptor +.Fa fd +in +.Fa fdset . +.Fn FD_CLR fd fdset +removes +.Fa fd +from +.Fa fdset . +.Fn FD_ISSET fd fdset +is non-zero if +.Fa fd +is a member of +.Fa fdset , +zero otherwise. +The behavior of these macros is undefined if +a descriptor value is less than zero or greater than or equal to +.Dv FD_SETSIZE , +which is normally at least equal +to the maximum number of descriptors supported by the system. +.Pp +If +.Fa timeout +is a non-null pointer, it specifies a maximum interval to wait for the +selection to complete. +If +.Fa timeout +is a null pointer, the select blocks indefinitely. +To poll without blocking, the +.Fa timeout +argument should be non-null, pointing to a zero-valued timeval or timespec +structure, as appropriate. +.Fa timeout +is not changed by +.Fn select , +and may be reused on subsequent calls; however, it is good style to +re-initialize it before each invocation of +.Fn select . +.Pp +If +.Fa sigmask +is a non-null pointer, then the +.Fn pselect +function shall replace the signal mask of the caller by the set of +signals pointed to by +.Fa sigmask +before examining the descriptors, and shall restore the signal mask +of the calling thread before returning. +.Pp +Any of +.Fa readfds , +.Fa writefds , +and +.Fa exceptfds +may be given as null pointers if no descriptors are of interest. +.Sh NOTES +It is recommended to use the +.Xr poll 2 +interface instead, which tends to be more portable and efficient. +.Sh RETURN VALUES +.Fn select +returns the number of ready descriptors that are contained in +the descriptor sets, +or returns \-1 and sets +.Dv errno +if an error occurred. +If the time limit expires, +.Fn select +returns 0. +If +.Fn select +returns with an error, +including one due to an interrupted call, +the descriptor sets will be unmodified. +.Sh EXAMPLES +.Bd -literal +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <err.h> +#include <errno.h> +#include <sys/types.h> +#include <sys/time.h> + +int +main(int argc, char **argv) +{ + fd_set read_set; + struct timeval timeout; + int ret, fd, i; + + /* file descriptor 1 is stdout */ + fd = 1; + + /* Wait for ten seconds. */ + timeout.tv_sec = 10; + timeout.tv_usec = 0; + + /* Initialize the read set to null */ + FD_ZERO(&read_set); + + /* Add file descriptor 1 to read_set */ + FD_SET(fd, &read_set); + + /* + * Check if data is ready to be read on + * file descriptor 1, give up after 10 seconds. + */ + ret = select(fd + 1, &read_set, NULL, NULL, &timeout); + + /* + * Returned value is the number of file + * descriptors ready for I/O, or -1 on error. + */ + switch (ret) { + case \-1: + err(EXIT_FAILURE, "select() failed"); + break; + + case 0: + printf("Timeout, no data received.\en"); + break; + + default: + printf("Data received on %d file descriptor(s)\en", ret); + + /* + * select(2) hands back a file descriptor set where + * only descriptors ready for I/O are set. These can + * be tested using FD_ISSET + */ + for (i = 0; i <= fd; i++) { + if (FD_ISSET(i, &read_set)) { + printf("Data on file descriptor %d\en", i); + /* Remove the file descriptor from the set */ + FD_CLR(fd, &read_set); + } + } + break; + } + + return 0; +} +.Ed +.Sh ERRORS +An error return from +.Fn select +indicates: +.Bl -tag -width Er +.It Bq Er EBADF +One of the descriptor sets specified an invalid descriptor. +.It Bq Er EFAULT +One or more of +.Fa readfds , +.Fa writefds , +or +.Fa exceptfds +points outside the process's allocated address space. +.It Bq Er EINTR +A signal was delivered before the time limit expired and +before any of the selected events occurred. +.It Bq Er EINVAL +The specified time limit is invalid. +One of its components is negative or too large. +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr connect 2 , +.Xr gettimeofday 2 , +.Xr poll 2 , +.Xr read 2 , +.Xr recv 2 , +.Xr send 2 , +.Xr write 2 , +.Xr getdtablesize 3 +.Sh STANDARDS +The +.Fn select +function, along with +.Fn FD_CLR , +.Fn FD_ISSET , +.Fn FD_SET , and +.Fn FD_ZERO , +conforms to +.St -xpg4.2 . +.Pp +The +.Fn pselect +function conforms to +.St -p1003.1-2004 . +.Sh HISTORY +The +.Fn select +function call appeared in +.Bx 4.2 . +The +.Fn pselect +function call first appeared in +.Nx 3.0 . +.Sh BUGS +Although the provision of +.Xr getdtablesize 3 +was intended to allow user programs to be written independent +of the kernel limit on the number of open files, the dimension +of a sufficiently large bit field for select remains a problem. +The default bit size of +.Ft fd_set +is based on the symbol +.Dv FD_SETSIZE +(currently 256), +but that is somewhat smaller than the current kernel limit +to the number of open files. +However, in order to accommodate programs which might potentially +use a larger number of open files with select, it is possible +to increase this size within a program by providing +a larger definition of +.Dv FD_SETSIZE +before the inclusion of +.In sys/types.h . +The kernel will cope, and the userland libraries provided with the +system are also ready for large numbers of file descriptors. +.Pp +Note: +.Xr rpc 3 +library uses +.Ft fd_set +with the default +.Dv FD_SETSIZE +as part of its ABI. +Therefore, programs that use +.Xr rpc 3 +routines cannot change +.Dv FD_SETSIZE . +.Pp +Alternatively, to be really safe, it is possible to allocate +.Ft fd_set +bit-arrays dynamically. +The idea is to permit a program to work properly even if it is +.Xr execve 2 Ns 'd +with 4000 file descriptors pre-allocated. +The following illustrates the technique which is used by +userland libraries: +.Pp +.Bd -literal -offset indent -compact + fd_set *fdsr; + int max = fd; + + fdsr = (fd_set *)calloc(howmany(max+1, NFDBITS), + sizeof(fd_mask)); + if (fdsr == NULL) { + ... + return (-1); + } + FD_SET(fd, fdsr); + n = select(max+1, fdsr, NULL, NULL, &tv); + ... + free(fdsr); +.Ed +.Pp +.Fn select +should probably have been designed to return the time remaining from the +original timeout, if any, by modifying the time value in place. +Even though some systems stupidly act in this different way, it is +unlikely this semantic will ever be commonly implemented, as the +change causes massive source code compatibility problems. +Furthermore, recent new standards have dictated the current behaviour. +In general, due to the existence of those +non-conforming systems, it is unwise to assume that the timeout +value will be unmodified by the +.Fn select +call, and the caller should reinitialize it on each invocation. +Calculating the delta is easily done by calling +.Xr gettimeofday 2 +before and after the call to +.Fn select , +and using +.Fn timersub +(as described in +.Xr getitimer 2 ) . +.Pp +Internally to the kernel, +.Fn select +works poorly if multiple processes wait on the same file descriptor. diff --git a/static/netbsd/man2/semctl.2 b/static/netbsd/man2/semctl.2 new file mode 100644 index 00000000..cc5860c7 --- /dev/null +++ b/static/netbsd/man2/semctl.2 @@ -0,0 +1,240 @@ +.\" $NetBSD: semctl.2,v 1.22 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd August 25, 1999 +.Dt SEMCTL 2 +.Os +.Sh NAME +.Nm semctl +.Nd semaphore control operations +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/sem.h +.Ft int +.Fn semctl "int semid" "int semnum" "int cmd" "..." +.Sh DESCRIPTION +The +.Fn semctl +system call provides a number of control operations on the semaphore specified +by +.Fa semnum +and +.Fa semid . +The operation to be performed is specified in +.Fa cmd +(see below). +The fourth argument is optional and depends upon the operation requested. +If required, it is a union of the following fields: +.Bd -literal + int val; /* value for SETVAL */ + struct semid_ds *buf; /* buffer for IPC_{STAT,SET} */ + u_short *array; /* array for GETALL & SETALL */ +.Ed +.Pp +The +.Sy semid_ds +structure used in the +.Dv IPC_SET +and +.Dv IPC_STAT +commands is defined in +.In sys/sem.h +and contains the following members: +.Bd -literal + struct ipc_perm sem_perm; /* operation permissions */ + unsigned short sem_nsems; /* number of sems in set */ + time_t sem_otime; /* last operation time */ + time_t sem_ctime; /* last change time */ +.Ed +.Pp +The +.Sy ipc_perm +structure used inside the +.Sy semid_ds +structure is defined in +.In sys/ipc.h +and contains the following members: +.Bd -literal + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* permission (lower 9 bits) */ +.Ed +.Pp +.Fn semctl +provides the following operations: +.Bl -tag -width IPC_RMIDX +.It Dv GETVAL +Return the value of the semaphore. +.It Dv SETVAL +Set the value of the semaphore to +.Fa arg.val , +where +.Fa arg +is the fourth argument to +.Fn semctl . +.It Dv GETPID +Return the pid of the last process that did an operation on this semaphore. +.It Dv GETNCNT +Return the number of processes waiting to acquire the semaphore. +.It Dv GETZCNT +Return the number of processes waiting for the value of the semaphore to +reach 0. +.It Dv GETALL +Return the values of all the semaphores associated with +.Fa semid . +.It Dv SETALL +Set the values of all the semaphores that are associated with the semaphore +identifier +.Fa semid +to the corresponding values in +.Fa arg.array , +where +.Fa arg +is the fourth argument to +.Fn semctl . +.It Dv IPC_STAT +Gather information about a semaphore and place the information in the +structure pointed to by +.Fa arg.buf , +where +.Fa arg +is the fourth argument to +.Fn semctl . +.It Dv IPC_SET +Set the value of the +.Va sem_perm.uid , +.Va sem_perm.gid +and +.Va sem_perm.mode +fields in the structure associated with the semaphore. +The values are taken from the corresponding fields in the structure +pointed to by +.Fa arg.buf , +there +.Fa arg +is the fourth argument to +.Fn semctl . +This operation can only be executed by the super-user, or a process that +has an effective user id equal to either +.Va sem_perm.cuid +or +.Va sem_perm.uid +in the data structure associated with the semaphore. +.It Dv IPC_RMID +Remove the semaphores associated with +.Fa semid +from the system and destroy the data structures associated with it. +Only the super-user or a process with an effective uid equal to the +.Va sem_perm.cuid +or +.Va sem_perm.uid +values in the data structure associated with the semaphore can do this. +.El +.Pp +The permission to read or change a semaphore (see +.Xr semop 2 ) +is determined by the +.Va sem_perm.mode +field in the same way as is +done with files (see +.Xr chmod 2 ) , +but the effective uid can match either the +.Va sem_perm.cuid +field or the +.Va sem_perm.uid +field, and the +effective gid can match either +.Va sem_perm.cgid +or +.Va sem_perm.gid . +.Sh RETURN VALUES +For the +.Dv GETVAL , +.Dv GETPID , +.Dv GETNCNT , +and +.Dv GETZCNT +operations, +.Fn semctl +returns one of the values described above if successful. +All other operations will make +.Fn semctl +return 0 if no errors occur. +Otherwise \-1 is returned and +.Va errno +set to reflect the error. +.Sh ERRORS +.Fn semctl +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The caller has no operation permission for this semaphore. +.It Bq Er EFAULT +.Fa arg.buf +or +.Fa arg.array +specifies an invalid address. +.It Bq Er EINVAL +.Fa semid +is not a valid message semaphore identifier. +.Pp +.Va cmd +is not a valid command. +.It Bq Er EPERM +.Fa cmd +is equal to +.Dv IPC_SET +or +.Dv IPC_RMID +and the caller is not the super-user, nor does +the effective uid match either the +.Va sem_perm.uid +or +.Va sem_perm.cuid +fields of the data structure associated with the semaphore. +.It Bq Er ERANGE +.Fa cmd +is equal to +.Dv SETVAL +or +.Dv SETALL +and the value to be set is greater than the system semaphore maximum value. +.El +.Sh SEE ALSO +.Xr semget 2 , +.Xr semop 2 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Semaphores appeared in the first release of +.At V . diff --git a/static/netbsd/man2/semget.2 b/static/netbsd/man2/semget.2 new file mode 100644 index 00000000..ec896fa5 --- /dev/null +++ b/static/netbsd/man2/semget.2 @@ -0,0 +1,154 @@ +.\" $NetBSD: semget.2,v 1.19 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 13, 2004 +.Dt SEMGET 2 +.Os +.Sh NAME +.Nm semget +.Nd get set of semaphores +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/sem.h +.Ft int +.Fn semget "key_t key" "int nsems" "int semflg" +.Sh DESCRIPTION +The +.Fn semget +system call returns the semaphore identifier associated with +.Fa key . +.Pp +A new set containing +.Fa nsems +semaphores is created if either +.Fa key +is equal to +.Dv IPC_PRIVATE , +or +.Fa key +does not have a semaphore set associated with it and the +.Dv IPC_CREAT +bit is set in +.Fa semflg . +If both the +.Dv IPC_CREAT +bit and the +.Dv IPC_EXCL +bit are set in +.Fa semflg , +and +.Fa key +has a semaphore set associated with it already, +the operation will fail. +.Pp +If a new set of semaphores is created, the data structure associated with it +(the +.Va semid_ds +structure, see +.Xr semctl 2 ) +is initialized as follows: +.Bl -bullet +.It +.Va sem_perm.cuid +and +.Va sem_perm.uid +are set to the effective uid of the calling process. +.It +.Va sem_perm.gid +and +.Va sem_perm.cgid +are set to the effective gid of the calling process. +.It +.Va sem_perm.mode +is set to the lower 9 bits of +.Fa semflg . +.It +.Va sem_nsems +is set to the value of +.Fa nsems . +.It +.Va sem_ctime +is set to the current time. +.It +.Va sem_otime +is set to 0. +.El +.Sh RETURN VALUES +.Fn semget +returns a non-negative semaphore identifier if successful. +Otherwise, \-1 is returned and +.Va errno +is set to reflect the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EACCES +The caller has no permission to access a semaphore set already associated with +.Fa key . +.It Bq Er EEXIST +Both +.Dv IPC_CREAT +and +.Dv IPC_EXCL +are set in +.Fa semflg , +and a semaphore set is already associated with +.Fa key . +.It Bq Er EINVAL +.Va nsems +is less than 0 or greater than the system limit for the number in a semaphore +set. +.Pp +A semaphore set associated with +.Fa key +exists, but has fewer semaphores than the number specified in +.Fa nsems . +.It Bq Er ENOSPC +A new set of semaphores could not be created because the system limit +for the number of semaphores or the number of semaphore sets has been +reached. +.It Bq Er ENOENT +.Dv IPC_CREAT +is not set in +.Fa semflg +and no semaphore set associated with +.Fa key +was found. +.El +.Sh SEE ALSO +.Xr ipcs 1 , +.Xr semctl 2 , +.Xr semop 2 , +.Xr ftok 3 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Semaphores appeared in the first release of +.At V . diff --git a/static/netbsd/man2/semop.2 b/static/netbsd/man2/semop.2 new file mode 100644 index 00000000..6661d877 --- /dev/null +++ b/static/netbsd/man2/semop.2 @@ -0,0 +1,245 @@ +.\" $NetBSD: semop.2,v 1.19 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd October 3, 2024 +.Dt SEMOP 2 +.Os +.Sh NAME +.Nm semop, semtimedop +.Nd semaphore operations +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/sem.h +.Ft int +.Fn semop "int semid" "struct sembuf *sops" "size_t nsops" +.Ft int +.Fn semtimedop "int semid" "struct sembuf *sops" "size_t nsops" "struct timespec *timeout" +.Sh DESCRIPTION +.Fn semop +provides a number of atomic operations on a set of semaphores. +The semaphore set is specified by +.Fa semid , +.Fa sops +is an array of semaphore operations, and +.Fa nsops +is the number of operations in this array. +The +.Va sembuf +structures in the array contain the following members: +.Bd -literal + unsigned short sem_num; /* semaphore # */ + short sem_op; /* semaphore operation */ + short sem_flg; /* operation flags */ +.Ed +.Pp +Each operation (specified in +.Va sem_op ) +is applied to semaphore number +.Va sem_num +in the set of semaphores specified by +.Fa semid . +The value of +.Va sem_op +determines the action taken in the following way: +.Bl -bullet +.It +.Va sem_op +is less than 0. +The current process is blocked until the value of the +semaphore is greater than or equal to the absolute value of +.Va sem_op . +The absolute value of +.Va sem_op +is then subtracted from the value of the semaphore, and the calling +process continues. +Negative values of +.Va sem_op +are thus used to enter critical regions. +.It +.Va sem_op +is greater than 0. +Its value is added to the value of the specified semaphore. +This is used to leave critical regions. +.It +.Va sem_op +is equal to 0. +The calling process is blocked until the value of the +specified semaphore reaches 0. +.El +.Pp +The behaviour of each operation is influenced by the flags set in +.Va sem_flg +in the following way: +.Bl -tag -width IPC_NOWAITX +.It Dv IPC_NOWAIT +In the case where the calling process would normally block, waiting +for a semaphore to reach a certain value, +.Dv IPC_NOWAIT +makes the +call return immediately, returning a value of \-1 and setting +.Va errno +to +.Er EAGAIN . +.It SEM_UNDO +Keep track of the changes that this call makes to the value of a semaphore, +so that they can be undone when the calling process terminates. +This is useful to prevent other processes waiting on a semaphore to block +forever, should the process that has the semaphore locked terminate in a +critical section. +.El +.Pp +.Fn semtimedop +is similar to +.Fn semop , +but it also allows specifying a timeout. +When the semaphore is not available, +the thread typically sleeps until the semaphore is available. +.Fn semtimedop +allows specifying a maximum amount of time in +.Fa timeout +argument that a thread should sleep while waiting for the semaphore to be available. +If the specified time limit has been reached, +.Fn semtimedop +fails with +.Er EAGAIN +(and none of the operations in +.Fa sops +are performed). +If +.Fa timeout +is +.Dv NULL , +.Fn semtimedop +behaves exactly like +.Fn semop . +.Sh RETURN VALUES +Upon successful completion both +.Fn semop +and +.Fn semtimedop +return a value of 0. Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn semop +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +There is no semaphore associated with +.Fa semid . +.It Bq Er EIDRM +The semaphore set was removed while the process was waiting for one of +its semaphores to reach a certain value. +.It Bq Er EACCES +The calling process has no permission to access the specified semaphore set. +.It Bq Er E2BIG +The value of +.Fa nsops +is too big. +The maximum is defined as +.Dv MAX_SOPS +in +.In sys/sem.h . +.It Bq Er EFBIG +.Va sem_num +in one of the sem_buf structures is less than 0, or greater than the actual +number of semaphores in the set specified by +.Fa semid . +.It Bq Er ENOSPC +.Dv SEM_UNDO +was requested, and there is not enough space left in the kernel to +store the undo information. +.It Bq Er EAGAIN +The requested operation can not immediately be performed, and +.Dv IPC_NOWAIT +was set in +.Va sem_flg . +.It Bq Er EFAULT +.Fa sops +points to an illegal address. +.It Bq Er EINTR +While blocked in this system call, the thread caught a signal. +.El +.Pp +In addition, +.Fn semtimedop +will fail if: +.Bl -tag -width Er +.It Bq Er EAGAIN +An operation could not proceed immediately and either +.Dv IPC_NOWAIT +was specified in +.Va sem_flg +or the time limit specified in +.Fa timeout +expired. +.It Bq Er EFAULT +An address specified in the +.Fa timeout +argument isn't accessible. +.El +.Sh EXAMPLES +The following example shows how to perform a semaphore operation with a timeout: +.Bd -literal -offset indent + +/* Performs a semaphore operation with a 5 sec timeout*/ + +struct sembuf sops[1]; /* Semaphore operation structure */ +struct timespec timeout; /* Timeout structure */ + +/* Create semaphore set with 1 semaphore */ +int semid = semget(key, 1, 0666 | IPC_CREAT); + +/* Initialize semaphore to 0 */ +if (semctl(semid, 0, SETVAL, 0) == -1) { + warn("semctl SETVAL"); + exit(EXIT_FAILURE); +} + +sops[0].sem_num = 0; /* Operation on semaphore 0 */ +sops[0].sem_op = -1; /* Decrement semaphore by 1 */ +sops[0].sem_flg = 0; /* No flags */ + +timeout.tv_sec = 5; /* 5 seconds */ +timeout.tv_nsec = 0; /* 0 nanoseconds */ + +if (semtimedop(semid, sops, 1, &timeout) == -1) { + warn("semtimedop"); /* Print error message */ +} +.Ed +.Sh SEE ALSO +.Xr semctl 2 , +.Xr semget 2 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Semaphores appeared in the first release of +.At V . diff --git a/static/netbsd/man2/send.2 b/static/netbsd/man2/send.2 new file mode 100644 index 00000000..adee462a --- /dev/null +++ b/static/netbsd/man2/send.2 @@ -0,0 +1,278 @@ +.\" $NetBSD: send.2,v 1.34 2021/12/10 20:36:02 andvar Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)send.2 8.2 (Berkeley) 2/21/94 +.\" +.Dd March 27, 2021 +.Dt SEND 2 +.Os +.Sh NAME +.Nm send , +.Nm sendto , +.Nm sendmsg , +.Nm sendmmsg +.Nd send a message from a socket +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft ssize_t +.Fn send "int s" "const void *msg" "size_t len" "int flags" +.Ft ssize_t +.Fn sendto "int s" "const void *msg" "size_t len" "int flags" "const struct sockaddr *to" "socklen_t tolen" +.Ft ssize_t +.Fn sendmsg "int s" "const struct msghdr *msg" "int flags" +.Ft int +.Fn sendmmsg "int s" "struct mmsghdr *mmsg" "unsigned int vlen" "unsigned int flags" +.Sh DESCRIPTION +.Fn send , +.Fn sendto , +.Fn sendmsg , +and +.Fn sendmmsg +are used to transmit a message to another socket. +.Fn send +may be used only when the socket is in a +.Em connected +state, while +.Fn sendto , +.Fn sendmsg +and +.Fn sendmmsg +may be used at any time. +.Pp +The +.Fn sendmmsg +call can be used to send multiple messages in the same call using an array of +.Fa mmsghdr +elements with the following form, as defined in +.Ao Pa sys/socket.h Ac : +.Bd -literal +struct mmsghdr { + struct msghdr msg_hdr; /* the message to be sent */ + unsigned int msg_len; /* number of bytes transmitted */ +}; +.Ed +.Pp +The +.Fa msg_len +member contains the number of bytes sent for each +.Fa msg_hdr +member. +The array has +.Fa vlen +elements, which is limited to +.Dv 1024 . +If there is an error, a number fewer than +.Fa vlen +may be returned, and the error may be retrieved using +.Xr getsockopt 2 +with +.Dv SO_ERROR . +.Pp +The address of the target is given by +.Fa to , +with +.Fa tolen +specifying its size. +The length of the message is given by +.Fa len . +If the message is too long to pass atomically through the +underlying protocol, the error +.Er EMSGSIZE +is returned, and +the message is not transmitted. +.Pp +No indication of failure to deliver is implicit in a +.Fn send . +Locally detected errors are indicated by a return value of \-1. +.Pp +If no messages space is available at the socket to hold +the message to be transmitted, then +.Fn send +normally blocks, unless the socket has been placed in +non-blocking I/O mode. +The +.Xr select 2 +or +.Xr poll 2 +call may be used to determine when it is possible to +send more data. +Unfortunately this does not work when the interface queue which is used to +send the message is full, and the call returns +.Er ENOBUFS . +.Pp +The +.Fa flags +parameter may include one or more of the following: +.Bd -literal +#define MSG_OOB 0x0001 /* process out-of-band data */ +#define MSG_PEEK 0x0002 /* peek at incoming message */ +#define MSG_DONTROUTE 0x0004 /* bypass routing, use direct interface */ +#define MSG_EOR 0x0008 /* data completes record */ +#define MSG_NOSIGNAL 0x0400 /* do not generate SIGPIPE on EOF */ +.Ed +.Pp +The flag +.Dv MSG_OOB +is used to send +.Dq out-of-band +data on sockets that support this notion (e.g. +.Dv SOCK_STREAM ) ; +the underlying protocol must also support +.Dq out-of-band +data. +.Dv MSG_EOR +is used to indicate a record mark for protocols which support the +concept. +.\" .Dv MSG_EOF +.\" requests that the sender side of a socket be shut down, and that an +.\" appropriate indication be sent at the end of the specified data; +.\" this flag is only implemented for +.\" .Dv SOCK_STREAM +.\" sockets in the +.\" .Dv PF_INET +.\" protocol family, and is used to implement Transaction +.\" .Tn TCP +.\" (see +.\" .Xr ttcp 4 ) . +.Dv MSG_DONTROUTE +is usually used only by diagnostic or routing programs. +.Pp +See +.Xr recv 2 +for a description of the +.Fa msghdr +structure. +.Dv MSG_NOSIGNAL +is used to prevent +.Dv SIGPIPE +generation when writing a socket that +may be closed. +.Sh RETURN VALUES +The +.Fn send , +.Fn sendto , +and +.Fn sendmsg +calls return the number of characters sent, or \-1 +if an error occurred. +The +.Fn sendmmsg +call returns the number of messages sent, or \-1 +if an error occurred. +.Sh ERRORS +.Fn send , +.Fn sendto , +.Fn sendmsg , +and +.Fn sendmmsg +fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The SO_BROADCAST option is not set on the socket, and a broadcast address +was given as the destination. +.It Bq Er EAFNOSUPPORT +Addresses in the specified address family cannot be used with this socket. +.It Bq Er EAGAIN|EWOULDBLOCK +The socket is marked non-blocking and the requested operation +would block. +.It Bq Er EBADF +An invalid descriptor was specified. +.It Bq Er EDSTADDRREQ +In a non-connected socket a destination address has not been specified. +.It Bq Er EFAULT +An invalid user space address was specified for a parameter. +.It Bq Er EHOSTDOWN +The destination is a host on the local subnet and does not respond to +.Xr arp 4 . +.It Bq Er EHOSTUNREACH +The destination for the message is unreachable. +.It Bq Er EINVAL +The total length of the I/O is more than can be expressed by the ssize_t +return value. +.It Bq Er EINVAL +The socket address length passed was outside the allowable range. +.It Bq Er EMSGSIZE +The socket requires that message be sent atomically, +and the size of the message to be sent made this impossible. +.It Bq Er ENOBUFS +The system was unable to allocate an internal buffer. +The operation may succeed when buffers become available. +.Pp +An alternative reason: the output queue for a network interface was full. +This generally indicates that the interface has stopped sending, +but may be caused by transient congestion. +.It Bq Er ENOTSOCK +The argument +.Fa s +is not a socket. +.It Bq Er EPIPE +In a connected socket the connection has been broken. +.El +.Pp +.Fn sendto +will also fail if: +.Bl -tag -width Er +.It Bq Er EISCONN +A destination address was specified and the socket is already connected. +.El +.Pp +.Fn sendmsg +and +.Fn sendmmsg +will also fail if: +.Bl -tag -width Er +.It Bq Er EMSGSIZE +The +.Fa msg_iovlen +member of the +.Fa msg +structure is less than or equal to 0 +or is greater than +.Brq Dv IOV_MAX . +.El +.Sh SEE ALSO +.Xr fcntl 2 , +.Xr getsockopt 2 , +.Xr recv 2 , +.Xr select 2 , +.Xr socket 2 , +.Xr write 2 +.Sh HISTORY +The +.Fn send +function call appeared in +.Bx 4.2 . +The +.Fn sendmmsg +function call appeared in +.Tn Linux 3.0 +and +.Nx 7.0 . diff --git a/static/netbsd/man2/setgroups.2 b/static/netbsd/man2/setgroups.2 new file mode 100644 index 00000000..e49b54ca --- /dev/null +++ b/static/netbsd/man2/setgroups.2 @@ -0,0 +1,91 @@ +.\" $NetBSD: setgroups.2,v 1.19 2013/07/14 14:29:09 njoly Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)setgroups.2 8.2 (Berkeley) 4/16/94 +.\" +.Dd October 7, 2006 +.Dt SETGROUPS 2 +.Os +.Sh NAME +.Nm setgroups +.Nd set group access list +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/param.h +.In unistd.h +.Ft int +.Fn setgroups "int ngroups" "const gid_t *gidset" +.Sh DESCRIPTION +.Fn setgroups +sets the group access list of the current user process +according to the array +.Fa gidset . +The parameter +.Fa ngroups +indicates the number of entries in the array and must be no +more than +.Brq Dv NGROUPS_MAX . +.Pp +Only the super-user may set new groups. +.Pp +This system call affects only secondary groups. +.Sh RETURN VALUES +A 0 value is returned on success, \-1 on error, with +an error code stored in +.Va errno . +.Sh ERRORS +The +.Fn setgroups +call will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The value of +.Fa ngroups +is greater than +.Brq Dv NGROUPS_MAX . +.It Bq Er EPERM +The caller is not the super-user. +.It Bq Er EFAULT +The address specified for +.Fa gidset +is outside the process +address space. +.El +.Sh SEE ALSO +.Xr getgroups 2 , +.Xr setegid 2 , +.Xr setgid 2 , +.Xr setregid 2 , +.Xr initgroups 3 +.Sh HISTORY +The +.Fn setgroups +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/setpgid.2 b/static/netbsd/man2/setpgid.2 new file mode 100644 index 00000000..a4b92411 --- /dev/null +++ b/static/netbsd/man2/setpgid.2 @@ -0,0 +1,115 @@ +.\" $NetBSD: setpgid.2,v 1.24 2022/03/16 00:50:40 dholland Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)setpgid.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd March 15, 2022 +.Dt SETPGID 2 +.Os +.Sh NAME +.Nm setpgid , +.Nm setpgrp +.Nd set process group +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn setpgid "pid_t pid" "pid_t pgrp" +.Ft int +.Fn setpgrp "pid_t pid" "pid_t pgrp" +.Sh DESCRIPTION +.Fn setpgid +sets the process group of the specified process +.Ar pid +to the specified +.Ar pgrp . +If +.Ar pid +is zero, then the call applies to the current process. +If +.Ar pgrp +is zero, then the process id of the process specified by +.Ar pid +is used instead. +.Pp +If the invoker is not the super-user, then the affected process +must have the same effective user-id as the invoker or be a descendant +of the invoking process. +.Pp +In general to set the process group of a newly forked subprocess, both +the child and parent processes should call +.Fn setpgid +to ensure that the process group change takes effect in a timely +fashion. +One call will succeed and the other will fail, depending on process +scheduling. +.Sh RETURN VALUES +.Fn setpgid +returns 0 when the operation was successful. +If the request failed, \-1 is returned and the global variable +.Va errno +indicates the reason. +.Sh COMPATIBILITY +.Fn setpgrp +is identical to +.Fn setpgid , +and is retained for calling convention compatibility with historical +versions of +.Bx . +.Sh ERRORS +.Fn setpgid +will fail and the process group will not be altered if: +.Bl -tag -width Er +.It Bq Er EACCES +The value of the +.Fa pid +argument matches the process ID of a child process of the calling process, +and the child process has successfully executed one of the exec functions. +.It Bq Er EINVAL +The value of the +.Fa pgrp +argument is less than zero. +.It Bq Er EPERM +The effective user ID of the requested process is different +from that of the caller and the process is not a descendant +of the calling process. +.It Bq Er ESRCH +The value of the +.Fa pid +argument does not match the process ID of the calling process or of a +child process of the calling process. +.El +.Sh SEE ALSO +.Xr getpgrp 2 +.Sh STANDARDS +The +.Fn setpgid +function conforms to +.St -p1003.1-90 . diff --git a/static/netbsd/man2/setregid.2 b/static/netbsd/man2/setregid.2 new file mode 100644 index 00000000..fdaf9dcd --- /dev/null +++ b/static/netbsd/man2/setregid.2 @@ -0,0 +1,141 @@ +.\" $NetBSD: setregid.2,v 1.23 2008/05/02 18:11:05 martin Exp $ +.\" +.\" Copyright (c) 1998, 2000, 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Charles M. Hannum. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.\" +.\" Copyright (c) 1983, 1991 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" from: @(#)setregid.2 6.4 (Berkeley) 3/10/91 +.\" +.Dd January 5, 2001 +.Dt SETREGID 2 +.Os +.Sh NAME +.Nm setregid +.Nd set real and effective group ID's +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn setregid "gid_t rgid" "gid_t egid" +.Sh DESCRIPTION +.Bf -symbolic +This interface is made obsolete by the saved ID functionality in +.Xr setgid 2 +and +.Xr setegid 2 . +.Ef +.Pp +The real and effective group ID's of the +current process are set according to the arguments. +If the real group ID is changed, the saved group ID is changed to the +new value of the effective group ID. +.Pp +If +.Fa rgid +or +.Fa egid +is \-1, the current gid is filled in by the system. +Unprivileged users may change the real group +ID to the effective group ID, and may change the effective group ID to the +real group ID or the saved group ID; only the super-user may +make other changes. +.Pp +The +.Fn setregid +function has been used to swap the real and effective group +IDs in set-group-ID programs to temporarily relinquish the set-group-ID +value. +This purpose is now better served by the use of the +.Fn setegid +function (see +.Xr setgid 2 ) . +.Pp +When setting the real and effective group IDs to the same value, this +function is equivalent to the +.Fn setgid +function. +When setting only the effective group ID, this function is equivalent to +the +.Fn setegid +function. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EPERM +The current process is not the super-user and a change +other than changing the effective group-id to the real group-id +was specified. +.El +.Sh SEE ALSO +.Xr getgid 2 , +.Xr setegid 2 , +.Xr setgid 2 , +.Xr setuid 2 +.Sh HISTORY +The +.Fn setregid +function call appeared in +.Bx 4.2 . +An incompatible version was implemented in +.Bx 4.4 . +It was reimplemented in +.Nx 1.2 +in a way compatible with +.Bx 4.3 , +SunOS and Linux, but should not be used in new code. diff --git a/static/netbsd/man2/setreuid.2 b/static/netbsd/man2/setreuid.2 new file mode 100644 index 00000000..ea998c7d --- /dev/null +++ b/static/netbsd/man2/setreuid.2 @@ -0,0 +1,141 @@ +.\" $NetBSD: setreuid.2,v 1.23 2008/05/02 18:11:05 martin Exp $ +.\" +.\" Copyright (c) 1998, 2000, 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Charles M. Hannum. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.\" +.\" Copyright (c) 1980, 1991 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" from: @(#)setreuid.2 6.4 (Berkeley) 3/10/91 +.\" +.Dd January 5, 2001 +.Dt SETREUID 2 +.Os +.Sh NAME +.Nm setreuid +.Nd set real and effective user ID's +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn setreuid "uid_t ruid" "uid_t euid" +.Sh DESCRIPTION +.Bf -symbolic +This interface is made obsolete by the saved ID functionality in +.Xr setuid 2 +and +.Xr seteuid 2 . +.Ef +.Pp +The real and effective user ID's of the +current process are set according to the arguments. +If the real user ID is changed, the saved user ID is changed to the new +value of the effective user ID. +.Pp +If +.Fa ruid +or +.Fa euid +is \-1, the current uid is filled in by the system. +Unprivileged users may change the real user +ID to the effective user ID, and may change the effective user ID to the +real user ID or the saved user ID; only the super-user may +make other changes. +.Pp +The +.Fn setreuid +function has been used to swap the real and effective user +IDs in set-user-ID programs to temporarily relinquish the set-user-ID +value. +This purpose is now better served by the use of the +.Fn seteuid +function (see +.Xr setuid 2 ) . +.Pp +When setting the real and effective user IDs to the same value, this +function is equivalent to the +.Fn setuid +function. +When setting only the effective user ID, this function is equivalent to +the +.Fn seteuid +function. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EPERM +The current process is not the super-user and a change +other than changing the effective user-id to the real user-id +was specified. +.El +.Sh SEE ALSO +.Xr getuid 2 , +.Xr seteuid 2 , +.Xr setgid 2 , +.Xr setuid 2 +.Sh HISTORY +The +.Fn setreuid +function call appeared in +.Bx 4.2 . +An incompatible version was implemented in +.Bx 4.4 . +It was reimplemented in +.Nx 1.2 +in a way compatible with +.Bx 4.3 , +SunOS and Linux, but should not be used in new code. diff --git a/static/netbsd/man2/setsid.2 b/static/netbsd/man2/setsid.2 new file mode 100644 index 00000000..0e739419 --- /dev/null +++ b/static/netbsd/man2/setsid.2 @@ -0,0 +1,79 @@ +.\" $NetBSD: setsid.2,v 1.15 2011/04/04 08:00:53 jruoho Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)setsid.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd April 4, 2011 +.Dt SETSID 2 +.Os +.Sh NAME +.Nm setsid +.Nd create session and set process group ID +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft pid_t +.Fn setsid "void" +.Sh DESCRIPTION +The +.Fn setsid +function creates a new session. +The calling process is the session leader of the new session, is the +process group leader of a new process group and has no controlling +terminal. +The calling process is the only process in either the session or the +process group. +.Pp +Upon successful completion, the +.Fn setsid +function returns the value of the process group ID of the new process +group, which is the same as the process ID of the calling process. +.Sh ERRORS +If an error occurs, +.Fn setsid +returns \-1 and the global variable +.Va errno +is set to indicate the error, as follows: +.Bl -tag -width Er +.It Bq Er EPERM +The calling process is already a process group leader, or the process +group ID of a process other than the calling process matches the process +ID of the calling process. +.El +.Sh SEE ALSO +.Xr getsid 2 , +.Xr setpgid 2 , +.Xr tcgetpgrp 3 , +.Xr tcsetpgrp 3 +.Sh STANDARDS +The +.Fn setsid +function conforms to +.St -p1003.1-90 . diff --git a/static/netbsd/man2/setuid.2 b/static/netbsd/man2/setuid.2 new file mode 100644 index 00000000..57fb117c --- /dev/null +++ b/static/netbsd/man2/setuid.2 @@ -0,0 +1,135 @@ +.\" $NetBSD: setuid.2,v 1.23 2019/09/02 00:05:38 sevan Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)setuid.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd September 2, 2019 +.Dt SETUID 2 +.Os +.Sh NAME +.Nm setuid , +.Nm seteuid , +.Nm setgid , +.Nm setegid +.Nd set user and group ID +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn setuid "uid_t uid" +.Ft int +.Fn seteuid "uid_t euid" +.Ft int +.Fn setgid "gid_t gid" +.Ft int +.Fn setegid "gid_t egid" +.Sh DESCRIPTION +The +.Fn setuid +function +sets the real and effective +user IDs and the saved set-user-ID of the current process +to the specified value. +The +.Fn setuid +function is permitted if the specified ID is equal to the real user ID +of the process, or if the effective user ID is that of the super user. +.Pp +The +.Fn setgid +function +sets the real and effective +group IDs and the saved set-group-ID of the current process +to the specified value. +The +.Fn setgid +function is permitted if the specified ID is equal to the real group ID +of the process, or if the effective user ID is that of the super user. +Supplementary group IDs remain unchanged. +.Pp +The +.Fn seteuid +function +.Pq Fn setegid +sets the effective user ID (group ID) of the +current process. +The effective user ID may be set to the value +of the real user ID or the saved set-user-ID (see +.Xr intro 2 +and +.Xr execve 2 ) ; +in this way, the effective user ID of a set-user-ID executable +may be toggled by switching to the real user ID, then re-enabled +by reverting to the set-user-ID value. +Similarly, the effective group ID may be set to the value +of the real group ID or the saved set-group-ID. +.Sh RETURN VALUES +Upon success, these functions return 0; +otherwise \-1 is returned. +.Pp +If the user is not the super user, or the uid +specified is not the real, effective ID, or saved ID, +these functions return \-1. +.Sh SEE ALSO +.Xr getgid 2 , +.Xr getgroups 2 , +.Xr getuid 2 +.Sh STANDARDS +The +.Fn setuid +and +.Fn setgid +functions are compliant with the +.St -p1003.1-90 +specification with +.Li _POSIX_SAVED_IDS +not defined. +We do not implement the +.Li _POSIX_SAVED_IDS +option as specified in the standard +because this would make it impossible for a set-user-ID executable owned +by a user other than the super-user to permanently revoke its privileges. +.Pp +The +.Fn seteuid +and +.Fn setegid +functions are compliant with +.St -p1003.1-2001 . +.Sh HISTORY +The +.Fn setuid +and +.Fn setgid +functions appeared in +.At v1 +and +.At v4 , +respectively. diff --git a/static/netbsd/man2/shmat.2 b/static/netbsd/man2/shmat.2 new file mode 100644 index 00000000..d315606f --- /dev/null +++ b/static/netbsd/man2/shmat.2 @@ -0,0 +1,136 @@ +.\" $NetBSD: shmat.2,v 1.19 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd June 17, 2002 +.Dt SHMAT 2 +.Os +.Sh NAME +.Nm shmat , +.Nm shmdt +.Nd map/unmap shared memory +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/shm.h +.Ft void * +.Fn shmat "int shmid" "const void *shmaddr" "int shmflg" +.Ft int +.Fn shmdt "const void *shmaddr" +.Sh DESCRIPTION +.Fn shmat +maps the shared memory segment associated with the shared memory identifier +.Fa shmid +into the address space of the calling process. +The address at which the segment is mapped is determined by the +.Fa shmaddr +parameter. +If it is equal to 0, the system will pick an address itself. +Otherwise, an attempt is made to map the shared memory segment at the +address +.Fa shmaddr +specifies. +If +.Dv SHM_RND +is set in +.Fa shmflg , +the system will round the address down to a multiple of +.Dv SHMLBA +bytes +.Pf ( Dv SHMLBA +is defined in +.In sys/shm.h ) . +.Pp +A shared memory segment can be mapped read-only by specifying the +.Dv SHM_RDONLY +flag in +.Fa shmflg . +.Pp +.Fn shmdt +unmaps the shared memory segment that is currently mapped at +.Fa shmaddr +from the calling process' address space. +.Fa shmaddr +must be a value returned by a prior +.Fn shmat +call. +A shared memory segment will remain in existence until it is +removed by a call to +.Xr shmctl 2 +with the +.Dv IPC_RMID +command. +.Sh RETURN VALUES +.Fn shmat +returns the address at which the shared memory segment has been mapped into +the calling process' address space when successful, +.Fn shmdt +returns 0 on successful completion. +Otherwise, a value of \-1 is returned, and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn shmat +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The calling process has no permission to access this shared memory segment. +.It Bq Er ENOMEM +There is not enough available data space for the calling process to +map the shared memory segment. +.It Bq Er EINVAL +.Fa shmid +is not a valid shared memory identifier. +.Pp +.Fa shmaddr +specifies an illegal address. +.It Bq Er EMFILE +The number of shared memory segments has reached the system-wide limit. +.El +.Pp +.Fn shmdt +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa shmaddr +is not the start address of a mapped shared memory segment. +.El +.Sh SEE ALSO +.Xr ipcrm 1 , +.Xr ipcs 1 , +.Xr mmap 2 , +.Xr shmctl 2 , +.Xr shmget 2 +.Sh STANDARDS +The +.Nm shmat +and +.Nm shmdt +system calls conform to +.St -xsh5 . +.Sh HISTORY +Shared memory segments appeared in the first release of +.At V . diff --git a/static/netbsd/man2/shmctl.2 b/static/netbsd/man2/shmctl.2 new file mode 100644 index 00000000..9c5fcf9d --- /dev/null +++ b/static/netbsd/man2/shmctl.2 @@ -0,0 +1,205 @@ +.\" $NetBSD: shmctl.2,v 1.22 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 25, 2006 +.Dt SHMCTL 2 +.Os +.Sh NAME +.Nm shmctl +.Nd shared memory control operations +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/shm.h +.Ft int +.Fn shmctl "int shmid" "int cmd" "struct shmid_ds *buf" +.Sh DESCRIPTION +The +.Fn shmctl +system call performs control operations on the shared memory segment +specified by +.Fa shmid . +.Pp +Each shared memory segment has a +.Sy shmid_ds +structure associated with it which contains the following members: +.Bd -literal + struct ipc_perm shm_perm; /* operation permissions */ + size_t shm_segsz; /* size of segment in bytes */ + pid_t shm_lpid; /* pid of last shm op */ + pid_t shm_cpid; /* pid of creator */ + shmatt_t shm_nattch; /* # of current attaches */ + time_t shm_atime; /* last shmat() time */ + time_t shm_dtime; /* last shmdt() time */ + time_t shm_ctime; /* last change by shmctl() */ +.Ed +.Pp +The +.Sy ipc_perm +structure used inside the +.Sy shmid_ds +structure is defined in +.In sys/ipc.h +and contains the following members: +.Bd -literal + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* permission (lower 9 bits) */ +.Ed +.Pp +The operation to be performed by +.Fn shmctl +is specified in +.Fa cmd +and is one of: +.Bl -tag -width IPC_RMIDX +.It Dv IPC_STAT +Gather information about the shared memory segment and place it in the +structure pointed to by +.Fa buf . +.It Dv IPC_SET +Set the value of the +.Va shm_perm.uid , +.Va shm_perm.gid +and +.Va shm_perm.mode +fields in the structure associated with +.Fa shmid . +The values are taken from the corresponding fields in the structure +pointed to by +.Fa buf . +This operation can only be executed by the super-user, or a process that +has an effective user id equal to either +.Va shm_perm.cuid +or +.Va shm_perm.uid +in the data structure associated with the shared memory segment. +.It Dv IPC_RMID +Remove the shared memory segment specified by +.Fa shmid +and destroy the data associated with it. +Only the super-user or a process with an effective uid equal to the +.Va shm_perm.cuid +or +.Va shm_perm.uid +values in the data structure associated with the segment can do this. +.It Dv SHM_LOCK +Lock the shared memory segment specified by +.Fa shmid +in memory. +This operation can only be executed by the super-user. +.It Dv SHM_UNLOCK +Unlock the shared memory segment specified by +.Fa shmid . +This operation can only be executed by the super-user. +.El +.Pp +The read and write permissions on a shared memory identifier +are determined by the +.Va shm_perm.mode +field in the same way as is +done with files (see +.Xr chmod 2 ) , +but the effective uid can match either the +.Va shm_perm.cuid +field or the +.Va shm_perm.uid +field, and the +effective gid can match either +.Va shm_perm.cgid +or +.Va shm_perm.gid . +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn shmctl +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The command is +.Dv IPC_STAT +and the caller has no read permission for this shared memory segment. +.It Bq Er EFAULT +.Fa buf +specifies an invalid address. +.It Bq Er EINVAL +.Fa shmid +is not a valid shared memory segment identifier. +.Pp +.Va cmd +is not a valid command. +.It Bq Er ENOMEM +The +.Fa cmd +is equal to +.Dv SHM_LOCK +and there is not enough physical memory. +.It Bq Er EPERM +.Fa cmd +is equal to +.Dv IPC_SET +or +.Dv IPC_RMID +and the caller is not the super-user, nor does +the effective uid match either the +.Va shm_perm.uid +or +.Va shm_perm.cuid +fields of the data structure associated with the shared memory segment. +.Pp +An attempt was made to increase the value of +.Va shm_qbytes +through +.Dv IPC_SET +but the caller is not the super-user. +.Pp +The +.Fa cmd +is equal to +.Dv SHM_LOCK +or +.Dv SHM_UNLOCK +and the caller is not the super-user. +.El +.Sh SEE ALSO +.Xr ipcrm 1 , +.Xr ipcs 1 , +.Xr shmat 2 , +.Xr shmget 2 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Shared memory segments appeared in the first release of +.At V . diff --git a/static/netbsd/man2/shmget.2 b/static/netbsd/man2/shmget.2 new file mode 100644 index 00000000..f662b46b --- /dev/null +++ b/static/netbsd/man2/shmget.2 @@ -0,0 +1,170 @@ +.\" $NetBSD: shmget.2,v 1.23 2026/01/02 22:22:22 nia Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd October 27, 2008 +.Dt SHMGET 2 +.Os +.Sh NAME +.Nm shmget +.Nd get shared memory segment +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/shm.h +.Ft int +.Fn shmget "key_t key" "size_t size" "int shmflg" +.Sh DESCRIPTION +.Fn shmget +returns the shared memory identifier associated with the key +.Fa key . +.Pp +A shared memory segment is created if either +.Fa key +is equal to +.Dv IPC_PRIVATE , +or +.Fa key +does not have a shared memory segment identifier associated with it, and the +.Dv IPC_CREAT +bit is set in +.Fa shmflg . +If both the +.Dv IPC_CREAT +bit and the +.Dv IPC_EXCL +bit are set in +.Fa shmflg , +and +.Fa key +has a shared memory segment identifier associated with it already, +the operation will fail. +.Pp +If a new shared memory segment is created, the data structure +associated with it (the +.Va shmid_ds +structure, see +.Xr shmctl 2 ) +is initialized as follows: +.Bl -bullet +.It +.Va shm_perm.cuid +and +.Va shm_perm.uid +are set to the effective uid of the calling process. +.It +.Va shm_perm.gid +and +.Va shm_perm.cgid +are set to the effective gid of the calling process. +.It +.Va shm_perm.mode +is set to the lower 9 bits of +.Fa shmflg . +.It +.Va shm_lpid , +.Va shm_nattch , +.Va shm_atime , +and +.Va shm_dtime +are set to 0. +.It +.Va shm_ctime +is set to the current time. +.It +.Va shm_segsz +is set to the value of +.Fa size . +.El +.Sh RETURN VALUES +Upon successful completion a positive shared memory segment identifier +is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EACCES +A shared memory segment is already associated with +.Fa key +and the caller has no permission to access it. +.It Bq Er EEXIST +Both +.Dv IPC_CREAT +and +.Dv IPC_EXCL +are set in +.Fa shmflg , +and a shared memory segment is already associated with +.Fa key . +.It Bq Er EINVAL +No shared memory segment is to be created, and a shared memory segment +exists for +.Fa key , +but the size of the segment associated with it is less +than +.Fa size , +which is non-zero. +.Pp +A shared memory segment +.Em is +to be created, and +.Fa size +is less than the system imposed minimum, or greater than the system +imposed maximum (refer to the +.Li kern.ipc +values in +.Xr sysctl 7 ) . +.It Bq Er ENOENT +.Dv IPC_CREAT +is not set in +.Fa shmflg +and no shared memory segment associated with +.Fa key +was found. +.It Bq Er ENOMEM +There is not enough memory left to create a shared memory segment of the +requested size. +.It Bq Er ENOSPC +A new shared memory identifier could not be created because the system limit +for the number of shared memory identifiers has been reached. +.El +.Sh SEE ALSO +.Xr ipcrm 1 , +.Xr ipcs 1 , +.Xr mmap 2 , +.Xr shmat 2 , +.Xr shmctl 2 , +.Xr ftok 3 , +.Xr sysctl 7 +.Sh STANDARDS +The +.Nm +system call conforms to +.St -xsh5 . +.Sh HISTORY +Shared memory segments appeared in the first release of +.At V . diff --git a/static/netbsd/man2/shutdown.2 b/static/netbsd/man2/shutdown.2 new file mode 100644 index 00000000..3e389621 --- /dev/null +++ b/static/netbsd/man2/shutdown.2 @@ -0,0 +1,93 @@ +.\" $NetBSD: shutdown.2,v 1.17 2004/05/13 10:20:58 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)shutdown.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd August 18, 2002 +.Dt SHUTDOWN 2 +.Os +.Sh NAME +.Nm shutdown +.Nd shut down part of a full-duplex connection +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn shutdown "int s" "int how" +.Sh DESCRIPTION +The +.Fn shutdown +call causes all or part of a full-duplex connection on +the socket associated with +.Fa s +to be shut down. +The +.Fa how +argument specifies which part of the connection will be shut down. +Permissible values are: +.Bl -tag -width SHUT_RDWRXX -offset indent +.It SHUT_RD +further receives will be disallowed. +.It SHUT_WR +further sends will be disallowed. +.It SHUT_RDWR +further sends and receives will be disallowed. +.El +.Sh RETURN VALUES +A 0 is returned if the call succeeds, \-1 if it fails. +.Sh ERRORS +The call succeeds unless: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa s +is not a valid descriptor. +.It Bq Er EINVAL +The +.Fa how +argument is invalid. +.It Bq Er ENOTCONN +The specified socket is not connected. +.It Bq Er ENOTSOCK +.Fa s +is a file, not a socket. +.El +.Sh SEE ALSO +.Xr connect 2 , +.Xr socket 2 +.Sh HISTORY +The +.Fn shutdown +function call appeared in +.Bx 4.2 . +The +.Fa how +arguments used to be simply 0, 1, and 2, but now have named values +as specified by +.St -xpg4 . diff --git a/static/netbsd/man2/sigaction.2 b/static/netbsd/man2/sigaction.2 new file mode 100644 index 00000000..6c706a3e --- /dev/null +++ b/static/netbsd/man2/sigaction.2 @@ -0,0 +1,510 @@ +.\" $NetBSD: sigaction.2,v 1.53 2024/12/18 15:31:20 christos Exp $ +.\" +.\" Copyright (c) 1980, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sigaction.2 8.2 (Berkeley) 4/3/94 +.\" +.Dd December 18, 2024 +.Dt SIGACTION 2 +.Os +.Sh NAME +.Nm sigaction +.Nd software signal facilities +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn sigaction "int sig" "const struct sigaction * restrict act" "struct sigaction * restrict oact" +.Sh DESCRIPTION +The system defines a set of signals that may be delivered to a process. +Signal delivery resembles the occurrence of a hardware interrupt: +the signal is blocked from further occurrence, the current process +context is saved, and a new one is built. +A process may specify a +.Em handler +to which a signal is delivered, or specify that a signal is to be +.Em ignored . +A process may also specify that a default action is to be taken +by the system when a signal occurs. +A signal may also be +.Em blocked , +in which case its delivery is postponed until it is +.Em unblocked . +The action to be taken on delivery is determined at the time of delivery. +Normally, signal handlers execute on the current stack of the process. +This may be changed, on a per-handler basis, so that signals are +taken on a special +.Em "signal stack" . +.Pp +Signal routines execute with the signal that caused their +invocation +.Em blocked , +but other signals may yet occur. +A global +.Em "signal mask" +defines the set of signals currently blocked from delivery +to a process. +The signal mask for a process is initialized from that of its parent +(normally empty). +It may be changed with a +.Xr sigprocmask 2 +call, or when a signal is delivered to the process. +Signal masks are represented using the +.Em sigset_t +type; the +.Xr sigsetops 3 +interface is used to modify such data. +.Pp +When a signal +condition arises for a process, the signal is added to a set of +signals pending for the process. +If the signal is not currently +.Em blocked +by the process then it is delivered to the process. +Signals may be delivered any time a process enters the operating system +(e.g., during a system call, page fault or trap, or clock interrupt). +If multiple signals are ready to be delivered at the same time, +any signals that could be caused by traps are delivered first. +Additional signals may be processed at the same time, with each +appearing to interrupt the handlers for the previous signals +before their first instructions. +The set of pending signals is returned by the +.Xr sigpending 2 +function. +When a caught signal +is delivered, the current state of the process is saved, +a new signal mask is calculated (as described below), +and the signal handler is invoked. +The call to the handler is arranged so that if the signal handling +routine returns normally the process will resume execution in the +context from before the signal's delivery. +If the process wishes to resume in a different context, then it +must arrange to restore the previous context itself. +.Pp +.Em "struct sigaction" +includes the following members: +.Bd -literal -offset indent +void (*sa_sigaction)(int sig, siginfo_t *info, void *ctx); +void (*sa_handler)(int sig); +sigset_t sa_mask; +int sa_flags; +.Ed +.Pp +When a signal is delivered to a process a new signal mask is +installed for the duration of the process' signal handler +(or until a +.Xr sigprocmask 2 +call is made). +This mask is formed by taking the union of the current signal mask, +the signal to be delivered, and +the signal mask associated with the handler to be invoked, +.Em sa_mask . +.Pp +.Fn sigaction +assigns an action for a specific signal. +If +.Fa act +is non-zero, it +specifies an action +.Pf ( Dv SIG_DFL , +.Dv SIG_IGN , +or a handler routine) and mask +to be used when delivering the specified signal. +If +.Fa oact +is non-zero, the previous handling information for the signal +is returned to the user. +.Pp +Once a signal handler is installed, it remains installed +until another +.Fn sigaction +call is made, or an +.Xr execve 2 +is performed. +A signal-specific default action may be reset by +setting +.Fa sa_handler +to +.Dv SIG_DFL . +The defaults are process termination, possibly with core dump; +no action; stopping the process; or continuing the process. +See the signal list below for each signal's default action. +If +.Fa sa_handler +is set to +.Dv SIG_DFL , +the default action for the signal is to discard the signal, +and if a signal is pending, +the pending signal is discarded even if the signal is masked. +If +.Fa sa_handler +is set to +.Dv SIG_IGN , +current and pending instances +of the signal are ignored and discarded. +.Pp +Options may be specified by setting +.Em sa_flags . +.Bl -tag -width SA_NOKERNINFO +.It Dv SA_NODEFER +If set, then the signal that caused the handler to be executed is not added +to the list of block signals. +Please note that +.Fa sa_mask +takes precedence over +.Dv SA_NODEFER , +so that if the specified signal is blocked in +.Fa sa_mask , +then +.Dv SA_NODEFER +will have no effect. +.It Dv SA_NOCLDSTOP +If set when installing a catching function +for the +.Dv SIGCHLD +signal, +the +.Dv SIGCHLD +signal will be generated only when a child process exits, +not when a child process stops or continues. +.It Dv SA_NOCLDWAIT +If set, the system will not create a zombie when the child exits, +but the child process will be automatically waited for. +The same effect can be achieved by setting the signal handler for +.Dv SIGCHLD +to +.Dv SIG_IGN . +.It Dv SA_ONSTACK +If set, the system will deliver the signal to the process on a +.Em "signal stack" , +specified with +.Xr sigaltstack 2 . +If an alternate stack is not available, the default stack will be used. +.It Dv SA_RESETHAND +If set, the default action will be reinstated when the signal +is first posted. +.It Dv SA_RESTART +Normally, if a signal is caught during the system calls listed below, +the call may be forced to terminate +with the error +.Er EINTR , +the call may return with a data transfer shorter than requested, +or the call may be restarted. +Restarting of pending calls is requested +by setting the +.Dv SA_RESTART +bit in +.Ar sa_flags . +The affected system calls include +.Xr open 2 , +.Xr read 2 , +.Xr write 2 , +.Xr sendto 2 , +.Xr recvfrom 2 , +.Xr sendmsg 2 +and +.Xr recvmsg 2 +on a communications channel or a slow device (such as a terminal, +but not a regular file) +and during a +.Xr wait 2 +or +.Xr ioctl 2 . +However, calls that have already committed are not restarted, +but instead return a partial success (for example, a short read count). +.Pp +After a +.Xr fork 2 +or +.Xr vfork 2 +all signals, the signal mask, the signal stack, +and the restart/interrupt flags are inherited by the child. +.Pp +The +.Xr execve 2 +system call reinstates the default +action for all signals which were caught and +resets all signals to be caught on the user stack. +Ignored signals remain ignored; +the signal mask remains the same; +signals that restart pending system calls continue to do so. +.Pp +See +.Xr signal 7 +for comprehensive list of supported signals. +.It Dv SA_SIGINFO +If set, the signal handler function will receive additional information +about the caught signal. +An alternative handler that gets passed additional arguments will +be called which is named +.Fa sa_sigaction . +The +.Ar sig +argument of this handler contains the signal number that was caught. +The +.Ar info +argument contains additional signal specific information which +is listed in +.Xr siginfo 2 . +The +.Ar ctx +argument +is a pointer to the +.Xr ucontext 2 +context where the signal handler will return to. +.It Dv SA_NOKERNINFO +This flag is relevant only to +.Dv SIGINFO , +and turns off printing kernel messages on the tty. +It is similar to the +.Dv NOKERNINFO +flag in +.Xr termios 4 . +.El +.Pp +If the signal handler is called due to signal delivery resulting from reasons +other than direct calls to +.Xr kill 2 +or +.Xr _lwp_kill 2 +or indirect calls to +.Xr _lwp_kill 2 +via +.Xr abort 3 +or +.Xr raise 3 +any activity (such as calling functions or assigning variables in the global +or static scopes) other than setting a variable of the type +.Vt volatile sig_atomic_t +is undefined. +.Ss Signal-safe functions +Only functions that are guaranteed to be async-signal-safe can safely +be used in signal handlers. +These are functions that are either reentrant or non-interruptible. +(These functions are also the only functions that may be used in a +child process after doing +.Xr fork 2 +in a threaded program.) +.Pp +The following functions are async-signal-safe. +Any function not listed +below is unsafe to use in signal handlers. +.Pp +.Xr _Exit 2 , +.Xr _exit 2 , +.Xr abort 3 , +.Xr accept 2 , +.Xr access 2 , +.\" .Xr aio_error +.\" .Xr aio_return +.\" .Xr aio_suspend +.Xr alarm 3 , +.Xr bind 2 , +.Xr cfgetispeed 3 , +.Xr cfgetospeed 3 , +.Xr cfsetispeed 3 , +.Xr cfsetospeed 3 , +.Xr chdir 2 , +.Xr chmod 2 , +.Xr chown 2 , +.Xr clock_gettime 2 , +.Xr close 2 , +.Xr connect 2 , +.Xr creat 3 , +.Xr dup 2 , +.Xr dup2 2 , +.Xr execle 3 , +.Xr execve 2 , +.Xr fchmod 2 , +.Xr fchown 2 , +.Xr fcntl 2 , +.Xr fdatasync 2 , +.Xr fork 2 , +.Xr fpathconf 2 , +.Xr fstat 2 , +.Xr fsync 2 , +.Xr ftruncate 2 , +.Xr getegid 2 , +.Xr geteuid 2 , +.Xr getgid 2 , +.Xr getgroups 2 , +.Xr getpeername 2 , +.Xr getpgrp 2 , +.Xr getpid 2 , +.Xr getppid 2 , +.Xr getsockname 2 , +.Xr getsockopt 2 , +.Xr getuid 2 , +.Xr kill 2 , +.Xr link 2 , +.Xr listen 2 , +.Xr lseek 2 , +.Xr lstat 2 , +.Xr mkdir 2 , +.Xr mkfifo 2 , +.Xr open 2 , +.Xr pathconf 2 , +.Xr pause 3 , +.Xr pipe 2 , +.Xr poll 2 , +.\" .Xr posix_trace_event 2 +.\" .Xr pselect 2 +.Xr pthread_mutex_unlock 3 , +.Xr raise 3 , +.Xr read 2 , +.Xr readlink 2 , +.Xr recv 2 , +.Xr recvfrom 2 , +.Xr recvmsg 2 , +.Xr rename 2 , +.Xr rmdir 2 , +.Xr select 2 , +.Xr sem_post 3 , +.Xr send 2 , +.Xr sendmsg 2 , +.Xr sendto 2 , +.Xr setgid 2 , +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr setsockopt 2 , +.Xr setuid 2 , +.Xr shutdown 2 , +.Xr sigaddset 3 , +.Xr sigdelset 3 , +.Xr sigemptyset 3 , +.Xr sigfillset 3 , +.Xr sigismember 3 , +.Xr sleep 3 , +.Xr signal 3 , +.Xr sigpause 3 , +.Xr sigpending 2 , +.Xr sigprocmask 2 , +.\" .Xr sigqueue +.Xr sigset 3 , +.Xr sigsuspend 2 , +.Xr sockatmark 3 , +.Xr socket 2 , +.Xr socketpair 2 , +.Xr stat 2 , +.Xr symlink 2 , +.Xr sysconf 3 , +.Xr tcdrain 3 , +.Xr tcflow 3 , +.Xr tcflush 3 , +.Xr tcgetattr 3 , +.Xr tcgetpgrp 3 , +.Xr tcsendbreak 3 , +.Xr tcsetattr 3 , +.Xr tcsetpgrp 3 , +.Xr time 3 , +.Xr timer_getoverrun 2 , +.Xr timer_gettime 2 , +.Xr timer_settime 2 , +.Xr times 3 , +.Xr umask 2 , +.Xr uname 3 , +.Xr unlink 2 , +.Xr utime 3 , +.Xr wait 2 , +.Xr waitpid 2 , +.Xr write 2 . +.Sh NOTES +The mask specified in +.Fa act +is not allowed to block +.Dv SIGKILL +or +.Dv SIGSTOP . +This is enforced silently by the system. +.Sh RETURN VALUES +A 0 value indicates that the call succeeded. +A \-1 return value indicates an error occurred and +.Va errno +is set to indicate the reason. +.Sh ERRORS +.Fn sigaction +will fail and no new signal handler will be installed if one +of the following occurs: +.Bl -tag -width Er +.It Bq Er EFAULT +Either +.Fa act +or +.Fa oact +points to memory that is not a valid part of the process +address space. +.It Bq Er EINVAL +.Fa sig +is not a valid signal number; +or an attempt is made to ignore or supply a handler for +.Dv SIGKILL +or +.Dv SIGSTOP ; +or the +.Em sa_flags +word contains bits other than +.Dv SA_NOCLDSTOP , +.Dv SA_NOCLDWAIT , +.Dv SA_NODEFER , +.Dv SA_ONSTACK , +.Dv SA_RESETHAND , +.Dv SA_RESTART , +and +.Dv SA_SIGINFO . +.El +.Sh SEE ALSO +.Xr kill 1 , +.Xr kill 2 , +.Xr ptrace 2 , +.Xr sigaltstack 2 , +.Xr sigprocmask 2 , +.Xr sigstack 2 , +.Xr sigsuspend 2 , +.Xr fpgetmask 3 , +.Xr fpsetmask 3 , +.Xr setjmp 3 , +.Xr sigblock 3 , +.Xr siginterrupt 3 , +.Xr signal 3 , +.Xr sigpause 3 , +.Xr sigsetmask 3 , +.Xr sigsetops 3 , +.Xr tty 4 +.Sh STANDARDS +The +.Fn sigaction +function conforms to +.St -p1003.1-90 . +The +.Dv SA_ONSTACK +and +.Dv SA_RESTART +flags are Berkeley extensions, available on most +.Bx Ns \-derived +systems. diff --git a/static/netbsd/man2/sigaltstack.2 b/static/netbsd/man2/sigaltstack.2 new file mode 100644 index 00000000..30107875 --- /dev/null +++ b/static/netbsd/man2/sigaltstack.2 @@ -0,0 +1,169 @@ +.\" $NetBSD: sigaltstack.2,v 1.26 2021/11/01 05:29:35 thorpej Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sigaltstack.2 8.2 (Berkeley) 5/1/95 +.\" +.Dd October 31, 2021 +.Dt SIGALTSTACK 2 +.Os +.Sh NAME +.Nm sigaltstack +.Nd set and/or get signal stack context +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Bd -literal +typedef struct { + void *ss_sp; + size_t ss_size; + int ss_flags; +} stack_t; +.Ed +.Pp +.Ft int +.Fn sigaltstack "const stack_t * restrict ss" "stack_t * restrict oss" +.Sh DESCRIPTION +.Fn sigaltstack +allows users to define an alternative stack on which signals +are to be processed. +If +.Fa ss +is non-zero, +it specifies a pointer to and the size of a +.Em "signal stack" +on which to deliver signals, +and tells the system if the process is currently executing +on that stack. +When a signal's action indicates its handler +should execute on the signal stack (specified with a +.Xr sigaction 2 +call), the system checks to see +if the process is currently executing on that stack. +If the process is not currently executing on the signal stack, +the system arranges a switch to the signal stack for the +duration of the signal handler's execution. +.Pp +If +.Dv SS_DISABLE +is set in +.Fa ss_flags , +.Fa ss_sp +and +.Fa ss_size +are ignored and the signal stack will be disabled. +Trying to disable an active stack will cause +.Nm +to return \-1 with +.Va errno +set to +.Er EINVAL . +A disabled stack will cause all signals to be +taken on the regular user stack. +If the stack is later re-enabled then all signals that were specified +to be processed on an alternative stack will resume doing so. +.Pp +If +.Fa oss +is non-zero, the current signal stack state is returned. +The +.Fa ss_flags +field will contain the value +.Dv SS_ONSTACK +if the process is currently on a signal stack and +.Dv SS_DISABLE +if the signal stack is currently disabled. +.Sh NOTES +The value +.Dv SIGSTKSZ +is defined to be the number of bytes/chars that would be used to cover +the usual case when allocating an alternative stack area. +The following code fragment is typically used to allocate an alternative stack. +.Bd -literal -offset indent +if ((sigstk.ss_sp = malloc(SIGSTKSZ)) == NULL) + /* error return */ +sigstk.ss_size = SIGSTKSZ; +sigstk.ss_flags = 0; +if (sigaltstack(&sigstk,0) < 0) + perror("sigaltstack"); +.Ed +.Pp +An alternative approach is provided for programs with signal handlers +that require a specific amount of stack space other than the default size. +The value +.Dv MINSIGSTKSZ +is defined to be the number of bytes/chars that is required by +the operating system to implement the alternative stack feature. +In computing an alternative stack size, +programs should add +.Dv MINSIGSTKSZ +to their stack requirements to allow for the operating system overhead. +.Pp +Signal stacks are automatically adjusted for the direction of stack +growth and alignment requirements. +Signal stacks may or may not be protected by the hardware and +are not ``grown'' automatically as is done for the normal stack. +If the stack overflows and this space is not protected +unpredictable results may occur. +.Sh RETURN VALUES +.Rv -std +.Sh ERRORS +.Fn sigaltstack +will fail and the signal stack context will remain unchanged +if one of the following occurs. +.Bl -tag -width Er +.It Bq Er EFAULT +Either +.Fa ss +or +.Fa oss +points to memory that is not a valid part of the process +address space. +.It Bq Er EINVAL +An attempt was made to disable an active stack. +.It Bq Er ENOMEM +Size of alternative stack area is less than +.Dv MINSIGSTKSZ . +.El +.Sh SEE ALSO +.Xr sigaction 2 , +.Xr setjmp 3 , +.Xr signal 7 +.Sh STANDARDS +The +.Fn sigaltstack +function conforms to +.St -xpg4.2 . +.Sh HISTORY +The predecessor to +.Nm sigaltstack , +the +.Fn sigstack +system call, appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/sigpending.2 b/static/netbsd/man2/sigpending.2 new file mode 100644 index 00000000..e3e627aa --- /dev/null +++ b/static/netbsd/man2/sigpending.2 @@ -0,0 +1,77 @@ +.\" $NetBSD: sigpending.2,v 1.15 2008/10/24 15:40:21 wiz Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Berkeley Software Design, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sigpending.2 8.3 (Berkeley) 1/12/94 +.\" +.Dd October 24, 2008 +.Dt SIGPENDING 2 +.Os +.Sh NAME +.Nm sigpending +.Nd get pending signals +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn sigpending "sigset_t *set" +.Sh DESCRIPTION +The +.Nm sigpending +function returns a mask of the signals pending for delivery +to the calling process in the location indicated by +.Fa set . +Signals may be pending because they are currently masked, +or they are in transition before delivery (although the latter case is not +normally detectable). +.Sh RETURN VALUES +A 0 value indicates that the call succeeded. +A \-1 return value indicates an error occurred and +.Va errno +is set to indicate the reason. +.Sh ERRORS +.Fn sigpending +will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa set +specifies an invalid address. +.El +.Sh SEE ALSO +.Xr sigaction 2 , +.Xr sigprocmask 2 , +.Xr signal 7 +.Sh STANDARDS +The +.Nm sigpending +function conforms to +.St -p1003.1-90 . diff --git a/static/netbsd/man2/sigprocmask.2 b/static/netbsd/man2/sigprocmask.2 new file mode 100644 index 00000000..0504d510 --- /dev/null +++ b/static/netbsd/man2/sigprocmask.2 @@ -0,0 +1,121 @@ +.\" $NetBSD: sigprocmask.2,v 1.22 2006/01/07 20:11:30 kleink Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sigprocmask.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SIGPROCMASK 2 +.Os +.Sh NAME +.Nm sigprocmask +.Nd manipulate current signal mask +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn sigprocmask "int how" "const sigset_t * restrict set" "sigset_t * restrict oset" +.Sh DESCRIPTION +The +.Fn sigprocmask +function examines and/or changes the current signal mask (those signals +that are blocked from delivery). +Signals are blocked if they are members of the current signal mask set. +.Pp +If +.Fa set +is not null, the action of +.Fn sigprocmask +depends on the value of the parameter +.Fa how . +The signal mask is changed as a function of the specified +.Fa set +and the current mask. +The function is specified by +.Fa how +using one of the following values: +.Bl -tag -width SIG_UNBLOCK +.It Dv SIG_BLOCK +The new mask is the union of the current mask and the specified +.Fa set . +.It Dv SIG_UNBLOCK +The new mask is the intersection of the current mask +and the complement of the specified +.Fa set . +.It Dv SIG_SETMASK +The current mask is replaced by the specified +.Fa set . +.El +.Pp +If +.Fa oset +is not null, it is set to +the previous value of the signal mask. +.Pp +When +.Fa set +is null, +the value of +.Ar how +is insignificant and the mask remains unset +providing a way to examine the signal mask without modification. +.Pp +The system +quietly disallows +.Dv SIGKILL +or +.Dv SIGSTOP +to be blocked. +.Sh RETURN VALUES +A 0 value indicates that the call succeeded. +A \-1 return value indicates an error occurred and +.Va errno +is set to indicate the reason. +.Sh ERRORS +The +.Fn sigprocmask +call will fail and the signal mask will be unchanged if one +of the following occurs: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa how +has a value other than those listed here. +.El +.Sh SEE ALSO +.Xr kill 2 , +.Xr sigaction 2 , +.Xr sigsuspend 2 , +.Xr pthread_sigmask 3 , +.Xr sigsetops 3 , +.Xr signal 7 +.Sh STANDARDS +The +.Fn sigprocmask +function conforms to +.St -p1003.1-90 . diff --git a/static/netbsd/man2/sigqueue.2 b/static/netbsd/man2/sigqueue.2 new file mode 100644 index 00000000..c0b552e9 --- /dev/null +++ b/static/netbsd/man2/sigqueue.2 @@ -0,0 +1,156 @@ +.\" $NetBSD: sigqueue.2,v 1.5 2017/10/30 15:49:24 wiz Exp $ +.\" Copyright (c) 2005 David Xu <davidxu@FreeBSD.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice(s), this list of conditions and the following disclaimer as +.\" the first lines of this file unmodified other than the possible +.\" addition of one or more copyright notices. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice(s), this list of conditions and the following disclaimer in +.\" the documentation and/or other materials provided with the +.\" distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY +.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE +.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD: src/lib/libc/sys/sigqueue.2,v 1.8 2006/09/17 21:27:34 ru Exp $ +.\" +.Dd January 9, 2011 +.Dt SIGQUEUE 2 +.Os +.Sh NAME +.Nm sigqueue , +.Nm sigqueueinfo +.Nd queue a signal to a process (REALTIME) +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn sigqueue "pid_t pid" "int signo" "const union sigval value" +.Ft int +.Fn sigqueueinfo "pid_t pid" "const siginfo_t *info" +.Sh DESCRIPTION +The +.Fn sigqueue +system call causes the signal specified by +.Fa signo +to be sent with the value specified by +.Fa value +to the process specified by +.Fa pid . +If +.Fa signo +is zero (the null signal), error checking is performed but +no signal is actually sent. +The null signal can be used to check the +validity of PID. +.Pp +The conditions required for a process to have permission to queue a +signal to another process are the same as for the +.Xr kill 2 +system call. +The +.Fn sigqueue +system call queues a signal to a single process specified by the +.Fa pid +argument. +.Pp +The +.Fn sigqueue +system call is implemented using +.Fn sigqueueinfo +and passing the appropriate information in the +.Fa info +argument. +.Pp +The +.Fn sigqueue +system call returns immediately. +If the resources were +available to queue the signal, the signal will be queued and sent to +the receiving process. +.Pp +If the value of +.Fa pid +causes +.Fa signo +to be generated for the sending process, and if +.Fa signo +is not blocked for the calling thread and if no other thread has +.Fa signo +unblocked or is waiting in a +.Fn sigwait +system call for +.Fa signo , +either +.Fa signo +or at least the pending, unblocked signal will be delivered to the +calling thread before +.Fn sigqueue +returns. +Should any multiple pending signals in the range +.Dv SIGRTMIN +to +.Dv SIGRTMAX +be selected for delivery, it is the lowest numbered +one. +The selection order between realtime and non-realtime signals, or +between multiple pending non-realtime signals, is unspecified. +.Sh RETURN VALUES +.Rv -std +.Sh ERRORS +The +.Fn sigqueue +system call +will fail if: +.Bl -tag -width Er +.It Bq Er EAGAIN +No resources are available to queue the signal. +The process has already queued +.Brq Dv SIGQUEUE_MAX +signals that are still pending at the receiver(s), +or a system-wide resource limit has been exceeded. +.It Bq Er EINVAL +The value of the +.Fa signo +argument is an invalid or unsupported signal number. +.It Bq Er EPERM +The process does not have the appropriate privilege to send the signal +to the receiving process. +.It Bq Er ESRCH +The process +.Fa pid +does not exist. +.El +.Sh SEE ALSO +.Xr sigaction 2 , +.Xr siginfo 2 , +.Xr sigpending 2 , +.Xr sigsuspend 2 , +.Xr sigtimedwait 2 , +.Xr sigwait 2 , +.Xr sigwaitinfo 2 , +.Xr pause 3 , +.Xr pthread_sigmask 3 +.Sh STANDARDS +The +.Fn sigqueue +system call conforms to +.St -p1003.1-2004 . +.Sh HISTORY +Support for POSIX realtime signal queue first appeared in +.Nx 6.0 . diff --git a/static/netbsd/man2/sigstack.2 b/static/netbsd/man2/sigstack.2 new file mode 100644 index 00000000..d227f567 --- /dev/null +++ b/static/netbsd/man2/sigstack.2 @@ -0,0 +1,54 @@ +.\" $NetBSD: sigstack.2,v 1.12 2003/08/07 16:44:09 agc Exp $ +.\" +.\" Copyright (c) 1983, 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sigstack.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SIGSTACK 2 +.Os +.Sh NAME +.Nm sigstack +.Nd set and/or get signal stack context +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn sigstack "const struct sigstack *" "struct sigstack *" +.Sh DESCRIPTION +The +.Fn sigstack +function has been deprecated in favor of the interface described in +.Xr sigaltstack 2 . +.Sh SEE ALSO +.Xr sigaltstack 2 , +.Xr signal 7 +.Sh HISTORY +The +.Nm +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/sigsuspend.2 b/static/netbsd/man2/sigsuspend.2 new file mode 100644 index 00000000..d462342e --- /dev/null +++ b/static/netbsd/man2/sigsuspend.2 @@ -0,0 +1,80 @@ +.\" $NetBSD: sigsuspend.2,v 1.17 2004/05/13 10:20:58 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sigsuspend.2 8.2 (Berkeley) 5/16/95 +.\" +.Dd May 16, 1995 +.Dt SIGSUSPEND 2 +.Os +.Sh NAME +.Nm sigsuspend +.Nd atomically release blocked signals and wait for interrupt +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn sigsuspend "const sigset_t *sigmask" +.Sh DESCRIPTION +.Fn sigsuspend +temporarily changes the blocked signal mask to the set to which +.Fa sigmask +points, +and then waits for a signal to arrive; +on return the previous set of masked signals is restored. +The signal mask set +is usually empty to indicate that all +signals are to be unblocked for the duration of the call. +.Pp +In normal usage, a signal is blocked using +.Xr sigprocmask 2 +to begin a critical section, variables modified on the occurrence +of the signal are examined to determine that there is no work +to be done, and the process pauses awaiting work by using +.Fn sigsuspend +with the previous mask returned by +.Xr sigprocmask 2 . +.Sh RETURN VALUES +The +.Fn sigsuspend +function +always terminates by being interrupted, returning \-1 with +.Va errno +set to +.Er EINTR . +.Sh SEE ALSO +.Xr sigaction 2 , +.Xr sigprocmask 2 , +.Xr sigsetops 3 , +.Xr signal 7 +.Sh STANDARDS +The +.Nm sigsuspend +function call conforms to +.St -p1003.1-90 . diff --git a/static/netbsd/man2/sigtimedwait.2 b/static/netbsd/man2/sigtimedwait.2 new file mode 100644 index 00000000..80962bd6 --- /dev/null +++ b/static/netbsd/man2/sigtimedwait.2 @@ -0,0 +1,154 @@ +.\" $NetBSD: sigtimedwait.2,v 1.8 2012/04/02 22:06:47 agc Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jaromir Dolecek. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 2, 2012 +.Dt SIGTIMEDWAIT 2 +.Os +.Sh NAME +.Nm sigtimedwait , +.Nm sigwaitinfo , +.Nm sigwait +.Nd wait for queued signals +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In signal.h +.Ft int +.Fn sigtimedwait "const sigset_t * restrict set" "siginfo_t * restrict info" "const struct timespec * restrict timeout" +.Ft int +.Fn sigwaitinfo "const sigset_t * restrict set" "siginfo_t * restrict info" +.Ft int +.Fn sigwait "const sigset_t * restrict set" "int * restrict sig" +.Sh DESCRIPTION +.Fn sigwaitinfo +and +.Fn sigwait +return the first pending signal from the set specified by +.Fa set . +Should multiple signals from +.Fa set +be pending, the lowest numbered one is returned. +The selection order between realtime and non-realtime signals is unspecified. +If there is no signal from +.Ar set +pending at the time of the call, the calling thread +is suspended until one of the specified signals is generated. +.Pp +.Fn sigtimedwait +is exactly equal to +.Fn sigwaitinfo , +except +.Fa timeout +specifies the maximum time interval for which the calling thread will +be suspended. +If +.Fa timeout +is zero (tv_sec == tv_nsec == 0), +.Fn sigtimedwait +only checks the currently pending signals and returns immediately. +If +.Dv NULL +is used for +.Fa timeout , +.Fn sigtimedwait +behaves exactly like +.Fn sigwaitinfo +in all regards. +.Pp +If several threads are waiting for a given signal, exactly one of them +returns from the signal wait when the signal is generated. +.Pp +Behaviour of these functions is unspecified if any of the signals in +.Fa set +are unblocked at the time these functions are called. +.Sh RETURN VALUES +Upon successful completion of +.Fn sigtimedwait +or +.Fn sigwaitinfo +.Fa info +is updated with signal information, and the function returns the signal number. +Otherwise, \-1 is returned and the global variable +.Va errno +indicates the error. +Upon successful completion of +.Fn sigwait +.Fa sig +is updated with the signal number, and the function returns 0. +Otherwise, a non-zero error code is returned. +.Sh ERRORS +.Fn sigwaitinfo +and +.Fn sigwait +always succeed. +.Pp +.Fn sigtimedwait +will fail and the +.Fa info +pointer will remain unchanged if: +.Bl -tag -width Er +.It Bq Er EAGAIN +No signal specified in +.Fa set +was generated in the specified +.Fa timeout . +.El +.Pp +.Fn sigtimedwait +may also fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The specified +.Fa timeout +was invalid. +.El +.Pp +This error is only checked if no signal from +.Fa set +is pending and it would be necessary to wait. +.Sh SEE ALSO +.Xr sigaction 2 , +.Xr sigprocmask 2 , +.Xr signal 7 +.Sh STANDARDS +The functions +.Fn sigtimedwait , +.Fn sigwaitinfo , +and +.Fn sigwait +conform to +.St -p1003.1-2001 . +.Sh HISTORY +The +.Fn sigtimedwait , +.Fn sigwaitinfo , +and +.Fn sigwait +functions appeared in +.Nx 2.0 . diff --git a/static/netbsd/man2/smp.2 b/static/netbsd/man2/smp.2 new file mode 100644 index 00000000..4ad56ac0 --- /dev/null +++ b/static/netbsd/man2/smp.2 @@ -0,0 +1,23 @@ +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* * * * * * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* * * * * * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * +* * * * * * diff --git a/static/netbsd/man2/socket.2 b/static/netbsd/man2/socket.2 new file mode 100644 index 00000000..d6391dd8 --- /dev/null +++ b/static/netbsd/man2/socket.2 @@ -0,0 +1,307 @@ +.\" $NetBSD: socket.2,v 1.52 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)socket.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 17, 2025 +.Dt SOCKET 2 +.Os +.Sh NAME +.Nm socket +.Nd create an endpoint for communication +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn socket "int domain" "int type" "int protocol" +.Sh DESCRIPTION +.Fn socket +creates an endpoint for communication and returns a descriptor. +.Pp +The +.Fa domain +parameter specifies a communications domain within which +communication will take place; this selects the protocol family +which should be used. +These families are defined in the include file +.Ao Pa sys/socket.h Ac . +The currently understood formats are: +.Bl -column -offset indent ".Dv PF_APPLETALK" +.It Dv PF_LOCAL Ta local domain Po previously Tn UNIX domain Pc protocols +.It Dv PF_INET Ta Tn ARPA Internet protocols +.It Dv PF_INET6 Ta Tn IPv6 (Internet Protocol version 6) protocols +.It Dv PF_NS Ta Xerox Network Systems protocols +.It Dv PF_APPLETALK Ta AppleTalk protocols +.It Dv PF_BLUETOOTH Ta Bluetooth protocols +.It Dv PF_CAN Ta Tn CAN bus protocols +.El +.Pp +The socket has the indicated +.Fa type , +which specifies the semantics of communication. +Currently defined types are: +.Bl -tag -offset indent -width SOCK_NOSIGPIPE +.It Dv SOCK_STREAM +Provides sequenced, reliable, two-way connection based byte streams. +An out-of-band data transmission mechanism may be supported. +.It Dv SOCK_DGRAM +Supports datagrams: connectionless, unreliable messages of a +fixed\(emtypically small\(emmaximum length. +.It Dv SOCK_RAW +Provides access to internal network protocols and interfaces. +Available only to the super-user. +Not described here. +.It Dv SOCK_SEQPACKET +Provides a sequenced, reliable, two-way connection-based data +transmission path for datagrams of fixed maximum length. +A consumer may be required to read an entire packet with each read +system call. +.It Dv SOCK_RDM +Not implemented. +.El +.Pp +The following flags can be or'ed to the socket type to add conditions to +the returned file descriptor: +.Bl -tag -offset indent -width SOCK_NOSIGPIPE +.It Dv SOCK_CLOEXEC +Set the +.Dq close on exec +property. +.It Dv SOCK_CLOFORK +Set the +.Dq close on fork +property. +.It Dv SOCK_NONBLOCK +Set non-blocking I/O. +.It Dv SOCK_NOSIGPIPE +Return +.Er EPIPE +instead of raising +.Dv SIGPIPE . +.El +.Pp +The +.Fa protocol +specifies a particular protocol to be used with the socket. +Normally only a single protocol exists to support a particular +socket type within a given protocol family. +However, it is possible that many protocols may exist, in which case +a particular protocol must be specified in this manner. +The protocol number to use is +particular to the \*(lqcommunication domain\*(rq in which communication +is to take place; see +.Xr protocols 5 . +.Pp +Sockets of type +.Dv SOCK_STREAM +are full-duplex byte streams. +A stream socket must be in a +.Em connected +state before any data may be sent or received +on it. +A connection to another socket is created with a +.Xr connect 2 +call. +Once connected, data may be transferred using +.Xr read 2 +and +.Xr write 2 +calls or some variant of the +.Xr send 2 +and +.Xr recv 2 +calls. +When a session has been completed a +.Xr close 2 +may be performed. +Out-of-band data may also be transmitted as described in +.Xr send 2 +and received as described in +.Xr recv 2 . +.Pp +The communications protocols used to implement a +.Dv SOCK_STREAM +ensure that data +is not lost or duplicated. +If a piece of data for which the +peer protocol has buffer space cannot be successfully transmitted +within a reasonable length of time, then +the connection is considered broken and calls +will indicate an error with +\-1 returns and with +.Er ETIMEDOUT +as the specific code +in the global variable +.Va errno . +The protocols optionally keep sockets +.Dq warm +by forcing transmissions +roughly every minute in the absence of other activity. +An error is then indicated if no response can be +elicited on an otherwise +idle connection for an extended period (e.g., 5 minutes). +A +.Dv SIGPIPE +signal is raised if a process sends +on a broken stream; this causes naive processes, +which do not handle the signal, to exit. +.Pp +.Dv SOCK_SEQPACKET +sockets employ the same system calls +as +.Dv SOCK_STREAM +sockets. +The only difference is that +.Xr read 2 +calls will return only the amount of data requested, +and any remaining in the arriving packet will be discarded. +.Pp +.Dv SOCK_DGRAM +and +.Dv SOCK_RAW +sockets allow sending of datagrams to correspondents +named in +.Xr send 2 +calls. +Datagrams are generally received with +.Xr recvfrom 2 , +which returns the next datagram with its return address. +.Pp +An +.Xr fcntl 2 +call can be used to specify a process group to receive +a +.Dv SIGURG +signal when the out-of-band data arrives. +It may also enable non-blocking I/O +and asynchronous notification of I/O events +via +.Dv SIGIO . +.Pp +The operation of sockets is controlled by socket level +.Em options . +These options are defined in the file +.Ao Pa sys/socket.h Ac . +The +.Xr setsockopt 2 +and +.Xr getsockopt 2 +system calls are used to set and get options, respectively. +.Sh RETURN VALUES +A \-1 is returned if an error occurs, otherwise the return +value is a descriptor referencing the socket. +.Sh ERRORS +The +.Fn socket +call fails if: +.Bl -tag -width Er +.It Bq Er EACCES +Permission to create a socket of the specified type and/or protocol +is denied. +.It Bq Er EAFNOSUPPORT +The address family (domain) is not supported or +the specified domain is not supported by this protocol family. +.It Bq Er EMFILE +The per-process descriptor table is full. +.It Bq Er ENFILE +The system file table is full. +.It Bq Er ENOBUFS +Insufficient buffer space is available. +The socket cannot be created until sufficient resources are freed. +.It Bq Er EPROTONOSUPPORT +The protocol family is not supported or +the specified protocol is not supported within this domain. +.It Bq Er EPROTOTYPE +The socket type is not supported by the protocol. +.El +.Sh SEE ALSO +.Xr accept 2 , +.Xr bind 2 , +.Xr connect 2 , +.Xr fcntl 2 , +.Xr getsockname 2 , +.Xr getsockopt 2 , +.Xr ioctl 2 , +.Xr listen 2 , +.Xr poll 2 , +.Xr read 2 , +.Xr recv 2 , +.Xr select 2 , +.Xr send 2 , +.Xr setsockopt 2 , +.Xr shutdown 2 , +.Xr socketpair 2 , +.Xr write 2 , +.Xr getprotoent 3 +.Rs +.%T "An Introductory 4.4BSD Interprocess Communication Tutorial" +.%A Stuart Sechrest +.Re +.Pq see Pa /usr/share/doc/reference/ref3/sockets +.Rs +.%T "Advanced 4.4BSD IPC Tutorial" +.%A Samuel J. Leffler +.%A Robert S. Fabry +.%A William N. Joy +.%A Phil Lapsley +.%A Steve Miller +.%A Chris Torek +.Re +.Pq see Pa /usr/share/doc/reference/ref3/sockets-advanced +.Sh STANDARDS +The +.Fn socket +call conforms to +.St -p1003.1-2001 . +Including the +.Dv SOCK_CLOEXEC , +.Dv SOCK_CLOFORK , +and +.Dv SOCK_NONBLOCK +flags in the +.Fa type +conforms to +.St -p1003.1-2024 . +Using +.Dv SOCK_NOSIGPIPE +is an extension to the standard. +.Sh HISTORY +The +.Fn socket +function call appeared in +.Bx 4.2 . +.Pp +The +.Dv SOCK_CLOFORK +flag appeared in +.Fx 15.0 , +.Dx 6.5 , +and +.Nx 11.0 . diff --git a/static/netbsd/man2/socketpair.2 b/static/netbsd/man2/socketpair.2 new file mode 100644 index 00000000..33789be1 --- /dev/null +++ b/static/netbsd/man2/socketpair.2 @@ -0,0 +1,153 @@ +.\" $NetBSD: socketpair.2,v 1.26 2025/07/17 17:16:07 kre Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)socketpair.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 8, 2025 +.Dt SOCKETPAIR 2 +.Os +.Sh NAME +.Nm socketpair +.Nd create a pair of connected sockets +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/socket.h +.Ft int +.Fn socketpair "int d" "int type" "int protocol" "int *sv" +.Sh DESCRIPTION +The +.Fn socketpair +call creates an unnamed pair of connected sockets in +the specified domain +.Fa d , +of the specified +.Fa type , +and using the optionally specified +.Fa protocol . +The descriptors used in referencing the new sockets +are returned in +.Fa sv Ns Li [0] +and +.Fa sv Ns Li [1] . +The two sockets are indistinguishable. +.Pp +Possible values for the +.Fa type +argument are +.Dv SOCK_STREAM , +.Dv SOCK_DGRAM , +and +.Dv SOCK_SEQPACKET ; +the only supported value for the +.Fa protocol +is 0, +which will let the system select an appropriate +protocol for the requested socket +.Fa type . +.Pp +Any combination of the following flags may +additionally be used in the +.Fa type +argument: +.Pp +.Bl -tag -width SOCK_NONBLOCK -offset indent -compact +.It Dv SOCK_CLOEXEC +Set close-on-exec flag on both the new descriptors. +.It Dv SOCK_CLOFORK +Set close-on-fork flag on both the new descriptors. +.It Dv SOCK_NONBLOCK +Set non-blocking I/O mode on both the new sockets. +.El +.Sh RETURN VALUES +.Rv -std +.Sh ERRORS +The call succeeds unless: +.Bl -tag -width Er +.It Bq Er EAFNOSUPPORT +The specified address family is not supported on this machine. +.It Bq Er EFAULT +The address +.Fa sv +does not specify a valid part of the +process address space. +.It Bq Er EMFILE +Too many descriptors are in use by this process. +.It Bq Er ENFILE +The system file table is full. +.It Bq Er EOPNOTSUPP +The specified protocol does not support creation of socket pairs. +.It Bq Er EPROTONOSUPPORT +The specified protocol is not supported on this machine. +.El +.Sh SEE ALSO +.Xr close 2 , +.Xr fcntl 2 , +.Xr pipe 2 , +.Xr read 2 , +.Xr socket 2 , +.Xr write 2 +.Sh STANDARDS +The +.Fn socketpair +call conforms to +.St -p1003.1-2001 . +Including the +.Dv SOCK_CLOEXEC , +.Dv SOCK_CLOFORK , +and +.Dv SOCK_NONBLOCK +flags in the +.Fa type +conforms to +.St -p1003.1-2024 . +.Sh HISTORY +The +.Fn socketpair +function call appeared in +.Bx 4.2 . +.Pp +Support for the +.Dv SOCK_CLOEXEC +and +.Dv SOCK_NONBLOCK +flags appeared in +.Nx 6.0 . +.Pp +Support for the +.Dv SOCK_CLOFORK +flag appeared in +.Fx 15.0 , +.Dx 6.5 +and +.Nx 11.0 . +.Sh BUGS +This call is currently implemented only for the +.Dv PF_LOCAL +domain. diff --git a/static/netbsd/man2/stat.2 b/static/netbsd/man2/stat.2 new file mode 100644 index 00000000..92718869 --- /dev/null +++ b/static/netbsd/man2/stat.2 @@ -0,0 +1,424 @@ +.\" $NetBSD: stat.2,v 1.60 2023/10/15 20:37:04 jschauma Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)stat.2 8.4 (Berkeley) 5/1/95 +.\" +.Dd October 15, 2023 +.Dt STAT 2 +.Os +.Sh NAME +.Nm stat , +.Nm lstat , +.Nm fstat , +.Nm fstatat +.Nd get file status +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/stat.h +.Ft int +.Fn stat "const char *path" "struct stat *sb" +.Ft int +.Fn lstat "const char *path" "struct stat *sb" +.Ft int +.Fn fstat "int fd" "struct stat *sb" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn fstatat "int fd" "const char *path" "struct stat *sb" "int flag" +.Sh DESCRIPTION +The +.Fn stat +function obtains information about the file pointed to by +.Fa path . +Read, write or execute +permission of the named file is not required, but all directories +listed in the path name leading to the file must be searchable. +.Pp +The function +.Fn lstat +is like +.Fn stat +except in the case where the named file is a symbolic link, +in which case +.Fn lstat +returns information about the link, +while +.Fn stat +returns information about the file the link references. +The +.Fn fstat +function obtains the same information about an open file +known by the file descriptor +.Fa fd . +.Pp +.Fn fstatat +works the same way as +.Fn stat +(or +.Fn lstat +if +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag ) +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +The +.Fa sb +argument is a pointer to a +.Fa stat +structure +as defined by +.In sys/stat.h +and into which information is placed concerning the file. +.Ss The Standard Structure +The following standards-compliant fields are defined in the structure: +.Bl -column -offset indent \ +"nlink_t " "st_nlink " "Description" +.It Sy Type Ta Sy Entry Ta Sy Description +.It Vt dev_t Ta st_dev Ta device ID containing the file +.It Vt ino_t Ta st_ino Ta serial number of the file (inode number) +.It Vt mode_t Ta st_mode Ta mode of the file +.It Vt nlink_t Ta st_nlink Ta number of hard links to the file +.It Vt uid_t Ta st_uid Ta user ID of the owner +.It Vt gid_t Ta st_gid Ta group ID of the owner +.It Vt dev_t Ta st_rdev Ta device type (character or block special) +.It Vt off_t Ta st_size Ta size of the file in bytes +.It Vt time_t Ta st_atime Ta time of last access +.It Vt time_t Ta st_mtime Ta time of last data modification +.It Vt time_t Ta st_ctime Ta time of last file status change +.It Vt blksize_t Ta st_blksize Ta preferred I/O block size (fs-specific) +.It Vt blkcnt_t Ta st_blocks Ta blocks allocated for the file +.El +.Pp +These are specified in the +.St -p1003.1-2004 +standard. +The +.Va st_ino +and +.Va st_dev +fields taken together uniquely identify the file within the system. +Most of the types are defined in +.Xr types 3 . +.Pp +The time-related fields are: +.Bl -tag -width st_blksize -offset indent +.It Va st_atime +Time when file data was last accessed. +Changed by the +.Xr mknod 2 , +.Xr utimes 2 , +and +.Xr read 2 +system calls. +.It Va st_mtime +Time when file data was last modified. +Changed by the +.Xr mknod 2 , +.Xr utimes 2 , +and +.Xr write 2 +system calls. +.It Va st_ctime +Time when file status was last changed (file metadata modification). +Changed by the +.Xr chflags 2 , +.Xr chmod 2 , +.Xr chown 2 , +.Xr link 2 , +.Xr mknod 2 , +.Xr rename 2 , +.Xr unlink 2 , +.Xr utimes 2 , +and +.Xr write 2 +system calls. +.El +.Pp +The size-related fields of the +.Fa struct stat +are as follows: +.Bl -tag -width st_blksize -offset indent +.It Va st_size +The size of the file in bytes. +The meaning of the size reported for a directory is file system +dependent. +Some file systems (e.g. FFS) return the total size used for the +directory metadata, possibly including free slots; others (notably +ZFS) return the number of entries in the directory. +Some may also return other things or always report zero. +.It Va st_blksize +The optimal I/O block size for the file. +.It Va st_blocks +The actual number of blocks allocated for the file in 512-byte units. +As short symbolic links are stored in the inode, this number may +be zero. +.El +.Pp +The status information word +.Fa st_mode +contains bits that define the access mode (see +.Xr chmod 2 ) +and the type (see +.Xr dirent 3 ) +of the file. +The following macros can be used to test +whether a file is of the specified type. +The value +.Fa m +supplied to the macros is the value of +.Va st_mode . +.Bl -tag -width "S_ISSOCK(m)" -offset indent +.It Fn S_ISBLK "m" +Test for a block special file. +.It Fn S_ISCHR "m" +Test for a character special file. +.It Fn S_ISDIR "m" +Test for a directory. +.It Fn S_ISFIFO "m" +Test for a pipe or FIFO special file. +.It Fn S_ISLNK "m" +Test for a symbolic link. +.It Fn S_ISREG "m" +Test for a regular file. +.It Fn S_ISSOCK "m" +Test for a socket. +.It Fn S_ISWHT "m" +Test for a whiteout file. +.El +.Pp +The macros evaluate to a non-zero value if the test +is true or to the value 0 if the test is false. +.Ss NetBSD Extensions +The following additional +.Nx +specific fields are present: +.Bl -column -offset indent \ +"uint32_t" "st_birthtimensec" "Description" +.It Sy Type Ta Sy Entry Ta Sy Description +.It Vt long Ta st_atimensec Ta last access (nanoseconds) +.It Vt long Ta st_mtimensec Ta last modification (nanoseconds) +.It Vt long Ta st_ctimensec Ta last status change (nanoseconds) +.It Vt time_t Ta st_birthtime Ta time of inode creation +.It Vt long Ta st_birthtimensec Ta inode creation (nanoseconds) +.It Vt uint32_t Ta st_flags Ta user defined flags for the file +.It Vt uint32_t Ta st_gen Ta file generation number +.\" +.\" XXX: What is this? +.\" +.It Vt uint32_t Ta st_spare[2] Ta implementation detail +.El +.Pp +However, if +_NETBSD_SOURCE +is furthermore defined, instead of the above, +the following are present in the structure: +.Bl -column -offset indent \ +"struct timespec " "st_birthtimensec" "Description" +.It Sy Type Ta Sy Entry Ta Sy Description +.It Vt struct timespec Ta st_atimespec Ta time of last access +.It Vt struct timespec Ta st_mtimespec Ta time of last modification +.It Vt struct timespec Ta st_birthtimespec Ta time of creation +.It Vt uint32_t Ta st_flags Ta user defined flags +.It Vt uint32_t Ta st_gen Ta file generation number +.\" +.\" XXX: What is this? +.\" +.It Vt uint32_t Ta st_spare[2] Ta implementation detail +.El +.Pp +In this case the following macros are provided for convenience: +.Bd -literal -offset indent +#if defined(_NETBSD_SOURCE) + #define st_atime st_atimespec.tv_sec + #define st_atimensec st_atimespec.tv_nsec + #define st_mtime st_mtimespec.tv_sec + #define st_mtimensec st_mtimespec.tv_nsec + #define st_ctime st_ctimespec.tv_sec + #define st_ctimensec st_ctimespec.tv_nsec + #define st_birthtime st_birthtimespec.tv_sec + #define st_birthtimensec st_birthtimespec.tv_nsec +#endif +.Ed +.Pp +The status information word +.Fa st_flags +has the following bits: +.Bl -column -offset indent \ +"struct timespec " "st_birthtimensec" +.It Sy Constant Ta Sy Description +.It Dv UF_NODUMP Ta do not dump a file +.It Dv UF_IMMUTABLE Ta file may not be changed +.It Dv UF_APPEND Ta writes to file may only append +.It Dv UF_OPAQUE Ta directory is opaque wrt. union +.It Dv SF_ARCHIVED Ta file is archived +.It Dv SF_IMMUTABLE Ta file may not be changed +.It Dv SF_APPEND Ta writes to file may only append +.El +.Pp +For a description of the flags, see +.Xr chflags 2 . +.Sh RETURN VALUES +.Rv -std stat lstat fstat fstatat +.Sh COMPATIBILITY +Previous versions of the system used different types for the +.Li st_dev , +.Li st_uid , +.Li st_gid , +.Li st_rdev , +.Li st_size , +.Li st_blksize +and +.Li st_blocks +fields. +.Sh ERRORS +.Fn stat , +.Fn lstat +and +.Fn fstatat +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EBADF +A badly formed vnode was encountered. +This can happen if a file system information node is incorrect. +.It Bq Er EFAULT +.Fa sb +or +.Fa path +points to an invalid address. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er ENXIO +The named file is a character special or block +special file, and the device associated with this special file +does not exist. +.El +.Pp +In addition, +.Fn fstatat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Pp +.Fn fstat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa fd +is not a valid open file descriptor. +.It Bq Er EFAULT +.Fa sb +points to an invalid address. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.El +.Sh SEE ALSO +.Xr chflags 2 , +.Xr chmod 2 , +.Xr chown 2 , +.Xr utimes 2 , +.Xr dirent 3 , +.Xr types 3 , +.Xr symlink 7 +.Sh STANDARDS +.Fn stat , +.Fn lstat , +and +.Fn fstat +conform to +.St -p1003.1-2004 . +.Fn fstatat +conforms to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn stat +and +.Fn fstat +function calls appeared in +.At v1 . +A +.Fn lstat +function call appeared in +.Bx 4.2 . +.Sh BUGS +Applying +.Fn fstat +to a socket (and thus to a pipe) +returns a zero'd buffer, +except for the blocksize field, +and a unique device and file serial number. diff --git a/static/netbsd/man2/statvfs.2 b/static/netbsd/man2/statvfs.2 new file mode 100644 index 00000000..1b792cd5 --- /dev/null +++ b/static/netbsd/man2/statvfs.2 @@ -0,0 +1,185 @@ +.\" $NetBSD: statvfs.2,v 1.7 2020/04/04 12:57:26 nia Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)statfs.2 8.5 (Berkeley) 5/24/95 +.\" +.Dd April 14, 2004 +.Dt STATVFS 2 +.Os +.Sh NAME +.Nm statvfs , +.Nm statvfs1 , +.Nm fstatvfs , +.Nm fstatvfs1 +.Nd get file system statistics +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/statvfs.h +.Ft int +.Fn statvfs "const char *path" "struct statvfs *buf" +.Ft int +.Fn statvfs1 "const char *path" "struct statvfs *buf" "int flags" +.Ft int +.Fn fstatvfs "int fd" "struct statvfs *buf" +.Ft int +.Fn fstatvfs1 "int fd" "struct statvfs *buf" "int flags" +.Sh DESCRIPTION +.Fn statvfs +and +.Fn statvfs1 +return information about a mounted file system. +.Fa path +is the path name of any file within the mounted file system. +.Fa buf +is a pointer to a +.Nm statvfs +structure defined in +.Xr statvfs 5 . +.Pp +.Fn fstatvfs +and +.Fn fstatvfs1 +return the same information about an open file referenced by descriptor +.Fa fd . +.Pp +The +.Fn statvfs1 +and +.Fn fstatvfs1 +functions allow an extra +.Fa flags +argument which can be +.Dv ST_WAIT +and +.Dv ST_NOWAIT . +When +.Dv ST_NOWAIT +is specified, then only cached statistics are returned. +This can result in significant savings on non-local file systems, where +gathering statistics involves a network communication. +.Pp +The +.Fn statvfs +and +.Fn fstatvfs +calls are equivalent to the respective +.Fn statvfs1 +and +.Fn fstatvfs1 +calls with +.Dv ST_WAIT +specified as the +.Fa flags +argument. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn statvfs +and +.Fn statvfs1 +fail if one or more of the following are true: +.Bl -tag -width Er +.It Bq Er ENOTDIR +A component of the path prefix of +.Fa path +is not a directory. +.It Bq Er ENAMETOOLONG +The length of a component of +.Fa path +exceeds +.Brq Dv NAME_MAX +characters, or the length of +.Fa path +exceeds +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The file referred to by +.Fa path +does not exist. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix of +.Fa path . +.It Bq Er ELOOP +Too many symbolic links were encountered in translating +.Fa path . +.It Bq Er EFAULT +.Fa buf +or +.Fa path +points to an invalid address. +.It Bq Er EIO +An +.Tn I/O +error occurred while reading from or writing to the file system. +.El +.Pp +.Fn fstatvfs +and +.Fn fstatvfs1 +fail if one or more of the following are true: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa fd +is not a valid open file descriptor. +.It Bq Er EFAULT +.Fa buf +points to an invalid address. +.It Bq Er EIO +An +.Tn I/O +error occurred while reading from or writing to the file system. +.El +.Sh SEE ALSO +.Xr statvfs 5 +.Sh STANDARDS +The +.Fn statvfs +and +.Fn fstatvfs +functions conform to +.St -p1003.1-2001 . +.Sh HISTORY +The +.Fn statvfs , +.Fn statvfs1 , +.Fn fstatvfs , +and +.Fn fstatvfs1 +functions first appeared in +.Nx 3.0 +to replace +the +.Fn statfs +family of functions which first appeared in +.Bx 4.4 . diff --git a/static/netbsd/man2/swapctl.2 b/static/netbsd/man2/swapctl.2 new file mode 100644 index 00000000..eba4c920 --- /dev/null +++ b/static/netbsd/man2/swapctl.2 @@ -0,0 +1,284 @@ +.\" $NetBSD: swapctl.2,v 1.40 2024/02/04 05:43:05 mrg Exp $ +.\" +.\" Copyright (c) 1997 Matthew R. Green +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd May 17, 2010 +.Dt SWAPCTL 2 +.Os +.Sh NAME +.Nm swapctl +.Nd modify swap configuration +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.In sys/swap.h +.Ft int +.Fn swapctl "int cmd" "void *arg" "int misc" +.Sh DESCRIPTION +The +.Nm +function is used to add and delete swap devices, and modify their +configuration. +.Pp +The +.Fa cmd +parameter specifies the operation to be performed. +The +.Fa arg +and +.Fa misc +parameters have different meanings, depending on the +.Fa cmd +parameter. +.Bl -enum -offset indent +.It +If +.Fa cmd +is +.Dv SWAP_NSWAP , +the current number of swap devices in the system is returned. +The +.Fa arg +and +.Fa misc +parameters are ignored. +.It +If +.Fa cmd +is +.Dv SWAP_STATS , +the current statistics for swap devices are returned in the +.Fa arg +parameter. +No more than +.Fa misc +swap devices are returned. +The +.Fa arg +parameter should point to an array of at least +.Fa misc +struct swapent structures: +.Bd -literal +struct swapent { + dev_t se_dev; /* device id */ + int se_flags; /* entry flags */ + int se_nblks; /* total blocks */ + int se_inuse; /* blocks in use */ + int se_priority; /* priority */ + char se_path[PATH_MAX+1]; /* path to entry */ +}; +.Ed +.Pp +The flags are defined as +.Bd -literal + SWF_INUSE in use: we have swapped here + SWF_ENABLE enabled: we can swap here + SWF_BUSY busy: I/O happening here + SWF_FAKE fake: still being built +.Ed +.It +If +.Fa cmd +is +.Dv SWAP_ON , +the +.Fa arg +parameter is used as a pathname of a file to enable swapping to. +The +.Fa misc +parameter is used to set the priority of this swap device. +.It +If +.Fa cmd +is +.Dv SWAP_OFF , +the +.Fa arg +parameter is used as the pathname of a file to disable swapping from. +The +.Fa misc +parameter is ignored. +.It +If +.Fa cmd +is +.Dv SWAP_CTL , +the +.Fa arg +and +.Fa misc +parameters have the same function as for the +.Dv SWAP_ON +case, except that they change the priority of a currently enabled swap device. +.It +If +.Fa cmd +is +.Dv SWAP_DUMPDEV , +the +.Fa arg +parameter is used as the pathname of a device to use as the dump device, +should the system panic. +.It +If +.Fa cmd +is +.Dv SWAP_GETDUMPDEV , +the +.Fa arg +parameter points to a dev_t, which is filled in by the current dump device. +.El +.Pp +When swapping is enabled on a block device, the first portion of the disk is +left unused to prevent any disklabel present from being overwritten. +This space is allocated from the swap device when the +.Dv SWAP_ON +command is used. +.Pp +The priority of a swap device can be used to fill faster swap devices before +slower ones. +A priority of 0 is the highest, with larger numbers having lower priority. +For a fuller discussion on swap priority, see the +.Sx SWAP PRIORITY +section in +.Xr swapctl 8 . +.Sh RETURN VALUES +If the +.Fa cmd +parameter is +.Dv SWAP_NSWAP +or +.Dv SWAP_STATS , +.Fn swapctl +returns the number of swap devices, if successful. +The +.Dv SWAP_NSWAP +command is always successful. +Otherwise it returns 0 on success and \-1 +on failure, setting the global variable +.Va errno +to indicate the error. +.Sh ERRORS +.Fn swapctl +succeeds unless: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EBUSY +The device specified by +.Fa arg +has already been made available for swapping. +.It Bq Er EFAULT +.Fa arg +points outside the process' allocated address space. +.It Bq Er EINVAL +The device configured by +.Fa arg +has no associated size, or the +.Fa cmd +was unknown. +.It Bq Er EIO +An I/O error occurred while opening the swap device. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named device does not exist. +For the +.Dv SWAP_CTL +command, the named device is not currently enabled for swapping. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er ENXIO +The major device number of +.Fa arg +is out of range (this indicates no device driver exists +for the associated hardware); or +the block device specified by +.Fa arg +is not marked as a swap partition in the disklabel. +.It Bq Er EPERM +The caller is not the super-user. +.El +.Sh SEE ALSO +.Xr swapctl 8 +.Sh HISTORY +The +.Fn swapctl +function call appeared in +.Nx 1.3 . +The +.Fa se_path +member was added to +.Va struct swapent +in +.Nx 1.4 , +when the header file was also moved from +.In vm/vm_swap.h +to its current location in +.In sys/swap.h . +.Sh AUTHORS +.An -nosplit +The current swap system was designed and implemented by +.An Matthew Green Aq Mt mrg@eterna23.net , +with help from +.An Paul Kranenburg Aq Mt pk@NetBSD.org +and +.An Leo Weppelman Aq Mt leo@NetBSD.org , +and insights from +.An Jason R. Thorpe Aq Mt thorpej@NetBSD.org . diff --git a/static/netbsd/man2/symlink.2 b/static/netbsd/man2/symlink.2 new file mode 100644 index 00000000..ae24d327 --- /dev/null +++ b/static/netbsd/man2/symlink.2 @@ -0,0 +1,190 @@ +.\" $NetBSD: symlink.2,v 1.26 2013/07/29 11:40:04 njoly Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)symlink.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 29, 2013 +.Dt SYMLINK 2 +.Os +.Sh NAME +.Nm symlink , +.Nm symlinkat +.Nd make symbolic link to a file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn symlink "const char *name1" "const char *name2" +.Ft int +.Fn symlinkat "const char *name1" "int fd" "const char *name2" +.Sh DESCRIPTION +A symbolic link +.Fa name2 +is created to +.Fa name1 +.Pf ( Fa name2 +is the name of the +file created, +.Fa name1 +is the string +used in creating the symbolic link). +Either name may be an arbitrary path name; the files need neither +to be on the same file system nor to exist. +.Pp +.Fn symlinkat +works the same way as +.Fn symlink +except if +.Fa path2 +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Sh RETURN VALUES +.Rv -std symlink symlinkat +.Sh ERRORS +.Fn symlink +and +.Fn symlinkat +will fail and no link will be created if: +.Bl -tag -width Er +.It Bq Er EACCES +A component of the +.Fa name2 +path prefix denies search permission. +.It Bq Er EDQUOT +The directory in which the entry for the new symbolic link +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +Or, the new symbolic link cannot be created because the user's +quota of disk blocks on the file system that will +contain the symbolic link has been exhausted. +Or, the user's quota of inodes on the file system on +which the symbolic link is being created has been exhausted. +.It Bq Er EEXIST +.Fa name2 +already exists. +.It Bq Er EFAULT +.Fa name1 +or +.Fa name2 +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while making the directory entry for +.Fa name2 , +or allocating the inode for +.Fa name2 , +or writing out the link contents of +.Fa name2 . +Or, an I/O error occurred while making the directory entry or allocating the inode. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +A component of the +.Fa name2 +path does not exist. +.It Bq Er ENOSPC +The directory in which the entry for the new symbolic link is being placed +cannot be extended because there is no space left on the file +system containing the directory. +Or, the new symbolic link cannot be created because there +there is no space left on the file +system that will contain the symbolic link. +Or, there are no free inodes on the file system on which the +symbolic link is being created. +.It Bq Er ENOTDIR +A component of the +.Fa name2 +prefix is not a directory. +.It Bq Er EROFS +The file +.Fa name2 +would reside on a read-only file system. +.El +.Pp +In addition, +.Fn symlinkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa name2 +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa name2 +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Sh SEE ALSO +.Xr ln 1 , +.Xr link 2 , +.Xr readlink 2 , +.Xr unlink 2 , +.Xr symlink 7 +.Sh STANDARDS +The +.Fn symlink +function conforms to +.St -p1003.1-90 . +.Fn symlinkat +conforms to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn symlink +function call appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/sync.2 b/static/netbsd/man2/sync.2 new file mode 100644 index 00000000..66267015 --- /dev/null +++ b/static/netbsd/man2/sync.2 @@ -0,0 +1,102 @@ +.\" $NetBSD: sync.2,v 1.18 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sync.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd March 25, 2009 +.Dt SYNC 2 +.Os +.Sh NAME +.Nm sync +.Nd "synchronize disk block in-core status with that on disk" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft void +.Fn sync void +.Sh DESCRIPTION +The +.Fn sync +function forces a write of dirty (modified) buffers +in the block buffer cache out +to disk. +The kernel keeps this information in core to reduce +the number of disk I/O transfers required by the system. +As information in the cache is lost after a system crash, +kernel thread +.Nm ioflush +ensures that dirty buffers are synced to disk +eventually. +By default, a dirty buffer is synced after 30 seconds, +but some file systems exploit +.Nm ioflush +features to sync directory data and metadata faster +(after 15 and 10 seconds, respectively). +.Pp +The function +.Xr fsync 2 +may be used to synchronize individual file descriptor +attributes. +.Sh CAUTIONS +Many modern disks contain write-back caches. +In theory +.Fn sync +flushes these. +In practice there are many possible ways for this mechanism to go +astray. +It is prudent (where possible) to allow a few seconds after syncing +for everything to settle before e.g. turning off the power. +.Pp +It may also be desirable to use +.Xr dkctl 8 +or +.Xr scsictl 8 +to disable the write-back cache entirely. +.Sh SEE ALSO +.Xr fsync 2 , +.Xr dkctl 8 , +.Xr scsictl 8 , +.Xr sync 8 +.Sh HISTORY +A +.Fn sync +function call appeared in +.At v6 . +.Pp +Historically, +.Fn sync +would schedule buffers for writing but not actually wait for the +writes to finish. +It was necessary to issue a second or sometimes a third call to ensure +that all buffers had in fact been written out. +In +.Nx , +.Fn sync +does not return until all buffers have been written. diff --git a/static/netbsd/man2/sysarch.2 b/static/netbsd/man2/sysarch.2 new file mode 100644 index 00000000..ae07014c --- /dev/null +++ b/static/netbsd/man2/sysarch.2 @@ -0,0 +1,70 @@ +.\" $NetBSD: sysarch.2,v 1.15 2003/08/07 16:44:10 agc Exp $ +.\" +.\" Copyright (c) 1980, 1991 Regents of the University of California. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" from: @(#)syscall.2 6.3 (Berkeley) 3/10/91 +.\" +.Dd October 11, 1993 +.Dt SYSARCH 2 +.Os +.Sh NAME +.Nm sysarch +.Nd architecture-dependent system call +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In machine/sysarch.h +.Ft int +.Fn sysarch "int number" "void *args" +.Sh DESCRIPTION +.Fn sysarch +performs the architecture-dependent function +specified by +.Fa number +with the arguments specified by the +.Fa args +pointer. +.Fa args +is a pointer to a structure defining the actual arguments of the function. +Symbolic constants and argument structures for the architecture-dependent +functions can be found in the header file +.Ao Pa machine/sysarch.h Ac . +.Pp +The +.Fn sysarch +system call should never be called directly by user programs. +Instead, they should access its functions using the architecture-dependent +library. +.Sh RETURN VALUES +See the manual pages for specific architecture-dependent function calls +for information about their return values. +.Sh HISTORY +The +.Fn sysarch +function call appeared in +.Nx 1.0 . diff --git a/static/netbsd/man2/syscall.2 b/static/netbsd/man2/syscall.2 new file mode 100644 index 00000000..056c4068 --- /dev/null +++ b/static/netbsd/man2/syscall.2 @@ -0,0 +1,99 @@ +.\" $NetBSD: syscall.2,v 1.18 2009/08/07 19:34:46 dsl Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)syscall.2 8.1 (Berkeley) 6/16/93 +.\" +.Dd August 7, 2009 +.Dt SYSCALL 2 +.Os +.Sh NAME +.Nm syscall , +.Nm __syscall +.Nd indirect system call +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/syscall.h +.In unistd.h +.Ft int +.Fn syscall "int number" "..." +.Ft quad_t +.Fn __syscall "quad_t number" "..." +.Sh DESCRIPTION +.Fn syscall +performs the system call whose assembly language +interface has the specified +.Fa number +with the specified arguments. +Symbolic constants for system calls can be found in the header file +.Ao Pa sys/syscall.h Ac . +The +.Nm __syscall +form should be used when one or more of the parameters is a +64-bit argument to ensure that argument alignment is correct. +.Pp +This system call is useful for testing new system calls that +do not have entries in the C library. +It should not be used in normal applications. +.Sh RETURN VALUES +The return values are defined by the system call being invoked. +In general, a 0 return value indicates success. +A \-1 return value indicates an error, +and an error code is stored in +.Va errno . +.Sh HISTORY +The +.Fn syscall +function call appeared in +.Bx 4.0 . +.Sh BUGS +There is no way to simulate system calls that have multiple return values +such as +.Xr pipe 2 . +.Pp +Since architectures return 32 bit and 64 bit results in different registers, +it may be impossible to portably convert the result of +.Fn __syscall +to a 32bit value. +For instance sparc returns 32 bit values in %o0 and 64 bit values in %o0:%o1 +(with %o0 containing the most significant part) so a 32 bit right shift +of the result is needed to get a correct 32 bit result. +.Pp +Many architectures mask off the unwanted high bits of the syscall number, +rather than returning an error. +.Pp +Due to ABI implementation differences in passing struct or union +type arguments to system calls between different processors, all +system calls pass instead pointers to such structs or unions, even +when the documentation of the system call mentions otherwise. +The conversion between passing structs and unions is handled normally +via userland stubs. +The correct arguments for the kernel entry +points for each system call can be found in the header file +.Ao Pa sys/syscallargs.h Ac diff --git a/static/netbsd/man2/t.2 b/static/netbsd/man2/t.2 new file mode 100644 index 00000000..92e058df --- /dev/null +++ b/static/netbsd/man2/t.2 @@ -0,0 +1,2 @@ +BEGIN {OFS="==="} + {print $1, $2, $3} diff --git a/static/netbsd/man2/test_ldnsrr.2 b/static/netbsd/man2/test_ldnsrr.2 new file mode 100644 index 00000000..8217d40b --- /dev/null +++ b/static/netbsd/man2/test_ldnsrr.2 @@ -0,0 +1,1434 @@ +; nlnetlabs.nl AXFR +nlnetlabs.nl. 10200 IN SOA open.nlnetlabs.nl. hostmaster.nlnetlabs.nl. 2014012700 28800 7200 604800 3600 +nlnetlabs.nl. 10200 IN RRSIG SOA 8 2 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. z81z7PPit6pgaFcYldyq30nO5eYlnaENnlmqX/6U05b5bf09yGAGqS6j s1Ag3Iumw58jbrI7s6KkJQIPV6UcT4VqO/gWaU8X4IR2SdgUFdUUNIG4 EXXzGHCKkb99WZ3rR3otxJZgRTRugSkJQgTL9FJ84F9ha2FkLAvaqtEC Czw= +nlnetlabs.nl. 10200 IN RRSIG A 8 2 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. iceGgsBJjPFycXF8Fm+m6QDIn3UZsoPlbYJBxzU9ZEAxR3PQQjt3d79d pVWWzQMv7SMutXy49Klnzpw6j81eUIuZHJT2ApfioiX+Bvk7GdWonDFE sw+oNOTscWtBXXSSSy4r1e71lgLI1+MlH29eGq4MmyB9SLkKjiBWHsxa 5UA= +nlnetlabs.nl. 10200 IN RRSIG NS 8 2 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. KuuCYWp33WOv/Fg9LlYF6P3i/fL0bft5+7cmWCxBY0APHGpGuYKPIBLS YatFwaXaJgpLcS26QrvXYB9DZ83VisIh6VLG3mGb6swqCbYcFjrJxIYI QqyEcVYXyc9taQSQ+SNAGGQMI/QUNxqAV1puheQa8je5kMyWMQ9ocwB1 Fq4= +nlnetlabs.nl. 10200 IN RRSIG MX 8 2 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. lm9e4WQ9D8LhW5zztDidDojm/l1om2Js5zxbbYRNj8ahv3l/CL3D++G8 VPXClUcfgG7+1cMi0g/A4FqjdYhUfTs+xbKAwDzClP0Rf+zeWtmFfv9g r/pSYkNOjWbilc7dfRJE7Fvl44ZgHDGdN62jwOIj/PZf0gTJx8qBuuzF yi8= +nlnetlabs.nl. 10200 IN RRSIG TXT 8 2 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. a3jSnx9orDKthgWxChyHIDl7nKPDwYehUVprMs5FixDO5gfOcqGmEmP0 KtR5ZZiHD6x8nKvqc1v9ZCfylGRHZ/uYmYdwHOiQFBxq5hp9hZlqaXBZ t1uBHIFf94aMW3PGoM7d7HRvmyKtIGITV4pqGHci9j4zJAGxgiIwcDPo Z9A= +nlnetlabs.nl. 10200 IN RRSIG AAAA 8 2 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. nwt48vYDhpR5z40xzpcAslfxqYV39AufnwKU89rlzcn5nzwaCJJBuund fVgZqYiQHrXGWx4Y6Or2nqEEPHn9He3jU7djicaBRo6jwe5JeX0ewIx1 5/9h3+dPvev5THAtVzbCmGYVLu0LwI6CT6mMD1ZTjECCvCRWkRaEDzwV rVo= +nlnetlabs.nl. 600 IN RRSIG NAPTR 8 2 600 20140224111604 20140127111604 42393 nlnetlabs.nl. Ka/p8xBNKuIwexjOG1zlgWu6Rty9vsjDnPJb+0y3/Q4dx2bRu1aiNPFP aPojxnJlE8//owk8pRqDe+VKP4wK7h6av8ZcxKWiiwDn0ld6uAOFpMJI Y+QrrXpEGEMyng6QexFRslYNXQuiFFQgNtf55SBZI5FKVTD24FVdRSj0 6aA= +nlnetlabs.nl. 3600 IN RRSIG DNSKEY 8 2 3600 20140224111604 20140127111604 50602 nlnetlabs.nl. rMW19mo8K8wnNZNa6D80mPUf+42EMkKOzS9FSqYRv/ETwXA4tjtQs+YL MHqqc2vGA2y2VLY+5ALysmok969JZ3II15fSXluwzZ0jwoolXIDc6P9F ubXc9DdJtiSRfkVKcWx0P48Z4XPGrb0yQ14OHXscSpfWQ7JTU+V65dyC Ot2mWarz2vE0+UE0VZlBHtU6UNtN2ly/ah20gKtaqPGQjj5oClLNzZab s4A8l+k6s6HjIxUHmcEbS3k0C+KQnCoh6WO8/EyaOf/OTQO4UptFLZj1 KxGsdqkRKJyi9Xy68FPvj8b7AOZHl7Cf/Momro5LqIa9tZpPB6HX7oA9 7QCRWw== +nlnetlabs.nl. 10200 IN RRSIG SPF 8 2 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. g44upu2vLUXZKlrWYNh7mRgzIm8gUzkdFGs/PY/aE0CIunTzDVHfmkIo Rdlzg887laCkNI0ywwQ5ZAv4mcLlyIP3GsQketlaIaNrOHXs/ZpL21DW ZMdfcZfTU8tIhkglSdWjdlrfMZ1sr3F5cKVQFjpx52AB8gHOhXAHtKW0 +fc= +nlnetlabs.nl. 3600 IN RRSIG NSEC 8 2 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. aKG729o3ZpkXv2+3o2MG2MOiRI1rG4NGUyOnMISdiKxqyBPqKCe5Vw7c YjvFRpDn6mnp7DGIwtBDCLezX6awNeOdqRrHQqpUw+B29wAqxgEZL+dg Mr/d2qi/htsXb8w56rGYC1iHPfrGTVVJysFKhW5ZghsJT8RIfSugjdV6 EMg= +nlnetlabs.nl. 10200 IN A 213.154.224.1 +nlnetlabs.nl. 10200 IN NS open.nlnetlabs.nl. +nlnetlabs.nl. 10200 IN NS mcvax.nlnet.nl. +nlnetlabs.nl. 10200 IN NS ns-ext1.sidn.nl. +nlnetlabs.nl. 10200 IN MX 50 open.nlnetlabs.nl. +nlnetlabs.nl. 10200 IN MX 90 mcvax.nlnet.nl. +nlnetlabs.nl. 10200 IN TXT "Stichting NLnet Labs zone" +nlnetlabs.nl. 10200 IN TXT "v=spf1 ip4:213.154.224.0/24 ip6:2001:7b8:206:1::0/64" +nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +nlnetlabs.nl. 600 IN NAPTR 20 0 "s" "SIP+D2U" "" _sip._udp.nlnetlabs.nl. +nlnetlabs.nl. 3600 IN DNSKEY 256 3 8 AwEAAdR7XR95OaAN9Rz7TbtPalQ9guQk7zfxTHYNKhsiwTZA9z+F16nD 0VeBlk7dNik3ETpT2GLAwr9sntG898JwurCDe353wHPvjZtMCdiTVp3c RCrjuCEvoFpmZNN82H0gaH/4v8mkv/QBDAkDSncYjz/FqHKAeYy3cMcj Y6RyVweh +nlnetlabs.nl. 3600 IN DNSKEY 257 3 8 AwEAAbwL6LuXTLXtb23CsXhpkxxyGbEFUROh/L8BWA1EEF8LdQ4Rmsj4 D5D8uAnRFDkNhM6XiII9xcsavwBGNwHxzUaij4MZQu1vrzcfGIJLcC1Q paZmSH9WqIYFQci+T4s4UfDrrS96wO/H0nJvFmavWVX/7p1Q6dv0Arwz XMXaHGrRVdEgK2MDS3dFRngx5JC5fwD7YnwH08EAoFRjdAoXe+etOAeG aOT9IGjVM5LKkN2k6fIRvZ2l9eu5/o+h5L+kpDRcapW2QiL21hCcmwpW 50Llfx9Ovk+M7TBjp4iT7Tc8gLzRZr24LmXEyABb54WW3aoF5k8DZPot 9ogUjxVN/dM= +nlnetlabs.nl. 10200 IN SPF "v=spf1 ip4:213.154.224.0/24 ip6:2001:7b8:206:1::0/64" +nlnetlabs.nl. 3600 IN NSEC 6gate2.nlnetlabs.nl. A NS SOA MX TXT AAAA NAPTR RRSIG NSEC DNSKEY SPF +6gate2.nlnetlabs.nl. 10200 IN A 213.154.224.51 +6gate2.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. uNwxoQk9cdAKx7acXoEAXHxJN/7U7Bf94w95fCn2Q1ti5WIb9JEBZJD6 cT1uQqieISZgKOae1ZYutPwlpGg/nf9aHWh0pflthu32jI3YTHGqRP/w fGRPC9g9uqjtV7OytiZ7eqxpZjMNlh22hATMGVaQXCtA8ZcHbkJlM5W7 WAc= +6gate2.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. cvQXNLQm6XxspiNz1synVEsxmYtN7q+vc9Kgtdwwvh1x/1OJQR0QBwjT Ksj6/K5/17PWeF0wAtEMyAsTLHEu9Cn3xZEJTOqfhDGPUK1iRBUDlvRM ZGoKftGrqYXM6g8GiD4oCsmsJVnoA/BGgNEV5uvHTm0KXhTUWv0A5zMQ 93U= +6gate2.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. hn+aIqKcQOCm6dYXKGnaWYnbotB2mcb6kCAhfSJmw2F4o/CoWzULOAsv gEwkRj+P1QyKfhTwOVar7MvlCVeFL/h8JRmOgLO7c9CqCQVJIIthGJ/2 7vvOsMRRnKSha0utGUX5iyonNJ3HgngjVDWcF4xdRvDfIdS08IHsZso6 P1M= +6gate2.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. OmoMsW3m1w9HW0XM1cqwiGgp0y0uupOGC0YEdKWqExWVfnA6SMYjZFQZ 0oJA+ik2tTNcfwx4yWlj+8+Q1EEVBQAfsycKUqsqe58t7Qyf/pCz2eG0 KTIekJKJLtN08Q0ZSJkdMlw0QkRza3XK43zFMNys8R/1xfwLtjnA8At+ GCo= +6gate2.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::51 +6gate2.nlnetlabs.nl. 10200 IN SSHFP 1 1 E3397141AE97D1D685F2BD9130EC1A06434533FD +6gate2.nlnetlabs.nl. 10200 IN SSHFP 2 1 4FAA8F69C8CB5DFAA8BE9D1D197C01984DDED163 +6gate2.nlnetlabs.nl. 3600 IN NSEC bgp.6gate2.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +bgp.6gate2.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1::13 +bgp.6gate2.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. zMmJEfdPvv5aGzFrz7cRAro3LKBT+2+sO7ax6TgCVeEwtRMKORs1K35P zq9wH1MbyQbx+WT3en5zkIFitZo20MRKClLu6Kb9ShRckmrr0WYpwS8z 7zc89Xn7g8cXHuctXxRXGNXRmC5QpgmMjkNxRoj7kHKc6X1TrBJ5j6ch uYE= +bgp.6gate2.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. zR0cqysJA0rnVKKG7DHEFYt5iKeG5jO+hzKNm3rpCoBFwiUvQdACVF+I cKJZ2NvyrM5viO6NP53Gpk5Yy24/WYD2ZZGHw19O4nw16iYQb1rHOtz+ ja1SxVXRwhbwiU0QlDgP+MdD7GZw4jqBtk+n/6MkUG+xcb3vOLGWs0QM Jj8= +bgp.6gate2.nlnetlabs.nl. 3600 IN NSEC ring.6gate2.nlnetlabs.nl. AAAA RRSIG NSEC +ring.6gate2.nlnetlabs.nl. 10200 IN AAAA 2001:67c:14c0::1 +ring.6gate2.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. MuY3USdFrwWic197i4mROuc81P4ZXDyO9pxOptURJXFOFKE9C8OfvRz5 lrATNdUPUzJLAcvTKWk+J2TDlTOzsQ9b5KskIIHz13yEyL+U8raJAVRx lVmpwOqq0VuT1RzxX+ScX2hxNsxsiXz6lEvPYLouaNNcS69Sbkk8cyuU G1A= +ring.6gate2.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. FyRiYBvIX0mxv6c696lTlGBlbD6AEHhsIEGjPqnrRJ99STI7PLbnIlYk cRNZW9AOFXW/ORYzTNwgpWUsG81FlsnXtBcIqlxEIiUxtIQkvfpU9OJs LjtEdWQtQXRrTyzaLV/jlyozW0BBrXPY2ejDu6B6aMy4udrZJOBjCL7r vSg= +ring.6gate2.nlnetlabs.nl. 3600 IN NSEC 6only.nlnetlabs.nl. AAAA RRSIG NSEC +6only.nlnetlabs.nl. 10200 IN MX 10 mail.6only.nlnetlabs.nl. +6only.nlnetlabs.nl. 10200 IN RRSIG MX 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. 0+ZgvFJIGHSxxCTrmbXAO8CZ9UkC3LAQ93SlN3vgoDU2lPJngX0fVyKW A+D/e4rZbglpIiI0nmnUF3wPEFadPn75BjABBk6c+iFfeyF/TjxJvqKw 0Gg2n/68nj2gIZW8bhH619XGnpplC1n7hJpBe2gOScowOvk3cvA0vUad 418= +6only.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. IqdajykUQQeSGZN0FqN2cWWXqRsY7tLIyUC0e+lMeycdf9gO0Ri64lJP L12vXWn73yYPnSLx/NN/yVAywQ6bm7iTY9ujJmBbyvhTXahp1eubb/4V A7/U42FJXj5cGuz0HuasiOl8LdoPzW46H9yWL6zWf+Z7IPxy5xpCZLG0 trk= +6only.nlnetlabs.nl. 3600 IN NSEC mail.6only.nlnetlabs.nl. MX RRSIG NSEC +mail.6only.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +mail.6only.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. r+XJhCXz+4uiojObijxXTHs367JSmCqG2Ikje/l5MdQ501AOuu205z10 pq18bTO2OdTez6DfmwViUqeqovJsUXFN0OURAUPyVM4NH/LaniKncILW e0YnpzUYdjFKMJRJUzxleZmFyRDcdHGISd97qBPrSYv4HFEjkzU4Vt41 4/w= +mail.6only.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. ZpSkhWOTiME5cSkGNDahWpEZe42MgwPKlqsgF2GnaU4+wFgCqNA+mae6 jnFiTTKrT1pbgQ8XeKBdT8kcJWvJ21Pa8Qbm6LuonkV/6fz9W+IU90ba U8v3YrpIuVpQd1Bd+YwsXu88qFHh7GMl+S227ZqaGga+AkYvdxfXKViJ 6qw= +mail.6only.nlnetlabs.nl. 3600 IN NSEC 0.1.1._dane.nlnetlabs.nl. AAAA RRSIG NSEC +0.1.1._dane.nlnetlabs.nl. 10200 IN TLSA 0 1 1 6F2851409D710504A35115ABCB9A6DD3F2577EC937C9EF1938926FA8 2FD6FF5D +0.1.1._dane.nlnetlabs.nl. 10200 IN RRSIG TLSA 8 6 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. AzCKaFiwAB8WF5RValBfgGFAIXTSCR0Gqn2rkc1j4QxvECSoSyTqvuNc f5wyp5QbpYtktWEt6DKAj8MkGMuJS8dbDSrbduTbXMhtzAvtmErIGKOo HvBVVKUuFaNoOlV2qq8wT2XjrFV/s0UnojWSyAf6AX3z8KLNJbCaBkT7 76M= +0.1.1._dane.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 6 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. PgKqk0R9rAdCM6mXb2zrumcsPoqoVaTbghl6qzTYI2f9Kog4X2JOnZCW DA+CSzFLVEVfA9Hc+PRu+NxPumfThvVw0KFMtk40UekWUyk+vsSsjKaR Bns9BRuAiIBuQaUCkAUCD8vtjOMW++Gqi4W5D6p/t11T0heV3l08qzJJ eR0= +0.1.1._dane.nlnetlabs.nl. 3600 IN NSEC 1.1.1._dane.nlnetlabs.nl. RRSIG NSEC TLSA +1.1.1._dane.nlnetlabs.nl. 10200 IN TLSA 1 1 1 0D1FCBD71686199607A132744A4918FC209565C91FA8E9FFEEA0AAFD 6B9305F6 +1.1.1._dane.nlnetlabs.nl. 10200 IN RRSIG TLSA 8 6 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. FVjFlfzMwPC9TIe2kkdHMYuND4fT51+nlu6kX24Vn3d4pQ1u36feI1Qx cuk1Td0Evsp22cqQgsXeBFmb/IzNvWGZqfvt9pU3uZjOr3o1Ri5n1ea/ ay0V527FjuI0mMTFa3Mu6bgumhGfBKGjZce3bbBuVcLbfvDQwp6PK7mz QC0= +1.1.1._dane.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 6 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. vnubMK6Q4l60zgt+E9oB+6MpAHlEAoQLMNznCVPpXotuAfCsPkShqPzL wtENE0TQ6yddgjmPXMlxG6eeXDdFylxG7gIVkA0D5Ri5luJXjdqqcF1N CTFm8/Rx1GR20/LPbqyMtB2l3O4cFQ8SdK42MsfK2pYk1C8tuyvyUL1c Y4E= +1.1.1._dane.nlnetlabs.nl. 3600 IN NSEC 3.1.1._dane.nlnetlabs.nl. RRSIG NSEC TLSA +3.1.1._dane.nlnetlabs.nl. 10200 IN TLSA 3 1 1 0D1FCBD71686199607A132744A4918FC209565C91FA8E9FFEEA0AAFD 6B9305F6 +3.1.1._dane.nlnetlabs.nl. 10200 IN RRSIG TLSA 8 6 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. FIXBkm3grEqjaQ2wKx+63Q1W+h03pvKhkpcgLXk1Xw+rs5MVLwMhmC18 kIOaYO+l7L88a4yVFwXSqBscWwcflz3XIfrfZ5pXF4CugHnao2Q8P7Xa 6XaTsWbtPQcUOyASbyvOFWp3Gq292S8GXc/tYQmP15PPSRfBz5FsBw1c 05I= +3.1.1._dane.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 6 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. EDUU5j/Kqre/eBzSdI3mnS4f+1YUNdJeEBGG0jfev+Dsp/7A9J+lPk7f l1oqe8irJBQWu1+WNvueRK9RWoSgIYb6O5c8SyoxsP6X9Z3jFEbQSFaM KJR6LjUK+39vDuQIA0PKlsafP1mVna3OqkRkcgnwWHRK9G5P3foTWpEY wbo= +3.1.1._dane.nlnetlabs.nl. 3600 IN NSEC _dmarc.nlnetlabs.nl. RRSIG NSEC TLSA +_dmarc.nlnetlabs.nl. 10200 IN TXT "v=DMARC1\; p=none\; sp=none\; " "" "rua=mailto:dmarc-feedback@nlnetlabs.nl" +_dmarc.nlnetlabs.nl. 10200 IN RRSIG TXT 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. PjbppgbGt74xS2QkpBP+eHPK9J29LgGh67yBB1bfmvhEWnS74xYWLSl8 t8Uz1qNk2WvCOEuEXULFVOKcdNIA0C5vQS8tKSzVN776jiVr57oBTv8k EjLxG/X/iBmqXwo5Ad6ApgHeZ582AUbFmyR1a25uB+/9Qw9odwbWdeq1 g2I= +_dmarc.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. t3f/trMona073ogg+sLk7Q0UBguMe9umhQHa+8+z3wI8maZB2qUCxSP2 dH3/aVIXyF9UeqazAl/njf7vFewoORQjvKTdK5A6cU+G099cRjQeUjoL yO81s3GcuvtsrbeiHU8BedxzM//HSSYYdApiPdincI1E/JYZRV7fNgML fss= +_dmarc.nlnetlabs.nl. 3600 IN NSEC default._domainkey.nlnetlabs.nl. TXT RRSIG NSEC +default._domainkey.nlnetlabs.nl. 10200 IN TXT "v=DKIM1\; r=postmaster\; g=*\; k=rsa\; t=y\;" "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOBxkIlNsk1fVhUO8fZs6qJV6/ZFEsltVIuTHDUn1dQXOSqo04SCOXiuRgsFzxKKAOqZKksjEdxzcGI7UIakfyzHEeoAeeJCrIQoY3NcTOm6Z4ak5X24X8dPIi2075YwFAHiwELthtgwtrvUpWr6U0KBmEeXtyQ4nk++HR2asJIQIDAQAB" +default._domainkey.nlnetlabs.nl. 10200 IN RRSIG TXT 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. nnh6FfDhwoEYAm5f9b5eVtHl14q8EBb+EGmiZxBBUQV49xLjIouSeFBj VTjJDu6ZvrhnxR6aTDR1GGOhKraER7dkTwdN6SGSQtMoERb2DRTGL97t oAlaWtYSl4yE1YCPMaj/tixDr32EKVtbiC8nzPrDIg3wd2ma/+LTCL5x s38= +default._domainkey.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. EM/ezGvvVPrjwNM4I3OECTqkG6KX34u9ZNKQtiCdDDCo6mjvGLEAYzla sSsEFxLy4tPBQNJ2J/iRTzItNKJbip5f7rvagfoKXJbcHVopH7eh9njB dLWvTrFqUpurPoyjU2jwCic57dZfSn0n/1P8bF8t5MeceXrKh65HEIXn BQI= +default._domainkey.nlnetlabs.nl. 3600 IN NSEC sleutel._domainkey.nlnetlabs.nl. TXT RRSIG NSEC +sleutel._domainkey.nlnetlabs.nl. 10200 IN TXT "v=DKIM1\; r=postmaster\; g=*\; k=rsa\; t=y\; " "" "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCy" "" "elut8mTa/rChg/i3wKXtQeB/x75SeuW3enXBk9h2Fb" "" "bRSHqU5+MwKv+joaXNgVIKJOwHEM9awaF6+Iu7hvOc" "" "ZKBenZaYrjRALuvblS61qe8ciBC50Vq+Ns8XuA3gmM" "" "UsZAtHXTUwlDfGf4YQwCrgSLbJnzHFO0JHShoDyCB8" "" "RQIDAQAB" +sleutel._domainkey.nlnetlabs.nl. 10200 IN RRSIG TXT 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. zXL2UVNhhUWua7q+yXiZARUG5kkonsT3RkLpr0XwUt+bKs591Dvunpg9 Gzfl37i0l4fg5bxNOHANE01V2dxqnS/hNBA9aUWXVpV4kApTsErxDzUv RdzbJ8V058LwOg7punHHREbxxWJOiisf6akayZxkh5Fz7UbiY6js3980 BEc= +sleutel._domainkey.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. DYjgoV7QdQGW/rwbNKquyLbD56wP5a8XfuYNXrufZO7uvZQ9h6wIuA9/ AXQ+aBrUFvDixAEdbuBtYGCou37/FXLY567wa9r8JUcqZBPI0WPu61fC 6q24pK8vifqsdphwohHndN/zMGELuAmihQiDP4i0w65NY4w2MgQHcVl5 E6E= +sleutel._domainkey.nlnetlabs.nl. 3600 IN NSEC olaf._pka.nlnetlabs.nl. TXT RRSIG NSEC +olaf._pka.nlnetlabs.nl. 1500 IN TXT "v=pkal\;fpr=6FE7336E897BAD4826AA4260B4DFDC6B76092287\;uri=http://www.nlnetlabs.nl/~olaf/kolkman.pgp.pub.asc" +olaf._pka.nlnetlabs.nl. 1500 IN RRSIG TXT 8 4 1500 20140224111604 20140127111604 42393 nlnetlabs.nl. Dj25rAVc7JtVXwV6cSttKYzwlDV1L3csC1zi7kQ9igcaIZ9pDD0gKZ8J eeTw8ofQEU4GQqfYFmiEbAS+2Dv9WuYNbLkoggQFut0fzWNCgEnbYbAx B2uDuETQmHuB2osRuw7RG47TqPXr9y5hORSGuprtGCWkaYzccG8aAWV8 tkM= +olaf._pka.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. nK+bycdNp05zg1EdD6U/9Eby3T9D3/lHbDAGbEwLWqyMQqm2QeV7CXnA Dhp1XBMATMREasupxzStl8IefDgb78vxlhV5WBLNH9OCrFZE3/oeeshU dffVjj4YuIBvtMIXlFhUoHVIL0VxXL71m6Taxzp4u6SUsQUhZQWU5fxj YI8= +olaf._pka.nlnetlabs.nl. 3600 IN NSEC willem._pka.nlnetlabs.nl. TXT RRSIG NSEC +willem._pka.nlnetlabs.nl. 1500 IN TXT "v=pkal\;fpr=DC34EE5DB2417BCC151E5100E5F8F8212F77A498\;uri=http://www.nlnetlabs.nl/~willem/toorop.pgp.pub.asc" +willem._pka.nlnetlabs.nl. 1500 IN RRSIG TXT 8 4 1500 20140224111604 20140127111604 42393 nlnetlabs.nl. Nq+yESvizbiCL9cAPctT6VUPsry8F0CSe4i/Lumet2cotuDQFO3m8Yev YvCzFqV9BYspWH1jhq31YazFTTBSLHgNbS9idm6Wfa5jaOY1fnq3pfjH kLIMLTW6ucHFg2T3UsKzFqQTdkXc4J4aDonmd8joc3KPMPg6ek4j+SC6 LEk= +willem._pka.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. VQXttaNzBvaSsFZVhebwP7dumBY50hboUqonsJvRwdSNnkAvhCeh+hHw 10pY/2ptC8AXoPw+xoKTe3Nxs688Kwv9gp0XvAUplpwJ7GCnzb+cHTy7 k3TfJWq+sseszL39bVrN0QqTRNge+Jb94iJrvEWQdXYHA2dmcuL/QpOO y7I= +willem._pka.nlnetlabs.nl. 3600 IN NSEC _25._tcp.nlnetlabs.nl. TXT RRSIG NSEC +_25._tcp.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_25._tcp.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. B4+eMWzpPoJB+2l6sbmWEkveSSAwTU1l0qokjwo6UegZjoFLSF8x87T/ DYBrwZHlEos7NaJzCxKM7A3XfTirRfoBMy/jyKoDt/TrwD6m5xStqrjP lR4V13v3C9d8Lhw115YzSe07Fdxlk3xutMxXgW55jd7/EiLZjf8aHHud pPQ= +_25._tcp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. SBxGMjv9lWi9S3nWqHbr7k6cuWuyVQ+e1YDo0m/FUGb9mzvoZ93ox2SN zPBPDwH51vBfW6iZVckIdyALd+eAHyfKbvzCh/e9K6160Na+j/gd37gc 7Z1Ds3xxXaLBNSi0hKt13SvKQ3y5dZvLiV3OlTpqo91cvU0gnhIslYlG TkA= +_25._tcp.nlnetlabs.nl. 3600 IN NSEC _443._tcp.nlnetlabs.nl. CNAME RRSIG NSEC +_443._tcp.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_443._tcp.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. sLLZ0Lybzjj8qFznZG6crXdhWHPVPT3ydzWhnDM1F+QBroTe9FlE7jKg nE6eAM0tkpVcWTTXZ12p4pqApuVUXcnGI7iysCV5DCjxOcUoxNfjwpbI gL9YlzIBX2Uupzwz38BX96JUPc1VWcG2lTW9mcTIfQRWpDOuHRDkIe90 l94= +_443._tcp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. V66uAr3ewOJJksnH0nKRkrYv4ljQP1hEu86BLIWWbNT4COuU1Ih4o3Yb YC9hsxpOQrSPrUjLsc5SPCOFxrgK71TSBrkiJwVMVhlwiYxoiSIVvP5J DloAdr9siMIpr0Q0vL+FXsXQC1Bt711y0Ll71UBcbqqbO4twTAY4Sxnz 6+s= +_443._tcp.nlnetlabs.nl. 3600 IN NSEC _caldav._tcp.nlnetlabs.nl. CNAME RRSIG NSEC +_caldav._tcp.nlnetlabs.nl. 10200 IN SRV 0 0 8008 ical.nlnetlabs.nl. +_caldav._tcp.nlnetlabs.nl. 10200 IN RRSIG SRV 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. OZ/lvd8G9pu8ft+DPki2jExy50DCJl2R8RHpPMCem2CIw8L4Ya/Ig2Mn GHbQMGjdhYLvMg8PfnuA9FmX/F3oFPS7mSY1+b0dirNaQjoyMpNkYGfp pfWwJZxs9n6Mu9C7Wvxju68yHD7TsnAMJscY1AgljEYK2l6izG6OC2Rt l6I= +_caldav._tcp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. NiUTTSlKA2iZeDtLdGFH8JDBozTs3bT4zaFyvp4X+O8fkT3c4PxALN1b rtej6gLGeMfJc1lBpfQkIzSEbJvPIZLMWNIdXoHmTvgF7fwC8YLJelyW wLkYFpLA0fSpx+w295bduED1oPp1P8BJaUNVRHd0hQoZHG3hbY3pi2Nn v+s= +_caldav._tcp.nlnetlabs.nl. 3600 IN NSEC _caldavs._tcp.nlnetlabs.nl. SRV RRSIG NSEC +_caldavs._tcp.nlnetlabs.nl. 10200 IN SRV 0 0 8443 ical.nlnetlabs.nl. +_caldavs._tcp.nlnetlabs.nl. 10200 IN RRSIG SRV 8 4 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. lvh/iKbpOOVeYI2UhI80DHYuWMVwHWbLFuFtHzeEKOd7MBxY25q49mWF Yzj8RK10C46YGeHTszqXKQpOcHNr1eB6qYbu6JFVQCOa+dir0I6td+yh Db49l6/5Y53+KMLJfc1B1p1hMiJsAk3leOG4eHTZe209KRreSF9frweP HHI= +_caldavs._tcp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. ZbPrNbNAs2nzNkKTjc6gjH3udbSgTSd1L27Sm2r4VgDySF4+Q9BMmJGv XjBb2mmjorynDD2mCg5q/Ej/MraHCO5pkQIxCTMwolt7p2SbLCkEjfvG sfbMCeE4b2Cfvv4QdMSvmEsnMOpg4glFADftTjn87ipBHHPkRscUp/6Z 9pg= +_caldavs._tcp.nlnetlabs.nl. 3600 IN NSEC _jabber._tcp.nlnetlabs.nl. SRV RRSIG NSEC +_jabber._tcp.nlnetlabs.nl. 600 IN SRV 5 0 5269 open.nlnetlabs.nl. +_jabber._tcp.nlnetlabs.nl. 600 IN RRSIG SRV 8 4 600 20140224111604 20140127111604 42393 nlnetlabs.nl. K7glashfD/4qaarHN4gbuE7CtML2u8qfz5OTvsz32Ge9a6MbF3+ulKks k517H1MCIC6jpIGFyaGbxIq6mWcPrjzZ+Z19iETlhohkhur5lPdPfWyT 4KnAglExKiDRGnrjttEuCzvsPp7/MW0MvV7sT1Gna4FqQDV586YAublL R6s= +_jabber._tcp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. CFGpdsJ4QngxoyWl8BB8MjZKMe6ImHCdGO5pt8UAWPzx0K4I2ssU/Fih i4Mt1ghC3YPr/nVSzkOhxT63IVyXqHuJYynDpQoUvPEcTBa2IM55g0l5 qrTEr+2KaC9dczHt9xP/FzuyBgy78gV6t9mz4+orCu2DcZgaLifXY0iM gV0= +_jabber._tcp.nlnetlabs.nl. 3600 IN NSEC _xmpp-client._tcp.nlnetlabs.nl. SRV RRSIG NSEC +_xmpp-client._tcp.nlnetlabs.nl. 600 IN SRV 5 0 5222 open.nlnetlabs.nl. +_xmpp-client._tcp.nlnetlabs.nl. 600 IN RRSIG SRV 8 4 600 20140224111604 20140127111604 42393 nlnetlabs.nl. SZIDj24vcm7RmR15HsBAmRBkk0R3LRAhkgSHtLBe/aMBSWvE2OwA+z8E 15Ap5HnwnfezlvLa2PqJ0WZeih3GtXt/45SyKcrytsQo+w+ZnR4Girt2 FMoH8/BsT903mBI3gMBEF+BlOA+Wa8WnadhdXhoDiLMsEygvHSJvUWCa xvU= +_xmpp-client._tcp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. yjZ2yamuUx5OJ4bnTQJ9SToxMUSYcq5oNuSAAJ/MQIWfby8DsLGgLz4O Uip58KcrJqSPObVXmivNTcFw5LI7ADSIPxvmLGex27Sv7JwaSxL+nb+Q tWHhNriur+f6B2VNIyncyTm0sWJ3kdt+mOzeP17fsLmm4Aj9kka5C1gh ZCM= +_xmpp-client._tcp.nlnetlabs.nl. 3600 IN NSEC _xmpp-server._tcp.nlnetlabs.nl. SRV RRSIG NSEC +_xmpp-server._tcp.nlnetlabs.nl. 600 IN SRV 5 0 5269 open.nlnetlabs.nl. +_xmpp-server._tcp.nlnetlabs.nl. 600 IN RRSIG SRV 8 4 600 20140224111604 20140127111604 42393 nlnetlabs.nl. ieSm+LDFgFaWQDR8bnXfO25/09vEQLfdNTCxTIUsnr+9JAV2WPtx/vt3 65A3kBdegN/QnPly6/7Js4nxHq2CEkxCO1TTz/Q892SVjj5EHJx1bt26 Gex0qmPVz+lAc9c6hBDZx6hlOnOg8GtWC46svhaQTLiUh92Vx+S47Wjn MZY= +_xmpp-server._tcp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. DIwmEXmK4N3P3LX7x7ZVQJKiMy9O/QApYRwbv2Gk/aH2vboZYm0FLWL1 myWtUQA0E2m9pKLtJvX5sbfjjHqjgnxLrMkYLsFJZYT0Ed+7di6+iQFW haXBVcVLRCxvNDwJFXxLPXRCwpY9nZYUwj1OGZ4/oz1CQ/1IhfTDyrj9 F5g= +_xmpp-server._tcp.nlnetlabs.nl. 3600 IN NSEC _sip._udp.nlnetlabs.nl. SRV RRSIG NSEC +_sip._udp.nlnetlabs.nl. 600 IN SRV 0 0 5060 obelisk.nlnetlabs.nl. +_sip._udp.nlnetlabs.nl. 600 IN RRSIG SRV 8 4 600 20140224111604 20140127111604 42393 nlnetlabs.nl. TjdfpmCehoMhoxwdFmeMD2ROCmufh5IISxn0vosmJrwRoRICATE/U6fj Tej3B6joNriZFb6lKCfUIw+CF8jrXnevBXyQaAGYto/rEbpsN/bNOCqZ q4T+ilaSKtlxnCSdcRlEJ4twyZabmFjEsJmuhc7wjaqO6A6RYWkDG2rG pGg= +_sip._udp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. dHbUdcoIgC8BhxBmbX8rNp0B6qql/Nk8y+q+gk/0IlISmpPwW2KmgXIV Zw4yuBx9wGkUAEJpC4FeJHwDwxzK0whwFmhp5RMk3jFPfyB20YmVU6hK N24VhbieMwOwplWypwgEv/5wBgEEShZa0pN/Fv1CQNiE5GGgOhygFZtn hDA= +_sip._udp.nlnetlabs.nl. 3600 IN NSEC alcatraz.nlnetlabs.nl. SRV RRSIG NSEC +alcatraz.nlnetlabs.nl. 10200 IN A 213.154.224.25 +alcatraz.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. Y0yca0cmnNB2y4zz5RpramR7X/yumBZQ57sMdOMBgE5z4MU6UKzXefo1 vHkQ2TP5FEtchKyO5e/p7ahZcDV1PjyyE1ICydjZdkZ425zAYGmSBe5Z R87cMu1GD9ZJiM/Aa0vOWzZdsjFgqu2WlFDrM5+GY27zX+Zk/N+jhDzL 1wY= +alcatraz.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. cb7xdlB+D1oOegdxGqOiCt1s4+6mOAc0jOuYxfU6LNNZIo02VXUj/I2p yWNEKBtmmC3AKCbJQinCPMP4cgmEgESeOzlkju9yTC+aR4L9iJUPqFYj eNCXNrUQx5/0to9DR6CghIAsJ5ke2hGYYRqmTgJwK9MPGb7glTOMpH1F 1Vo= +alcatraz.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. N97ZgCNMIrjbVgT9l2kcy1cdNybLx38PvRx0wrUaWQxT8hid0td8atIQ GWHSDQdy+UJ3XhQHifN1l7nJ0m9JRQiTdqkmUw0KWw9c5ISsfTQXhld1 uwGZn68eJYcXtBOwZe1a4AOMlaEz1kLa3QLPikuen5cX5LGSfa98/ROq NyI= +alcatraz.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. JQLCeaiV2tutfuNGsfTpz44WTPTvCFF32II1+kB6pFIH1YqYYL6JgBx8 pZGMBGx4yOMoyXxue/gPFV0uNfGQNMmhetfEtwJlsNTNnbcg1gLKNqzn S+eQyvi4mXZ53n7hKvKP1rSKvYVgzxk4xvfcPa6Gp8UWSQGtvuw067tB XFY= +alcatraz.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:21c:c0ff:fe3c:3d00 +alcatraz.nlnetlabs.nl. 10200 IN SSHFP 1 1 B944A464623DFE578BE5351837E725E866671D47 +alcatraz.nlnetlabs.nl. 10200 IN SSHFP 2 1 A0989A25D41E77D56E37FFC5DF1716CAB3B1A16B +alcatraz.nlnetlabs.nl. 10200 IN SSHFP 3 1 C2511B00B3D725B8F2BCF27AF735C2946EAFD757 +alcatraz.nlnetlabs.nl. 3600 IN NSEC alexia.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +alexia.nlnetlabs.nl. 10200 IN A 213.154.224.210 +alexia.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. C7dGESr/jAOSVHFoguFl9uqWH6phi+GGyR9NO64LZhi9JPoPegVo6YHL YOUgCriJfPps0qnHfQlCXSLNFEOSgeB9P6VizBNmoedAQavc1SzknZGM txd8OmQyl4mngd9OazNu6HMh/X2oTEmr9fHZsPOBrxoXO2Nh9u/dgJbf s0A= +alexia.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111604 20140127111604 42393 nlnetlabs.nl. aLvU/0B9gvJeBUS66BMxKTph9h8MDERxHTKPIWQT7lmAF99Yy8Ok361y gWLQ4LWR9Py5Z/J8DXDQpmnjp74IQHisTxE2WsMQzH/ZBGxQWIsqv69U lbmoPTbuiMLMk2Nj+Ic7NFS2rD21r0Ktl05uqdiB4+rw1xz10P9/bEOy pAM= +alexia.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111604 20140127111604 42393 nlnetlabs.nl. LNP3jr9Kgqt4/FRuCNsK0fjBAvl2hNKiYrESNRcX9Rhteow7DKfQpKNm ogz3zABQEohh7N3fR8VBiX7kUwXLUaLJHkY0fKujYtVsuchTVyTD8U0g 6JaqzZ8VoVUrkFvnBq5y2JfnqtYX/JvRJY8J04bL0TyWpzEWgjshYswP EZk= +alexia.nlnetlabs.nl. 10200 IN SSHFP 1 1 B91A18FE2C6E91D6C36E49C76913601F71E8D458 +alexia.nlnetlabs.nl. 10200 IN SSHFP 1 2 58DD96744E805C4950B3C0817BBBE97A80AF42446EBD458B05F7F879 7FB8D806 +alexia.nlnetlabs.nl. 10200 IN SSHFP 2 1 A89C7B38263F4186D8520C6C85237C38578D5441 +alexia.nlnetlabs.nl. 10200 IN SSHFP 2 2 01907DB6FED4A633ED021B1A939D0387931C800BE4929887A4AA79FB E365E0AB +alexia.nlnetlabs.nl. 3600 IN NSEC alpha.nlnetlabs.nl. A SSHFP RRSIG NSEC +alpha.nlnetlabs.nl. 10200 IN A 213.154.224.59 +alpha.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. cl1kcl31/OMwRfnoIYBF3VPXYP+ZHHnya6ILm82bPWBJk72m2le+ozEg p03hRAOSM+42Lyu6KyrYcm1DUiDqxc3SrTZgkybsBzPRHogFwVty1ZCb bF2aHB+zTFN21adciq+GOrh5GbP7nGTJ4qZ4MCpHgIPiD5SesY4ftNA6 HKE= +alpha.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. bxtLW7DZph7Ck69jJZq9UoKhn8Bk1OcjwW1qTxMVR+iTden1mTZm5Cef Qe+4T9NZkhR8NjTDso2MIPQNnxl1e5nbIvm/SPSA81u67ygsHmAOeEVh 2FcuCTkGREVtVm8BasrFV2KzNVGz0G4741eTKgPnB6ho0nTFfT1WZ29N BY4= +alpha.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. VtBYdDbarNqSD/o0U/nOXPjAsoEN67024+0A+GYy4zLuvY4HCtiOSLxe vry0sYt5uF7qauQg4vuPSCh0niLzWwkK4zBkyX18PSwzKHR22hWxlglW TDclXeoT5bNPqmt31AW6m1HPdZxNBw0rhyHwVII5zjsTfux5+nfYyqGB VZo= +alpha.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. T97o3q0OMy+j19ASHY/zxvq5LHhBJuTlHN2RMIaKXuGSuvUlbUWAdtZk 1hc1pWE1OtHai3dVXxTNvTJkBdSTzRyWuJb7tabf48mxs/A8pPs6Apsr nR0/BxIXPEzmciNtjAss/U5ntHyYPLkg7yqYrIuBzUZqfCjvAORIhTxE T4Y= +alpha.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::7 +alpha.nlnetlabs.nl. 10200 IN SSHFP 1 1 B64058566EF5987D784E3ECE10078FD47DFF77CB +alpha.nlnetlabs.nl. 10200 IN SSHFP 2 1 4E8F99D5B341DBEBA0C8D620ED463C14A8026EDF +alpha.nlnetlabs.nl. 10200 IN SSHFP 3 1 3544B26A0618AF50938755BAFDB9418F46B63578 +alpha.nlnetlabs.nl. 3600 IN NSEC old.alpha.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +old.alpha.nlnetlabs.nl. 10200 IN A 213.154.224.142 +old.alpha.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Lk9LqwwHLedDI06ZeDcwc+/JQw+2aXJ+jguZo6LKqNDN8iFnRiPDcAlq 6BzH8kiiUylP8Y9hw0m4Y9APsug1uPDKTfoUwcBhM+VvsBfJzc0DHMFm qzrI5w77+AFfP3wH3CYPBq6PXjinF8KfQ1DDA0J3U0rSxbI56+N5nxQv afY= +old.alpha.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. FUDI27svh5H6vAjpGtqshRUckujAl5vhXZsLwLSl7YZs9l3xvY1nYaTA +J3h4DVmZ28sVeja2VDCxH7994DDRu3+x7Hr0tWU56abB+lBE9JXl3wn 2JV2DBWOqo+hImxcl5e1uUQlT6ZdnunZsl8TaWAbP3TxBNldtSBN8VYB 6ws= +old.alpha.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. a8UgE6FOWFl216x3FtLdo86w7pX6ni6PUU9SKhF+UM6nImt507OXX+zp nfPF/KKl5uHesFQDYc6c+hFx8nBRUmgzcuME2mDPHcdTcwH2Lbhaa1QF F3Cgnj8mPXuJlxEjIQdWC4gauKATPK8UlUjx2cw6PU1JSOVB0Oy63N6M XUY= +old.alpha.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. jVHI4lefnBrAyjuBR5H2YLi0L9ov2/+Qm4fK4tm6YKzHKhZnQQ2vnxAv AN+pNpyEfuCsLtvALRvKc3P0Phebbpa/ecAcVFSvItlFY7LquYSa7IjC NhTQvW+mPr8LEdHqNoyCTcvRnbQiScP9O1MMBoCDsddCDPeucd98TcNx JdY= +old.alpha.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:250:daff:fe3d:1d6 +old.alpha.nlnetlabs.nl. 10200 IN SSHFP 1 1 B64058566EF5987D784E3ECE10078FD47DFF77CB +old.alpha.nlnetlabs.nl. 10200 IN SSHFP 2 1 4E8F99D5B341DBEBA0C8D620ED463C14A8026EDF +old.alpha.nlnetlabs.nl. 10200 IN SSHFP 3 1 3544B26A0618AF50938755BAFDB9418F46B63578 +old.alpha.nlnetlabs.nl. 3600 IN NSEC amalia.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +amalia.nlnetlabs.nl. 10200 IN A 213.154.224.209 +amalia.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. osk1W0kK+dXG1J0EbDVBWvDeqDTsRF2QmbeyEICA9YWITflyzxVdiX6r y1V5pcgLc0j72Sf5pVswwW58fjW4oeke+/oMpMIgu4Haw+8xVrbdhaRd 11dHjlC79XVqM4bUnpctMFBLH8fcvnBReu5cqZy0OQd8pexeXnmERlaJ aZg= +amalia.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. sc4Vc/L15BrGA+zSoEYcnMo4QBlUAv4l5yWHbUjuvMxZb/f73C2lYHeZ CL/+E5odinSIDaB8cmmnsHi3fBY8r57M1m11M4tbU1JVDWequmPkCZnF kpVkZzVnRTJXp/CSfKuSadfxNW8d8jgrhKL9iCl0BWAcBkp76Gk3yRfN 6pQ= +amalia.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. JMWTCP45yxd+pJ3ai4LIEX1/CiY6qQuKvElKwdIMwHEZuhZTPz/2zRsZ ayJgJjZzhNTI9bswdKq+dUaJ5ziwAS8YsawO3arL/xKvCI9GDIqfD9sa lx+EFXNuA4BHw/+GhxKsqTOUo7VYkR3fwKv+8MxVQWBhlrNOG6JAYd9I FeQ= +amalia.nlnetlabs.nl. 10200 IN SSHFP 1 1 24526B0DB9CD858285E297732E47586D0F0A894D +amalia.nlnetlabs.nl. 10200 IN SSHFP 1 2 874F4343A9DAC9AEC8E17611B3424F08AE46274000D4AA03DECAF645 D0BF59D3 +amalia.nlnetlabs.nl. 10200 IN SSHFP 2 1 36F26D5F0887C93B1C76626083CC3826EA929711 +amalia.nlnetlabs.nl. 10200 IN SSHFP 2 2 A22D01A9B4920A8281F41D280B065B03DEDA6AFD268B6679D18F9D3E 40E27DF0 +amalia.nlnetlabs.nl. 3600 IN NSEC apexonly.nlnetlabs.nl. A SSHFP RRSIG NSEC +apexonly.nlnetlabs.nl. 10200 IN NS willemtoorop.friends.nlnetlabs.nl. +apexonly.nlnetlabs.nl. 10200 IN DS 33735 8 2 8FA16EC68A557AC5808941EE9E9563C526B42DAC09262DDF1A7C7A81 051101C7 +apexonly.nlnetlabs.nl. 10200 IN RRSIG DS 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. hvczI3RkWQix2lpe6Ygb5d492DW0J6oLCb886DiRJhRlH+aONSq2o0Kz Uk/VL3xSwMjSV+wzWqT3OS5ym98WFUEnHEnqdfV5HoQDyciAzrotQeUE XqlqHm+jpINgg8buBE4jL6tMemRsHA3P52aZhMBwOV/a9alfNiwABCIb vco= +apexonly.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. fOX9asNZ2NUSEX9JCrETYmFNqp95VKQPGfocmtHDIGXHACepfFbsUR+b LgBQeHaDuXktq0k8ydk92karLpO9NRRFLiYDEbW0zJBCh+GIPNz8PXK7 A7ddmFYEC+bKSH/rMWttdOCTi1zetpWSRSbfwm1Q+3+M2adXl8Rf3hOs 5b0= +apexonly.nlnetlabs.nl. 3600 IN NSEC area51.nlnetlabs.nl. NS DS RRSIG NSEC +area51.nlnetlabs.nl. 10200 IN A 213.154.224.107 +area51.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. IYFvACLA5GdQPzIH3JRQQRpMie4C5WoGaIqnMC7InC6Kg/jCMXdFayXI NrD0TZr6STv3Upc7zlEtQ3JjzFV+JUhi6gDEAMIKDNC5dxvctbTG8csP RF1JEOqBSNM4VVvTyjYxJiUYDEB+gd/aiur0Iac2H+5Q1vngB6gn4s7V jSw= +area51.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ySw4SCTJOcXcb1kYtHamY/NKmRjK/oI65j9RNJegiQ50lkY17EGNslbh 8ofGzOn0GaMr0MZ+FPH+BoaSDJmWzGcZ1HPjfk/x38E/gMSx1r+th7N0 4pPeZ/7odkKgEPlf2JaER/2gutlUrXH48InD6QPDFoP3ubgE3oPMi1bo 2eo= +area51.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. PxQIZc/JWvxxyS50DMezk+15mKSakNGXz8BgFx3KKGDiNAoG+nWyQbve A2gMIm/LRtkJ7l+hsZP0uZCUQXpgwdVgCRQL24lGBQd3sIF8FKWNris6 uEwKL5cVyewymvnDiZeTTNcEt0PF7lurJNByn5rnHoRxk4ZFuBiU9kAJ mDU= +area51.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. T0CK87aof0oWmzaycggpkkX7jk3lHZhop5AtvgN5OnWvXNjp8Uh00y9n 5QjCKMP9vRxrbWSHIInbv2ywg3ximJe8qTAj6xZ/B2fOF2Y/bSOschde Ie8nCMbnlJ6GtUZSIBTDgE8Lf2Yg7cvwQNmlQabkd3truQvDt7Zd1Zq6 9TA= +area51.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:dad3:85ff:fee1:f7d0 +area51.nlnetlabs.nl. 10200 IN SSHFP 1 1 2979793C1D7AB8B8228C1FEF0F916E9E3AF33E2A +area51.nlnetlabs.nl. 10200 IN SSHFP 2 1 BDEB0D0A01B28A188EE1DB6F09942FF4F1A6B785 +area51.nlnetlabs.nl. 3600 IN NSEC ariane.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +ariane.nlnetlabs.nl. 10200 IN A 213.154.224.211 +ariane.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Dxk7a/d9FbrpHbdTlZQyECJaTr9UhmofBZ+sHyE62xpwumv4VmnBZk4J s7YGSSRaII/MoR1Wz3on+rYVrKivSajFsVZvMdEHrEUGFs2A32Qcxebg Q6Vb7Xnwkuyk/poqp9yALDbyyi/ZrSjVrbYhPqjQEbktAcVmaUi9B0F+ xfM= +ariane.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. p5a+ej9k4lcvTv1CqpL/hHilc6m8OwfcL4WqQCHoI94NLP7eVFl8SDCf WlxvR2VFHnR2sMvndrkai0sg5wbtHyvGd3IsEe4UG0I2L7HGt1zaEDV6 smDBtXibhi77cYJa6q5XDYXFaFxTqp4Q8Hapc/w6J3C4WCZbWxmj+IMr J9k= +ariane.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. kmI7KT7QxM8UETBfbpcUG+eMKeJmS4jUeRMMadZEV7onI/AobRpPLRf7 z44cPcnxqq3UdMurpiKLWsbqUuWOSmzQajINSOJ6Nrrx5AE/k3v+YZKM mL3jVhoZMjyTW6wRkPJ9AfCtxpTMvTs8tcSR3ou25sJCt8SN7Kpk3LUK S5E= +ariane.nlnetlabs.nl. 10200 IN SSHFP 1 1 248ECE56A3DDAA931DE2FD2F26EFA93031517740 +ariane.nlnetlabs.nl. 10200 IN SSHFP 1 2 62E3A3A5E75ACFF2DC2D42752FC2F7EB1BB83E8440BEA635AB4BCE94 3EFF7C0F +ariane.nlnetlabs.nl. 10200 IN SSHFP 2 1 22B076311F36A0CAF39733285CE7944B8716302E +ariane.nlnetlabs.nl. 10200 IN SSHFP 2 2 D1C0519EE0C52684683D87446F4AA4069F91830B4CEF3F85C3CF73E0 C9055665 +ariane.nlnetlabs.nl. 3600 IN NSEC atlas-probe.nlnetlabs.nl. A SSHFP RRSIG NSEC +atlas-probe.nlnetlabs.nl. 10200 IN A 213.154.224.43 +atlas-probe.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. DtI0k8M9R7UIZmYLahpfPSzXHEznECxcxrnV7f5xlPqNXNokRm5LtYYv +cQQ1xDqvYD/ID6X2T6hFQacsQX5DjYxu6praAMOXrPoEwLX+dWmlv0X 4BgvKY19tNzz+bMRassKnRaoSnJYlJqd+zW3egzBy4b1YBkdlxRUHL6z qPM= +atlas-probe.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 06NqO/QENUAaDRBZMF/zg3vYv9s3AocuUjN9uvbzQJ87qBgcHHYgakIH y9Mq9HxKAZFfxfaM571Yl3sVqQ0/8DlwUg+4mYb26t7yWnDbpGwq4Ybz ZidwsfLESbUNWgqH/5N+QxetAWueHuXUJ6huYLbsLEF7pNocW2dRQoZl MeY= +atlas-probe.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Y9ZYh2YyvkiUF/U+Nixw+ghHPQkvWqEjEOvWPES/RwsZ1OUeV+LhqHX2 fLE/ve99vmqNjWsudgfrvMnRMjTj34ye+hPSBDk0lk631mqr+5wyh8kS eDjGBrdAUM+VK6HqFaqEje2SkMFWGIe37QzZ7ebtLck18WVofK2Kr5l3 N7M= +atlas-probe.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:220:4aff:fec8:2538 +atlas-probe.nlnetlabs.nl. 3600 IN NSEC axiom.nlnetlabs.nl. A AAAA RRSIG NSEC +axiom.nlnetlabs.nl. 10200 IN A 213.154.224.44 +axiom.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Bh6kbGjOKTYe4JKxVA61YScMPWPrZDWNjpJXhiftHzYvEI/blDSuv75D g4kfOz0ohG39FrhZthaL6D4JuYuDq8cp/IBSCtOR1sgguoqC3Axnnl9b ZQoHe03WvZkbuOp6qdgAtWE3oDyhrrDGsTCvGPd3XNOu1As3sEnhdhlh 5C0= +axiom.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. iQq9NyAhWJKFF2QVVR+PjkLwVsHnLsIrPtXVzHpmgz0Np3Kiw5aEFwMx dZN/63yDvqoFCNPu+MTCa6ukw0RFwewR8EnHRIhh7QDP+APRFrbD6SFy 9eOh3eQpqGkHBT85I1yPx5GXVYgmXLOxtIY12Buj/g2Pvu0cPIdlKZKS L9k= +axiom.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. U+DOSypM2E3BiSjHxwigWZzYU9XssgLBoBO55PneB088emVL1qjE0luC pQBDWVmt6tpkJ5FhSUx3umY1d1ztfn9i4pHKjaOw1iT0aB2Ae5u460BF td+fuK6jTo6ciCaJrmEZmLbyKqFM9QindvMu9+1i88HXCd1p89C60BZB ng4= +axiom.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. hWJM1lWq3TFk+QPPBffU68aCHzODB9V81teKbN0asSG7GC/zV9HlmFUF 7cZ18Z+NRL5P0/5cgFiL82VLFSLddr2Cw1ncPYxAmqDEQi6RM6Srwajs 8tudUsIFqXN6grD7Oi06LoF9/RZYrFKwiPEbBcUPLBMUi05FcL+Ahr+I OKg= +axiom.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:222:4dff:fe55:4d46 +axiom.nlnetlabs.nl. 10200 IN SSHFP 1 1 604CC3A8A6795466E88EEE22ABCD9DCFE6BA7F9C +axiom.nlnetlabs.nl. 10200 IN SSHFP 2 1 6D199FF75CDC453D376591031FE2C6257E4C5F49 +axiom.nlnetlabs.nl. 3600 IN NSEC azkaban.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +azkaban.nlnetlabs.nl. 10200 IN A 213.154.224.31 +azkaban.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. CLJfuUD6Uif7U4j1BYgIqzcWzyaa4Pw+qUeR1VHiRi9ClVjrSRpWvs5g uBZ4Ui+N2CjBAzMYjN1baFpbfIpmJDo3eUqevqi/AUv6cz3hXckrVVte Pcw+5rJi8fObUk3w2Dcuk1X2wBA8hqqdEPOqgJHGxZwjnV+CaU9WeUWQ ckM= +azkaban.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yNk0y/JwViW2wcQMAl5kOqM+vmm97Sk6K9bN0JKZXHNtWAi1OYHKY9EY sT77CXDtGo1dx8dDJCbF5dc16RrgbfadAbtld/BK8aYQkBnSvkFHEJGT 3vhqN0asORVtM/Kao6gGM7Hycyvl/MDvdKmfpHcDC3XCV5G3cuIVUNVF 4HY= +azkaban.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. srXtN+1qRW67bF+RuQhTg1tWMcaOk4vMVC7DNORT4tb9K9/DFcNuMdJr ibX+iUfVnrfxzr4mFA3dHqAsbwjbgglTkH3iI2wviynh8H5iJz1OGZK9 vOGzCShGqt1AbWn1Wii+SxKNdcR/O4QBGTEKQQwxrywUpLnSetNqrEEX 8Ec= +azkaban.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. SarQi+Ius0bw+MQc5mMnolRNwNGYzLDPOldLOG7GoN7oMJywNNleRww8 ItGFI2wqmQxfQsmB00izadQj6boqZI5teXVQ1hqRB0tEwvxe9xcNz20M pCmO4dh6QX/7MrbRSYMLq/IBTGkxp6fZlHVvmaBGMF3y83rmSa8e6sMR tZs= +azkaban.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1f +azkaban.nlnetlabs.nl. 10200 IN SSHFP 1 1 6243EC2D53E6F6F0C34368C65A44182205C5B0D4 +azkaban.nlnetlabs.nl. 10200 IN SSHFP 2 1 9B6E52735388C32C62A6CE38000809897C922DA9 +azkaban.nlnetlabs.nl. 10200 IN SSHFP 3 1 120D6B12587D5520FA736D6485FB52210B5584C2 +azkaban.nlnetlabs.nl. 3600 IN NSEC backup-store.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +backup-store.nlnetlabs.nl. 10200 IN CNAME gorilla.nlnetlabs.nl. +backup-store.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. WScwuGjQqOKpsyG9FZjcKeujzsYVKBURgGsUvmGMRM3+yJTLRkt9pj29 STMYwYVcbyD4wiRdCyMQNFAQmWMhjgl1gc65o3UA1LMDERs+HxxPGeSk ixdIy6/YQtLpixVwITjr3ASszOuF/9ZeTPPJyjnF+LLDmYN1MpMJDvnl oEc= +backup-store.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. YaSUfwEvD+Bttf8rFIa4S0Aj7tdrN6C294Y/U0GHY++CFP+UnhOSWgLW SsqznOTfj17Woixoz+MY7SiHSZld6h31tyLvf0NNeAq4nKQnzGob83J6 JoCTaENdMY/29B4JR/pfEnlT4aLRnnrQ15yoxMxvFv8QPX1o6DRPkwW0 N6c= +backup-store.nlnetlabs.nl. 3600 IN NSEC balou.nlnetlabs.nl. CNAME RRSIG NSEC +balou.nlnetlabs.nl. 10200 IN A 213.154.224.106 +balou.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. S2AUBJB2iOkqooCQiAfxXVAoAq/Z4tyTNA0+kKHSMY+noKdYCv8N8JQI 2uFCh6fEKdJ4Nv73/j2YQwtbJ4H8JuuIr0SD1dhQe+BnNiGaY8+oIYT/ tRCrjzIU8njiTeD1CPs/QZFil8fMg4TiztT/oIPickycv7AS+gnq4+26 Cow= +balou.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jxxnqktALVy7Ah1xWOIwCl1a+OxuLQxWmfUKVGLW3yNbhbvuxnk7EMmG eeHyr8oOSa1+iHGlj+p3M9PkpJUIAycRfOqrNNSNU4Tc0LhsQ+QbM91E ha3xEFHNuOvUwwEG5lOuxF6GOn9ZCAMryQwrDHdK3LXZ6papvLHyDwg3 Z9k= +balou.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. T0DKCDnirwQeQop1ZadFVcwJsqGiyq8WFHJUP7zsg4rvYwN6AWXoxB2W zmEprhwOKEGea8uMJDQ8e3LMC6JGTIKx+VEzXFdNn86nLgQYdNwe1Wzg hJUay2q1atetXCB6Gp5vnID5ZKqe9lDBWTteMfhtJ5LPJBnx1wrKO6CW 6zA= +balou.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. K7nYILGnV2gvrHKquNcjnQSDgh8uM77fTpqxz0YENJITCcq9e2vO2UNP rICq2ymaRx3McZBaUOb/qgQ7cMoLJe4arKVZROyrczGwULapwKJ8JCMB PDIy29iKOYqvt/WGgHt1u35MMW1Biz7uxlnKZ9VpJIN2zNSozGkFp8SI ffc= +balou.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:214:22ff:fe13:a1e9 +balou.nlnetlabs.nl. 10200 IN SSHFP 1 1 3B6531DEA06624D1C9ECC9A91D2A077EE5BD8AA9 +balou.nlnetlabs.nl. 10200 IN SSHFP 2 1 12D68C712D4D33B453059DF239853113C88AA26F +balou.nlnetlabs.nl. 3600 IN NSEC bartok.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +bartok.nlnetlabs.nl. 10200 IN A 213.154.224.50 +bartok.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. DKrdTq9Ce2wVWqCA1g0X9xw0QypjyCnWUSd9VHU6dQTSxWIZgd98jEHZ dZQvie6LAgU4/fNCcz+gygTMcglMe64dY5vpPT6/SNLFfeqWSLPepGmY fHVmHlXcdpL0OfdePpaOD6gSlJ5KanTNqxABfejBmts4nKlxNU7PPIxj Q/U= +bartok.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0xQdRMFEHZoZWhwSsbasAd5/0usI6KgfcGkUA7UtieuzMQFcmlghaUkb UZve82xmnz+80M/PV4SPCTz9AUY7yKg1XeLIJVt9ej3VxIqSLIUUHIst JobKPMCQ7CIWWx6DcfilyJcZDvxxYfLvsWZBK4Vugtk9p7NtQvavltDR Ffg= +bartok.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ET2O1/Zpr8jXV/IcFq4mfftHZ7OSXnbsTxhwDvIbJj5M0u9FbSRoGs9w 0kd6+G0mVsnb8DeF8VTkvXWXorjzsyZqOw+YuCLyfcieGToJbB5rfpMu Iiyv4bey4Wmc8jt5ta6G+RIzaboylARGrQGUjWcz0Jg0Y7cdfGDVXnTH nmQ= +bartok.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. HBAXNjNQCYPvAhG3429jo0pRgvMVVKT7P92/D2d0cnmt7SBfb1hTYyHg YrZMBXxKLottGQU64UJjEEzK23ofyvg7LCaRnvfdEgIGa3UZp2uVmtPQ FmhuCnmIcUlalUkYikHQneKPNT4/nC8y9ux7oDT7jOdbzRc/8sz7sQBS /04= +bartok.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:216:76ff:feb8:3c02 +bartok.nlnetlabs.nl. 10200 IN SSHFP 1 1 A8B153B03F64A09B6FC214B5BCE75CF19E0D2865 +bartok.nlnetlabs.nl. 10200 IN SSHFP 2 1 7070C07AAA3ABC4670865AC7CAAC4038EBECF8AF +bartok.nlnetlabs.nl. 10200 IN SSHFP 3 1 F1F3BAF7D59C68D98151C913B440F6C1D8FB622E +bartok.nlnetlabs.nl. 3600 IN NSEC behemoth.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +behemoth.nlnetlabs.nl. 10200 IN CNAME behemoth.overeinder.net. +behemoth.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. J02gDVWMvlOd0LLz3rnuWb46aNmNZ4tLlh3c+LkLhdtTVZLFUYm8MX4x vfuvz2+84UWOyRq0NDyftiXUrWBBYhUXLBqtCOuxNbF8MFa1JggQ+YGT hHJ2OLtKFYC1JuP41ln4MPovIjaxBzziZzhYSPJYH9EL2j6adefKFMdL /hI= +behemoth.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. wmrYwTUWotmbYxBz18GrjbSS8dy6Lf6MEGeMuXTXDfCHX3F6qIK4la6R R0vElLmeDkyY3qHLm/Xea5vNL8TGCrEAKKvbxvLttmalfJNxflV86B75 bUVE2LbYtxaoPQuRuapClJCgoybmZ9cfPTGtK6+8yGcJ/EVjiuxfRFnY mY4= +behemoth.nlnetlabs.nl. 3600 IN NSEC bela.nlnetlabs.nl. CNAME RRSIG NSEC +bela.nlnetlabs.nl. 10200 IN A 213.154.224.22 +bela.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. HFSqPqJtQZzS2RW1VjmQaB097Ob6Lu9Ig3qThSpSr/0T0giQrT68OXTe rpV9MvWymVmyFI3CJol330mmtyHzMdK8Xd5JQYAzy0ptdgIGPQmGZZZ7 cUyFa78yrBQxKVvxRO+O9hq5NLcerkm5/TWkXy19uWDDl4pd34zW5an/ fyU= +bela.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. RZLeycQfklRy55zTt5K6G1pfk5C+w5GCamOBcBKkxMC0VEUAPAt35jTq G2KzvPMFl2LF7/LIbPIy7LiOwiKfS8vDpePpuc7PlbrdBSG3J726zYc8 f24xbvxy9MjmIaD2fVEyW0idcTIynamGKsIqDsH3m8BPdamIMC0KZ0jL rYI= +bela.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. FUxbwA6HQ9Az28pgC33e0fU7HA4c56hmn4YckNBTGF/bRhEi+MHJHoM6 3L/OzMrgaGVdA1VI5Mn4ePWd55gsnAYoXx5JdNoGFqcPIO/DCqUlHOAi SSD3Sls/Usl4ec3HKT38sajNEF04Opx3shnR4Noouq7BLw4Pw4/mXFQ2 nT4= +bela.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. DAFlcGi6e8KLBRLHlzb8Yll8GOqN49Tm7o+NvlKDImKxHa7gUQFQpw9M JVBf+j3GaLT05vkhKapsOTdmnBW7ylSuTcyYQRkn7CTobK76m51KJ0iS EOq4JdFhlMiEEoeWWjvhRpeMqEOP77DEwBtpjxPPC5IZdpOhQg4c+iKg OG0= +bela.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:222:4dff:fe55:4ccb +bela.nlnetlabs.nl. 10200 IN SSHFP 1 1 CB43092FDF932BECE7FDAE60412D47BFD4837E32 +bela.nlnetlabs.nl. 10200 IN SSHFP 2 1 B85F5AFD56896ECB66B8F11194BEA1B43C32CA2D +bela.nlnetlabs.nl. 10200 IN SSHFP 3 1 D8DA794FCF4ABF727025AAD3C54E41D348C17E1C +bela.nlnetlabs.nl. 3600 IN NSEC blogs.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +blogs.nlnetlabs.nl. 10200 IN A 213.154.224.135 +blogs.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. iPQEpGUi/5B6yh0vf0oOwJHhR877COTLGn/TyBJX6Q1hJ1NJaoqbp4OW YdYrHbncAsbgnJREdhv9oQLg66631aX2AqKtZb/IsjBVYELI4dEmCCop uD1WEfWEfgHfEiNv9YSIWX0itXaS191XpPd4JjOW2L9NkVuVPFhUz0SD Mr0= +blogs.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. HODlVAKKe73PzBiYhpaLascNGjmBYoj+o0LhQxStY0yUpR7pfHSltbbb mDrsNmRTJLPkavzSPmBDwLe1tisMBJN0swvfjp28wZ+iiU2ZDnwShwcm 3EuNHhZiDSjYfSifVdvPhGm6w6SnAChMglZphwY6NctvieRElWFk+Ehj Uc0= +blogs.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. TCkc7nRZZYEFxJclJPlCDFTNxmh3j8jIYRT57rcTJAHvhryCQr3tsXtz wOXzHU30jyiE1j1MDUdZzardPwXN1ZQEu7bKdxyNy+m7snBNoapZe5bA Vb+c8S4qy0JWO61oExWFgOIHlpfEolF/klQSvLG9HF6GLI2Rc0UZndNn uSk= +blogs.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. TJN+zi9NeqNuo5DL/7pEjB02+iy2j7RKtjWL6T5ZWLBgSWgH8Y7yhgWs G+TJMDyOhSWbBDKbfhKPG/YyqiunIoT0t/XDT2R+KY3R7Y/uupHk4J3X uuf1V+0TtDOwtbXkIN0k1MVeApjR2IqxV1/jQT6oR03JMKCpSpmNjc6h gqo= +blogs.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:9:: +blogs.nlnetlabs.nl. 10200 IN SSHFP 1 1 C0C1D59D9219402303D4ADE4CEAB40193D3CE55A +blogs.nlnetlabs.nl. 10200 IN SSHFP 2 1 154A0526AFCF080F205490DBADFB75220383B787 +blogs.nlnetlabs.nl. 3600 IN NSEC *.blogs.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +*.blogs.nlnetlabs.nl. 10200 IN A 213.154.224.135 +*.blogs.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. fZh+0iW6o5TuQmotSAC+8qIAxsM6kyXJ8R3EuyOwvTuvo/DwsIm7g2ys o37BmY6tKFT8AsgtBdeti71mXSj4DaWFZg/8u58WQhHcCK5LCaXAD5gq Ln2cn+C+nyG8QGpxWLsD7jxFf4vJR9xmA1yhMB0ND6NKI4De3CjHzjEA Lf4= +*.blogs.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. CVWRZc2CRnZ4MiBMkkN7DSlRAVcM4bRlTXvYRYUnN8ofBifGxueHajPy 9KZtdERNvQ5dsv3lLXtfh1cAwHP2Kf0d+aJMe2LOGI4+wDyn7DDbOcom DCs0FoLBereWUn7pvTWh7o2XKynpLubYqZLxiiZdmljPOy+3wM8Ic01U DT8= +*.blogs.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. h3LiiRBp0IBUhfm6kVpAWdPMDnxrDc/qaWdwJRc+otY8/LpNCxeBpf/Q vxcg/iLhwbQoT9OrOXF2mRJFMpkxUu11gX+3UtpRColxUOJX5cBLfd6m eei40fVnWtTAWEAJchFSULAmqLPV6c/v4qg3NtWDpKAKgiMoo01uuqA8 zrQ= +*.blogs.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:9:: +*.blogs.nlnetlabs.nl. 3600 IN NSEC bogus.nlnetlabs.nl. A AAAA RRSIG NSEC +bogus.nlnetlabs.nl. 10 IN TXT "will be Bogus" +bogus.nlnetlabs.nl. 10 IN RRSIG TXT 8 3 10 20140224111605 20140127111605 42393 nlnetlabs.nl. Qe+izd9dOvY4ZVghBLuaDJYS9Lycl6JTIY3VT8WFbz3QbJEtnTTr/feb TdHxhuOV6/P5vRfFO7fDRrH3KD0ecM201pZqKPfltr9uOG14uBlDkIV0 HpfKZ9+Du9L4tuUTYQDRQu8Jd4ITJ2ymU1ubM+eSWdI1w4gIog9wTmdv eSo= +bogus.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. glPJsi3+99LTHFVIhXaQCrpNyUP29bMeyix1YreX887i0e8MU0HCaxqK /pUH6v6OsJkv/Q43r2GjkyZePXpLedgPppfClRFKeB+CamGe5mrTk81m vYKJWtMau7+8R9foV+xs0GyyXzc5aFMSPIcHHNvQr8vijY1DDNyhDqUD chI= +bogus.nlnetlabs.nl. 3600 IN NSEC broer.nlnetlabs.nl. TXT RRSIG NSEC +broer.nlnetlabs.nl. 10200 IN A 213.154.224.3 +broer.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. snmeevVCnhJ99EpepkNjQveNKZz5VBe0KXalgBBMLqoF6F5zVR0OHrmH tTWLMrWOX0qyEiM0ZeLKKp6GKDxeBSRBQMJG1ts79p7I25fi16vVBwW/ 9xpuc6AAP5kR/lW47w+nL/bd0GS8xgvties2dfKi8iE3LgyXV+xphcBS sJ4= +broer.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. TsRRJ4B9PbxAHKnvbU16pYIaF+rmGfTsfo4uG7XWiW4GG2MLqzSz/NkF UyjEtnHXSgjMNiVDaahgRHMnOGK+MSTXz89vF8vilTfkD4SzmLBmUxIX nZ6y48E7LVfnlHpwWjY5VGeWaNM4bYi3SDmROH8hjr4femZjYTBTQHlh nNY= +broer.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. L76iAX0THAWJ+Gus6Rh+dgikBVc+p0Fzgmk3b/lBlr3ylLtwWfrrP2cB W+0AgrDjSH+cm0svLWW50P0aIfKfmmf3drXSATDxDDssCg57+ASsymNn BeKocAgDfo1Yck2TWUfEDhBcJUmPDj0/aO5ysnw2v1Ua6xnGfH5fscaV rBc= +broer.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. PKNocDJI46bA0W2CiMwu7ZQZQF7eie+sSJFnlFS5E1tEumgMzToFspkw gFJhoiuD2QKk0duij4a4xdJ2JtJtAt3s9LLTsX648VnOkX92YtEdiz56 ZY79j3eFdw6hPoHSinEJZkqgY4Q8TAuS7FtAABv0+NnK8mupWJuTkcRv MrM= +broer.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:bb:: +broer.nlnetlabs.nl. 10200 IN SSHFP 1 1 8290EB11D74E7147221920FB92990ABDE012244D +broer.nlnetlabs.nl. 10200 IN SSHFP 2 1 46D8DC5C57933CD04F6F9E459B0D07BA2CABA21C +broer.nlnetlabs.nl. 3600 IN NSEC ceres.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +ceres.nlnetlabs.nl. 10200 IN CNAME sixgate.nlnetlabs.nl. +ceres.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. CFpxdyaB9ZXDF06TzUKTAZsc5KyrF2Sgi/bxRRtmBY7tOu4onzv5uX7i lkvIexuxrbiG7Ox85lyhnnEdJbTp47l2SkHQWhnKtYA+NRD7SOeVxI6V 3b4tfZv4AUGOAaeLorRHJYHgWMPkAimsjeDx/RDSMQ5ObBoFdEWEYyQM d50= +ceres.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. IOw4Xbw363lzgN3WBJJOW0y2QDz+XpbvqRk5zQUlMJ+VZ22Cosqra3h2 MIQOjVpt4CZvR3w4+Nbh5Uml5BHyhTO1M8NINlnBCUA5uIR/kcTMPQkv MXUPmaKlogQq4a6B2ZmFy6oH6+u9C8Hw3wmIJ0KDBLkp6bPd+xTI1paA Vc0= +ceres.nlnetlabs.nl. 3600 IN NSEC conch.nlnetlabs.nl. CNAME RRSIG NSEC +conch.nlnetlabs.nl. 10200 IN A 213.154.224.16 +conch.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. YBWfa8EPTsFHDx5pSI8O8UhdQgg0+b+DrGk0DmFUemKoKuEIkN69C3sw FWIIIBLZp27nmYFm4qtGTTVOvCDGT8Nfpf3v2seo7mHLlBESb7IQUlLF 9RTqNsHtdGBCJSTni6TwzbgXv29VXqCpXUcUUaY+L/kBwB3+BrgmbWFv dMM= +conch.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. BvQyV5kh9FlX/t8IbWfidnM0mXyloIyJuCEyy7zXwLwwwzC4OnekGT04 K1ZugP40IQ69rxKetRVuJ70oSDSkXq0F2sj7y1cP1dEberKE48Ik/6eF iVejGOXJ/+PBL4mjDKlChfel3zuucMgx4rE8x4HfM0MDt2e1OnKVbAyj xXA= +conch.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. JeoK7whT9GS5YVcPUtn/9pjk05KRXo8zFnwtaYmYZUf9sylt6k1KCk0f kcpWuIWoTlwfSJ7bsQXz80gOr0R0ge9fm0+xNTj6toBS9rjNJ03dLBDs 38gd7toTMwYlUN2gGuvDISJ7vChvZvcBnOvnV6kqUMFXQBEN04nWrCM3 PKI= +conch.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:a00:20ff:fea5:1267 +conch.nlnetlabs.nl. 3600 IN NSEC conference.nlnetlabs.nl. A AAAA RRSIG NSEC +conference.nlnetlabs.nl. 10 IN CNAME open.nlnetlabs.nl. +conference.nlnetlabs.nl. 10 IN RRSIG CNAME 8 3 10 20140224111605 20140127111605 42393 nlnetlabs.nl. qXFvgENYE6a/uqmvAfOQ1Rav/0AuMNWNvDkeGtIKLZcpPetC3rvr0aen Kmj94K99OU1tI2MN3XLg0MCh7xQWtCvora0pk0Nx7RJXAZ7O0R155sxO vvmu0xeUdWYpq66agaNFfdwRhOczMSqJui8PQ4Kggb+EVoxexbw8VP9R fN4= +conference.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. kRyKGcp93AToiWK/sCyS82HaYe/Li/WBmxyxVlguZFyeVE3wuOyN+GQN YPOMuzvj05S1bhGMyt1Adq9n9cUOU2R1dhe2eYHr70gl2XX+RB/4tmy/ Y8+t7qDGx5J1F5PRasQaGjHFDaVX2QLo3Y79BevK2QxOxkB+kIYmAEVW 6MY= +conference.nlnetlabs.nl. 3600 IN NSEC _xmpp-client._tcp.conference.nlnetlabs.nl. CNAME RRSIG NSEC +_xmpp-client._tcp.conference.nlnetlabs.nl. 600 IN SRV 5 0 5222 open.nlnetlabs.nl. +_xmpp-client._tcp.conference.nlnetlabs.nl. 600 IN RRSIG SRV 8 5 600 20140224111605 20140127111605 42393 nlnetlabs.nl. d4FcPuwHho31ypmmQomQFUrhM9UFytrDbski8+5Y/QgZWl2btrXi6Ay9 DaRowULmsEEcAQzoVVjH2xBOy5xMtGIPrPvf/g43tqczjY1xmkF2eClm PzHutCTx+Of/v19893Q2ky1p9qW77V8zgm/VvIBrSFa6sAJ8GbkbsYGp 16c= +_xmpp-client._tcp.conference.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. t2Hz2hQnhTWZSpvKqWvGVymD/UJi/WQ0xMBPpAJIi8Olk2rKZ5uHhnKr FZ7xXyZOn58+vCVnWUaytyJJv3insgYIvbNbJkxpjJZFdy/deIa5i0k2 hwaEKZKe3aqBnYIOWfIT6t42790r7sHB1hkzazlISIWpCzTBKoxq8bTn Ljo= +_xmpp-client._tcp.conference.nlnetlabs.nl. 3600 IN NSEC _xmpp-server._tcp.conference.nlnetlabs.nl. SRV RRSIG NSEC +_xmpp-server._tcp.conference.nlnetlabs.nl. 600 IN SRV 5 0 5269 open.nlnetlabs.nl. +_xmpp-server._tcp.conference.nlnetlabs.nl. 600 IN RRSIG SRV 8 5 600 20140224111605 20140127111605 42393 nlnetlabs.nl. fWheQO+h7zolMxgqBQjUfmYmaOGFcY4L0O780kKwT8HiIVztdUf99Hsd ZodNKc610S7iS2FHJl+9hXPAWJcZFHd2BNPcxu9QfhA4gYc5Y9nrZqAV l0cPzdmluFzfRsxKxdlsDsb+Kcc9VuccuLVzc4EMyIl7hBJTPJzQ2tQA 0Dc= +_xmpp-server._tcp.conference.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. SFXPwNY5cXOyCySdJ6qMY8Ydqmv8YXpEJkw6ac0KGAxNRkGaYz2K5FpY lq4oZqaGBaOa7NFgtzIG9VVrLrrrP5CJptB9GFF5u+IfpcN/3wWWcqqY hQqsrahd6gdI7S8acpI5sj8h3ZPFK1gjE998KSi0+xkisLz8lye4OPTA /Cs= +_xmpp-server._tcp.conference.nlnetlabs.nl. 3600 IN NSEC dhcp-100.nlnetlabs.nl. SRV RRSIG NSEC +dhcp-100.nlnetlabs.nl. 10200 IN A 213.154.224.100 +dhcp-100.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. OzZkv98sCVeraJwlS68wFsNpwqeGXtdOVtq2jeurcAbVTNKr7BJNTFg4 GB8P6zaKChCaMJ4Av3QMX0q53YatL0ahVmIpvXJYWx/sve0DvUpE4C6w 0U29GhikC20JjlZWNiWwf3/ZnfegO2CA/P2j62Eyg9EFA7HLwY/hIk4j qyg= +dhcp-100.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. mSTUM9UIuRvCHpw7Klbv9907v+OSOzYtMQitGFUE5k4nG2nLawLDOQai sVRpFRH559D1ggHAn2SVnyf/Pk0GOswQ9ea5B1RZzZOpgziEAMwLVuJv foSDgZThXvr9bXtiS08LzyoHU5MfjzGCtrpAc28P5feWY8ukucf/3UA2 qd0= +dhcp-100.nlnetlabs.nl. 3600 IN NSEC dhcp-101.nlnetlabs.nl. A RRSIG NSEC +dhcp-101.nlnetlabs.nl. 10200 IN A 213.154.224.101 +dhcp-101.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. R9OZoLytf5ayiEbav9TdGupRi0SFVt3Hcr4XH3IUgkXrqMAkuZum8kTU gvFbJfMYOnfkj3+8Xs/H724Qk5Jc+KoCL2urjJKpvjgyIvJNsfIQuaG9 eE0ZR1pMjNcqHzpWxnzV406haWrTHfx8HIBRqEaw5mk6JxBsPQ9A6oq+ dJ8= +dhcp-101.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Q1wZR9q2brvOqI6Uq3O2oP0FJQQQrggBDL6TFpVGQ0xdNIdVvIHW80uT Zm5HT4rXmWRizeoIQWfEuHbz6SqfaYQimEWIAdXdlX9YEq4EXAiYH+kD AVhrkQz35t2BwvtJJqAB4y8koAqf9Fdw52qYEWvbWUXfLHmgtJEJ/rn8 9NA= +dhcp-101.nlnetlabs.nl. 3600 IN NSEC dhcp-160.nlnetlabs.nl. A RRSIG NSEC +dhcp-160.nlnetlabs.nl. 10200 IN A 213.154.224.160 +dhcp-160.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. riDjBz79iudE/fcPGn2ymd3T+wTbhfeZVYfqQM5Tn7/s+Jdtkrmrxmvj CNrLPKJW0xSNcmDs9eXA6C+rReQr4SNT2rcAjiMq8obgssgaaAK4WqPa CfVFgeUdGXz5hZPu7hfz91q2x+jtXfywLfdFnjiVUE5Ec0/AFSUpaKJ8 vFU= +dhcp-160.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. VOm3cBZNSziblAcC7nVUMwglBg67sx1GEMr9a3Yw5KJNBy1vDll8P23W fn7ewl8zB5cxCs042ZK1Nf3e78Wk0+AQkwnKbFsuX5ct0IpvziJCdVmt M+BpgJ8hFvHRJr41UpEXFY7pM3csdrPe8tQYGJnyqnHdRmvbU9dKQrs5 xSU= +dhcp-160.nlnetlabs.nl. 3600 IN NSEC dhcp-161.nlnetlabs.nl. A RRSIG NSEC +dhcp-161.nlnetlabs.nl. 10200 IN A 213.154.224.161 +dhcp-161.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ltZr8dQdBaDrTL4Gs+RZep8qxIhq59/GxruD4xU7i4QNQytkxFdKulJU VVusCXQn4MUH4Ctw4kdxslyd3SF72rhQYF74pU/QP9fqWGXYAbiJG46A DLV3MelGWt6+2pgWoBfa3fHUCX8L0xJe+E6+bUS1M8xd4YaDxHoqoFyq B3U= +dhcp-161.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. wbJ8du4eQBhwRiKDdXfJ2Bzc9dUEsiHxZm5qMPcN2d/v6kAny6k2rMHd ybOPg6Bn2ElyXHnEDcUdb0l4HR4qUQ9eDmAP2IE8s11DHYD1aDyIn1jg kibUjAqnAqRpUW2S8SyfAfaHiYti2L5/th8LhrrsoEQ4yoVRfxN9qP0l zDQ= +dhcp-161.nlnetlabs.nl. 3600 IN NSEC dhcp-162.nlnetlabs.nl. A RRSIG NSEC +dhcp-162.nlnetlabs.nl. 10200 IN A 213.154.224.162 +dhcp-162.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jBPryv2C1BHLZbrlxvfoxdu/GV2EFi2HqCKmFEVxJKZ0cyykTGGykngK 2pq2gPSUIEWiMjIPPalD/r1PJIm2b9AlEhoyBENz2syq2eWQEEzQ1ukY IGjDfp/jIOSusK5q9JrapBPT7ILV5iE4sF2SmKfYKNeRW8oF+c2VdTvB C38= +dhcp-162.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Hb3NbgxaSFxC8gcwkcYYBedycDr9kfXMKFW3prJUH+6wmN9EIWymvn57 8Ggj84UmIehsG29R6rjnEnl3c5WNvi68NrNuU0nGFibdILKG72sGFQGb LyFjxKG7Hisayu69YcqKGeEcRN4rsGy1fMgx7DecFvKQEOJS5q88iH1z QTU= +dhcp-162.nlnetlabs.nl. 3600 IN NSEC dhcp-163.nlnetlabs.nl. A RRSIG NSEC +dhcp-163.nlnetlabs.nl. 10200 IN A 213.154.224.163 +dhcp-163.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0T5nrzKDHu47uyog2CYeanfE1v4remzD87Pgq3KgXL/yNSmGg0rZ4H55 DIcqwugidGb3LB0ZoZ8vNe5roN5A3gmlDMv1ZuxgwjFCCytkti8NmEl8 qWupKkvz9J88uv9X46uExKPrsojIA+s39G1a/YHYJ9Tq7xfuVlnhz9wM wFY= +dhcp-163.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. DnzUrvzoFwjLrvvGFeMiuk9jGmxCw4mavxHnj+Ffe07Bx0LvP3/DFqbU D8DqkmD41bJlYIw2L7TKw7nia6opGHdKlem+MVaiOr/WXQUQfPnf/x5e YFH0PmQ9059QY75sP4B7tYgUV0TQETXSHZ/vIuMi45+LCxlMlnVDdts+ Jgs= +dhcp-163.nlnetlabs.nl. 3600 IN NSEC dhcp-164.nlnetlabs.nl. A RRSIG NSEC +dhcp-164.nlnetlabs.nl. 10200 IN A 213.154.224.164 +dhcp-164.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ggXpfnCRcVdWSC/Bj8NBcLKocfHiTOgQDvdkNOVCVwLmHgeMwZgj1/Rj /tRV/mwbIX0zOJR07Qg+xSifPNsJQO7bQdQZUnrEnZKlTsuyot5NDliK g4Wlpt7qvkVI5CqJevJ21crSQcEjzQO/9hHjxiz2SV4BvTMv/JpYXFM+ p/Y= +dhcp-164.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Ks1uQz90ameWBQG8RQaetJLTZCziujO5D7fyhIS+UuUj5QLu8p3GV4yk VPu9g89ikOE3PwqgentrG8kzEZ8vcADUAWSI52Xugpg+J7HjEOVbyJLU h/8i2tB3O73vhGdWKkqKP4XWu88DbeZlDR6koSlv6EI6Ekya/eZ4QF6O hjE= +dhcp-164.nlnetlabs.nl. 3600 IN NSEC dhcp-165.nlnetlabs.nl. A RRSIG NSEC +dhcp-165.nlnetlabs.nl. 10200 IN A 213.154.224.165 +dhcp-165.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. zyB6TBwH9f7Yngvvi0zE3Ry5dew9jG+YatrSYK50jrmS2bmIbMGH0WrX MWKSWBjVpCJsmpUmneOYKRZ4naekfZ2EOJlSgW7eXvU+e2AqfWb+t5Ii sFiHAEwi1dZZcVE9DV7WbFHhf9ZERiwzkN2ZnNjl3QxQK3ZQ63UD9+Yf 64s= +dhcp-165.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. b46OWlw7aaCgoz3yYrYe1PzlH9D97dLKhzyfYx3+uoAB25zz7ay4rRbY yxbKjIaQfv24v4lyBzP4ARTEF90WwNOu44VpRGO9jQcGUWuFQ3C5X02r tP06wNyYPDf0w5VotRqRYOa5v1Lx60Udoairig9pV0Cu6IhguN6z833n 8uY= +dhcp-165.nlnetlabs.nl. 3600 IN NSEC dhcp-166.nlnetlabs.nl. A RRSIG NSEC +dhcp-166.nlnetlabs.nl. 10200 IN A 213.154.224.166 +dhcp-166.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. iZFxPPGze6/ETnodnG8xeCNcVew/nfu9IbwU/phznkHZGvKc512xDneF gr0jSe8EYpZ0WmRSZ7dJSXCY62kKF033WBbHJBxUdCQFP1lOpTprf6jL zcrDt/9OXlzDbaf/SSXGSZ9B6VYaIz09o9yVnjMnHT8ULvR77alSWr45 s20= +dhcp-166.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. 0vVkwFIoV7xP1MUbCskKaNfvyXyJuRXar2gKoSMs53XrPFo1dsIi8kAa +Mkvue0mWhlhnqQ8/fGsR+952+EyZuljoBTCOP6u68ZabeHfnLEg5Mi3 rcxPyZbbJgjwQg6xacmCeWFqWtkT+cztV/jFcCZOO53b57GO0uSbiydw DRs= +dhcp-166.nlnetlabs.nl. 3600 IN NSEC dhcp-167.nlnetlabs.nl. A RRSIG NSEC +dhcp-167.nlnetlabs.nl. 10200 IN A 213.154.224.167 +dhcp-167.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. RlpXJgMbq3Wj7hX+l8sfdluaQTFPM56n6W1xgVFqKeuIODS5EMVkSsFk 08CdtQHqwF0uNYofvTgQsbWM0v0ntxKX+33nhixkDoSIUrHuFPWeCta4 +xt6qxKz5quq2B7w9GAT/fbf6IV7y0kbSyiDNZXOmSnwGDoiCd9sQYuy 0bg= +dhcp-167.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. spAATkD4uZiw39ATTvowkifNIzHPX84Mk0jcOwXU6qzYSPjD4vxUB4QU hILtd6T6FfEZYMZGMSCpV3Oj91z1hdSqN+waf84+V2sf6kZruhCqDR4q h7vDVzLZ5USe21w4ExTaJXIWueD6V6LgUGExBr6NnPZMAo8Gu3hHKV9S Su8= +dhcp-167.nlnetlabs.nl. 3600 IN NSEC dhcp-168.nlnetlabs.nl. A RRSIG NSEC +dhcp-168.nlnetlabs.nl. 10200 IN A 213.154.224.168 +dhcp-168.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. T7GE4/KxpyhmJMoCjWbR/b8FnUGFLtK0RBMezw6LPdz/HvRXG+tXtp2h HT7eDtbWg+9j9jjljPc6e6gWfP1ObfSmOdOfKT1j+i5VQY1FIMMGST0o EFe9HBZm1GtuyBiwKzdMT9aiqWS6y4VwZe+nyA2PfxuTIVKZMmdn3FQt tOw= +dhcp-168.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. bXyUPVNmP8DHpMPxrUsXYb8PGM50kDK3Na1iM1zAZ4Qd5ls6alPAVcym tzrkwBBKtqMtpQepfjdnejaP1oc4b2wGaqQnGFQNE6JthcXzPcBHhMsG PWiNYQIBuQReHo7JKBVN6Dt/VNOWlKVmwY0F/7PkDYAo6rpd1MlMtfG9 peE= +dhcp-168.nlnetlabs.nl. 3600 IN NSEC dhcp-169.nlnetlabs.nl. A RRSIG NSEC +dhcp-169.nlnetlabs.nl. 10200 IN A 213.154.224.169 +dhcp-169.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. LsvzCwcpB/uIf/dudgvmAWSW8Xdu/EaClvy1IaXLU+xxdjhWQsgZtsAg erNs2erP1qZ4/AFxIYwpbRhyxa027pYTzEn31/vuQmXQ5OBWDczX6Wz3 lhO9mnEADbBuDYLLdbyxqZLer7rJvzQBPY/Z7zvjXvCYOykD/KqJdf8U oUw= +dhcp-169.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Ltym3vL+M/cgZj1V6YucfA4tM5Ly8+AZMeVtIG2Rv3CBWG28KtDKPIjv 3jqxL5bFAT8jvfjgeuYYhZt9X/YYYgW31C6IOF6Jlk+bjPvMpDGwW4ug LOYgIx0AHylIjG/3mfl2Gvys0dMiL/LFtdrCzCyM5TDavgmXkQy8ToPd ZwA= +dhcp-169.nlnetlabs.nl. 3600 IN NSEC dhcp-170.nlnetlabs.nl. A RRSIG NSEC +dhcp-170.nlnetlabs.nl. 10200 IN A 213.154.224.170 +dhcp-170.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. OiJpyhdtIxUE61Q+EddH+gKCJwRSF7Q8qmeIQ+pE28ufLzNVPo7rUDPK mlrrG57y2rTXv/27I4acHJLUyeLkqjKVFl0NWGNEwtIiz1EgnED4vHbd mkZLeK2ADR6ClE7GluUgLEZEFn7q3p+zDoDT5HzQiEwekDdG4tMsXDu1 hPI= +dhcp-170.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. uVDFeSosT+pkK4Be03z6p3SvrHzsYdB75romRjwgGpYqX8tkGebV1jxo iBudtVajWOwfqBiY1TEYcny+VP6+xRKnicjv3K04ve+p+6pJIzkVT6ws sLrwPkpNihZ7qLvJHBcOFq5/VF8fgrLuHhq0lb5tEGna9oHAZ1ugRt+e oGQ= +dhcp-170.nlnetlabs.nl. 3600 IN NSEC dhcp-171.nlnetlabs.nl. A RRSIG NSEC +dhcp-171.nlnetlabs.nl. 10200 IN A 213.154.224.171 +dhcp-171.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. t3YQ8Pl5Zrctr89a8wUJ67q2HkFNJ9KDgprwC09U3F1AEDoTzhY/YtQK vgLCIjSJxZWKEqoa8Uj6LDnV3DaOs/01ubtRUnM8SD9DHegZxQx+vyUZ Nyd0vmsZ059PFr+DAUXW/f3Wt5gIZcOrBKYC85GYEJ/tTDqgvi6k2a/U m6I= +dhcp-171.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. DhalC6BCtI9xs+NEVTnnJbaICI/lKvQv51rqAsnQHyktDTdu7gpNClAH ttc1Gf6SLnhJZiMuM3qPfuOy2WmjjKzKTt5d35QOqoqikSeWF1AkkpT8 B1nL/Sh7LD+G76OuyZomtZhDvNXNeyQTTm/aFar0q+pgA30RBvnyYm5H pDY= +dhcp-171.nlnetlabs.nl. 3600 IN NSEC dhcp-172.nlnetlabs.nl. A RRSIG NSEC +dhcp-172.nlnetlabs.nl. 10200 IN A 213.154.224.172 +dhcp-172.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. UXcwJDXTvZjoc7ss9wELcUf+g/jWh7ENvd5syaLVr6xDmM2NBLnzc5Ga deh0OJAJm47AimPgn9IIT0Qdyf8JCdZUT01iSGsAuaZgDIqrclYWeVZy jOycP0b74Cq3BLU2ZWNTyy3jg9zaB/mUucy3kNl21WLbQtbQS1o2s94W mTA= +dhcp-172.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. BhKykUzr/u58rB9uRo97rjHxqDjkpN7ZKzRJkCnZ+Ib7fF+tV3W+CuU8 u5qTGAtKyA8qWHuvBeEaqjgpDKOE0QiUygrc7WhRejfZRREZngsZpR0S 7xsfp8PPsB0oHdvu7iNiq1VL/XpTlYyAvgrNBjafhtQw9vdRAZ/6Gvfy XZ8= +dhcp-172.nlnetlabs.nl. 3600 IN NSEC dhcp-173.nlnetlabs.nl. A RRSIG NSEC +dhcp-173.nlnetlabs.nl. 10200 IN A 213.154.224.173 +dhcp-173.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. H8f/ku28K5F8JO2EUbf/YiB7BqG0eKbcKXticXM2DrpI13yQ8WUie3dB y37Ae+vUr7tMO8ybsBljluPvCHgPEiXXJcWqpyfQd7hhHFwuOTbaPrj7 xk/RQY8BkZpYR9QivVktMXZAwuvDHF7F8VvzwPTU504okyw9VlgrVZPN 8ho= +dhcp-173.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Q0AG7N0etyPH+SmooggjBUqbwofNvuMNVUXwWOIgk4nMrX0pgU+qm+/5 RCHlbXYza7Et5Y1SloMyom+jMkMM4YxZ2b44RK13VYPvW/PxPzb9G1oP tGrgf5N3q4QF0q1tjyiX2Nwuu7B1YgMtVG+W5DDYvNZERU/rDlAlCTtF NwE= +dhcp-173.nlnetlabs.nl. 3600 IN NSEC dhcp-174.nlnetlabs.nl. A RRSIG NSEC +dhcp-174.nlnetlabs.nl. 10200 IN A 213.154.224.174 +dhcp-174.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. q2DllCUm9DNqDEuIT0KhP8oIvGuH6gwMlWFaM9nsRv3Ue6E8HxzMvPD+ mD5m7UWEMVYyOAgq6lM2fes6EXXFs9fW3NPQEplqIP5JQcl4C5XNTUns uA/tSENxqNSDYxvmWjKQFsNpvDGNLt61PpHkcxzwdz/GWmCr/01dAdiH EUs= +dhcp-174.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. d8Q1Tm98vMteUz4ybXOe8GTg7kkBogVuwU8EMntAl7OKwTgBuXY13Fg2 b0uqrzp4TEi8JFcdt0HO5NyoHzqBmboCEJD3xKuhKYU0XPbqbXbuoCaz zMekvDaqtEydiCB7u3dD2yATTMf5vdUwB/Rk8OCX34GZReqvqHbQQFPc +9U= +dhcp-174.nlnetlabs.nl. 3600 IN NSEC dhcp-175.nlnetlabs.nl. A RRSIG NSEC +dhcp-175.nlnetlabs.nl. 10200 IN A 213.154.224.175 +dhcp-175.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. om10HusTy/Latm7h+37fLLgMOzbF4oDmaH2225Ry8cXUwKMI+Uvpu2wm lXBmu+OZxS1s6bNRY2DMsqiLupSSX137jX4aritTQIFnIOGtoLdUqCIO aucxVdSmy8xnEuqJ2QvLLZxAiJ3kEH1kJXM+G5BTzOS1Wc7CHDrJTitr bEc= +dhcp-175.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Kv1ElNhbYRO4tdej434Axx0gOJwmJLAaRdDZcxaHqpQRXtzdQOkp5dGb DD1UJZqHzYRu5jec/Ok73dX9KSb3Eu5jmzKYYEAvgzcbX1mPvLkk+L0q +W5qm1in0u9wfnQvLdcFfJtcOlSpb8L6z7eKB4+H3IkQGB+NnpSg/mBz 8W4= +dhcp-175.nlnetlabs.nl. 3600 IN NSEC dhcp-64.nlnetlabs.nl. A RRSIG NSEC +dhcp-64.nlnetlabs.nl. 10200 IN A 213.154.224.64 +dhcp-64.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0B31eU4J3BpuwwMv+P5SNMHbRU5pMdcZtdplwOZnmlXqxuc2Io4x3R/+ vtefwOjz7x5hs1JagWth/Z03PLCIps35xZ3ITlkIfKki3Nsgozy6vTtX MpO6Un3mwHe0VOqCIabGfn5goNSNXd7zMWZZvTdJdxUdB+UW4icVsm/d n/A= +dhcp-64.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. q4/iLmxErJaW8zZz2J2qK9DPztZt0xSGlMLmOgBFASi2Q8rlvbLrYFgs wq9sfMtcgV4spDn6NDtBe7+AfIyu1AqvEbAhw0aL/ZIUj+y+MbmIvyG7 U2GodguhyIxiiUxGsW68vYWi+jOjfCqDpHJlBoR0C/4NhaXHyIKWmXxU PzI= +dhcp-64.nlnetlabs.nl. 3600 IN NSEC dhcp-65.nlnetlabs.nl. A RRSIG NSEC +dhcp-65.nlnetlabs.nl. 10200 IN A 213.154.224.65 +dhcp-65.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. bLe8RVrjObnxoC2snRbgxxdFvHNdDr26OlQRixBzlf8O0X7Re3DqLnkX jaQsu7MooW+X3qTw5QCzH97Caedl/Brlb+zwMJsW5bt2f2Yi+qv02dDB vzHScVv+jSXRPeFMHkhQKhUDi/y8I5/kSSypUD5GIc3QHzZbXDineplV 53w= +dhcp-65.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. WEJ8K/tBIAQoj524ApeAQ9iquDYghdXJ4NNag3zwFYYzhMLI5UeKoPdn dMskw0if+g1J1ySpmNVA9Ru0qTxWyCyg2kwV1XDhzRKf9u0b3jR+BNfH gKB1x5d8wP8Lt+MwNXuoePoqQ/eQ5Z0RkHYkbFGzSfm+SbTheP4KX4pn GAQ= +dhcp-65.nlnetlabs.nl. 3600 IN NSEC dhcp-66.nlnetlabs.nl. A RRSIG NSEC +dhcp-66.nlnetlabs.nl. 10200 IN A 213.154.224.66 +dhcp-66.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. idzgzl0fyanWjZI9kjgcnqPq56FkEALbnyg+Mxq25Gqu2AAXiww8Pq9b 0AOwwgT4SnBhVdZ+KOtdhLfwyLb7KtBzniyy7El+NR4ZTorZZu+I8L7J OfqSAY/4pTJzknMzEr/sOouSyBTdqNJikXKAK31PDyOaiLMMkfZyALBR YZU= +dhcp-66.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. FFTB5Hh8c+YfQiNcP7B59HDS6hF6iVAh3hq0dDRbolPC/YQ5OnXPivnQ mZuCrKjk4bdgYeTWyG3E4IkxRc9zB0TsEcf4eXPAn06jWLmAbIethOUE Pu6MEvuJjcRakyAP9l2eJivT0di1ac7AjXZjFghUsCgpbySr0zYsu7l7 +m8= +dhcp-66.nlnetlabs.nl. 3600 IN NSEC dhcp-67.nlnetlabs.nl. A RRSIG NSEC +dhcp-67.nlnetlabs.nl. 10200 IN A 213.154.224.67 +dhcp-67.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ikB0DH7pzElWwn4SFFu07cc/BYi3lmeQTS7ej5xQYWaFHh7L6jRnaY08 6dlwt+bmpuo7vgEm0wuNKrGJjJOm2swPbp45Gduddh37B7erDRoReVC6 6Cph5KfU0F6I8652sD/Ai+ZIxnvDAFcwryOlQF/pZBVx8Yabx6fSUlGA h3g= +dhcp-67.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. DN3nLi7WySsv0nqz5ntyjHMG3MCz2tA96klIxmQXPgyQbnM6pJfDhajK U3MYu0m5szjJbSGYckzX8aclsN2fe90DmYwzY7AFg12pT7fzKIa0w0SY LDfNM+ncLPpEzokNeXOYEfJCo7ooy4V8+SFyODZlz3LaDZWhgSIELwNI m5s= +dhcp-67.nlnetlabs.nl. 3600 IN NSEC dhcp-68.nlnetlabs.nl. A RRSIG NSEC +dhcp-68.nlnetlabs.nl. 10200 IN A 213.154.224.68 +dhcp-68.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. o3WfUNnAZlrX4SYHwBJqp4ji5f6tbXKASZktiTfk/nOAlBqy+w9HE+9D 2CJv97mClT/g1AQ590VUcn4tIrjmqaiO1FKqWsxfuoSJsS8B/1p0t4fR JfTHrxutSO6xRulaNwcMN09nDKQZY5vhSDgr06xt2kKNsEghGe2ERJU8 9Mw= +dhcp-68.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. I1AaAiH+62Hgfx+K7zw4Y5vZPyYJK1v1p2t6IT3jo53aiqM8v0drmA4y 6E/M7GbsXqVMNbdQz0ybYHe9kW9mEYvP5MB1ONugyhbMy6E/QjGyXMTH Pg3ufzPaXE1oOz2efpY/PzX2n8bLWMGUriJ/RihRJG4kaBfHSQxd6ovV pDA= +dhcp-68.nlnetlabs.nl. 3600 IN NSEC dhcp-69.nlnetlabs.nl. A RRSIG NSEC +dhcp-69.nlnetlabs.nl. 10200 IN A 213.154.224.69 +dhcp-69.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 05caDVKf6WmY1+9LQkxHjzauCMo6//JhNr5T6Hs2R9qCBwr9Fs1zy3x2 p1m8uNroWhXwgW3S+qrZkLyq71RRsdRQ0eZd07hUN3zXqq35Ec5stSl1 +pWReXx54/Squ03xTK3bF5uusJJXPBN5pCeREu9jR32X7ptCagPcFaGC JfM= +dhcp-69.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. oypiNaPaUerWJs1kZMnGkER7GC0SrLXz1grcHJH7ZplmxuONd4hyVe8h Yepw5h6IfZV8TkdM9EqwM/5my98DZ9O7lUfYFyy5d159WGBEbwmnO5NK RCR206MjJCkketVbmwAnbZpzerQlSwpSCpY5/gsUVVCMrRRmrbTROfxg 3cg= +dhcp-69.nlnetlabs.nl. 3600 IN NSEC dhcp-70.nlnetlabs.nl. A RRSIG NSEC +dhcp-70.nlnetlabs.nl. 10200 IN A 213.154.224.70 +dhcp-70.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. QRt12C97MsFYyb8d1J8/gArOUC/l6SmFEmnGLIhoC9I8bVdXhnuWQj5d ybogYVQjnWZnbAK9DgRGGrX0FsOPIagzl/Gzl6BzVQhYPuI1pmxnA3Ff TtWePz3kj1LloJEE6LommsSLhI2GVn/mVHBUgqzVgBcanz8oU8fmlR17 feE= +dhcp-70.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. AQ/stCAap6vCD7H99YwhydCktUnk1v9iKkZOZUZpzX6rLAgj+GLy27yq fuORkc27B38+aNaAAZTpbVuf+b6JLUX2M2s7BRLQ8kRQmxeegdSLhynp tDSjt2+eWZX3vE3FQmiccJwa+CzcHSkiz850sL0HZKGG0OjmwOWVJQ4W xBU= +dhcp-70.nlnetlabs.nl. 3600 IN NSEC dhcp-71.nlnetlabs.nl. A RRSIG NSEC +dhcp-71.nlnetlabs.nl. 10200 IN A 213.154.224.71 +dhcp-71.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. QasoDQdxVIdippoOSpNZPkyQ++y5UOgurN2ZXJEbIH2D2YsKK8oVyg6+ 4blk5QFQWnP9tA0a/eye7j7n/isGGLFqO7F40Yowp1JzmLLSwdTrn1UJ i0rcd/tDmHLivLTX4dm9YoxTc+9GmGqqsB+eWCIYlUllItYLc4H3/Go9 2hU= +dhcp-71.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. HmfYhWN8QpmxogwP5mb+J2tXFNkqn/03wDMmo0yU7Jx2dg52YcRqEble 3A+CTQYZQimAXS18sDaoOJdU/i5iYl1QEijhnqL+xrgPbsrdKIQmZLM3 4DzAYBxn4RUUSuYzYQDXynrbWeRqxn6nmsAh+43USS3sQDSQAGWZQNQ9 5Ps= +dhcp-71.nlnetlabs.nl. 3600 IN NSEC dhcp-72.nlnetlabs.nl. A RRSIG NSEC +dhcp-72.nlnetlabs.nl. 10200 IN A 213.154.224.72 +dhcp-72.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. nlJgNtVAx4nADM1mVg9HOH4q48eznkCdbHpoe2hoAIrAPKZMnD1qV3yi tbvlxLbsukUXWLjXbYCRmm9BbrnxuSVWtMgcicY2kFCEbw4Bqz9ENZh6 afxpu5DwRes9dfU3M2ToS+xwRr7DbfGfHz31SBXPWvQ7uOS2XOHl3FQo 6WU= +dhcp-72.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. lwm7Meg1JJdq2VCzZKC4aD/WLguj2nGCkMwrdA3WvMEWj8a2RpxrKIx3 U9YPfXaaeJJpzGCLpbpATtBPAe6KW0A4eUGnHIRDO5VH5+ZnBP/Hgo1X TFInH7AJ5TFepz0XZDMRyuUUjCw8UrdmQscz0fhc2gnNS6/f9DkVTA0f a1M= +dhcp-72.nlnetlabs.nl. 3600 IN NSEC dhcp-73.nlnetlabs.nl. A RRSIG NSEC +dhcp-73.nlnetlabs.nl. 10200 IN A 213.154.224.73 +dhcp-73.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. qKigOcust3LHYsIYJS73HwA51zxYuyCOxmUMOEo9XUt4E1ycU89a//mY YPUawASO17ZgRsWJh1NDgR/tFX8OtyUKpuZp7bO0A49+wfICGBrY5SSf PwT7peF5iMVhD+ACUTrOwDhv0lnBTpGuWOW/yHYyBHFkZVKJ4idH71ig C0I= +dhcp-73.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. uwTVAzFaDJuphWJb6choMyugXjyKYm6rXfguC24V+nvlAHeh3BIxLe/0 49QD2tGU84w95SphQ8CJESvzT8QLCsUY72Qe/mltlEUyU2he4UVOhfT+ uALAuHHsuVK1BYMEei8M9lbzIKxEuQlkvvipmVntsJKuQzk/MEEvOeCg H1E= +dhcp-73.nlnetlabs.nl. 3600 IN NSEC dhcp-74.nlnetlabs.nl. A RRSIG NSEC +dhcp-74.nlnetlabs.nl. 10200 IN A 213.154.224.74 +dhcp-74.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. AWgqbjTIgPF1ri/f4Pyr1zL3yoJQqc/0bxnJ4bzsgndlFozR4+vmzYd5 CRFq3cn9DRgym9FWoBQetpu7El7XMkUZiaTjvTdqWApT6drDj5oy/Y4K 9V311LgB2bJZa6lqtHGpAZBxRVNv3LA23LZbh2jf7aEGPGHIRLoVd0RK hHg= +dhcp-74.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. 0l7FMVD7a+Bzs945ACYI1ZGROGGR1jAky+gQVVIg4Pq6ZhsvGeaNQf02 wXaVVWuFPBjEx+x4Of7eEODJCf+iJVul3xOqqhC/BFfyx7iJw/OlJxHE 8KqRTv7gl55ALe0uNKQiDJVBbU64MdYbVVP+qG2sq9oQfEcjZCvdWK1R 2Ms= +dhcp-74.nlnetlabs.nl. 3600 IN NSEC dhcp-75.nlnetlabs.nl. A RRSIG NSEC +dhcp-75.nlnetlabs.nl. 10200 IN A 213.154.224.75 +dhcp-75.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. qS0cWJF9i3B0L4iQaxc/YNQmVr9K2UUss+Tem2gVsAnv036QaUPJ+OEC 9UQfacA7Irz1IIjqy+cLvFzhcQz8zF2BpbMzLtqMDxdKFMjFjFK8zHXO 6suktds/aOnJozjY8dkoGzRjwNIEONDD9GssdA2n5URuz0ajrVUUdzim 2/M= +dhcp-75.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. g/P+ct9lukoI7aLgMf0L+g0c2cDkiz2mdBV4mrXyd/oWw7nNa6FmESSg 3hzClw8nMdrT7iP8VFOnUKj02MMmuorpU5qqa9VbCBqKyRmfcamg7cGT Z6Pl2vGT1X1nMTpV0+4Qdq2b4AsH7zbmbI82/Zc+2rXVUF0EUZTCTp1Z Vog= +dhcp-75.nlnetlabs.nl. 3600 IN NSEC dhcp-76.nlnetlabs.nl. A RRSIG NSEC +dhcp-76.nlnetlabs.nl. 10200 IN A 213.154.224.76 +dhcp-76.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. H2b+Ow0kP+Fay8l5UOwH7cpHjojilvrx6EnsbkM1xLpefldTXQ4aOAgv 7bcuwC8eHyn2dk8bhQHZkHM35uz1Rp0Iy8lM9a8PfS3JeWDYWWUuvnQF mkA7eXyXPbEm1bAgjw16+V3h54H5GifykZRqvugcO8IlBRxbVMFiBY7n 67Y= +dhcp-76.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Kc3laYt8WstgiTpm+C3tWOMd+APZDgTT/m1WuRt8RUBEjyTGleoQ1mFc JtM4PQBl5iQRywwCYTmPB+2xqoU/+KE7te19dAFGDUVP9dXFgqonrfTt kf2FaOErgkZRffqXzA2UPVuUm0F8ifku5Vu566bnMFjewID8VCGKas5A 6r8= +dhcp-76.nlnetlabs.nl. 3600 IN NSEC dhcp-77.nlnetlabs.nl. A RRSIG NSEC +dhcp-77.nlnetlabs.nl. 10200 IN A 213.154.224.77 +dhcp-77.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ZA83XwDYYPyGxwn2iKBFi2hB6FoZB7l08yGkeoMKEVEHnKfKiK2fzqs4 MUKzmmdR9JFzLZr6iC8ht2wtk45aVn3VZvY7E4RAK8npjzCpCrHNuJ1i BlxI4HkeC5eeXWSJ6w4osMIxxl1XT/vDOSGar+NUVFVnQEDGKw0ELpXX 6ao= +dhcp-77.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. JdRoIL8BKa+XxzG/PtxTsvxLcHwJGTmDvucK9TD7PSuUnb6UtFdbfDL8 +aeKmgGKuzwhj8Z1kOvEC1quP9daRFq6uGlrWYk44A4/c8rzctxZ6f3W c7lQwom/07PFaMN3Qu4WAhUqnv4DpHsqBRbfe9Dd9MPHq5sSwRU0warJ 0YA= +dhcp-77.nlnetlabs.nl. 3600 IN NSEC dhcp-78.nlnetlabs.nl. A RRSIG NSEC +dhcp-78.nlnetlabs.nl. 10200 IN A 213.154.224.78 +dhcp-78.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. NPN9M8Xd1cdN98NXpuO+4ahrgKZPfnuuRua9PmL3bxNm+3pgvN1cBx8t SHFyIwF53ixmAdb2FH8uvVA8ul4k4GbeYsrLfEtTx+lWL4H3x7cpc/qy 7lZeC2QwZycp6V0QW79npvxJ6wihWskJ6TtzAXPon3jBWbQAlMGKeeza tYw= +dhcp-78.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. w4a48Iyt/pbEKMuWlyZN8H1/uh45tWAoi4zxMouz2ci/1TRXWcCLlPAm SXp+hoQfQahXgrTQCRMuzJ7AHmbmW3gh6l2Jz5csTEi26ewhca4ATDtv ANHlGtVATEjWRbizWQO/R8rRfP/6Avi09ry7ktNcEhrSHWUDOKmdlCnQ X8Y= +dhcp-78.nlnetlabs.nl. 3600 IN NSEC dhcp-79.nlnetlabs.nl. A RRSIG NSEC +dhcp-79.nlnetlabs.nl. 10200 IN A 213.154.224.79 +dhcp-79.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GzLz1jNAIO2AiXQ6vlkndvMsPN545TAcS8LOaNPz65ftrzXcUuOqM0BV bVoMetflI1TMMlqOTKw9UUsar6DhrqS1sL036pVXdvWKljeACwQ5oHKt KDreHedGuVvBKv7+vIDQRT4VGmGuX/O74hcNM688UOiyKgWo9TgTPf1G 5Wg= +dhcp-79.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. IVkCPUYFPZLLGYGWghlwupdQ14iJHcQZ2m+Ny4ia3BywaAc5f3cGzNpe dFBp1I8q7LMcm2P25biuM1clF709xYTWRLm3sIfwNaXAVaobN7Ion+kY YE221qI0Mv+O3RUpgN5hHXPErb6/TOCYArvZ50mSJIf1lA48cfHFw9HJ diE= +dhcp-79.nlnetlabs.nl. 3600 IN NSEC dhcp-80.nlnetlabs.nl. A RRSIG NSEC +dhcp-80.nlnetlabs.nl. 10200 IN A 213.154.224.80 +dhcp-80.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ZCRRQVYXypW40w9F+hfsAc6rF7E7xMDU8SESXUs6dQgdmPuOjZrKfvvX WCI9QxpejQLy5sEjfwA6/Hdmk8Hjv9qCFqEjjbnfD3W8MIKq8lPvtEgO VxIO/2emNJYMyu4dPDHQXcIeUsJPjP7eOlxyLZ0ewpVp+LQNDzPeL7Q6 yZY= +dhcp-80.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ASaYT44VFzmz4/sL5KvE4jrJDsHjdFoZjnSYEBGNqNDjv26gGSNdi0x/ axd+CQgJp78VbKlGZpu0/hRIk0hSaz+ObuvraX8BREKHTiVcEAh4NMBh 7Gc+45m6Etn9csoLYYo115Jl9ayg5HrotSyGPqWCN7BPsczDfX7bRe9n ADE= +dhcp-80.nlnetlabs.nl. 3600 IN NSEC dhcp-81.nlnetlabs.nl. A RRSIG NSEC +dhcp-81.nlnetlabs.nl. 10200 IN A 213.154.224.81 +dhcp-81.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. M8w7UUEexw+pHp1ctLbZEBa2NnVYwo1lMH2dKCmUFmZxAG5XzujJqFZ9 s/i6/iHkxNRfJg4GULrwHAPIHnfnTxQv7+bnmXXURo4wLzDh6ZHl5OEZ nWCr+XcWqfrH+8+QpObg/8zGIeUm2VuQShKzJE/ZHtOW4ouc9xSbkWp9 fXE= +dhcp-81.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ICQa7ZO/BjspwDGBtfurUVCzbmNj9nUw5K+tFclQTfPAmjNd25eCkWWI NDY4Vck/os7uVqj682icTlWOHhYSxbsHWMq7e0uP9HGPV+2g4LpA6IRx ub6jff8EKVoJpNvvahPDY/CO/MVTmAeZSlLM6/lHKrwkYea7o7kjdft+ 9vU= +dhcp-81.nlnetlabs.nl. 3600 IN NSEC dhcp-82.nlnetlabs.nl. A RRSIG NSEC +dhcp-82.nlnetlabs.nl. 10200 IN A 213.154.224.82 +dhcp-82.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. vXjzMWB/m5cXI6uQBz+elLFCares8gn0NIVA3E98ZXHgGiXoLdRbj1Z8 jIwgayoSYFSbGq0lcPAmfKt1X8UyYxXGGh1/YMI7Q/9VWsOzyzJqL0t1 PpRTb6V9F+hn93Mb8RJvdrLifllp5hl9WBGMXyWmlQf2aCpEHSq+FF7+ uEE= +dhcp-82.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. eKeRiBD/B0qM1LojbBp09CLGet5t0eYObVtoWLGaFAiwsSADHWA3gIpw j/8UGmB1oIK6UMZb5zG0+TqX7iVdYq8Ea3ajdx8JiuxM6FFlcDGeBTl2 cJyzVrWU+H0rwrgQZ6hMhom6kBYwEc+hnOkh5qw0mEqu5t4S6LLiOlEj dzA= +dhcp-82.nlnetlabs.nl. 3600 IN NSEC dhcp-83.nlnetlabs.nl. A RRSIG NSEC +dhcp-83.nlnetlabs.nl. 10200 IN A 213.154.224.83 +dhcp-83.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. q+CzNbwmtha9HTg1IgAzH1aGihD2MyyDOhyBAzOdeLeb11tj/bf7y6B2 DelTamBRsy67ATKMQTbP/gae2UM78HLI/yjRPDRKRflo0wMe/GtSDCB2 16WXv1jq/XcoUEGLQPgGV+CqUNItX2D2qcTeHTNa3WF10nxBV/vxU5Kq 2D0= +dhcp-83.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. elF/Z6gta8Fp1jY9WbeAseOaFRWN8RszOLs+FNJE8v7nG7gPFgf057tK PE6RqiQSO1BXg59mWvlNVBDJsBLVnVaAnhD3INgiXSUxiaq6Edu4ck6B VM5lf6eR9NlN4VtV16vqBtM8TwuKhuuZvjrRSW2cKICoN7VSNiwa6iAZ 3mU= +dhcp-83.nlnetlabs.nl. 3600 IN NSEC dhcp-84.nlnetlabs.nl. A RRSIG NSEC +dhcp-84.nlnetlabs.nl. 10200 IN A 213.154.224.84 +dhcp-84.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ZGdiBofIRViyL4ycx+BMKuwP6tZGJMFjvC6dZhJq8M++oQ0CSyiY5LEp cbXOb5K+h1INY3zNT6CskrGpmFs4fyeIBpPf1wc/k2DeZcisnA9dCSLW WLvjgG0TEei4y9xfntjo1YkRnXs4ecCn80mAKHlZNbTDgq+V82IXqLHb tIE= +dhcp-84.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Cl48z7IK3FPUjZrmWhv8AXgJPw9nhNPM5uIVwKnmzKNcXeGpAzHNFPDf G3GZE6As7aqOhpzlfnjy8m60MFj8QmYxHHpjMcWFTTezQs5tYSUWAzFT g7GPtqL2XvQTZzwrfUUaRY8zfDgYvGDQ14Sx3CQ83NkFyFG5aIX2oIAD TlI= +dhcp-84.nlnetlabs.nl. 3600 IN NSEC dhcp-85.nlnetlabs.nl. A RRSIG NSEC +dhcp-85.nlnetlabs.nl. 10200 IN A 213.154.224.85 +dhcp-85.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. SG9wAx5uBszJ803s1GiPWhB1undPB5mJl3oqahsA/Gahrxs9VhCGBkc/ ESJ14ZIVUMpHySTIFJ0t8mnHPCXlh+93g1UQXC2xr9g9RE78tUgwZc0s A7Poa21zMP66pRs/OJ9u3m6KO8dsl/9bjx3cdNdi5qdPlm3ryF9x1BAN JIU= +dhcp-85.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. EbftONeFDkuJFXZOuTL9j9OMLKFsY5KNRz2VFN1XR8xZDDU+xaYJ/CkY XevAWpz9WZ4ni3WyJkjCv8xFAdcUuy64+yB8HLXfiTOivrYMpOmzld3p zpaDkwPwK+viVi49RlhaUwxOoM3omTSEQh+uxEkaBCeJVK2Msa6MYXLq QMY= +dhcp-85.nlnetlabs.nl. 3600 IN NSEC dhcp-86.nlnetlabs.nl. A RRSIG NSEC +dhcp-86.nlnetlabs.nl. 10200 IN A 213.154.224.86 +dhcp-86.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. BLfZZDbFwLsfUDFaezlBXAWOMehy1RUbh4cpUPuyU1qYvDzFS9mg5nP6 /20HE4gG2sWGl3LgxE4znuVUgRnq9+5XJuACc6k5QnCrskK7EUCPaZzy sp3ozGciDwACRl46fpac+9Yh10oBqtiO4nlciTrW0FaKsC7dubBP6xuA BB0= +dhcp-86.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. IXFyXivhyT7VHHtk1AnDBBv9s3t8OBdIG7pvBlASsL3hqSQxkXHdqqTc 3AhhxhmzFNa4CIrH1usX/FHB129s5LWk40xYY9RIg2yR1WUx79iS+Sbc SWreO0UEUXrhv6xGq8ZWGVB75VFwBAVsMuJbElDnftDk+/EsJ4MOGY1E BA4= +dhcp-86.nlnetlabs.nl. 3600 IN NSEC dhcp-87.nlnetlabs.nl. A RRSIG NSEC +dhcp-87.nlnetlabs.nl. 10200 IN A 213.154.224.87 +dhcp-87.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. gOeTc+6oFsRc0G2AcvOKmU04YgyC/WCs0gUI9/VwvrsFf3VDV4Bpxl9a ZD1jWH+Kdba3p5ORS90aZei31keJrznYdPZdcVhpQTqhMfiOB0bODtbY Z7dX0hXtq5yog+7/ygljQ2cDo74qGyvVMx1Sca0xbWvGY3RHnxX+dsNl xt0= +dhcp-87.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. yOQQ6WBjTVwNEGEfwb7dZKr19ftGvwr3uoSJJIgxvZSfkyiW3KkfqFbw Db49Y90k2Oor7YUAKUSmDOMQ4LpnX0Mv9tPBBtUQscwF3kbyY6H1SYqk joaf/9RmDlwyyd2YOUONrGGbOocaGNxv7+Pqrks6lzZTGn4KnnApxCn6 aUI= +dhcp-87.nlnetlabs.nl. 3600 IN NSEC dhcp-88.nlnetlabs.nl. A RRSIG NSEC +dhcp-88.nlnetlabs.nl. 10200 IN A 213.154.224.88 +dhcp-88.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. lIHnuKf1EEIskdzlR4kuYYwkAzssyeAZtsF+szX7zI8+0mFEn8pxlHmq NnWz8ROE6UmnDQoNK5Nc3TTNJ6pvFboEnddTvrgg6HB0puJMHwUt4u1N 7CTMeUGQgN5p3ZPVxY6pZ1MsKY1hvw6ofTsEtKIO+81t92gozqP4vUJv kgE= +dhcp-88.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ptBWx6CxdGRvSchZLV2D0IF7aDy0eWCo5A/KUGE/m2FRHaOHQRlmR0x7 AfLrOjdDSK/3K6qUQw2nhFi+p2gIeVxP+Nk/pF7RHLIg2PxT04QUG3M2 oHSlDSYqg8fzDY6TM73gBHl0BaI+ZWa1/m7h43LUePtkGjV5S1WqrJr/ pUw= +dhcp-88.nlnetlabs.nl. 3600 IN NSEC dhcp-89.nlnetlabs.nl. A RRSIG NSEC +dhcp-89.nlnetlabs.nl. 10200 IN A 213.154.224.89 +dhcp-89.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. AoswLa98YtvjQTD8YwU1JgoMz7ecEkp3/q/JYhUZmRHPsbOun+QbHK8Y uhOq36oU9MhV29KhyP7Nu9iELKgdGKPz+PcnGFq09AIbDK66TvIh8Dmi iDfVZcmjo11Fmi/qX+uXBjoqpnVHsrNQPXzCIkNj3r9gevTLRfIjNivU cFA= +dhcp-89.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Sb4zQ9crmTNvkSZl1UnfViVLjmTgG92fB1SqIgm9zGLhQdQAKLnOV6OR f+Tr9/Vv6BOgQhdn1oRCmalqTZkSCiP8zBXs8PQIa5LLzqynCmZL3SqD Oj3JEm6ATJFx1PJjD6+Um/1plUsZB077+j3gqGFysMzTtlDpkFXXklm4 Qhs= +dhcp-89.nlnetlabs.nl. 3600 IN NSEC dhcp-90.nlnetlabs.nl. A RRSIG NSEC +dhcp-90.nlnetlabs.nl. 10200 IN A 213.154.224.90 +dhcp-90.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. m4wKKGT4ia7rffslLxF485pu/sHrtMTRDsSeJPOmIpb5uddjdVwH7wcx mstIhIh6pMX7UV0BaoIE5UMkP/qffaGsW7hoC7XKzoB81RFvtGrkVH/e H3ibvyynnlpE3e8/pNbIczNj8XODx3c/P5cS4croSnUVHREMvlB1uAFB yP8= +dhcp-90.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. MEqAa805aeIe9g8RBg5zwmqkb+MdxI6FdRC93tm47TOPrw7wR466Gxus ylkeK48qtVMdXlU+728bf2gtbFibBge/oQGiHVv/7ZB623R6E4TV1gUp GGWq35JFf/NkE78TSbghMEvV4y+VrB66KKQD0ii1HZojJ72sog2JEz/r Xi0= +dhcp-90.nlnetlabs.nl. 3600 IN NSEC dhcp-91.nlnetlabs.nl. A RRSIG NSEC +dhcp-91.nlnetlabs.nl. 10200 IN A 213.154.224.91 +dhcp-91.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. EeQa3PniFe7NbN5azEk1SIOJLibyH1MQIRkzYQDq6u6hqnX3Wp6E5wn3 xppV9R9Pzq14bqJHof5qoEZLgqQMUYcue9o6KQWmd0QAQFdA05CZHvxb 8MGqkKfRgAY7qyFPWKjfLMAVbrevUZENiLQRYB3ytfXjeQ5s3VZFY8+p TiQ= +dhcp-91.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. YE3hyNR1oyQ3aDk3gQ/G2rL2711uOy31McHQlSr8qjgtJqSs93P5gHbU XxEuwTrcv7TsAYNycDmF0xs1IxlWUqYEr9JNnnrIV7LH7QmecXmBApWl d0gLjvPy4Iwc6CcJwngHFS5QnTUoDuPL0z6jKT3C271IDFhNAtmi+GnA wy8= +dhcp-91.nlnetlabs.nl. 3600 IN NSEC dhcp-92.nlnetlabs.nl. A RRSIG NSEC +dhcp-92.nlnetlabs.nl. 10200 IN A 213.154.224.92 +dhcp-92.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. odb1aRYAudeWLxXgzxyjnbEeWZX6xANmVHJSu41JPc2C6NtYkOcCDGob cveFeKWGRLoLGuvzziyy25R5tKd0oPgTApgvdgipPMysvi65anMsJ1JX UT4RNYTbWhg/AnNUqzOBMNCtXFvhrujeBEXeEo5qPU6l+m7tq8797qbs Cww= +dhcp-92.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. J8/VtPwfYRT1u40hS+teAfOAAAPlLh1Uhyix97RFZxbStrv+RKpa9xi0 yAnNn0O8Uve7ljMXbTvho0g/8+My/+z6dUl9OoNldAQT+mSkC198GaLg 5eDnPQ21d+44/l3RFZSpT2GXG8EVDXeIKreiifzV3zfYlpN8ZBMBdQbt 7WY= +dhcp-92.nlnetlabs.nl. 3600 IN NSEC dhcp-93.nlnetlabs.nl. A RRSIG NSEC +dhcp-93.nlnetlabs.nl. 10200 IN A 213.154.224.93 +dhcp-93.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GokQ6hXf1AvLsTxa7ZJNj7dwX5iQcdBChQW/Z7eKxC6q82vxVw/cIb1B hlCzwX0JHPd5EOkB5aP0bqDQSlYh5p3V1GYMaS0ybwr2YD/Ym4k3vmt3 DN5pd7mUSvIwVUu60HMMN3s17vUP7Gx+bIERRmTRHu8v2UN/g+QKAnKk jnk= +dhcp-93.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ZbQ04z7vrmOVCThvngK0C1jitxVknhCSh8sf9g+cG1tlNO2hmrivPirf BLyo4qxRk2Zr1QrK/9MgYNgM5eyKMMLFxPFbvXboFlH1dS2UawmSbw7C QoRdfF/t8TRJIE4FxYRYln7nFFPsIRuEvu73NCPRPg4z2XsBrmAL4guo a2M= +dhcp-93.nlnetlabs.nl. 3600 IN NSEC dhcp-94.nlnetlabs.nl. A RRSIG NSEC +dhcp-94.nlnetlabs.nl. 10200 IN A 213.154.224.94 +dhcp-94.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. vOM4fWRgZS58MXYWfslqeRJtvqmWpelReWjYaUQ7GAEycOxHQauC+VAs QjYHH94yWRzFvwYs3mHN64ug9ZbJ932auPjJxEM3m23ST9x8jEEaoC27 zny8h+soh4aweFKPNBUCcBkZT4l5helz3PHATapM5avFaBa+pLqkH0id SPI= +dhcp-94.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. YkGcm1D35WWU9priB4HlIxcZTg/u4WM5jZwGZSob8PRdG0dl7GhWr7nu /l2FFDcNsLQVLN6zbAl4SO8GzTKlWZjMS8nnDqq72xq3RNt9nnIuAnul E0BvlMP0fIujcoVL3c92IoDCsVKfgPR0UaKFrI9Wvz4VylH6IRkHAGLs zPY= +dhcp-94.nlnetlabs.nl. 3600 IN NSEC dhcp-95.nlnetlabs.nl. A RRSIG NSEC +dhcp-95.nlnetlabs.nl. 10200 IN A 213.154.224.95 +dhcp-95.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. fACDbTKIeKkFF3C0IrjUjycwHlFw/cAUEmKYwMm2RMvooXGy7jX8ty+0 fVlJWemK2jgU6qgSOV8uSs5k6ZNke0li4vWjQNqqqyTaqLGB1ieCJIZb /NAv+G//cjUbl5t7+1DpKcBftM0slh5OfvNcf+Rk1v8H1bvjV5cpBMbp ec8= +dhcp-95.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. pOTdop6MfoIUo32cQfgSDjuePRNHgElz3la/q3tz4d5f9mp/QBJR13jr ZMDZrMM4aNTW2jBRxQLtrjVNusQebiewUYfepR8Md0kff6odIE1bHqgg TmgWm/4Z8AqyuGQ2QKMCvpEefFjM6QJKRT/bZdSNRNhszp0Y6cW01Xia xWE= +dhcp-95.nlnetlabs.nl. 3600 IN NSEC dhcp-96.nlnetlabs.nl. A RRSIG NSEC +dhcp-96.nlnetlabs.nl. 10200 IN A 213.154.224.96 +dhcp-96.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. hBZIoNwKx4Rmd2lW5QNmMb9XD4WUMeV3NFRwYWJnec2j4aJgcs6yIv9K vHNMfwDMHm+L7Ls76zrUxihKXWjAv7M1RQ8uMgDZu9pX9UdMZ94FaQN7 tkFwnWIHhsVp78N4M3V5dQOePik6xSB7VpHj8RCEGa9qrwmfjkgZM1FM IGA= +dhcp-96.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. SUBVfNt1GsOtIG2Ciu8tOESaTaeZY35iOJzUrpLplU69ETAkeo+5gMwy KOI91pJc5eE7fPjxtEUSx8Hz4/umYP2IxQwwxgAwfF3d4X78som1QV82 At9Z/YUSBZFHssOBdQPRN6+raNv62e/JdSiQuwZoEmOp3p0vzm6cbpck Na4= +dhcp-96.nlnetlabs.nl. 3600 IN NSEC dhcp-97.nlnetlabs.nl. A RRSIG NSEC +dhcp-97.nlnetlabs.nl. 10200 IN A 213.154.224.97 +dhcp-97.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. RUJnYkDObSu9v0+sgucGwxtqvQhnfoS1rblAsFJmhDVsWLmurkgb4bhA 3Z3P1DCxXzQcNduywgpxje1YzoLfel4Efcq4vCkSJI10GYMIAz8WamiR C3BXSuV2aGXI3ysEyQ552UQRx6VPegIoDthEw/rndE5cmpKEQbOEq51E ACI= +dhcp-97.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. HNbj329P0QDyKkhj9pq+p0Bn3caI5/B2r31VuAsa+Bg9f3cooj9DywGl GPf0MqmjNGxLs+D+1L9nlGD1Z640FVxQomOhUHtoCoITa5MHC0Taf6v0 7EozUOZG3LR/xxl6jiRwdkcCGeg5edMM4ONaf6ZG9lhLhPY8x1KhMsaf 4Ko= +dhcp-97.nlnetlabs.nl. 3600 IN NSEC dhcp-98.nlnetlabs.nl. A RRSIG NSEC +dhcp-98.nlnetlabs.nl. 10200 IN A 213.154.224.98 +dhcp-98.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. a6IqeJfZZ6zgooMeVKiniD2Ib05Q5BBC2a2LOZNBxFfx2KMQHPLTT1g7 73Trq4WB2iLfXuWvPOC98LWQo8UdljRd9sL8IW6xngSJmbDBd94xOp0h BGtoqOhr0V9Q+roPLnT1/iXjpNwY177yKhi+cOrU0jJaOdlkKyOrjAJx yx8= +dhcp-98.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. mxLkQ3hbVv6pkUshPfEVwXXBiFF/3phMrTRKQW2zlLJG8Cqg/zeJid0E tsexQuDyhujfRlA2ikjpCiKygPSl3xa+duDs7k+y2h9XBMW8a61ffNhd 8q84YMVIM76aP60ys2Qib2f7Oniz/d4MrgHeRcZ+d/thlSrarWK0bQTg QwU= +dhcp-98.nlnetlabs.nl. 3600 IN NSEC dhcp-99.nlnetlabs.nl. A RRSIG NSEC +dhcp-99.nlnetlabs.nl. 10200 IN A 213.154.224.99 +dhcp-99.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. WWMnYGUPrjrxTtK+t/p7L3BmBI7adrcS3HeB/i0iIb094eSnTkQxJE+B zbH3gyqUoW5G6ptOflJjFw3Thq0LnGOICjcOhJBreSCLKm7Q/coKvCt6 B3RM3K8M33sXvbxCrSK5Sqv2L1UZRgwtFPQPIeiqBFsOnvqB+bYc8Dgi ZyQ= +dhcp-99.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ffNktmNK2e1/XwPpJUfZKRihKWw2EuDRa021iwM12s9s68VD27xuYJc+ EEuSaHXdpojj4rhHT7FwYidQ9anj9YmHWWjpDDrC1W3xfnGZCRJ9+rUq VvNPIRXPTlegM1Cp7P0iAaO/PKrtNZeAatZY2yfRTAuXMeiZxJcyzAso 0yg= +dhcp-99.nlnetlabs.nl. 3600 IN NSEC dicht.nlnetlabs.nl. A RRSIG NSEC +dicht.nlnetlabs.nl. 10200 IN A 213.154.224.250 +dicht.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. n8bJy0Bkmmq9GF2zpJKe+n6V9S1B9EPERA5n+zDmJwMhvMpePn6qRLGg fF2emqBFfJvNLlncew7PyYKzzxu++RymWHyH4IX43YShoss7wBT3G/A/ OeT3jJ+zW0aXtgmS2tdrjzP3JSgJiFaXmVCINovTs5DyLCG8kBQj4Z+k XJE= +dicht.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. TAlMvsabV3ZWeRSoeetSIzdFn/mN+sLGlB+pGzH4k0pk0qXN/rcXfaEj h2/vA0T3lt5CNweycTD7XYmBXuheGPty5VXzK+UREtPgD7XM7Z5IGLmv OpyOY+l0eOqkipcSisSWKIGuDP14/H7YQ37Sc/cJC9sZAlz7RirUJoQk IsM= +dicht.nlnetlabs.nl. 3600 IN NSEC dns-lg.nlnetlabs.nl. A RRSIG NSEC +dns-lg.nlnetlabs.nl. 10200 IN CNAME bert.secret-wg.org. +dns-lg.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. hIIL8UumgIknySm5rI4ORn+Aqese+Na6xnVcUL4NQy2ujSkB6opZm9Ow X2mTZm+LJoI4kl01wOOLVZhpItXzKlpJQ/iV0/Qd5CEbwyu1QiGvcSpR vsaJuFYh/XfUw6HCJsbhcGYxVgz9Gwiy6Ni8y71qpGluUf9twtvlYmT5 T0A= +dns-lg.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. PU0Z/3EbG4ipN0F+iNTtjZIMoUj+dnBDr5ahVrzlhE1nm207+2GKabWb X+q2VTJKGzSR2D6HUAW7m1qgBc6xBADGCKnNL4tCIODk8HytE1Y2y4B/ GNE6Z/tq8GwrS03WRZoh7a9qIhspeYXGUoE/HPFhYpoNGKn0WEsSR8kG 1Ic= +dns-lg.nlnetlabs.nl. 3600 IN NSEC osx.test.dnssec-trigger.nlnetlabs.nl. CNAME RRSIG NSEC +osx.test.dnssec-trigger.nlnetlabs.nl. 10 IN TXT "0.12rc40" "ce58e1380de2d3d265f53a102166856dcffe45bc4ede4b623ce6ce0a16adf1ec" +osx.test.dnssec-trigger.nlnetlabs.nl. 10 IN RRSIG TXT 8 5 10 20140224111605 20140127111605 42393 nlnetlabs.nl. w5ULN6uEWRHypv38w+LsCCogK4zYc4iZ8mrPB0kqs00JJirfkYRbQYio YKTM7nbl4WLg34YDyDUPEaTV9Zf8/8QKK6+liu2WYSTK1/KPpf0Y+jUt dtP+Pl5dbW4v7B9Jnx8Zp0yuoJm1E/vum1/Jo6Lo0sDzvpZSxNlt18LW FtI= +osx.test.dnssec-trigger.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ddKu7DDQC6Buchh7MjDR5xb+s3JyDcH7R26HYl5mphf2Wlk7OvYbdhoE KjgZ14ppGMHoaayvGhkS8n7GjIFOgU6b9IAQs9CRHMORJq/WAkNSOJkQ IMffnsThsL8hJIQP0OIeQu8SWiFgh2KMpfa6UwmOV0/KrpskpSrvH03O x8g= +osx.test.dnssec-trigger.nlnetlabs.nl. 3600 IN NSEC src.test.dnssec-trigger.nlnetlabs.nl. TXT RRSIG NSEC +src.test.dnssec-trigger.nlnetlabs.nl. 10 IN TXT "0.11.99rc30" "f77e343d753499309905bf1be4ea15fc0f319c2aea20b3e501e0e4e556605f65" +src.test.dnssec-trigger.nlnetlabs.nl. 10 IN RRSIG TXT 8 5 10 20140224111605 20140127111605 42393 nlnetlabs.nl. TPmpfD3VJ1doWZfKab70GPuPkiXtRliQgPi+8C3tPp+lnGvxU8OrdNJZ MEbj4MueAHWuve5QRaShjs83F64117Uch9FZNCzOKtcdmflk4uALxNIa ClaemyvDW8rSALan17Kn+K9xgqljwPWwO6RZFJkIoRoJl+kRpQNVaYiX PX8= +src.test.dnssec-trigger.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. z5R5GN4OXqVN/f5LCTuwyjtmaR6s0VGHj+8afOwguTCiHByjmy/P9tbw RdtpKD9lUoAcLYnLmJGy8WYjtLcXWFwF2UxFPz5dPO3cvsXdB/6ctVUd 6tZJhHgJoFXZ4q/8TuaLWFqJ+CHzBj20/AJ6CXEKL4mC3QMMGFGKvATW hL4= +src.test.dnssec-trigger.nlnetlabs.nl. 3600 IN NSEC win.test.dnssec-trigger.nlnetlabs.nl. TXT RRSIG NSEC +win.test.dnssec-trigger.nlnetlabs.nl. 10 IN TXT "0.11rc47" "634bc594b013b4dc2a0e2fb959fc7ca6fa152b8a8a100e074e1062beda7bd9dd" +win.test.dnssec-trigger.nlnetlabs.nl. 10 IN RRSIG TXT 8 5 10 20140224111605 20140127111605 42393 nlnetlabs.nl. TmRzAT73ihQ5sp8RUoLLM1mG6wQ+b6nqgid7UsYVddq6+2dj/6igItxJ 8j/fYjnuvPALTe8Ic6GeTHPl3R5jFVbF+WOORvttcOsneNZKbl1MaU/1 3DSLZw1uGISWRZ5mwQi38gtHylDNXBYroPiL7QnW55DsRKljzZaqFtp2 7n8= +win.test.dnssec-trigger.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. zcvRkafKtjLxjVc/6eABvJ6qmZr/ZHtWGiwPJtYEA/8Zye6U1CA2Xuj1 10XOmTHpkmwxPkNDsF6Le6Mz7uzzzP55rhia7JLe1VKkhvY4Q76o6ddv 4MQQVDoLNg+aE+jQvsz+OI1sqbXOXgV8Gu9FgqqJLqn9es6lyIxOGjk/ Re8= +win.test.dnssec-trigger.nlnetlabs.nl. 3600 IN NSEC osx.version.dnssec-trigger.nlnetlabs.nl. TXT RRSIG NSEC +osx.version.dnssec-trigger.nlnetlabs.nl. 10200 IN TXT "0.11" "77565ef4a25f07383c57ae4d96cd3bd5fcfe089301f2054ccf20fc636c76e710" +osx.version.dnssec-trigger.nlnetlabs.nl. 10200 IN RRSIG TXT 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Fyop3FKPArhWi3ZXSmUNbQItnOzxSkolK7Fzt6wUie/tfmHLaAOoBkC/ cbHwU0MaMkA8lVqdb+fnXd/qlPcCrVBodIysOtThzLNzemAEsOdIIPB3 KoqdUSRgp1+w9JuxRauD5VOQfJVriLDUyn8YI2jLwV1fyAZpTiNX9cMQ 2CA= +osx.version.dnssec-trigger.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. le0I4Ws8ic5JVy3Ta0LTgUh3mwyS0JS6US71LBlF/7D4uvYlKhwdIBIw O5HbENTXAOIDy4bfNEGf0IFerLWL1XfyBpCgdgT+V3Cw03kCJysqsEN0 W+kFHl3k5QYAikYkLG5MzHSsrLRE4PGWXAawXOQ/QKfu2ae+egb7lE/r PDA= +osx.version.dnssec-trigger.nlnetlabs.nl. 3600 IN NSEC src.version.dnssec-trigger.nlnetlabs.nl. TXT RRSIG NSEC +src.version.dnssec-trigger.nlnetlabs.nl. 10200 IN TXT "0.11" "c22cff6a51f0ae8e07393ab7935d44faaabfe3d8341ba8bb85189391dcdfd9fb" +src.version.dnssec-trigger.nlnetlabs.nl. 10200 IN RRSIG TXT 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. bK6Bg3Pj8BK21dYdt/RhtqHXzwj+DwyDD8aNPeqhhaEUmzD3sFOk+5M+ BJdNt98mv+H5qiy0Uuno5RYX1j2ltPzcRh0eUB1BBa/0GpREWKoyhlnH 9PsmCrON7eVvi/VVM3xg/NH27tiULuMhe+oK11cHobtRJ5ICP8UfFC00 g1s= +src.version.dnssec-trigger.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. sLAIguOrVz9g6YSqI5oeQV3TiHaFyax9E+v7DBzkHmPQxLJqZYLdY91p xWX3KXkAZt0y+u0DtbyzfVxeNQoiJCQqC6U3GnoHe3rfVB3gWeKwC+B4 EboPUZAF9yJ1hXGbLUu7Zrsypc0hotnIGYKOtsN6rRYT6JR4D1wwWwuZ gUs= +src.version.dnssec-trigger.nlnetlabs.nl. 3600 IN NSEC win.version.dnssec-trigger.nlnetlabs.nl. TXT RRSIG NSEC +win.version.dnssec-trigger.nlnetlabs.nl. 10200 IN TXT "0.11" "3fbdece3828852f040ec23886efd10a5d2a4286f47aafbd718a36077dfd9e10d" +win.version.dnssec-trigger.nlnetlabs.nl. 10200 IN RRSIG TXT 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Nzh+wt1Ha/sFk5Ut/zCguW2Aa+mbnBjlz6DC5NaxyMisU9rUGhRdwHNJ QJuOdLTysioq4pjeRClmwdwjUXtBEfY3xJPN5oacZYFHKCQsSc0RsL7n zUT5+WPI4YU9WfQnEpvcTS1YKcPPGws36hKRzO+gdNio5nZcna51+OTx pN8= +win.version.dnssec-trigger.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. xMqs80ul6cWNsa7ErEkkO6giaAj1l1TJB/v4uAU3ySM+PxTCt30asx/A UIrCyxksxXKw4Wtwt1uC28em60E1IIT7p+YKrZO42idOJwNRBzbyDu1B jSac4zyNvojahBLO1AS3afxmfrtqAFudgxZjE1aQ1YHmayj6PI5VTVmO E8g= +win.version.dnssec-trigger.nlnetlabs.nl. 3600 IN NSEC dolguldur.nlnetlabs.nl. TXT RRSIG NSEC +dolguldur.nlnetlabs.nl. 10200 IN A 213.154.224.13 +dolguldur.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. eRpykwVedfDa/9vB1TARqQX8L0X0k/0vY+FToQBalciGARnbUryoAa4W g/EBx41siCHDTS80rzgxgy14kBRzj0Olzvuhk+k68ePMnPO2D3XgUsQn G4cWVZh2MecqloRh9gCPXWDPwHAkqEcTr3M60MUUSUGY542bs9qN5m1s eWM= +dolguldur.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. obwAow1p6jiSTdPaoammLwaksxPxlyuumuqEzHTBautVjgRaNDP2V80w D8PeCUU/lo1MEsj5vT8mkmhVGzC75uHyE/WWWADG6tFCrHSWJO1PoMHN kdvbMVj3EjNOMTfuNA3sAtXwq9fUZVU+XAWrC6Oqt74rnIlTKL2Jfmw1 KCk= +dolguldur.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. kLjOhTZGedE61rhZJrnYbQNjGKNRQEFWAcdFi3zkp80JiJ0yn18P820r eahWfv9pYY7OG1zBCnsF/nTw88vOWsU/TuH/1iTCpuf/hWVTMBscrCj9 2rE0MsBH97shmnFQbYD1sjIi4vIJ8U5FtRocDMi3jyv2TjuQ7HksdTgr Ltk= +dolguldur.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Fqz9aGLeJisB4o0Fha1DH7nnOCk4okgtdzJC76VtTyxKDrS8hX/4p71v PTc67JuQIjg6djXaMChFXn5V6eS/GG5Z22GF8XLSG7aAuilFQGwSG+uG YNELeoCif/DIOWZt2ZtlO48w521p+5H5uybt/K8wqHkkT17ENRShKr4S lEs= +dolguldur.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:21d:9ff:fe6a:aa56 +dolguldur.nlnetlabs.nl. 10200 IN SSHFP 1 1 ADB23C8980AF34D9A637E93EF6B19A8F44B61F9C +dolguldur.nlnetlabs.nl. 10200 IN SSHFP 2 1 F591E1602245E501B55DE0B69358DE79282299B8 +dolguldur.nlnetlabs.nl. 10200 IN SSHFP 3 1 AFDF808CA232EC012605F59746850E71F2A9B584 +dolguldur.nlnetlabs.nl. 3600 IN NSEC dolguldur-bce1.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +dolguldur-bce1.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:21d:9ff:fe6a:aa54 +dolguldur-bce1.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Q55vfla9/tDCXXN8InSHRmiAmW+mexbZjUxAh7NWL2Qx4wueI50UNPzS TTlwv6J+qwTtrt9+15slQ7EtmuvF72eHRiJFWhTDTrt/gihN4NbJ+KLe fgfClM2/YCGFdo1hMPKFoQufyR8dMB94VMPgqOhiiMZvFahjgWiwDn6m o1U= +dolguldur-bce1.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. uLeyCwymqhDE9VZl7ZhsRQ2zRJ1bpWNwsTKYpBhkDYJD6xrnz/fH/cE9 XRmoqrzEJdkiJwzhJItejlSSURvL5CFkZstjPOuPSQpjG7kp7+Aiwe91 Br6MKjm/CRa3ORD5Gh1x02obKu3to6zWA7Lz0m98meA81B2GLR6E3zlg CYM= +dolguldur-bce1.nlnetlabs.nl. 3600 IN NSEC dromedary.nlnetlabs.nl. AAAA RRSIG NSEC +dromedary.nlnetlabs.nl. 10200 IN A 213.154.224.136 +dromedary.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. h6I6BbrWZYxjhWrzclpbsxgYzwfXFedgAanvNkvEv9266HOlOmbJAmd8 LrAugBc9+Q08StyniA06WRjZnxeQkaMVNNEFIhJWTNmCSsTJpLcVMCvi Mt5utlOCm9bzCMnZ/QA55OCMYwTDoj7ZcaxS8pe4DtCuuRC3Jd0GWA4Y hfs= +dromedary.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. KVFcBPD88xOL+Q3XoiqdXpXlKkDO5Rj8xv0VtUxg8JB5wdbEtnBu+jPc 58mlpJ5IzqgwzF1D80MTB2YKqDZmbhOb0jEtIsT8jSbgtfMcAyRcAfvb +sVAjpw47bmi9RRU9G54GrcXV3wAEEZIMVvmH7TuYbiOaSQvjuFCuwEJ FRM= +dromedary.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. wiJWqjEUvM+LVNqAicF1R8TIe05h9FB65eH2nXkmxCt9MGpRYQ8f2chb kVdj6obJ8OEPOkjyD3CCKsFQt0DOmej7UbzZm0iFCfouxeKsWW1RVeet V/4f+n6MeabIjwNHmuiqod7mgfueQK9/EWH9jY1bKUtvkorf1PDXRXLD 0HE= +dromedary.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. smuP2ZshHeQJd6/I45Nwur0VuJScdSlBG3izYioUuyPBJA7pYsLpsgoZ ejiOzwiL0K1f21X99J7MWPBvFTPuSFSIBeqgtx2GkWaxRH9XxjgbT16N GzeQ4KSvs2cGOKWJl8XYckiqFn4ISdX7D777IQBU3C9JT1j2q1d6UGtK jA0= +dromedary.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:10:: +dromedary.nlnetlabs.nl. 10200 IN SSHFP 1 1 B41C41F78C3A773CDA1C14346EBCE0D0AC1B7804 +dromedary.nlnetlabs.nl. 10200 IN SSHFP 2 1 B82DAE815E4CE0727498B61FA108D72FD65167EE +dromedary.nlnetlabs.nl. 10200 IN SSHFP 3 1 1B2EBB6699E0AA530538F5F9A6BBECC59114DD17 +dromedary.nlnetlabs.nl. 3600 IN NSEC ds10.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +ds10.nlnetlabs.nl. 10200 IN A 213.154.224.159 +ds10.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. j9BY+5cA4UtCH9eUHD3dy86Q3j/cKlFZ2gfMGhqPvu6PrIkcCAyykDYf hTjkeTSU9IxwR8hfcbffc+YpmMrdpdeXboheRvKsd2NCk1JOmi1vU70E 4qNb7xsGi7bqtLZqLZoL9+VWk/FJ4Knjw4clCGZjPcyU5tYibgcuueCB TjE= +ds10.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ZA+Z9tpWwam6yP0aAFoja3FVR9NbzLBxQ4cP8my8qCMPBS+/D3Hw1RPs bChxQOIJwCCmV1CtS6/kJALA03dcWJJx4Si+0FgdNA06J9RBRfYZKYQg UJuZbf7nUEegGnZ45LA+5UQd1F19PwFobzWMAqKlYuXw9PuHohZub4Kj RhE= +ds10.nlnetlabs.nl. 3600 IN NSEC e1.experiments.nlnetlabs.nl. A RRSIG NSEC +e1.experiments.nlnetlabs.nl. 10200 IN NS ns.e1.experiments.nlnetlabs.nl. +e1.experiments.nlnetlabs.nl. 3600 IN NSEC e2.experiments.nlnetlabs.nl. NS RRSIG NSEC +e1.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. cjF3TBowgNyNfRPTmWMigLGjrWBhade1A95W/xIQ8AVYwwRehUjbL3kp asnah7BMUMhZQHoSYH2Qp2W/0LXjyIReslQ7IQEJWFuBbUz04BVVCgdR /IMOZGRUzqAgsJ9rw6bG85R3qcobsB0pEFHWXIJRs/05AeZuANKLp+Oa zkk= +ns.e1.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::11 +e2.experiments.nlnetlabs.nl. 10200 IN NS ns.e2.experiments.nlnetlabs.nl. +e2.experiments.nlnetlabs.nl. 3600 IN NSEC e3.experiments.nlnetlabs.nl. NS RRSIG NSEC +e2.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. u1Prv+SlOZS6yPM6899yECHNa4nXKTyD7e9K8B/EwD7J4VYPWzvzRo39 VwGkdEn01v97KlcEf3g4mmcAnzPcdEGZT/iYdMYVCrYpXV1GhDqePtK9 XnkCRjeeWiFNOtgJxJ8I5FPqk0EKWZ5gUMvgSIz1QYmMPFOYd8uMDEBa 76c= +ns.e2.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::12 +e3.experiments.nlnetlabs.nl. 10200 IN NS ns.e3.experiments.nlnetlabs.nl. +e3.experiments.nlnetlabs.nl. 3600 IN NSEC e4.experiments.nlnetlabs.nl. NS RRSIG NSEC +e3.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. jb87bloDlNbLHoxHYR8XwUA7m5KsH6wI7H2nqR45vVu9Ei+reQ5oeqc9 +FCsJHcN6U2UQzgAicLvEwGkuGpY/U5ZjEt2TAVuSc90A5LAY0eclaet O3+G6kTPaREBL7HCq3Gcm2v+reF2K/VVSbayiNw3YpXt34zLMLxdjZK1 35M= +ns.e3.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::13 +e4.experiments.nlnetlabs.nl. 10200 IN NS ns.e4.experiments.nlnetlabs.nl. +e4.experiments.nlnetlabs.nl. 3600 IN NSEC e5.experiments.nlnetlabs.nl. NS RRSIG NSEC +e4.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. wmDfe7qYWsh/58khG5aRFboXIs1Md67TW+vx+xGRHDjYXIUIje27IR4C UWLj54ARjIaeBx6cd2Ag0keK+9h6owixP9Gi2iVxMk4F4UQ6zQrFYQZl dtOYeJS9MjknOiOnDtMLPNSfAoCKiL7hlPVuaHe9sKfO2pWK7c0mpWP9 CTM= +ns.e4.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::14 +e5.experiments.nlnetlabs.nl. 10200 IN NS ns.e5.experiments.nlnetlabs.nl. +e5.experiments.nlnetlabs.nl. 3600 IN NSEC e6.experiments.nlnetlabs.nl. NS RRSIG NSEC +e5.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. IbLu3Yl5W+GByjR+rwU/ucBoVdGdrcWy4RjKLlLxZGysSHyENA0lD3Ai kV/E2Hlp8GuyrR8GYIIL/F0HDiI+RPwh6uxMNmAzlPbuPqOnIt801Ca+ yWzYl5gVNk+SD9CtKMXILQ7oL5Kv+qNvLeLtWyIMDUnd1BbQzDzYffnH iBk= +ns.e5.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::15 +e6.experiments.nlnetlabs.nl. 10200 IN NS ns.e6.experiments.nlnetlabs.nl. +e6.experiments.nlnetlabs.nl. 3600 IN NSEC e7.experiments.nlnetlabs.nl. NS RRSIG NSEC +e6.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. oMnlAH+0zruiTyycXmVXT5c3Gw6PJZLIm+W6tw5UNrBUL33SsUdZ3USX PxTNFUCHClQt28GQU4wxcEAJswAqWdhp/PJDwapzlgrK7Fzf7GoD6krn XyQGOikJBDa8XcSWPy+0p1vOtEImeoz2RXdm/JS451xRpy0ZQg0ol8vU txs= +ns.e6.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::16 +e7.experiments.nlnetlabs.nl. 10200 IN NS ns.e7.experiments.nlnetlabs.nl. +e7.experiments.nlnetlabs.nl. 3600 IN NSEC e8.experiments.nlnetlabs.nl. NS RRSIG NSEC +e7.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. xydphjv8yVFBLC0mxA3dioNWnRvuKJ9hrAHYVxRRGvJHAi8t7bfNFr9N cm3ACxluOJbkfrS71V/tpqnNKkLvlguE1L5tGibfiheLkNsb/ICt04Vu lSY4zqW2l34zMwswhvNHLq4LAnVcBDgHloMPaCGagIy1v2HS4qCYSIXg 2YM= +ns.e7.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::17 +e8.experiments.nlnetlabs.nl. 10200 IN NS ns.e8.experiments.nlnetlabs.nl. +e8.experiments.nlnetlabs.nl. 3600 IN NSEC e9.experiments.nlnetlabs.nl. NS RRSIG NSEC +e8.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. qf/mWvZd+og40MMCrx4BvA+I1opJ7iwvm1TH4zaAuX4PWU7Z1f1L6adG 6akaKZ4YPn6sPmzVJ3QxvA/wNRAZtZYtPVxMjsJNobAlDaHl9bGfBeV7 34e5mzRldSMFAYzkSGBfMMfeVi2ZYUaOV5MCtsDxsvVDFwKsbPFBKWix Nww= +ns.e8.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::18 +e9.experiments.nlnetlabs.nl. 10200 IN NS ns.e9.experiments.nlnetlabs.nl. +e9.experiments.nlnetlabs.nl. 3600 IN NSEC ea.experiments.nlnetlabs.nl. NS RRSIG NSEC +e9.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. fOBvJPP4Ahe3UEpWPXrYkOva6Eb7nWsS3QDhKBiGhydbTBDZh2TqdYCN MucZaoTYpGhedAD922FvsXeiu1xiX19H7XWEuyiP0oCbyU+DzbA7xukS gW2gwV87ePKY+MkHYAlnUdKUtm5wowtcdabk75AYCS7/D+SWi0X1sLAc zcQ= +ns.e9.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::19 +ea.experiments.nlnetlabs.nl. 10200 IN NS ns.ea.experiments.nlnetlabs.nl. +ea.experiments.nlnetlabs.nl. 3600 IN NSEC eb.experiments.nlnetlabs.nl. NS RRSIG NSEC +ea.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. sM4PaF/rNoKNjICL/leDFWnYn46/Aa6LwGqlfCZeG7Sj6tAoUtib0CPi dwvjJt4giheWColcIO1JJ+FtOHP+HuBBV7m2blt4HXjz5fVlqbzTSo/Y 1iQB0ahyilwczJ4lVk9Erflq3RiHewu3QLtXAN88TMe/tgfqwNZRuEzo d0s= +ns.ea.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::1a +eb.experiments.nlnetlabs.nl. 10200 IN NS ns.eb.experiments.nlnetlabs.nl. +eb.experiments.nlnetlabs.nl. 3600 IN NSEC ec.experiments.nlnetlabs.nl. NS RRSIG NSEC +eb.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. jpJa3MLL8+fyzPQWDQZbB9iN6m0Jmk0yXenx616aex3nXzzvWzKzfEva Ydl8aF56DiUugZ/32JTrRhFD3jQZlrkTnu2pp7RGOfHOkRZI8nu0bvUi ohCqyw1IOkc/zSzcb1YjarScdNGLc9Wd0e0BgkgHGL78yATntpyt/rbg VVk= +ns.eb.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::1b +ec.experiments.nlnetlabs.nl. 10200 IN NS ns.ec.experiments.nlnetlabs.nl. +ec.experiments.nlnetlabs.nl. 3600 IN NSEC ed.experiments.nlnetlabs.nl. NS RRSIG NSEC +ec.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. KISwcdp2oX1dK1wF+fcMxF1u4GvPF2Z7rgpipSTxPyrsHKd9x4QsYvKr t2ndwdF2eAOF/iuTIJ77zeEeafZyFVw1xtW5aY2z/uQIsJzo7wgK9agH Kua4VWhU16HVroJcRUIwY11uvdj0oRdOeaEfhYl6ACuF2b2u2X0kqOVY ECY= +ns.ec.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::1c +ed.experiments.nlnetlabs.nl. 10200 IN NS ns.ed.experiments.nlnetlabs.nl. +ed.experiments.nlnetlabs.nl. 3600 IN NSEC ee.experiments.nlnetlabs.nl. NS RRSIG NSEC +ed.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Cjv3UG5q21Kx+eoGLgJQVUqwNuR6wk6bjsFmLrOiKuc5cbI9/nPY6BYD 4NZuKX84K12tO2FHFKlyXCshwPXvMirHb7G4Cygw0+n5ChV3nMU95H/z T3T8BGwo1DFQY+weEoeEGsDFlP5t6sw5CiWbIlD1G7gshufYAXmN/0j5 1K4= +ns.ed.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::1d +ee.experiments.nlnetlabs.nl. 10200 IN NS ns.ee.experiments.nlnetlabs.nl. +ee.experiments.nlnetlabs.nl. 3600 IN NSEC ef.experiments.nlnetlabs.nl. NS RRSIG NSEC +ee.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. IH5TFGoIwBbyl2fzvXD3ARiDoere27/pbpkO1NMHjndzgSyhI2hk4ofu i6fd/tfjwgTzLsoQ5T6qbOD2BPZH2MXOk6oXRU3qmVDICak03nJKxbx4 suYGntnhWXsbcbxlHNOSCXb2qBvsVvGSWG8WL09hi0neNEdNAUKqsMB9 MIQ= +ns.ee.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::1e +ef.experiments.nlnetlabs.nl. 10200 IN NS ns.ef.experiments.nlnetlabs.nl. +ef.experiments.nlnetlabs.nl. 3600 IN NSEC fluffy.nlnetlabs.nl. NS RRSIG NSEC +ef.experiments.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. LzxY7YVZ7YBsRnVnaeIin82nMpSsQsFnDPzXdvTTvcqy48h4Cx9oawgl oOk2wzhJ+LV6FdrUzWKoHUP1GYbCskUGnlvgQOhfNuWQw8WkSImNt4NO CIe36OuiBL5gRLlkwwj+GY4UNUcFgD4d5NhxLkcXOaOJnMAr6iRRUWoV qjg= +ns.ef.experiments.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::1f +fluffy.nlnetlabs.nl. 10200 IN A 213.154.224.42 +fluffy.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. IRyhfDdDLh0mzAmCl+F8grYmJixOiOTIoKWuq+Fr4IIy5oQxANCwg7e1 vY927OEshaH38yk5c33fyr0MwvyG7ECG5x8r/PZJrnZFxYn51MdkIy+D HpcvVs2D/F666fWJvMwv/xMc8eaiOajoXlgoqja1HR1qeN3H+3inJav2 dtw= +fluffy.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. wnkOcVN2F9Cs8oX/12UUSKZMGbT1+B5xVcFU9aWflNUMWGgB4rnlzB2x 0Of0B4yGANIEno509TT2WU+MT7eS5SHRLy6FCpAr5Quy76F5BA/iViAz cX2qrr24KPZlffXq1ciPsqOKo69/GC2JouM9OvtoCWIaIT768zKyId3C 6+M= +fluffy.nlnetlabs.nl. 3600 IN NSEC bartsmith.friends.nlnetlabs.nl. A RRSIG NSEC +bartsmith.friends.nlnetlabs.nl. 10200 IN A 213.154.224.242 +bartsmith.friends.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. y0uaW9lgs7xabKiRAFsuHeDM64XnN+Q5NLixz01WQwpK4CbS4GckFtGw CCJYtsZLm8TdR+EeDGU5u9Ol2b/F2l+p0Um4a7TtOKlCC/HYoSYr0qlZ ip6gAqs1SywKd5644nbOGmT2WnomEmEMnvuGFTCaNffOwAI5tsfvgcTo RWU= +bartsmith.friends.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jp8J1MQlslLIKwLSYapNcYB6VkLCst7mekOnDf0q5piOWy13ZGHi3ABe SF0oxjxHQVWfL3pru+yCkdk7mFV1A12HcaPMuK3fF0snxqnZ/SpqtgsH O1ioEpSMuwCl8P6xa1BV1PLcrm5FM1dJ1CP8DcoirtPk1EpZ4TGMa0Yg cgk= +bartsmith.friends.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ylu5paMbdbgRmMx9vEJKZjw6whjZINZ2PvHiLMN0krKGcd4kuwEDRYO8 gIzjVpBdGjZQ0bC1ccvA6dnoSG/d4jm8NfTrZ1HoFonVhchulBMA0Z4m N6/43xU7cwMf7yYmUd9HEviY6wupL4brCQ5Z4gdzvHu/w9pTnIHKvwJ6 fcs= +bartsmith.friends.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. jFPEvGswjTixTV4d9KAMBEV3g9smXNi3S2qsAk8nR16eCW0eE7UD80bo BK2y/3CTJ4gakIZz1mhBnZm8n/DEuHgd64G+/3euMW46X0HxA6UXtZCa dPyWCJD93ZVMm7+mN/eR8OZz1UtLsmQRsFJHZ+JSy5W3klN+P82nwqJg ANY= +bartsmith.friends.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:7:: +bartsmith.friends.nlnetlabs.nl. 10200 IN SSHFP 1 1 5C5754E45839891C9CBB30538D5745321E135CDA +bartsmith.friends.nlnetlabs.nl. 10200 IN SSHFP 2 1 3FD8568AA33165AC9FFD2E63C43F124C9E341FB6 +bartsmith.friends.nlnetlabs.nl. 10200 IN SSHFP 3 1 032577474762D0CEC79654FB7B1E3DBB9104E4B9 +bartsmith.friends.nlnetlabs.nl. 3600 IN NSEC klaaswierenga.friends.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +klaaswierenga.friends.nlnetlabs.nl. 10200 IN A 213.154.224.245 +klaaswierenga.friends.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. opCfqWW4CqzdocV3SsQ5iq9zCQc1uJFFodtAAxSbaG8RJt92HtfcD2qJ 9BtO8ZWYsNDB1P4Tewe5H179RRzc/sjUCPElg4psqR1VJ25vaSGL0Eer h7ZEQlHCeheY9qNbB+1eMISxfIDwp05konM7ZezeKaGng47mvFdSnpGA USA= +klaaswierenga.friends.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ieE7FSITJ3MKt0XmKzP4XmxvTTI6uPblGOzcE5WmOfL805J45DHhc7Lj VQ07ZdHGsZgRXfFzMlnWnnuL/8AQosrxfhwJdgUO7kTPao3T8brdumUu Og43T81NqMay5Nfb8INeroRa6FegbEjB2jk9DkKkgH5Wa3lra3Wl2SbV LKY= +klaaswierenga.friends.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. f9aL3bOnxDRZIlR/rb6o9E4IVyvE3XHmgyjPQLBSTwbCWw45mGfem2nL vekv+pvhdb93GvAyMhY9Dfe+WcpeGw9RTrhH8twl04gWzwgqHcBLB26r TGQie7dO66fn+9dsp47djf9no0JsrKP/s0GAL0FMzdBvA3A2+WwQp4uP cxQ= +klaaswierenga.friends.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. yGdul1K9QK2XS++AMWrs08Piogy7aU2Iw3rFNiqqvAFTBpaRpva24aqn Fvb52ZuIGvK3VT+NJQo5sb2c1QtZLsUbQBKKYVVnI17EgJnnp6dPN8s3 8qvAsZDbhM1yZEF3KAZtM3Gdznb1Qs6p9er9LrpMWUVyBzzosHmF9/Z8 pC0= +klaaswierenga.friends.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:15:: +klaaswierenga.friends.nlnetlabs.nl. 10200 IN SSHFP 1 1 FD05DEBFC4A849DDE4263F021DC1CDDDCFA76579 +klaaswierenga.friends.nlnetlabs.nl. 10200 IN SSHFP 2 1 FF77160242E18D4C06F09929367760CEE3F193AE +klaaswierenga.friends.nlnetlabs.nl. 10200 IN SSHFP 3 1 7EBFCC9B2B4D9B70196676E2CEF071CEE0183199 +klaaswierenga.friends.nlnetlabs.nl. 3600 IN NSEC sebastiankippe.friends.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +sebastiankippe.friends.nlnetlabs.nl. 10200 IN A 213.154.224.244 +sebastiankippe.friends.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yI8GEJgWV5ukLJI+OsI1yD++lMNZly0usAdnnI29tIs3Oarxf6+byLdI 0mPlvHHXSPyulN1uN9lLwf9PqNT2lxLVSNW9GXwHl7VU+M2iZT9zKzfY E2qpp2+0mj1guaJY2zM1nVqvpgKM+zp+lda6q9lUXMY1v580c364XzQP AqE= +sebastiankippe.friends.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. UFjlIQT79ZIM5HseDdtPHOkmZzfv/kMl3pdnYCvKrK2oobTOVjLJB5zF jHGt3972DUFthjwyW9uYOHGaYlGAVCiB0386wV+YqF+dyb3+lHGp32Pp taMGzdYSTWHTYb5z9IuNEQXaEFEJ/exImvTvY7EqGbvAcvWyOWdsYOzw CQs= +sebastiankippe.friends.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Y9VtyEYNQi+r90PNZ/4HSqNemPosGIeC3AycSpFB24wjoYvSja6K2HpR BlOrQD5esMceMDCIZvh0XBhR3+gfmpBROiXv8Cx4cwwaWeKq41sMxV2x Jr0LTK0OuZweZbW20Vkcl3884GYW4hZQX5rk3r6G+gGCxi6qTFnZmF4w P9k= +sebastiankippe.friends.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. pHlg7f08QpfvJ/bC3LHKcCEuDErse63ul0kFySu1LGUdW7g7QMG0/8L6 jV976Dz6hCdnYcFOqRwxRKGlnuy7pRYca+EgEB8kOITz/iRX5LNCNO71 V63UlQCWWkBlwDl1lrf4pFvMzuNpPofODg0QRoWCB4Zkw2J93jMEchFV pLg= +sebastiankippe.friends.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:11:: +sebastiankippe.friends.nlnetlabs.nl. 10200 IN SSHFP 1 1 4CCB30371C21EAD3FAA25E8FC13FAC565FD7212E +sebastiankippe.friends.nlnetlabs.nl. 10200 IN SSHFP 2 1 A7FBFC0DAA906AFC71693B27CB427EDED2A50FD4 +sebastiankippe.friends.nlnetlabs.nl. 3600 IN NSEC willemtoorop.friends.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +willemtoorop.friends.nlnetlabs.nl. 10200 IN A 213.154.224.243 +willemtoorop.friends.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ivgSU3GyiYLN3yNfDJtFpgH8+rT/8CCnJkRKAOEghEjKg4Se9piITwhW P/cdWYVlLZLO9dmBtl7VmwA7mFpWjg9s7WIxIz7vHMlM0KbDc4PUjHtf B7HKhsm8i0U/4RtI08LTwsJwXkV8qJv8tCDCv27Z1I4g4r3gdJPBI9i8 mOw= +willemtoorop.friends.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. xUiPHtpL+DKaYeI/v0dmtrCvMJ8213r33hMCyUz+SZEKhBy3A3cb7aBE 8iutOqhehJ1CzvPYZCIBDeeifJp8TdHgkWzNkSiO08IBJLxk3nDwdvun p5a41f3PuFUHizFVjCouwur33mWV8KfJK6KVeDI9smyFssXrcUUmzB99 f6k= +willemtoorop.friends.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. bmiTVTf5//rnVxDAM63dbAHtCHi0dZvsW7NWjbbV2Mt7+QGwWZeb43OL i0qZ2y7Xrb4+mDY1eLnagVlAVOvIsu2JAkleadOr6ddEdqZgyRzQY+g8 V9CkkPPxp0lp/ueR9fu4/0PrSeBFRVmaJQOkGUpBTWYwOaNFdBEqBX38 ieo= +willemtoorop.friends.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. vP1GQ0OtOfRdeTukC8dmJe4iI53O/q18A+nU8wy4gi7AG2FXGF1tlSAZ kOO+f42F8qbYkEDquRVxrSH2ic2TNDMPVn0kjoOG7Ys3vEsahsGmpXk5 UJcXOkLq+GBCCXHjHeaPJXc3KVC8aniaQMSbjR22Ysdr7Q9TDTqJrUsd 45A= +willemtoorop.friends.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:8:: +willemtoorop.friends.nlnetlabs.nl. 10200 IN SSHFP 1 1 E19C781CF4239B0E9EBBF9391AB805E1D29E7F10 +willemtoorop.friends.nlnetlabs.nl. 10200 IN SSHFP 2 1 1F0BE2F173A3287201549251B176C23047FFCDD6 +willemtoorop.friends.nlnetlabs.nl. 10200 IN SSHFP 3 1 4E2DDCE23B238E1E65951DFC5EC0B1E88970AFBB +willemtoorop.friends.nlnetlabs.nl. 3600 IN NSEC gary.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +gary.nlnetlabs.nl. 10200 IN A 213.154.224.58 +gary.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. MEtaHnXMFqFJgkaZ38QgRl6s65F8ci37vkiOKwE9eCOfPbTZdFOGD/G3 OMlLV2xY59jGLpkKJCw8488KRoDHYAzN1YdjyniKkYNZIFhBNZQsnM7Y uOO0mtIaUYHnCHQNJgU0xmYaq8KNwFpIll8r+lARd8CNbuRVK/noou5G p4k= +gary.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. YXPBa77gG/lIeqOFrFWvxjU2VvREE9Cv7xBNTOAf/9Sc+cQjuEVTMRw+ uTcjM7ynLySHQPUJkARUFJrw0MPLR51K5CbG704uSmvTGP89a+QIz8RF 8roXUCfzvH1w7fG4W7uZHm4XPbOrvfFsB+3eM76BxzeBkBcgMrk4xmqZ 8T0= +gary.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. r/CEzbcYyZJcHHBUPdtFlZumokYlZ0jOXjJVYzrC9wGbdSKz5hHn1NoR wUlYj+cC9xVbrN909l9DTk/eXKnWxkWtI+RU0BMGLHtvtmwtDktwy+pV 4iGbdbHAia9ZXBKv/sU064jpHPrv5E9Mx1UgDXRX+4yfuCsNLcy6ynIR Pmo= +gary.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. o38m4GvSc9Kpqe7AB+6aRrbfLtryYvmRBuwSeEN7aKELE28ID4mL7LYc 1GJMhGCXrA65qi1AuEEOgZegd5xAt6fGH7OIMvsdZaitj/5mlq4jnd0g 763XCM0HorTnMefwhRqZ0IdB1S49ZkKK9M39hIBah6cBQ7k904v0oj3d Tcg= +gary.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:216:76ff:feb8:1853 +gary.nlnetlabs.nl. 10200 IN SSHFP 1 1 ED3C7439869AD75F0EC2BD4B4509865E5E1E4288 +gary.nlnetlabs.nl. 10200 IN SSHFP 2 1 941AFEC19E19564A8D146AF0ED61232850D783CB +gary.nlnetlabs.nl. 3600 IN NSEC git.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +git.nlnetlabs.nl. 10200 IN CNAME gitlab.nlnetlabs.nl. +git.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. swiYOOw++hltWrFALlxZdzoxJyATKfbjSqKq5/VcIsZnj6l7KB04u2Qg 8ECkOx4ExvUDwBhMUVjP2z0zSM6e1oZUIOZDKigphCIVAhYKQNCz6PMS JkcVI7/vA3N2kPNVUIK4tRawI4531nM8WTqAIdkCNviHUT4/N2HG8BCE lWg= +git.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Tttnw4mJSCzEGZA5u34Z3Us1+jwbjYYuURaQC4ZB8FW9Pg9mF3tMTkJR f16DyF5l1VIh2bXa9j4pQ1BMdQdO4mH3LdcMPJP5wp48joQHMsAaCkUr pIogvDFeJvpMLy6hn2/bqeu3g5x8YiEuct8Ekx6H/o8+7YGKKAVnmq1m YY0= +git.nlnetlabs.nl. 3600 IN NSEC _443._tcp.git.nlnetlabs.nl. CNAME RRSIG NSEC +_443._tcp.git.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_443._tcp.git.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. fH+9kn3zc1Rp+wMVCz/pmBKj37ZbhlFLRbOv4aX35MmmMwaaej8F0J7P zB1z2SeyXlHiEus1g0yE6uJ7R4JujR3QcbOwBk4FQKtORvRqyH5YEz+f oW9BTmvCoeHZ33GLkz6CjYruTMqlGPGaqJnL2UzsIUZOKBKgw89R6sHH Kpw= +_443._tcp.git.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Ch66mid8On8HPi6hadZkDQ7v0f2HnRuywzA9SoeOW4W08+fbSZjigJbN +2bZJDF+B0NXVjgZI7AmXDkOiHPTsCjxkEzr4lp8LBZj6chYWUW1yn62 QXgTpJZdbpYkKLQenEtnOHOwEWuslVfzvk9BuxTi/RuomN8p2QTo5trh I8Y= +_443._tcp.git.nlnetlabs.nl. 3600 IN NSEC gitlab.nlnetlabs.nl. CNAME RRSIG NSEC +gitlab.nlnetlabs.nl. 10200 IN A 213.154.224.137 +gitlab.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. pa41m6rS2eb4SmTuMNhVzDuWSE4lyh7yTT9/FEEZt2eRaHyM91jBkzH3 ltWapC9f4VZX38LGIva6Sh5anrOA6rvh6ghJ+NWZHE8101jjuPGl3anu hQR+7VmLWEpBMwEJK1WcTKaRtpvuL+NI7rncF3mXADgHgG47MSsaiQy3 eK4= +gitlab.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. dNNEBA9wUI7GusQel/pK8L/x2D5hCdAff4DkIJJWru4zGJE6s/cx1Dyq wCyePW1dNRnBvAOjnZO6ya9cFHqIMVhwlA9vbdF3qfH+l4MIHNiOMv3n W1EkCujxTrhTVRR/0+Y+FvH8r6EOEjbjnQ+2k9Wbo9JAbvaakSqiuXdd 9PQ= +gitlab.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. YkoQZqzR6CfQTkXGBYCf15tY5RwH3qgPnx8TxixA4/xUW/UocnfGvqKz Md8cpc964Imx/p5lOrMeVzZbWAeZMP5czF7pZE4IEa2Q78v57CckShzP pXFS5PO2/ddbNkLz4dFkA/d/BiSMTNv+BrxuuV9mub/YRmUVuSkpzQ+o Uk0= +gitlab.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. iTVRm01J/Oa5m97CXeEmKhqzEcpbuM9y3369kN9KrofjHNlnYFFsB0BV 6c1ywfp00h+pxSMybs3vv1RDPb/DSThHm6WIJRRhwdLxHjeOSWKrFlcm bR4vuX3qhTVSlZ7ir8ixZD+LRKTfWQJaEeQvVo87MNZSXFdLjcpfr2Q0 xoE= +gitlab.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:17:: +gitlab.nlnetlabs.nl. 10200 IN SSHFP 1 1 CA58E26C1F97DFB9F98264A02306DCDBB9C4E7AF +gitlab.nlnetlabs.nl. 10200 IN SSHFP 2 1 F4A1BEFC4CDAF0056CAD2BF7E86444FD7090FA2E +gitlab.nlnetlabs.nl. 10200 IN SSHFP 3 1 ADC8B9E5B9C0D9DE26DF01AAB16B6CEACF18BEAA +gitlab.nlnetlabs.nl. 3600 IN NSEC _443._tcp.gitlab.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +_443._tcp.gitlab.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_443._tcp.gitlab.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. FuNI5GU7dHTGJ/P9tzyFfO+5J/iywPwJjYRgrAAjRhsVoWZTrJZw6Sdb kUAiyUnYODT/7HNjUz8A3VpVCv2XZpVOGoHmC/gFSMFVnc2MYr99BZfX 5MmOiTS7FU3rJpkp8Tc9OBtphbCp7r2BBpKxKv9UZx/lUCJl+vnhwQzH mb0= +_443._tcp.gitlab.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. FmLxmn4RYUAgEFWm77KCG54b2MOXb73/ZAFNB9fmmaZKoSzdFQVOCvvi Jer5k4x9wR8hsSB9AwvLDOg6GCi7xHnoeAAcWN2eOMBDLR55WbciPqST 5+2xhGhxByeFLBpoX/Nmbsido2/99kLfT91CNq1uQZeuE/1cXBr60dk1 3as= +_443._tcp.gitlab.nlnetlabs.nl. 3600 IN NSEC gitlab-ci.nlnetlabs.nl. CNAME RRSIG NSEC +gitlab-ci.nlnetlabs.nl. 10200 IN CNAME gitlab.nlnetlabs.nl. +gitlab-ci.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. kxHpqkdFCof4doD2L846h+yMzGh4BNJi+ViJABALzr1vGhy4aUA1BJkV 6qZQlg9bCFO21IdcqtAJ2zSaDcTSAlWHEBVg/5AjL46HDC5pv8nTMMJm /mzBLYjjBkMLRf/ZuXgIf79GOCgMQ/Al4aaLc2WFr1IOFowBR15byy71 hGE= +gitlab-ci.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. bo2WtnH1Vzl9Od7qH5aHeYe3OpyLKvqH5SOGmHSs6d4SZLMXdMCm2i6D mz6F4Aq1zFyjsyqPur4vPcodiVEEb0IpubuljzdgUwjbp7izEqJOawQ7 6lQBUpM1/fbscrUT/ElKdA0vEm+6bp4+0RA/xRmrhSIpi+k8y2SniUXA V20= +gitlab-ci.nlnetlabs.nl. 3600 IN NSEC _443._tcp.gitlab-ci.nlnetlabs.nl. CNAME RRSIG NSEC +_443._tcp.gitlab-ci.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_443._tcp.gitlab-ci.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. tRzF+/ZfwETaP9JIW+BjqQA6h3DtsvbmLCwz+F0HqIloQNesUZUf25MP 0iEydoA7APFOzr8fdgKkmHFEl3thBX/x4pPNwckPX0KsZssXTeapJkxJ htAbSmWC63YR+TskB8eyrK6Qid+ujRVbaGldEDzAwRgW0iPfJ0pVkrpM 3J4= +_443._tcp.gitlab-ci.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. uhJsgXVPXMf28/ID6biDWL+PYsIYGH7Zo9ac4t4hvIK7onAsCUnKUqNP kshwXkePGSabH3g5rQbs1KdqEQO9pgqbXfBtRxNCnDvL8mDC09K9ViDX 7pFek8RRaFQbh9jpQLDQ3/PUxbzIBxRrA+lPICvLZAigM8cDyXutzwNU RGU= +_443._tcp.gitlab-ci.nlnetlabs.nl. 3600 IN NSEC gloom.nlnetlabs.nl. CNAME RRSIG NSEC +gloom.nlnetlabs.nl. 10200 IN A 213.154.224.40 +gloom.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ckealkcASa2/4uY/Cb0rPPtp1P9PC9OqbrDYh0xfvUQx9uAp+mxZIQtj 7rGVrXYpCBR/NF+WTeoMp8AwPmBCqMMjMQ67FDvU/gXzE9GmtPj48aRS Ki8Z/260vx39yaE5PmibypHSIQUHK70Tjh40I+kAYKBYWcCXS5PkqN7n eq8= +gloom.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. rnpo0U5Rbx4dHv2CZZhy0iD+JApmABDgP6NEnoKHX7EzANfymW/gs+DJ SYjHtq3cvX9RKuB3gSnzyq7+CtjPk7pHHM6SIqpZRZ61OhwWzPz+IwzJ pzC6YY+vzHpbRm2ijaq36AzreHoPpEHoczVs3hjylsssgc8DwbIq7wDd biE= +gloom.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. uOtA8zsOxkBiiI/un22zphEnR0kCdbL+HbX8+Lz4N44cIbFq7FQGFPY1 mpMLew5776zshImj4qG7kek6j9xGqlRMUaYOEm7zMeaMV+hX/bQumZA7 HsCrX5cENd4T4AMxu87IWNDM2wKiUM3I1XhjVQ+A2GpeR/VrifncBuR7 9Wo= +gloom.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. nuCwYoVrG7b8KmKsIR1mlHEEtkToFqnYIp6jiGslmy01FXjZ9PziwVzj Ezms5Joc7aTGyYcAR8nH99W3zmsRtTh8BvvleysbBqpV5L5Xc3iTREt3 Z3iE9tC7angqCNACbTxPA1V6+Y+Omay1pgMl0OIvFnqiUqYyj2Ka/W3O nPk= +gloom.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:203:baff:fe05:2e3e +gloom.nlnetlabs.nl. 10200 IN SSHFP 1 1 55D8297F7C8015C4661182EE82287C3AB94D2107 +gloom.nlnetlabs.nl. 3600 IN NSEC gorilla.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +gorilla.nlnetlabs.nl. 10200 IN A 213.154.224.60 +gorilla.nlnetlabs.nl. 10200 IN NS gorilla.nlnetlabs.nl. +gorilla.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::60 +gorilla.nlnetlabs.nl. 3600 IN NSEC hathi.nlnetlabs.nl. NS RRSIG NSEC +gorilla.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. CYIq5ObldvL47XJEkG9/YefvzpA1U66nJpT+4+L/mz3lqoFj4yq27H2b 5PfovOkrA1ULGMAd0RR4hsjxfrH1NhJhTkNa24a0rZaobbKZ6UlFf8ix CKH67O/ujc+oYobmy3oKRqP1Q9HYUAEolMkbdifc1D54YDe5r7BRm8fq yHk= +hathi.nlnetlabs.nl. 10200 IN A 213.154.224.108 +hathi.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. E03rEDOsEE9npv563mVQmzIcFsoAwxx/77haa1eB8gAB3R3DuBcSA8tQ z7f/nxcSYftEs1h3ApUUJxKRzckT+b0+b9PI0FFqdvbxOSbmK6sX9YLg 8paKDmpEDpIpz+YxTHvZeT4m37RIzHxZ6tzCX6FAFhhNvE0l2Bt+P4Eg 1bs= +hathi.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. xg0rSjLcQO4hN1ijdgedAa1+zi6iUVp9vblb8gcKgjw5BG9C+LVjkbyA qFchgX15niuuESMSDsz4xJfA6H/82oP7B4DV2pM7twe1XcZLMLvpYW6/ Llr5A5/Vu0HgQu7fhQQO60ZBF9VtR9AIX79FqyJsjzFsnmj7O3Oz/UH2 F+Y= +hathi.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. R2ckF8in1z3Hld9Fc70Y/Dz0JuLtDSgCNSx19t5KTNpU61qzbhbLy72E c9TR77e2rBFS0W44Yw1tarsDQ5GUEEZaBWCR2PInP/3WUxRwkmslBPqI AMHNDCldl0vdGzRJsH1rmrGDffwbp6XBpEPOhMvPIiv7mXRUYKnMFczu SJo= +hathi.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. REXIVrwMJH4oe0X1qGAYT4v6MsKX04oj5hVb7iquU2FFPB3zSC8cFlnu pdhnz3IMAUgB/zsIhVIJCQeNejsX2DvrRvPzE6ae0+QU0dY0FiV37cqJ AFYi7KrPwqym9EZf5YAKK8sVxy5ZcSq833g0mG62eIvT41cV6sSTb5nW 2GQ= +hathi.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:211:43ff:fedd:6238 +hathi.nlnetlabs.nl. 10200 IN SSHFP 1 1 957658025F4A10217CC50CAD487E7D08C3897F28 +hathi.nlnetlabs.nl. 10200 IN SSHFP 2 1 A4BCB1F8909C7A9F93AFAD1048F96DA9279F1F60 +hathi.nlnetlabs.nl. 3600 IN NSEC hotspot.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +hotspot.nlnetlabs.nl. 10200 IN CNAME fluffy.nlnetlabs.nl. +hotspot.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. O/UnQ26YRzZxbWzkyVaYwpmHqx9Bh4vURc6KMoiCuF2bLQcbI+CqMw4t rnGSo7T4V75f2eUYjhtDlzRoT20F7OjuaBQYzmqCATBiwAu5la7hNQQN DgArrVUeKK6QdGpt55AfMFVSEahImmR4TbeEtbfsjHhneoR1vBWEX1QP iMg= +hotspot.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. m5B3ERHY8DuowU9ToHiH6RS2xS2Yg8Q4dfjOFxEBw4oeEV1bVnD0gx3p ouPseLgS93vmUPhDS0ZIOqjq0pdabZriqSjgg/r5W5r1eNyceBpLrwkV c/bnmh7tCW+7bOFFQaxeWeXvyKxCNeLzNWSoE2gibSWCnhk+Td0+Zaqd wL4= +hotspot.nlnetlabs.nl. 3600 IN NSEC hp2055dn.nlnetlabs.nl. CNAME RRSIG NSEC +hp2055dn.nlnetlabs.nl. 10200 IN A 213.154.224.36 +hp2055dn.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. lgC7hVyYrL1pxGEDdtAuAUI/SgEuQcd3DlWGddq1n//vXrCj2w8vikNQ PzlNb6EO1rJ7Lyv33htWVmzwpFJP7U0pPDYzqwpmXa8AHLIOVCoNEF4T U9d1lVn57V1LmUP7D1KO9fbPybYPxRktfktjt0ibCUONZn948gb+ocuV uEo= +hp2055dn.nlnetlabs.nl. 10200 IN RRSIG TXT 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. pw/3BEd8Nju/cCHnFWkGRyYK/apwljCPKGxpjqhoB8XSyOZG17qthayF cne9z8hYyPAVIfd0eNdzIngz/HVcPLHOoSaPWx/EoVPsRigrbdlN32mQ HqJaB3eQhJKbg/JU9P3Eh171pcmoi81KXOMVnJMm+yPYaHYCLCFwuWwy WV4= +hp2055dn.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. QiLcivyNM6/U8J07o0qKZLFtqeWfdsU8K6pA0HHZj3cL9ew2RmVvG3q+ ZdgJ6tqY+QV56+GwWG9XdF9wSQ0ADUxZqFHDzpzZ2mfidvHsswy57bHU +MV7wLd/wZWYGYMCZsL9d/Kw6MrR0ztgmLM8JEJy7DKlS7uqRskw9aDh wGU= +hp2055dn.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ohhGGK5qyJlsO/GkLMBbP8RoCZUc8x9yY03lft4ftWPR7LefS4QPKqkP 7mPj8XbXQY5jJi0wYyk1LlrlYo2slyFu6dvXBFQBgtBDYOu+8VtjW8bA HfZV9daU9qHhvd/3bi6Me8WnGznE4Tumufjc4O5RdfDk2xwylraXqAX3 8Go= +hp2055dn.nlnetlabs.nl. 10200 IN TXT "HP LaserJet P2055dn" +hp2055dn.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:1ec1:deff:fe81:fe6f +hp2055dn.nlnetlabs.nl. 3600 IN NSEC iab.nlnetlabs.nl. A TXT AAAA RRSIG NSEC +iab.nlnetlabs.nl. 10200 IN A 213.154.224.1 +iab.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. BTo205W5Gfvg1lCwDZ09Qieiu6SQwvZvRL/u9h/YK4ElQt/qTO7TN8Xv jb9T3RexQkYNv4JXjk95U6wDP+6Ikc/AHHOnbcMo3b63dqD55QRgQIoj Uz+rppSCvO++RxRi8nHrqAhXs+afFXNxDx49iX56CRZMd3VISGieiySx 72E= +iab.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. lZ/3JvqEDId+x4xl/SugHQhBHuhSXP/xaqcNyWqjlzvzCokeIfns9LfQ ShpC7wWAF7BB68ZDeWSwoV5+88GRSThW9G+kKu1XY2+JV/6aqYshsRvK l9OH/Rew2WJAqtFWGI/zXMTM7mIUvbqOJgSfC/m9On47RhWoD0Vv2isU 5SY= +iab.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. SPo4uJtGRChrT1UUuZkMcXqyYGIpHLhuXAHUCA+hTNogRNWGWKuDRVNO 0kZdxizNHEA3LQFnerFCHbSqTHEFwA1KstX56yiPe3W/ucXOJ4zxwMlT KIhHIEsViz87JxRQhtsFQ1VPWcFSFJsdmwq6U/C2V+XcvzlQkKYUfLuJ JsA= +iab.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +iab.nlnetlabs.nl. 3600 IN NSEC www.iab.nlnetlabs.nl. A AAAA RRSIG NSEC +www.iab.nlnetlabs.nl. 10200 IN A 213.154.224.1 +www.iab.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. wel3ncwoAoksRV+1EIl3EzeOdqT4t7C/x3Ms7JLMHV5bBQkzxA2FqogM 1JL1gCErMY9xHPcUu1HIYAOxDHmekbpfzCjm91wErVfh62BZk+g1/45k /ZRsM7glqoeCTO/wbwu+StbER767hhCeaVHSfVfz1w80HcdddJzTsFWr fAE= +www.iab.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. QMjp8EFyZWk6eas+S1xeEM/sGJTCo4OFL5KVbtE98tGzpDapIQRqSewl LdJykOdkmcgOt7iqaS/iUX32uqUQwSsci5ttX5SDTlFjQ1iYKQJSMrJS lRToKjeKxXCsgtALOFTvDyhAzn7hvEYqrmudbc02JXhNU4zZLIcvJtDm zh0= +www.iab.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. IbFf7uBYAtwBeV14uul32DjA/e41th2SjC87VCR5qMX8SWjTxLE66GOJ un5IclIc0HbAKrJHs73xdO/wcM8N1AX9OijHQP2ppleMAgFQFQsQJlT4 F0DkXl8an/RFvzXs1NTVaBjO80DMc9DRn4iMbGmpocbaYOnuvkihl8RU wuc= +www.iab.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +www.iab.nlnetlabs.nl. 3600 IN NSEC iana.nlnetlabs.nl. A AAAA RRSIG NSEC +iana.nlnetlabs.nl. 10200 IN A 213.154.224.128 +iana.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. YkC0WJe4B/xXgIEFOzG/Sk9d/VMdJtINRydDMVpcQ5X2WI5QcA3cCni2 aSHskra4BSJPSnSWPI8VBQ8eEDgdFsSDmU0loOn5dJUKygqZab763ddt 7oTAKmoO9ePji9SFwld/eAN51cy8AccuhtM3QaUmhUuc2wDTCOrnvlgY CA0= +iana.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. vCrwHK09WsV+iIVXjWms5ZjCxOHkN1yXvuU0cu5TmvQ7c0dxujXg6xQz /OxJsr9dYPqiMaRz8qTf4OLz3iCYssYFdhBp42d/+jizjpv3qsRdGEpr vKsPQ9+FRnijSGobzaybjSfJN6mV9EcS0JKS2dX/yhpDTIwzqYAsj+hJ cNk= +iana.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. wcexRUPWxtotqk5o9wAFJlrnYHohV8k/BpNyEJub8ssImb2jikt8Ycr/ f7wOZsz06cFHKNvFk/vLzfOQ8wSVBfIo8PTXNfrA00AtFSaQBde+XSCs q695RcycvDlUIiHoNhz+envOQokpXV6smdwA/KId8IONwQx6glhKOGzA Pfs= +iana.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. yq/QUSAvrum9G6b5pm2GSteOVweCYGU0kMn1XMbPQpzIPdX0JWj94mvz EItfp5v1JL2ysqspILRHxD3v8nptcSXohaRuwIit4BBlwlEoN9Yunk1t BZ6QhajdKhLl5b+PSE1VnfFtH+MbZiEagRQ/9xip2eg9NvFMgEPWYcym FcM= +iana.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::128 +iana.nlnetlabs.nl. 10200 IN SSHFP 1 1 91DB62C36C051F0E6414FA1F5BF9678E6C554DBF +iana.nlnetlabs.nl. 10200 IN SSHFP 2 1 138764C92D6A727F6EAD120826333A43788217E4 +iana.nlnetlabs.nl. 3600 IN NSEC ical.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +ical.nlnetlabs.nl. 10200 IN A 213.154.224.30 +ical.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. XdkBjD6i1wdgkljpJPiCwOTZCQwlIxb43bqscRLKHO+aoBUTXt95txhe sRwifHyn/gJZcEtjGu/tc2CZl1bcDBhWxwJWrr3vXJ8Onf4+uj6QxtMT vsEtID7ChM8fUlRIZa+15Jj2gveij3GhFF5XND/ALvmtmSGDBQ6vZvFq +zA= +ical.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. n4DvOPdeTeMeiE8llV02X/d+CnR5SF+C+hquNI5KmIEG869IGc2lA6f/ OL9kavuwheEWf+ERByKpc0oXV3nbKtCsIuggzEX66NzwnSW+38uLqKKJ /zCE8ugqkTGNZWG4HZkkdxoZuYN8fSh47Nm/Wf4MqkUUBgWIJrHX2TNz B9M= +ical.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. g0ipW4Xqb13T3vvHA0oxaoo/vQ2VIQ+SFb6xbwu6ICi/qbBfZtn0KBVq N4NDJ9NuIN0o59RI1455M4OVj8BtlOhldyP9fedzQGd8BZXlZtLQ7XTg 9/2RsWTdYiLH+xgDCrmlaujgw51csWVN+SrT24zBnX/EGAqLSPSxl7/E Zn4= +ical.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:21e:52ff:fef3:9000 +ical.nlnetlabs.nl. 3600 IN NSEC iii.nlnetlabs.nl. A AAAA RRSIG NSEC +iii.nlnetlabs.nl. 10200 IN A 213.154.224.144 +iii.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. mkZAUMIT8JXS+fnRWgT99Tl/fiyGsUMlPr8x2c9BVb3k6vaSqYSTrSnL NTK8yJXgAXgB2yHu3E39LfpMl3X/LM8rDbPHLAyL52CyBB1RBCv5jB14 WCwWnnRXd34g0GK35EJRfjYPZeaaR23UaiR1eWZw7XbJeAMLKQ+neTfl DQo= +iii.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. WZ5ctUNO6s9z+IcP1W0rcMYc78S8hCGj2j/hO1QtKQx+ZXwcV6Y1NVud j12m97fEOUCzL4Q0l3/7c1tD9nUHjpuJHYIAdWIqsHviYFSGIFZj3npn rfNBNzwOXNygRiJNPRtlu6cr4W4PqYRZAn2HxSnvlJuzEN/+wIgXgduL xU0= +iii.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. HlflHHQLd7NYxBNL68cXiIeAFzYmjFTRf2zABQLcSqh6pes1v7Vs30nH v9TgUGCk37b7m6VBk+ELWs9clcXxwVbzVW4QjO1NGp6VU/Y96GheyR1j yrhGRLLbqg58uAfx28w/+Nlo3Il3gzsTwe1eFUe/IzY4u7nLtV1RH9Kk w/4= +iii.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Qc7C4qq+45/A7MaAEkoPi2655cWhOu9PLDDwiK/U9tW1Vsi5090kNlnh yxEHfIlO0tdrl1Nj9+uUwKq4z+Su6BpJEwl2S0cr1zI9WvbZK3y+yDO1 fNN0nHfAEhV+WteCQG94akGEdWqDPy7RnpSiRMbbtOW4Oi90GOqjuG6f egw= +iii.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:26:: +iii.nlnetlabs.nl. 10200 IN SSHFP 1 1 F378328FC941C9113DB75669A5A42F6C3CF577D3 +iii.nlnetlabs.nl. 10200 IN SSHFP 2 1 9B85990B00B395A4DF5E5FA0E29E262BDDD7A148 +iii.nlnetlabs.nl. 10200 IN SSHFP 3 1 512D31550546D1DB31D6467D4E67D87207939981 +iii.nlnetlabs.nl. 3600 IN NSEC _443._tcp.iii.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +_443._tcp.iii.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_443._tcp.iii.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. CBXy6lf3RNxWLw05xSuwH+qAhM/ljWaqIXzkhwh7kwy/3/YQjVktGnmX MP9IaCN+ichYPMFwOcKZs8EVXNldOfhKl/a5aXtDxSHe1XHsJ+KmeQLz U/IIINbjiQ5nkIPblQRr86xQ/U/8JSozoDucApW1lD8UTFNzg0zdUnrj d6M= +_443._tcp.iii.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. NMz6NaQLl8Vkv55/uWur22I5xkdtr0BlAUzBbMraGMiWKkh1gQORnoo+ IAVWU3Mf/v8WAsc8yfLUPyQ4h4m2OcT6c2Mn3jhcPHHDhRN56sBLTnXd hCVqEj47+92CJWucTetzMHJTic76hgDNCjCvJ9Fs7dy+HaCNjEtdnfZD YV8= +_443._tcp.iii.nlnetlabs.nl. 3600 IN NSEC imap.nlnetlabs.nl. CNAME RRSIG NSEC +imap.nlnetlabs.nl. 10200 IN CNAME open.nlnetlabs.nl. +imap.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. miBfNrT/n007ntwnCxkSp0LOcEkpoo5UzvE24TTSxWsZxR0cEqq1s6n4 2kMcejkDqMc/wy6mjqZLF3g16X8bfh/lQKLlaThkcZ5/L67ChH6oOzzx /HbB3kidoWWXZ2CdBhoLuMiby/h378mkNYbmbl1cxJuw/NPllIGm/jbm +9M= +imap.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. XEnQ8aWyRJws1e8GlT8ZC7dOjf5voX2mebZs/dheGgKxT5ZB0NsBMDOz hQlYiG8Ua1H2a2kEZQgX4nYJQcRmykjGdD7ILBsfJ7zzLQO64KnWKv90 Ae5NGKpDSAVOI10LgVzsn9q375Q2A3VeoXwE+1qYIUxpZjTQ1dY4KtmK FXI= +imap.nlnetlabs.nl. 3600 IN NSEC _993._tcp.imap.nlnetlabs.nl. CNAME RRSIG NSEC +_993._tcp.imap.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_993._tcp.imap.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. iTV6ltPPp7sVmnp5U++3RqIANVsG8fd47sEFCuWdDQgIAvniiCdDw9T6 v3ThwlY+WlzdVWm1sG/9DU+XXFqldgqFQrl45k5ZfuPlcoNL/UIePJHX gT5+NC+74WwIq0y1NeyUBPzVkEujHLTEE3SdIc9DqrOyywdS8ui4LFu2 8Ks= +_993._tcp.imap.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. aThyH+AwPVYRr2wH+oxa5WK96Gyu3bY+uThi78u4/YdJ1oL/EOQ9oY4D i4v12STGrrY00TTXbZ5Lx39SutKuTiKIWIOBvM7RfL4W6sXxFg8gNTT+ W1Yg5n/z0AWrim2895goZCV6NaWxZ8Vc/4jOup6lKDoa1syjaY69Q/PI 00w= +_993._tcp.imap.nlnetlabs.nl. 3600 IN NSEC ipdns.nlnetlabs.nl. CNAME RRSIG NSEC +ipdns.nlnetlabs.nl. 10200 IN NS mermaid.nlnetlabs.nl. +ipdns.nlnetlabs.nl. 3600 IN NSEC _5222._tcp.jabber.nlnetlabs.nl. NS RRSIG NSEC +ipdns.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Qy9KC5vj99BYveAvbmo1McOMsTMNbFnZBKm1tvQg79/HV5mjS0d09qD0 m5Aj03Zb6SVkVLIFPvOgzshQ+MZWEMjYW7yIx/DsE83TvqJQeu/uvLhs TCADyXAI9b4fETwChwvVZ/YTgW4vYCzyXChC5/RJoigTRNmYHAwLrbQK Nzk= +_5222._tcp.jabber.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_5222._tcp.jabber.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. nttSaagT9bxm4ZF5TLctCjVY52RQlENf2SFrjT25maN33x2jfUTBAYgq jWLJQ/gV6Uw+mfJfLZQykFUeO9JOrwjBUagYcAa85Vcw/gmjNWW0YiQj GwAGeQhuSH+VAUdb37Di0/6JXtaqFgPj2OR0RvirfB16O+OYNep+YuZY DoQ= +_5222._tcp.jabber.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. QsRz4CB+nT6PwsMNuaa9YlwGepp1mBgdQejdIXIiDAYas69EJzjmF9dI zCbMg2xjtCj0D+NFAdgXNlcVOHEs0a/aSBcmPBV5NJYUGfEFMejg4oZn t1pofh/dmF+Pr5y2sQiDWyJ90TTWLtEwGibZAEdCGZAWx4/tbakd675f f4s= +_5222._tcp.jabber.nlnetlabs.nl. 3600 IN NSEC _5223._tcp.jabber.nlnetlabs.nl. CNAME RRSIG NSEC +_5223._tcp.jabber.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_5223._tcp.jabber.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Fc2JSnY06vJSW+6i/bFNCNe+VrDQFwp5BLEywlaNxE3EBWusjcvTUjW2 6DQ2dfZN7R3cb21Vg6BUi26tcVf6NJTzAan04P+0t4EdfyAMQlE92qYM eISSyFtuYgZm3MIlVG7HR9Jy0XOgsZkqQScNP9uJTFJeji2yMZZytNBd ejE= +_5223._tcp.jabber.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. IzTaEvt3f6jAbM8nqHXsYHSpHsHkm9xyhlVHJKOfyRh+HOtgrQuQxGJ/ ByJ4jUofrGodjDp7N2tA8hs27wMhXaYPTPgtbUQ2NriWq6waEwcaP+T4 hCpXwY6H5ZAhevMWERUdM2Jov8bx2u1EEDdjengdvD1rTzZEoOe8b5Hw Y04= +_5223._tcp.jabber.nlnetlabs.nl. 3600 IN NSEC _5269._tcp.jabber.nlnetlabs.nl. CNAME RRSIG NSEC +_5269._tcp.jabber.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_5269._tcp.jabber.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. N/fwXMT/lgHGhNUo55DgWDukImBHDxdqBKCatRrSUagAlm1QyS2YCmYv xjINNCPnqGI/n9Pkmo6cKlr2h4PS52BpaLurwMbQtqqBuUAu0XQbjRSV cto/6LKv7VYXKy564HPEpCrtVIF8UJiSCBk+Euat9v1E4VZBf4kpgcEq Dss= +_5269._tcp.jabber.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. r8YxETSCf9pBlBtdT8C0lTugl75dlJUP3LOzzVeBMBIIUX5dc7Gu6O1Q BV8O1GNOHG3iSMXuBeUq8PGDP+QZavAlTPUHGeH/m2JzTtCC9FCA59b8 8xU1I/wR85PXaPwIvmc6BRv9WFefY05SDt8qNVq97YuGnEOi8kKFhJG6 oV0= +_5269._tcp.jabber.nlnetlabs.nl. 3600 IN NSEC _5270._tcp.jabber.nlnetlabs.nl. CNAME RRSIG NSEC +_5270._tcp.jabber.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_5270._tcp.jabber.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. VDLXaWrtvBxvMt3SMrEpAch5ZuyM5FRjtnuz0NRV2dy2p7wxpOvgF6Eu 78Xkif4SAuP2y/tbNs5lYYCWK2XlliZVMvAMZ46yp5zUsYHjEHgeJS3q XNYfxsIS5Df6mApE9Jg/YrZ7tYcLo+zN2s54cmyOGbn97Ec1QOXfMryT JoQ= +_5270._tcp.jabber.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. VM17U76vZmHlgItXmbILQ8EBW10jlL7NwBTAinNIotzSecq8DcxQxj1+ pCSz3VNjYZgvWxHKCf3s1+eqI7VPFS0ERgrZEPOxz4opeMKQj0PJkuT/ oAfChkvyDXHQnsM+mnXGhTdCd00F/Lx20k9GhS/u3kLXV2ytAprTM7OT a4M= +_5270._tcp.jabber.nlnetlabs.nl. 3600 IN NSEC kameel.nlnetlabs.nl. CNAME RRSIG NSEC +kameel.nlnetlabs.nl. 10200 IN A 213.154.224.143 +kameel.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. m23LW2cvE8kgsjtNGTFmGI0FP2aaooLumlkKb0m/XEHoQahJuiM7Q6jt lvtkeTQJw5L4QMXPG5u58fomfNMd/Z4Ql9jcoYblNeiCN4nhunBdAdKS xtjxSOuXhXCMQ654TjvK4DD8PkFn/98zBQXrf0fw5cncRLIQ/v4cJtKo X1E= +kameel.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. a4f/gUK0OORTuzSaqixp+2hEZKGsSna+WQN1t+0x2i2hj0sZ4ND4H4lY yhum9+iywI+ETfNsallmctl4t29JdyBNio4U/XtO4NxrKOH7aGpQhS4D h6IILJc3uSEHj8dkAZ5f3r5pIfmzdy997voHErlBJZccpNdMxMEB7IFB Klg= +kameel.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. O3KP5qc1prXKlgI/BvrhfQxMM906rOZso8mJP67toO+Tlw7T6uPAL0ml zSHZGCGSGUKBVlCfRakhs/RZE5e0uAgpcuNpuIKZwgWA2gs51vJcw3bx iFdQibN6RYawACI7KhZzbdVveCExy4kHILJiAg/Utuf8xhOXQCh+qy+A KrQ= +kameel.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. m9cYOW2Hz1kJ8cKO7RWFHH3FfTsxxjLmqUEOMv2JlugIKz54LfeSHehh Y3MRKI2Q07TulyuPWmusSIGN/X4SVoz1aC9QhXqPpcA+awZgNloUr/TO 7s0xhAx9IsWutrs2kZd5KhY3xI+yrfq9RLonW4DVYE0Us9cjYasftFCW wYg= +kameel.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:25:: +kameel.nlnetlabs.nl. 10200 IN SSHFP 1 1 A5322E0D8C10AD454A33C132FA158EFCBE9F2C49 +kameel.nlnetlabs.nl. 10200 IN SSHFP 2 1 7D2CBE4FCEE2724816E33311313EE64410D1A6E2 +kameel.nlnetlabs.nl. 10200 IN SSHFP 3 1 0F3CD2F5583C838A02EA88DA659F57C9A5C6CE34 +kameel.nlnetlabs.nl. 3600 IN NSEC kern.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +kern.nlnetlabs.nl. 10200 IN A 213.154.224.30 +kern.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. wK4k+3UlJCqeG2NUd3wNPFLfIsvUdDm93ZCZwJcO+0y5X9+dnwTeBs1T bC641sbvX1rSK44wnQ8FphFgoAyBRaxr0z71/3gP0GLUzmmInK1pbTRP Fmt6M9CuPqJ5wEtwJJO8hfy0j645+EXWUNInpdT7xu8a2b6XTPVNDS/9 KIM= +kern.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. HIHufbp0DeLsp6DdeFo93c0b513hQg9oM8ONbf/spQZAM/+IWccwRxFx Uz+v2T4Y1n9P7npN+uz2/2BvxAG30Q4QjkAZ7EGv5loCrg8E2/D1L6yv EO0Yecri9ThjbDYfQJ4QWKG/W0nY4yQnwQfOXkONtD1ZUG2o6bskcCXh mBc= +kern.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. uhtSwJRi92J44aicDhTz6Y4yC2JZLe3o7K/mrlsM1oD3zlTh2FMZpceV 4mBO3bg8ChGL1gtEffrTKMMjqJhmcXy0fS9UKRelGHo9BMM8FoeLcJW3 hii/RKD5TF2LGbor21NUR8pBXnsL2szxN6i0SBnJawaPKjNT+Z250E/q QMs= +kern.nlnetlabs.nl. 10200 IN SSHFP 1 1 507A065F7173879238F947D09904D50F30F5E864 +kern.nlnetlabs.nl. 10200 IN SSHFP 2 1 85F482729396EEF58401030BFC128A5BE8225146 +kern.nlnetlabs.nl. 3600 IN NSEC kiwi.nlnetlabs.nl. A SSHFP RRSIG NSEC +kiwi.nlnetlabs.nl. 10200 IN A 213.154.224.26 +kiwi.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. qAsBoSBgD5ObUOGG9Q6n7Lj6sql18bPoBrHu8B85yhXSTbG9jCVlMSuI D81r/0QZ8tDVMiLQSnlQKqlB5BjBNK3PgVkc9jtqQcCbC21Hg5ulb9h2 rQpe/lzPLBWKnYwBgAmY3/ERLwgmQ73RulnA6tDlRY9K6Obb2MORwNHh gdo= +kiwi.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. fLutL67/JU8CO5j/AaMtcDOZBe93KUi40AySC6f+MxYfLTiR+ChzYVbB tTqCjz6JNXKDbyt8QrnTgg1nyDk9L1UkrlGWxknmxlZz/N4p+zDIpt/M 2dFY40WwJFGclHb0grpE/esgXCogGH8MgJwrM/QwaLfSbQ+lJ8KW+/s8 OpY= +kiwi.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ayjYPQCaGAxAMOF/yF4UGcNVFjTH8E30fpI8kKP2fK8y6X7PGj/vMdjd 4EMnl5Fl1ckmvDM6ID2c8RSIMvQ/BSOCnd+JfiPKK2ebJDStBQtyXXNL zBQtP+IOpapW92GsSELFptEKvAfTTooEUnQ+4GoYz904wdZyooyShKNi Gcc= +kiwi.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. PvfCgismKsqpPHVjIK6CrC8CrsYRJ1JHIDSVI8o3B8ADlSfkfhhozam/ HRxX+6C9laKDfh4pBz7cN/elWRVaCBbJIuvxAzCajpQutVlQWW3LO5ac X7th62t0Mo43/U5ogvyVp+0XlR47luYBONz8ZoH6/hj0lId0Uh1eXFPw 5L8= +kiwi.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:204:23ff:fe5e:33e0 +kiwi.nlnetlabs.nl. 10200 IN SSHFP 1 1 BEA78730A01455690B08C58A05F401CB8C6AE160 +kiwi.nlnetlabs.nl. 10200 IN SSHFP 2 1 582E0A63857B1C98C62C1378C760FF821E98877D +kiwi.nlnetlabs.nl. 3600 IN NSEC labsap.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +labsap.nlnetlabs.nl. 10200 IN A 213.154.224.63 +labsap.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. w71kPEYNmBoP60QrdTTvw8eKGmsgLQ2uNAvwtfmiQ9oeWJukzwNA8amj krdtfAUys0tgJPyc6hMnkTi7d29Um+na3SYVSqwZ0HCGqhAsoUPOS8pi sYX1Gw38MwhbVjTcR/eLMFXMxmd/VQuMo/ofBSJPXoA8MCVFWrkGX2XV s+E= +labsap.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Xcwy/RETAoiKQjs0qd5F4qHVkvfNoqWtoGNOrSgjvq5pqgMSL6p3fIQX 1MoAYaW2zHGvKifcp6ooCEeu0SNWEal1/1a4bPY8wvrp7LvaGaLfGXDR Es2/uem4uypWiUvOvmMJIiH0gqevwFoBde8pjK4ySPh3SiA/+H2+ZSzW tUQ= +labsap.nlnetlabs.nl. 3600 IN NSEC leviathan.nlnetlabs.nl. A RRSIG NSEC +leviathan.nlnetlabs.nl. 10200 IN A 213.154.224.21 +leviathan.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. EZWvsQLLm/fV1dK+yR45BhP5inGkk43JzhdTp8jF8NMsFPPkJFNcSpf3 /v2oZogWOQhnR6gA81+bvf4lo1xUqy/RGwTEjQAWyuHBPUF/48xjCr2V 2HrjEiVkuAecvbivMdqcjNGsX3cDQ5dE7jJCXrnB8wfwF85Zcodo+3+Z rBM= +leviathan.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. m7tpuw+tQ9Jf4b12x20p3mN2+AlYbOXiOPQdjU0pRRgv5u5TqLKO6TNV G7vQnxJGy03icn6HiElzQlIaxtf7D91z/DIxBQpe9sQhsqDqGUtguzNz W36q+AhvkV98Khl+Pjol1/2oKNbbByA+F1BNUnD6pg7UTLqILNU2CE05 lu0= +leviathan.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. vAFyjtEcOUP6pl//nPyxOWxWQRBagGv4GHmmLQap9KpmOTY06g7kfph7 Bj4+XSsgo1LVXZCv0wAT3yIYHSCXoQ8ics/fyc93EqjWJSYJXUbkEKs4 PhCkFbTFblh4UiBinYpKeFuthMf098ReyVF2AdeBVEl+600NuxMK1jrm nMo= +leviathan.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:a00:20ff:fed2:4db +leviathan.nlnetlabs.nl. 3600 IN NSEC localhost.nlnetlabs.nl. A AAAA RRSIG NSEC +localhost.nlnetlabs.nl. 10200 IN A 127.0.0.1 +localhost.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. t5C1K6eIYaMjLNyL7AMEPz4nyOHI2PxVc6ZUjwaaQXedBGjN3XkoAmTU 8LA+OFTzXMbcVkTGs55iY2cKczj1yFg5Y8FRe16HyHJAmsls1/bE2XiX ejs/vjfbBhhjxnQx0jJG0FmDhD8FPubXeTZPtYv5Ffmvi0aL+LIf4oK0 3PY= +localhost.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Z4nLnz36xZ6QH3VcJ8UE9B2ilC1Ec0ySQlDw7a9VYIMD+smyxTil8rrI 4QYczO++htOf+fCestLewef/HjTc/SbBsRruLonaZ2NzIoPbvzw0tp0M mNCPuWsEPhMGEHRqK2P5rQ11zR/o0nx+1hdG9Kh23P9A1K587MV91A+0 AFQ= +localhost.nlnetlabs.nl. 3600 IN NSEC loghost.nlnetlabs.nl. A RRSIG NSEC +loghost.nlnetlabs.nl. 10200 IN A 213.154.224.1 +loghost.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GQKsS7qA93Bt7VTvbYaAArJhNyNXjgIMdCIZdTI67ffY3TLeJvDoS2VG A934Rbv2KceJwYGo6s7/KUE3It3BGtph3QRJ8SvVjJuAcb5DJAXkjkjX jtoqjsL4ZZt9vUURYb8ounPmvDdeeMUQcfO8qXPqXHySauDDabVrKNE6 paA= +loghost.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. xnY9WfAcW/FmZgGJiZavBCg4w3BN8zllzqjaPtG7BJQ/bOJMSb7pjt7Z JHPlfpdusQ6EzCpcspXcNGsmo+E7mm/Lse7EA6K4Ih282emIwFsc8HUM HDBDm1iDAgfoW2dOZ19UKyeSPL0zzTIV8/4QT0uVgfAGzih87ko/lULt wLc= +loghost.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. af9ctsqbZhL+ozI4eC9ViLQ4nJb3LaFChSU+gV6nU9jlNj1Q7yXPqlIx S9BJCBVy7/JmNsesQnGi5sFRIYpVYe+XnUKZpgz0jL8t4Jn/rXrBWmu9 o5O7q69vfTJya9mf+BXMYqOogwlVDg9tjdY1CDDaXn7cSu1AH1HZHGfO Iwk= +loghost.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +loghost.nlnetlabs.nl. 3600 IN NSEC lummel.nlnetlabs.nl. A AAAA RRSIG NSEC +lummel.nlnetlabs.nl. 10200 IN A 213.154.224.33 +lummel.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Pi2NlIWZUc4gPanjcV6gb37V8nN1nE4hkOdX8wBd2/Vkefy0sBZ30oWi iTsBCvkg5ABz9HY9J6s79ptkv4Xssw4Nin9JCRqFLcnwFbnVNlvicXkq cZsFUcRx8L3D/AuiCyg66dBZ8as9U/ovn8DxRXaomZN9UpC77UiQN7FS EhQ= +lummel.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. VG9/i1INijHh3YG2dxNr/QnDa4y2VoN/tEZW/V+PylCqzHcsKjjkmDew SCUWcfD32zrgPBm3ScjjkKmQAULLBBrjkPjaK7GOqiBc6LEetFEtUZER 02KGonXJXyp3Y7kMMlMDlUL219xeKZj5S3WmtlzkjWoHtn8dU6J7CqQL ab4= +lummel.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. lfY13CXm4z7UJaFUsbD+bXDG6OaFcxrCOqneRtf8rB3n8oRiDRqrqTX6 5viMilhL2LsPyJxZ11BUV68NTzHZZNf9mDK6NMWDC+BB2nFfr08/NUAt r9BhdbDkKfePqrz1tQ4AkEKPN9fRMOaNdeRd3+wHxM7rW0bGFJKXQSo4 cdg= +lummel.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. qp9ZlklVudYMWAyrUej07TFao/0XU08zOl22pmSFXInPMPqn89F36nlh JVJCQGSK/ck6cAWAN986snvJZN/hxRDbTStMd4I7QskKswg8IG+SjYqF bbWDq8YDNdTfKARYBZYbW9ItlNbpp7uLY7WcC3nHENBMhBRhbkgg8XjY PoU= +lummel.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:213:72ff:fefb:2434 +lummel.nlnetlabs.nl. 10200 IN SSHFP 1 1 714D9E0C26DC8A36D6BC9329DF9FBA734C80E059 +lummel.nlnetlabs.nl. 10200 IN SSHFP 2 1 16A961CD6C8603459C1916C0A5A7A0318485AB69 +lummel.nlnetlabs.nl. 10200 IN SSHFP 3 1 43707AEE3D74D8B8D292CD8556B32FEE2D43C805 +lummel.nlnetlabs.nl. 3600 IN NSEC lustra.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +lustra.nlnetlabs.nl. 10200 IN A 213.154.224.52 +lustra.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. sc8OTOBeD7qHy4LQ0+9FKiewEhEvrUa9EXd6LyMkeKzomee+545x+NEI PcWP245feCB2mf4kCIzPisd/DIK5jIWQy8c+CQR/7bpIhInaiPAL+P57 ru0MEeiH8TSvvg6rkmv7URoxp0P9sCLPwv1GjnvXs0LZpW7s2kNKKL3h BHc= +lustra.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. NKtQaVJMZfUSfENZ/9VdBE/nfPzsWgygLx4k2fJH+swmMmqc1qrhU5HM SYBZZx0G4xy4EB2/PZfxdi4PQuPknWL/a68SYUWW6tOKp1BCHfCb9vKf h7139jq6r0hAJB+mrkocm4VCoitE7Lr78gnCIQXn9hj1XThAGau2GzVi TEg= +lustra.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. w4A1xE0fHWNynO5wXeoUbRInwBu+74CY85Zd7gMLCwEfdunpRaiTTlF0 UE9G/NrNMBbOhRfYrcIQHdo64dVjqIoxsMhoT9ZhMb1oBwJHVaa9OPEX IyOgcNMHAu9OFJG+FccIanez2sgEjSX4hTjbtq36qp4HxFqlt2nO2OB/ ZjA= +lustra.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:a00:20ff:fec6:5984 +lustra.nlnetlabs.nl. 3600 IN NSEC magnesium.nlnetlabs.nl. A AAAA RRSIG NSEC +magnesium.nlnetlabs.nl. 10200 IN A 213.154.224.29 +magnesium.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Hu7ti5A8FKKnuYtITcL1HeLZs02XhpuSy8sGQzfwqNn2EJS/RJf/fhkW ln9kWsVce1s6QrxW4Y44gVs7F5O3K9edJ7D+8gVlplDgSYVyfJOIcw74 qSU2uqd5qmvl3OT6FG7KM4fQjoDXmAtusninqXCXKW5cyWx5AmQ6JHwi XOU= +magnesium.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. NgLlGFemonFOZaepSP+whiWmmBjR7UFVXhbk32Qy87IcoGH69caFSd/p 5TXDlCamQ5jylh9wtj0cKwl/2Lj8VMbPRDszMD+dQreO9R88NEXi0k4F 6AH7KmM1SeWtScLnM+dDpBY3M+1k5gKAG6OvSCRKgNaoiqarB3/dxNfD SZ8= +magnesium.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. A+cehflHGgMrsAFX/6C9dJ2H5j3jKgJxvc9oW+j9qRKq24DWyTpst5av J/2ELF7fmMo4aObzAsYFuj+0HL1FL/3ER0zmr7BRdlJpEF3FgoehSJC2 pO1Ba+5Sr1xwpq6dn5QuMi6ZyCCXciHHrIaXdn/MPojhMgThM0EHNeF7 zmM= +magnesium.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:225:bcff:fee7:c3a8 +magnesium.nlnetlabs.nl. 3600 IN NSEC man.nlnetlabs.nl. A AAAA RRSIG NSEC +man.nlnetlabs.nl. 10200 IN A 213.154.224.55 +man.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. le3ZV3IAOGqt29SB438uZgraNdVjsL+czFwqsMdlrmZ3CJ8fxDtnjHqb G7bTcEZvdFB/DiThopl7jB8pNNRPFr6CM3Vg7GYdReJgXc/DWboS1wlj fVY9epr3Ix+GsDfruuclQjdnxDlIEehZUUnEgu3xheuXL67bMkl5fWyV ck0= +man.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. fkuEhUbJAb64QZ10t0pzgEs3ExMPOtsvhHTpInw9GGnSGhUewSdyR8LN mjubuqCOldUbE+6dPdcNuwhrfvaJyZTldu42MINhtRCeKo9NAUwkxVF9 BrT4TC7Nz+VORaPJPD5+J8RgctjE4kU6jQTZvzCMkrxxzMFACZRF75QH v3g= +man.nlnetlabs.nl. 3600 IN NSEC maxima.nlnetlabs.nl. A RRSIG NSEC +maxima.nlnetlabs.nl. 10200 IN A 213.154.224.208 +maxima.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. VoWRakLC+StzLtTeUdS9BqGsbuGaXPytOsyROgkLfx5YwfZQ9S+IbO9C Tr8MaTPbh0QCcQx9xk03S8uebxRYcuYtOED6RlKzCgcSyyYebtHgpFsr l4vd2JQiGyo6Di3xvnYiNUTMgDhW1fOXblwUaJsbnyJC7eWmoavX7aJI i1o= +maxima.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. mqpbPmOS9G17bYSQ9OG4LRf5hRQ9VCeAUamOkajYmZevbYEj0FDShP4h 8usMKK5+UHzRVo4EtrXy10bSUGrdkJGFMPgc6EIq/0//hSYAhpzPmde7 65zyw5q5jZFyhK8YMttpNtdOUcLW0LJW5OnDC2PKINnag73+IQgT+Li0 AUo= +maxima.nlnetlabs.nl. 3600 IN NSEC mcvax.nlnetlabs.nl. A RRSIG NSEC +mcvax.nlnetlabs.nl. 10200 IN A 192.16.197.229 +mcvax.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. CUC0XymCQ7YfFQ1qkjL731oPc4/80S+9AIKCDIpOcD+/KGirLCNhXoUz 73U/7Ibsm0ZjOfZ1HtFKceRnjOl/uGY0007Wxbas/O7twGMPeg6Hp4dR 9E968uU51+6Pqu67kPqrXeRZFObH/bCpGSq1JAjaPrnScGLa4WriDiv0 /OY= +mcvax.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. W7D8uLNC2Nl0XVGFATuHmAxI8xAjeGKc3WtlfNFJggcTlsLrURWPg6ir YcfdzFqMpprKbunEQFZ7Ol+A7fCbJe9HMw12dSA4fQ2/PPvyOHeB80++ x6Djd/+w9lYD559E9XtJj4dRLZR5PAU2dY3xDXPI+rdIRyqfnGnNSbAa 3aE= +mcvax.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. y8XxonD25ER6WpNF73VfLFfiUXePVLuwvfFyV+jotG2N6HK8mdBFaQX+ ej39Qo0UxWkf1Eh7bEZSYCeR7TXd2fp9CBismqnNTykji7vBNIorzt8g sntiYldaLDCZtg0ds3EexBSbfOh+m98TQMGEOiAWNGn1zrROXyI3i3rD F+o= +mcvax.nlnetlabs.nl. 10200 IN SSHFP 1 1 51C86252CB0488653C798766A266CB8142AE2333 +mcvax.nlnetlabs.nl. 10200 IN SSHFP 2 1 9E3B089D4B8A9B360C88D44C9D07C13146C87219 +mcvax.nlnetlabs.nl. 3600 IN NSEC mermaid.nlnetlabs.nl. A SSHFP RRSIG NSEC +mermaid.nlnetlabs.nl. 10200 IN A 213.154.224.45 +mermaid.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. rHmFJSkyNzptUBIuQaaKr2zb2U5H1EivOxjEFxIAvZCsGH2XffWRPGOW Hji4L43u2yIV+wtAZFezjRDkFZregwQACi3++/jrwVhGf55kwl62HLqu LajrRHZnrfI4VeTeu304IheQC4ac2b+VmPEahOP82Tzs2sJA1tQYrB1U 5kA= +mermaid.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. AonqqIy1OONOjM2tskxUMBJnW8YbWMmPQdCh+quLt3JvQ0wKXiqLhmPB YVdIfD9+Y5qK1I5zlgVBFawgYobZYZNWsoPE+Th3TPikHvzkim2jm72D kxvvO1wPGNmEHfVJIYMf89E4Tafg2T0dfTfj3H8iKrh+oRwbt0ASJUPL 0jU= +mermaid.nlnetlabs.nl. 3600 IN NSEC mine.nlnetlabs.nl. A RRSIG NSEC +mine.nlnetlabs.nl. 10200 IN A 213.154.224.146 +mine.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. QuILOT8ouhGuy9+rzR+BXua5ln9WcYSbe3f3Y96w6yBwo9wlUF8aaYEC P7VlMzpmL5bWp2F6D5ceE6YnufLOdCXVAF9bSD9LsGTUoHTlpz5AcGTY sGG7hlPQuXuEgdkYTXnSpZsIJ4OauQTZkz2C2XQLa7cAEl2ITo2xHguo eVc= +mine.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. FF8j0F6CHRgyani6OfSiuEajaHkzFIHbadxhWYD5aoxnh9UdUV3vPpnk yP75sl/x+eLsHnzRIzgACxN/3CgR2g3cEEXsAJ50wqqQVr5H3O7IEwwJ s/je8GgSjC0BQXpK7PfFZSHSsTR7HqNcpoyxXlppDBTAKsl/CdSkzy+o 3pg= +mine.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. TvhuMYLbzZ+WL02eHnLoq+YFwiNUMmu7oHcwpGPoXEp/WYRILOjwFtXZ EGJHLxSIShk+dzZ/l6zN/M3cw1jYdlXdR/ZGC9bwAZFIj5leJy9KWzTq pynue7whJ8J4oW6tcLU8PbDaW4mUn9RvQBEzcGUmcwLbZPpewa9jWPKQ ktU= +mine.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ptgxugAkoqtx++3LcGJ86LF/Sz+99hddcjbfAfDLCw9lnzeTq/izbYHv aq8BLtOvBuTqUpRaRj+0+NkKvu79VHX+qiMdkw0MSQKYOistetnqFOZQ i6zDs+eeIZRpI51/rlA708ziFfjtitcMp2duoQwcf56vegZe+R8BfM2n 8aI= +mine.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:28:: +mine.nlnetlabs.nl. 10200 IN SSHFP 1 1 5598148ABD16CA46A5F1978D0566D253375A5F27 +mine.nlnetlabs.nl. 10200 IN SSHFP 2 1 C0535C157EB97B21B2E52CC66AA933A8ABD7BCB8 +mine.nlnetlabs.nl. 10200 IN SSHFP 3 1 10B764904D485D2BA9F55231D1BFEF01E15CF249 +mine.nlnetlabs.nl. 3600 IN NSEC mirre.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +mirre.nlnetlabs.nl. 10200 IN CNAME rpki.surfnet.nl. +mirre.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. T4bZrYZZu+kwbYQiB/hrYZtywNBLXhfIdrteROPUGa6uYKTBiQayLBjb H7QNOeen5ux6JZSeHuYCRGm7YVKKdCw2fJ6RZ1YLiQMJsxRu9KOnxwvv l480mbv0jMARW348Lt/G+IbmkYQNe1pppwJe9vMGzG6I5yagsOEe+zGW ep8= +mirre.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. eeqMxjUtbdtDdufJunheC9AktaUc63dF1vAmOiRM+zRvl4fA1JD8/Iho 4iKhcizOrhkW+M4BjUOGbffDYrkKGWyz4tQJnjR0v3FRKU/vGzBg6kaS du387En5FWhIz2a6BWjq1f9rcQz6sJOBD0ngEPa6ZWa6SSqAwuaxC6wQ S+8= +mirre.nlnetlabs.nl. 3600 IN NSEC moby-dick.nlnetlabs.nl. CNAME RRSIG NSEC +moby-dick.nlnetlabs.nl. 10200 IN A 213.154.224.28 +moby-dick.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. rjaW/SjPZQR9opeowD9Cf2EsLMSIEMVRWaZvu17jy0s6e5Mo4HWhvzdg iCyDusXA7oNcFUjYIR6/UdOE9fw+CZai9KLX4/S8VOfmlFUZJ8G04O0c 329+ae6+n87bGre5GJOUnqOx8LcjPizJc0BOINAf2NsCF42rcEsV+ibF J+Y= +moby-dick.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. SUVyUfbpQWRdn59Gq0grxZl0EWy2T5HhiyA5fT4fvfuaTADR2QeaH6IX 5GpJ60VKA5eOoC9OBTZiSsxtd1Az+nM8gHgpjTcVcNvCE2oxSAS6oNVz +zesAB9inMZB7Gi/pnB4gjvi4cd8+UMB43Ig8yoolOdyt04TnHF3rHUs JQ0= +moby-dick.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. seL0XTC2yixKJYfCmy7jeodFdXU2q5VPMZ8MMl8PPR+QIMMEFSWymQhJ EvwVwt3S3F5PQGp7X4+m03Ngtw9zS8GS6bQK83cpuSP4c663B+n1pyHu ktdHR01oK48qv2B8eFWv+QOeUnI6Wpt2UhEI1xs313cDSXiqFQCu3wjp ejc= +moby-dick.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:a00:20ff:fee9:1c9f +moby-dick.nlnetlabs.nl. 3600 IN NSEC monitor.nlnetlabs.nl. A AAAA RRSIG NSEC +monitor.nlnetlabs.nl. 10200 IN CNAME nagios.nlnetlabs.nl. +monitor.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yze38XmcH23/GK67TV4bXmOapjgBESP4+tbrCdfYFoGwCVtgHtdO4j0u Jh5GDaB2v4+OBAmKgrXBB/xOTlZu3R/c3AyJndbd2g1iHqASmIqfYXkb LxiQhU9QVeIwFaClVLh6nxTC1+JkG/O6UudE8PZfSUlY5A7gBdaXZgbs rNw= +monitor.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. OG0LutiGlU8L387omjPDECL6Mh8w+xcCI1Sp4U9fsTYjAtu0pRUB9yR+ elBRHxCW38NxrHpLxEKTBKuCT51hCuHAWKEBGFO9GO4/QV+HgcGwrDJn j+PEP2nYZIqIHvZ/cfKSNnpIpN7c+5NoPIJYoU6rMaGhGc46+Dt2+3WJ iMM= +monitor.nlnetlabs.nl. 3600 IN NSEC motel.nlnetlabs.nl. CNAME RRSIG NSEC +motel.nlnetlabs.nl. 10200 IN A 213.154.224.7 +motel.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. S+P/gbnSQdL+9mnkl5NdYf6+/SsGK9l+ppaKPFBfC163QKhX4f//EvU7 4Ij0SkQ7p1oAjx4DTTDeA/4N/Ac+F+hveL+FJOE4GwT/A7q/1HJS04nh rR+a70FHTeT515CUT7gzG7DQRo/OjS5DmVsZdB0JRK8tGQ7ZgPtW2PL9 XHY= +motel.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0FVbMO6M/uo4OqjweVJ/3m4J/FPU6mdmsGIvjt8hlSp77RosJn1MZrqs bHoK+ArYJ2Z32QZuhAJnLm+RU/bbzizps+admsymmZJ8sm20+x/FAlML ClyG/FGDqCNHkZ4+t/zDN9cEyAnDLcnCXRJEeTdBgNyT9Yk9e3DMi4wj TLE= +motel.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ZGCdLU2VD/3LGAfdcNHub0OO7L6ytEv+IKqoaCxB9xw4wNhFijKZinlk YlawC+ylOS08WoIV3h8ZVqEX8dce/UDma76TvZsF1SDbZUZM9akkU6Po /oOmeE8FnCh+OuDC2dx0IE69ePSSS6q1XOE3gAFBOmSWg/H2M/+iGqP3 z7c= +motel.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::7 +motel.nlnetlabs.nl. 3600 IN NSEC muis.nlnetlabs.nl. A AAAA RRSIG NSEC +muis.nlnetlabs.nl. 10200 IN A 213.154.224.56 +muis.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. wza4I4gA9H46HW5fU7K9rwNzvOYZVIDmPYJjohMZbO+x7s9ja9c3m3Nt TG/SZdTXGCWjh8jh6marIGfiLBMyzv4i2egV3UBpqGx0As/oCSqWjJaj 1ZhHWtDDbnT7H3SfTt6pvZzT3H3z/btj89hc8XpFJxysOTazfQSOdC62 T4c= +muis.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. rrcpuS72u8zuhFnhIzt1mqWwuRxaWQyL14J65yCOQo+iHMcg8d1xFfya n/HFboVrNFmWpsVkULiyquUqRQbuALuxE8+SkSwtsjFQJxemW7A+DLh8 xLrMg7yxRKl5BTUjJeKNK2KAUJRmwuPHjgm/Ws7ZpvjhoVZIWuXBMms/ 0NI= +muis.nlnetlabs.nl. 3600 IN NSEC mysql.nlnetlabs.nl. A RRSIG NSEC +mysql.nlnetlabs.nl. 10200 IN CNAME open.nlnetlabs.nl. +mysql.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. CNrX8SLsxsKTF+c5iS/+YW9TsRnMu8EkEEhMnt9T6zt6Vo/B0ZaGBHpA 1wb0CvF2sClbF8R7FKiVKvFSYDqCww3/yCdYvI9dWSTB+IOt/SSRXPxc zn21crH6dDnf3D5/JmSH1CXZHJlK0v94krR5atbD4jwVtStQecglO3FX 8dY= +mysql.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. k/zVwY5uWnHN/P1rLlD2q685e5m0O8p5kcPQB5s0eiy7lgtsQGv0cksu LtQU9BXxEzMfbD+ZXnxA7GF7ijmxJaWQ6mxO2AvBVuEscpcHhyvpJJKd fBA3BaWmfX3wyhdfla26UseimbRTigCuAVUBYgIRdpltJFeMQKn15OZw ZNc= +mysql.nlnetlabs.nl. 3600 IN NSEC nagios.nlnetlabs.nl. CNAME RRSIG NSEC +nagios.nlnetlabs.nl. 10200 IN A 213.154.224.134 +nagios.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Pz5xCIRK4xtpercGB5uHI9E8V2PQQl1Nn7TB4bJoh1bwExwJAyOKQA3u s45zVNRtm0RH6nnBEEl2f1somZGTWCx65hSNfRVP7CnuvyaDuh+FGML+ WGh+/gBsPHsjfeC6pPM1f+QaavgWu7P5ifkWEvrUlkF8dx9g0LmkXubW 2Tw= +nagios.nlnetlabs.nl. 10200 IN RRSIG MX 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GgWKcGZdL7L/G+cruxqVHEyi3/oZYMh6EdlR/Xv2+3bKFCRiCdbn9oWP CUi13G2QzpC7LUr15zd9XgYR6F9aQaQFMQgtt+f3MVZMlZHRwsQ5/WgH R28rwJwTH05twRnegGu027s6gf9dClBbUaIDy6V0GmRRucgf0mdbm6RJ EQc= +nagios.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. WPtwgfR8q74wPyDbvLeiLM9rgsnhB8s2SsQtQQOCPrAiOWsH8MfCrsch DPKIpx8NbvQtjMKPg2yJ4SrqlIqtyBKhcGVqQL4bx1SJJulzeBFiFquQ YSA4mV8EZCSgSmwaOYvBUR1Gjt4ELtuleuDrV07W5XMZZWuyhyJ5nmKS ptE= +nagios.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. nXN9hSWLziW1/kj0liJynk+jwRDdgJYzOh1EVIxcEEIfDxUd03gTAIZS N/X7V3KR8KhNi/v8oG+5hyfGIwYAPumKfSIVKjd1ZxJYdZDSrrQYOLqa gabCuP9WeXb1Qrcz2XrITTUcAFaO8FYTDv/bJjJLpNQ7cAkjOqzhggV/ EJ8= +nagios.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. FPV9ykHq0Pg1jJvK1APbDnlt0e0K6GcGxovuStcis0IqWV9uRqW47E3l 6bqVMYkCJHStlXMpF1PzG8zTZ2nG6DqlnIIVspJY1PbVC8ae8sa3/iS3 98E61Kr+8ZXBvdAswe52cMtUbI0J/kZNi8/wob+IiezOA7b5NzsUkMRE TqY= +nagios.nlnetlabs.nl. 10200 IN MX 10 mail.6only.nlnetlabs.nl. +nagios.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:4:: +nagios.nlnetlabs.nl. 10200 IN SSHFP 1 1 0E1A0600D0A7F2511C8D57410422D9A99618F201 +nagios.nlnetlabs.nl. 10200 IN SSHFP 2 1 4EF80FEA0025691257FF34B992118BD9360257F2 +nagios.nlnetlabs.nl. 10200 IN SSHFP 3 1 AF21A784B933B4B2F28967845B41E0119F91D3BF +nagios.nlnetlabs.nl. 3600 IN NSEC new.nlnetlabs.nl. A MX AAAA SSHFP RRSIG NSEC +new.nlnetlabs.nl. 10200 IN A 213.154.224.1 +new.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. c4R5mlLsWCohgvAKH1LU37LWlERnEvmhcT8UGmWndsoUAqmvktCUF8i5 o2TbZt2B00Pu9UEMLgRR3Aty5ThdkdVxM/NXOjTbtYif9POk8EXPLT9V jMmgx+NJq7U/r3sYEs8Za5lmtD7QQbqsAwVTWO76fT51Zn20mZ1N450q 6R8= +new.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. wgyXvJ6iOsZBBvrgKnSYFEjpFjbju+7fsYjCrNW0w6u+JbvPiOVN+7Lh AG7xSpK0fCzuAmRITLMLt6WeFz4bK8dIo9mfgFh/Hk1IOqi8SsBO2sK7 k3YGH75U0o42EKbwT9WArZhThw9IAxgPUPGfb69OPvK4/IgOG1cszyie icw= +new.nlnetlabs.nl. 3600 IN NSEC NLnetLabs-bit-gw.nlnetlabs.nl. A RRSIG NSEC +nlnetlabs-bit-gw.nlnetlabs.nl. 10200 IN A 213.136.31.102 +nlnetlabs-bit-gw.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. oDdsx25DwqkOrfhNaq8egtntauRZXRr9J8c6VkyrwtSdyxfGyv9OIjg0 v3VzZL4Zz9HnLD4zrEkaVdapZcYVb3ML3zx37V0tS8m2v0KSIhffqcMn FKadP2qzh8GBKwOxfOobcQUlhzpWzNczVr7IQ4pnMJvneiWCBSvl40S4 qZ8= +nlnetlabs-bit-gw.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. MN6oRYRJKO9zE0rZAAFKavva/bWP/a/NZuptQJCbc3t/wIHxMsHl8iko v13joBs3oS4bjT5vWQwjhcsuLm8AD5bGQLUbnSyR7D2ptTxr+LcNeYIm Ddo0aZTEck91+5bWxUqIVyA50qDBusX2iXvQzVKIqXxeqpCyNcfsb+FC v8M= +nlnetlabs-bit-gw.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. 0oHN1xPXC7LX3UtrguFmM4hl9SKp5d+FD6kToSzZHbrvi/z00VbyOjuy Qqg7MXnY4o00S4YC0DKU3o7mnWM+Xq8ICwGWySbV/X95F1olRT8VYh4c W/CCewJcT09jBVHU3LayT6Z1FzsgTqltxhPHWuWXCTnSAHhOxhlaxH6w itU= +nlnetlabs-bit-gw.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1::3 +nlnetlabs-bit-gw.nlnetlabs.nl. 3600 IN NSEC ns-ext.nlnetlabs.nl. A AAAA RRSIG NSEC +ns-ext.nlnetlabs.nl. 10200 IN A 213.154.224.4 +ns-ext.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. PYR8Xmf312d0RE3cD0U5efOPvFSm1poaTKTnQx4DL+1YyuuDC5fejs4N FpIRtb3Ns/UUK28ixBDLCG11nkKBLwVoY6LF+uyHP/VVSVI064ovFKsE zuPBks0EHtvVH3KSgUIf03zISnVa6DSG9wJI0J6ZV4h/J9XOjJHZoX1m 7DQ= +ns-ext.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. q6sKasoaqWNx9OuPoeY73bA94lzavp1xYGeYkPz7jZKe6hSNlK1nTwY6 VCAQMzZ0swNR833H8FF64lX9eNB2jjiyep2S1iljMr8iNOKTqQqC7Jsl 1swCeCedl5EIdMX4Afb6KNa/ZAAykHNHfygBzU+WllObBA7ACbMygEiB knw= +ns-ext.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. T3i8HFKONpCKoVMl2QgNLmZzQwIb2Z+gp0khgwEg2mIhlUeCl/qROfPF 2Xs+Qc99hUA1c8HCLOtmdEUOkfK6MYd6sXvlEZX9b7ooC7XTLO2wlRBI ltGqM2Oi7nyWEVYIhT73CB3YjcCICCEYMADVLsk+Ri3MCH23NDy/GIZ/ fyM= +ns-ext.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::4:53 +ns-ext.nlnetlabs.nl. 3600 IN NSEC ns-pt.nlnetlabs.nl. A AAAA RRSIG NSEC +ns-pt.nlnetlabs.nl. 10200 IN A 213.154.224.141 +ns-pt.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. hoCIOtbQRXSS86J/RpsCpSrBv/XH+yv7xA07gFxfowyOf5nqm/bnphqL WM/wl5ZM/+lxB7kRtADiupSd9Gex3u4d9q85DW2zTjNHK+tM6k0ERzus OqOCsDtbpfDG0G2PMNcc3Tz8s97moW5cRzPmFSxDCC1OVwc0kvNQZGmS sxA= +ns-pt.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. I469Bj2hh4aZmWczXVp8OVTeQGKGVZf8IR29OuSQtCKts/T54GReP7aa tYWWCu2KT5d9tcUlzqzm96l5lwQwW4ae0SKMU1iyNBnnaY5tgWUusFWy oGfTZRsXRFk/aJ65E+MSunonCWCIWtRCl3pqkQw22mN7IsraUxKULbj8 Sq0= +ns-pt.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. VV4BzULEKgyPxoRlHNfjxMPVl59gVn5pKPJhOJWbpFOOcbHb2Y+THaI2 CNxYEybVVV1zDVq0Qftjo3sNuq0Pq2KxrWjpwFzGvZq9ensQUJuQHMVz wUBEQ5l3o0xiPuSDtksKj7vklbA4z+eQYZnpsNvUsPHNny0BOYrH8d1i Bcg= +ns-pt.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::4:141 +ns-pt.nlnetlabs.nl. 3600 IN NSEC ns1.nlnetlabs.nl. A AAAA RRSIG NSEC +ns1.nlnetlabs.nl. 10200 IN A 213.154.224.1 +ns1.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. FUS2T/kEzTCQ4gT9zlTX0Y+wES1YaF9NYfJL0YaYGAjyFqXJS7ORv7zk LkytMwdik9MAsjHZAxywPBib8UCIEvE0qIhTe/zdBc9y1UwuIPuz+5be OswtkGyr6Y5ln71FUsEXZ76QgHJ8eiaPRyBse9EcvukjHtFiaGFC4zjJ K9Y= +ns1.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. iUpUQMHie91GDiWaZp/z89RBWgYCmMleQe901garsWydjNCslI6JWO1S s9NYGqYEv61XED9aPDbpDl0ayHXyVvN9twZSQxU/Jnn110wnh/+2JOxN 8h0ZaFM/6lblMzfqDx2h01K1ywcbwtqXcSvP9tcCeM6ZIYD9EsAQSvvm eCE= +ns1.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. fj0abC9ioRjgDWAH5GNaHI+5bWT1+8EN4YVzR3+BcjZjnhIhRNsUd5JM N5urgZfHHQXsXGvKOMZqc6c2uiXrgowOokusuNU75Bj/QUhGvqj5erQu 5NOu+qltQMGpmR9ZK/qMwAUW4IHzUs1WqjVJaBWcv0BxKM60DuEOg4VY wfc= +ns1.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +ns1.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::53 +ns1.nlnetlabs.nl. 3600 IN NSEC nsd-xfr.nlnetlabs.nl. A AAAA RRSIG NSEC +nsd-xfr.nlnetlabs.nl. 10200 IN A 213.154.224.49 +nsd-xfr.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. a5Nt/daUo3vYxQ+ZQOlByGmQHwQx1YK41rBVt16snLhY6udndXmKBPBR GY6hIn61QwDtIdQQlJrG+y4MVz7VK6Ze54C8FruNJ0NrpnNC2tNapySA 4Twb0tvQoQbdg0mcIs4kTo8/MoINfv17ONq46SArrq9cnRsvEGBpcQnr 0hM= +nsd-xfr.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. p5CD6u/KGV9psgwpQLGTe7cTLcrpzqonPOluVI7mOAi/wAQyI5OVlJNi fqC0Pwf7x5w2MxfX1oIrUfZ6B1f9mfY7Wrrv88Sk8V/H460aupP/zYJh pPNpzzOB9urfodGaQrBLDh55smeGx0PLC1RTqSYymiq904kTRKFX0rMq Fyo= +nsd-xfr.nlnetlabs.nl. 3600 IN NSEC nsec3.nlnetlabs.nl. A RRSIG NSEC +nsec3.nlnetlabs.nl. 10200 IN A 213.154.224.21 +nsec3.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. aznMjPMBXNxIWu+DRnoCWDBHPOO3adIOKcKdT/9DJdW1Qi6s//DO1Ylb 9kkh1uDQiswhBcLn3E5/+xlx+zhXLcuFhIYEGQvBTgnUbDjWrDfxyeMf 0J9eztjn2v2K6oGl9ru2zxox04nnyS7fG1TUzIYxMPAHAlFhaaB2ieGk 0ZQ= +nsec3.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. HydNTpvGJ3tBKHbFH2sFnXJoiYpCG2He5OxLNdnQnmFcxnbgkSkrFgWE jbaypj7Crnoo8RHACcHR6XjXkb8nNMiHscHOSWhr9s+azxy1ZyV67j1j XZMosoPZsVhRSK+aBuE6kwl/jJTW3j5q5ZuiCO18QAJimMSPth3UIW3k u0A= +nsec3.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. uLxqAz9flQLp+KF0qgr9pE5p1+YaZhZzB7AqWrgIMsOKBuBkkYCDssc3 d18A+rGdwQN/Byl9dkBb9q29qYEMiDfjZenJJvuI/RW84Nx3VOaaJACy MRm6bwhlpbev5OrAnWXRmuVghdX9PlC1/b3LMXR9bMfnLeVX1Uow6yuU lxY= +nsec3.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:a00:20ff:fed2:4db +nsec3.nlnetlabs.nl. 3600 IN NSEC obelisk.nlnetlabs.nl. A AAAA RRSIG NSEC +obelisk.nlnetlabs.nl. 10200 IN A 213.154.224.126 +obelisk.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. K7fvlL4xnfvE2lJuP/lhaWrBkwBFklhBSxejbs3g/yhEfih77hAxa/M7 4pzKC3Y2NpAxupCQe6ALPvq2OQ3fdci3UfVMFsuMdiSMKU5Hf39iJAED xaTD82VasELWTgz8Ll8Rexybt6z7wHeJQaOSXGv4QmVGqpjO70x3ndri BcA= +obelisk.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0zAWY4P9BOQlMQpGKBPXO8WAsFjsa36IvS1xrALPaORLK9XCcBGSsH+h Z6sE5OMppFZZsqYzwT67Cb3vLfoI/EXp400xX2Sb3nzHk5gOcogx1WhC /CnYDYAFMLB/egrkO2oFn94XXpIKbmISd34z8aAhbiPVt7bZpJJXxG6l 3Gs= +obelisk.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. DtxjkepitPmix9t+nyzQ6bUPp5J7MoQyqTft5xZHkFqowd/l1Gq17NMK ADtqmqCZ7vDLtbLcfP2gOVuN418PeotKVd02dgOZckN53c9Lk8x1qr5Y Cf+pyz0llOp/opad7GnT8JTFgZ5/fSZ64va1fwz3wSC/mVnEaEsIKRis 6bE= +obelisk.nlnetlabs.nl. 10200 IN SSHFP 1 1 0257F12A5FF223048FBE7424227A5F5736F1D556 +obelisk.nlnetlabs.nl. 10200 IN SSHFP 2 1 00FA2CC6497D6DDDEDD499437A518393BEBAC127 +obelisk.nlnetlabs.nl. 3600 IN NSEC ods.nlnetlabs.nl. A SSHFP RRSIG NSEC +ods.nlnetlabs.nl. 10200 IN A 213.154.224.130 +ods.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Kkc3QVZov1l+YScH4TbdcB0Y1v3xhO3yR3YmvNnZpGb8iVEtlZ8HpCek J4g4HlPZLinMMS1uw11kFTkgJyNp5+jHyxg8EYAmiFfF5mOCKKfgf/uQ aOmpwUwsg8h3XXd4teGDGmyppiZueYXkbq08e6JLpTBuaJOIvfm42Muj jRA= +ods.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. HEGgHlgqo/uwmHIZARqsasGpp5f/NLxHQ0SmGGtcBZZkww1+1JSVaxpq kahnJ5eqEdFAuMdwMe+72vlzKgXkanXM6C505IFNPbduJjstiEPwB/mw hF++l5Om6APm9okHuo8hECdfD6AopEEt7MkixIcLFZDFcMTQ7g0TkPq+ Ces= +ods.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. pQTOlueUEqzMJX2b2Qsj17AYuVZY9OlR5rBXF/sA5+btNqV8hngNVQho hxxdRlJHeXM9qUF2MCJYSdBQdD0ppoumkVWXlYMgiftJFli6KNQr4oBg u37Su5OcRSlZsdHWi6GENX6QnGLGk6TiAwNGG3FIyGUUymsbBBhVdb82 xlk= +ods.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. L/wNfAF2NufmUckSFGqSYT/soSI5Pz5KnCut/JyyvmlLa5bfmdAIwJJ/ 1WMvvqd9+CTBSPMlJM3fP4/CfjQZeJFrHnF7c0FJO5pAfKEgK+vDQmkd z6KTf+W92VKAhWcgt5i8DboqHxVjEOsdsMwuD6GIM7y117iszDWRt9oG 3yY= +ods.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::130 +ods.nlnetlabs.nl. 10200 IN SSHFP 1 1 9C78228717D1AEBDB4E5C6156CE4559E50A562A1 +ods.nlnetlabs.nl. 10200 IN SSHFP 2 1 35BB7D1F0250EF1B9177EB36D26FD01EBEB633C4 +ods.nlnetlabs.nl. 3600 IN NSEC omval.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +omval.nlnetlabs.nl. 10200 IN CNAME sanne.nlnetlabs.nl. +omval.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. xxvlJ+XJ4uTiIxNB9hctRhRVEtISgnyR0nkeLR3gbfsbSNVb8yukZkkH L3Z8JK3vkmH9aYsr7lQqYQcth9dSuPq+Am/YxWRI1iQg+aJduCNJV/r3 p6mStNpptnF+hEbIVoB2KAhWAlsWO3ItwyL7RyGgZ3d+tnmIXffV/xbL KIQ= +omval.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. O3ab5lNkoebREUXh9ESS10OQhzQSPej7t08QqGQlhDVEI8wjCWcylyyZ ClcQt27PDCPDDBPLIpBIQ0gDPPSmAWZAqof0Xes6G7jRiuCdbwZskoK1 xjD8vHkVSndApG3bwirUkeYVnIOSDcUN3dJa2xot5fdJeNiHpNb3fyVy p+Y= +omval.nlnetlabs.nl. 3600 IN NSEC onyx.nlnetlabs.nl. CNAME RRSIG NSEC +onyx.nlnetlabs.nl. 10200 IN A 213.154.224.32 +onyx.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. nqtQxmyQDHmRNe1Ljao+iX0KocnJIvsZO7IoReIoAEGPu+2MP+cy33W/ tlRUO7OtMoGPFqoWPlb4rNKwEy9Hrgxb9eZAsyTA6oFI1sUvsz9hliWk Vmrz5RFJ0KSjP8vDtVDvxjoL1GAmNW81LnMTVNZqXvxdyCUJiiGAY9a2 EJg= +onyx.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yL7usZT31vahrspm//ZYcWcw0uw6vkrMdfDXDPkdKIWPoinC/KQwHtaS YhptXnW8/wdz61PWLeyn+6GnjEDBW7uO9lyY5B291C26lJeBNeTpD8NC crl/+ev0OcDjr5PjzIQeJVg6ShxmlonVHQr8F4BXqMqmNurJGTTWIoVT VQs= +onyx.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. WuM8VwMCm9I0KB4Pr/emPtehKjCicvSGNELY9WxAm7I2Lh5IiqEMfC/I qj0vhzeJbeqUZobsmakrh+8muybhVJGFmXBRsuszeYSNz146JxBjkY2+ 3IeI1nc9+74sjEf1gnlAqr/EJH40w1Dp2hCl1Ui/Uz07lVlFTO2946sZ qjk= +onyx.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. naYfa4VaKNxbvMPsY5y9CrjDI7UgEZjJmfga1AoGdg5kbIJP+y3VPpLE VfnHSwg5OIL5u1SviOgqetJC2viST6fD9++kQgzhmMyjR9Ka4zWP/ctS u8DCOR5TMh308QOBfNbf0hGVTSYhX2WX8qvKHcnjoV1k4fUGHYbeNc/E X/c= +onyx.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:203:baff:fe05:2d9e +onyx.nlnetlabs.nl. 10200 IN SSHFP 1 1 1A752CEF2B1E785A91E27D16CF3E1A3F5F335DDE +onyx.nlnetlabs.nl. 10200 IN SSHFP 2 1 784DDE0A38C94250445CABF91342F7230368E2C1 +onyx.nlnetlabs.nl. 3600 IN NSEC open.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +open.nlnetlabs.nl. 10200 IN A 213.154.224.1 +open.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GzvaI0ZE708suIFGV3nqq3FubpTZp4N8dRbRWNHC0pAGC/s6cfL27w7D KOO9jvobfs74rwOtooLCqmTERFonBbamk3fMPrunhDC5SVwJYovoWpbj Fr8MxFGvyIccaz9E/Lp7YiWNwr3PBHcNCJ1yRKxWFHDUUEQjBcNtelGm Qao= +open.nlnetlabs.nl. 10200 IN RRSIG MX 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 09M/QEQP0S8m7rv6O7frsbBQiQOaNwAMvxwWmLb1uVQi4FvLmNSyNFhV rWLP7iWkFKPK4Mi+j86DrlKqIpfm+ZLCwKxO9O1D85vE21lKwS1ZzjDt 8Ki26E/WBufq5sABomG//lse6Qd3eWtQ/MQHeAzrS/+wmlma4/7q7Bjw toc= +open.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. b2xrDPr4HMl3pBBedK37kjkw9nFbGCnCUsLraB6xgEDfdpmub7fKDtAA iQg5DbeMnlBWkWKb38rTVsD3Qxr7QOUfgltDRBg2w6FNyrqmyvvJ0jpX vcBG8nogDJr6TCBBN2/HMcKn2RVoNvVc5cyrmKLQC/7IaSHTuaz+jPkd Z0A= +open.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. XJzH99bT5IDKe5XIzNVG3DWKaAmm+s0YspwJzz+UZKtkPFYGMUltNwQL hHauouX73sXsysUeupVxZLBfbUqnIii/BiJz/wLxjJ7Q0ce69KBeNxPQ 5KvB9DZISQED5gZmFgwx9gUvIgBdzUZcIy7k4jL21jS1ogbtbnPXaS98 DHA= +open.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. UZgjLcD3FbOCPghUZg4mZ5pzFzvtxi6mFotB0be9LmiCOypEsUr/hMjX MG8f/xTW84JhMB2qukI0oGn0LuQ5GKnk8uNKH1/aQ9mnFEDYQ4Frr77R 5IQ3QKL99IAEPsQSwwZy/pMh4HPNovTfD6aewDbl/wfpCByIHLjQ5qp4 Kzw= +open.nlnetlabs.nl. 10200 IN MX 50 open.nlnetlabs.nl. +open.nlnetlabs.nl. 10200 IN MX 100 omval.tednet.nl. +open.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +open.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::53 +open.nlnetlabs.nl. 10200 IN SSHFP 1 1 74CF48095EAF33D2097E750A79715908CB16D7C7 +open.nlnetlabs.nl. 10200 IN SSHFP 2 1 CA0D875F829DA13EEAC25C580C495590C12583A2 +open.nlnetlabs.nl. 3600 IN NSEC _25._tcp.open.nlnetlabs.nl. A MX AAAA SSHFP RRSIG NSEC +_25._tcp.open.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_25._tcp.open.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. HDPoXNe8zXGuS7McrMIn7rZvSlUg8/s0EiMeFOcooS9I0315ueALSOSk aF8kCQH82Rvy/8NL2vIhQCDI4/0mat8isvS0vNZMhdWkJlcYfZQQ+rc2 Wi9zJbRaXH3q5Ud0QrjIutzq5XfCOJm+icyIhx65/I3n43uN42sGuCla V3I= +_25._tcp.open.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. zPk51n9I9geIVTaM62BWRVp1xAsfUPue7DQpnmZoqA1LwhqxmxT22WWh uXmyvtd9vI5ajw1kr7QhKA3iSQP6DScEXYtkf2P352mU5ZqAWJ/MLiiF d3ZUVsAaKuocs+UwM3/8+xaDXxsiUJSNTyODtA+9ETbM7DkrTiNmXjK2 z/A= +_25._tcp.open.nlnetlabs.nl. 3600 IN NSEC _465._tcp.open.nlnetlabs.nl. CNAME RRSIG NSEC +_465._tcp.open.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_465._tcp.open.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. sPls7RfgXWf75e6WzIKKLm6cgRYSQYY8jMfEhkYbI4tjiPTWkFl8+bvW 0r4OmHX4VNKvbWNwl9jSTwtCghSCI7MSCIFplXSmq0Y59jn/6Zwax3K7 8FnSSAb52JJgJs1F7y8xJwNv0vF72iSutDB2eauYbH2yDhYIxQb8oDHK Mlo= +_465._tcp.open.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. hQnuRFT2XIOdKMneYMwAk5v2immQmXT+8VA6xq3Bo+ZFrjOsew14J5l1 HiQ7fwVE3kuRy1XgfcOjxlmKBLPUugrHJiB9EcC75U+GYDmoCulx2Ajz i3OrjSlLTqPA4DHUHrLw/7vdH0HkFT5uLM+/R5l3p8UgxhgnhFsPuMgb wzg= +_465._tcp.open.nlnetlabs.nl. 3600 IN NSEC _587._tcp.open.nlnetlabs.nl. CNAME RRSIG NSEC +_587._tcp.open.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_587._tcp.open.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. goQclScpZ7pyVwV/6ba30UzXIYSLCFHYiDZoexujzec5UyyldnSHKPyA 40RO/mBfBsPuFX95kKf9/Q0rEAvbkabFrDALF6q+E+tjm+euShG5ptLl 0LffMAWwAstO7GbWEVyUSeHbUepCriySkX7EOyF/pzogbYJszcPyi0Gx yKY= +_587._tcp.open.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Yi48gewLlpJRjqG6fpZWmkv0Kxk7Pg/Qbj2oB5qnhFGfsIwA8D6QsXOP 8MiAk9xpOqde4XClqMBgHHLfhNvV8M+BWYYkL8bogTJ06qy8Zapruovr Lj8b9r+blv10Lq3Tjw7Qds9vEHaj+09Tcj/cw/167b/DbLZS3+za8Iwy SdY= +_587._tcp.open.nlnetlabs.nl. 3600 IN NSEC _993._tcp.open.nlnetlabs.nl. CNAME RRSIG NSEC +_993._tcp.open.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_993._tcp.open.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. MvccHaWe3+AM6rL4cPL2s99ZDzlDMU0VXlXUpaDCF0IUH2dsf82cGQCJ c/kBUP9UEl56tA2u2vrgLXbh9NT43BhyFX1kCWu99qk2qEnynkHLVUzi 5guEfQPWCCTqeZe8VPUpWJWCde/A7VGgwO5TWLVd20eJhhJTfZamOp7+ 1TM= +_993._tcp.open.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ihehMQChNgix5cY/bmRayJfQQR7hnI2hQggMDrBxULz1STnGp0GdG54G /manhHVa4XOZ6i5VM36SG5tH8IVGR4b/Y1tFs8UWUL6MWsK33B1N6pFJ 1wkjQpPy2DY8E86CfPoHk+KbUa7DKeSTWpVfyDYZ9UbZQqCTg0eXzz1w kL4= +_993._tcp.open.nlnetlabs.nl. 3600 IN NSEC open-6.nlnetlabs.nl. CNAME RRSIG NSEC +open-6.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +open-6.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::53 +open-6.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Oyq2exHMspmfO4i41PeNrHKe4ah66TkDYqetQFWrqMs/k59vU5Gf+AU0 sLdb6glLxiK/KvoDtOF7M8ykNbJ5Kct81jggSQ8dxIxu/t0IxUDfv9cI gghaOBVv+jDY1jN4h5NcmBkSCNvK+R+NMcKXjMzapYQ1DfA1Febs0Nal lRQ= +open-6.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Am3Y/raCbJqpkK5zmeoMnN1pFY4pY8HTMILzwftn4DVjtwH99yhWMHtn mp+Imy64CzByEtbBrsOplQT3HZ7yV5gq399l28SlZVRPCSokxmhmiuYY S5TjdbLrXN2s880wRDJ6jixFKPc5NshJm7/N3wHDN6zBtLoPuL+WQJQS CIY= +open-6.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. KmXVsqN9xXvj+2BC0EjmkIYp7kn/zkn80rHPH3gEL5sICJtjtxURjBPr IDV+t8aJ+GHmNx3lLm/nuOZ7xit1v1hqAw+6n+xJ5YIqI/uk9tk1WId9 WY58/zgXgb9ZpS7cHzHbhsVN6vmwLnSLZMqTF41rL5GM3c4nDoa8lua+ pnc= +open-6.nlnetlabs.nl. 10200 IN SSHFP 1 1 74CF48095EAF33D2097E750A79715908CB16D7C7 +open-6.nlnetlabs.nl. 10200 IN SSHFP 2 1 CA0D875F829DA13EEAC25C580C495590C12583A2 +open-6.nlnetlabs.nl. 3600 IN NSEC overview.nlnetlabs.nl. AAAA SSHFP RRSIG NSEC +overview.nlnetlabs.nl. 10200 IN CNAME nagios.nlnetlabs.nl. +overview.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. llVmg4S+84ooK7vBJitlPJBnf85dwYSBf+BTuIuaBsOKljIbva3vSz/i XPxeHjrcKZCskyc9FoBVaZ+mErMxEeWVyO0XLzd1clztujp2M/p4OuzV +oEV8MQqzUOIN3YmrB6keSWG1jQdW5C8q0F+XFX9Sz4UfvD3kqwXwofz +Fw= +overview.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. mQyHHlYkTF5KHfmWMJzRmSQi3BofhZmT/BPNbKTrvJvrFg66uTFc31pO dw6CKLE28O+uSxD9ofBMj7tEPfzk/shRpJM/GNBPW2RlX4dMHpQOhczU 7m8SJUY0KCh+CrubjySCLkuVrGJw5w1VgccLfRLaelyvXcV7kgVP4qiB gtU= +overview.nlnetlabs.nl. 3600 IN NSEC pan.nlnetlabs.nl. CNAME RRSIG NSEC +pan.nlnetlabs.nl. 10200 IN A 213.154.224.38 +pan.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. qcO14iakQhiWIU7euttrks9lzl0UXqyDU6nJKZzKJwtC1FPfvgjR+Lvu cEERLj1bIBEHYANQ4gA5c/k5elUA6y7V0L4UItr5WVNrpWYpqSVqHlmg FQCm0M9ZfrmEDNBUxbjgxJI4kn+JB1/Oz27QvRLCjepgpYe6Mv42+afo xHs= +pan.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. dt3fEtwZ5BILJYZlCXeLkB2ihYHUSOui0vH7PjEE231XDn7+fXbOPrLm DcHVthO3jKbD8+F78rwSjU2r849c4b2GuQdj9bUsKvH/LnHI00iKqeSL d4AUQv8KhotGmSj6d4dfuoq6cFYxvI/ZiMtiHqO5bUA+UzndzwmJVivs KJo= +pan.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. N8xJgXmWq0/VhVwJ7WJR/GmqaWVw2xzGrQakfQqkqEO92w/fhL9zjFI/ Lr27vb+y6Lse9Q+5H5CkNGZCHjzlHek+VPHYW5KyPt0NYF4df6y4vLEQ IKEiN01Wwuu90ymgfN5g5oaBseI9eRwSvminUx5m2bsnOZyUqsL1EWdW LOk= +pan.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:21c:c0ff:fe11:b9b8 +pan.nlnetlabs.nl. 3600 IN NSEC parrot.nlnetlabs.nl. A AAAA RRSIG NSEC +parrot.nlnetlabs.nl. 10200 IN AAAA 2001:67c:14c0:0:213:72ff:fefb:12d1 +parrot.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0TdkHgNMIcDA9FDweQ2Te7gMcwXhFhz+fxQoMVeJh0yQU76XDfZZ4xir KUoVAQCDcYxCqZqUUt6vhewhnLuMfodmpzoaiMwjs9Zgtg12N1UZ6ger JidO8y85l7oqyGsBWak8UTnmYw5oFFvmKCN2k+v1m0jmlzkRCjCISZip 0sw= +parrot.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. POCqtFA8gUzRqxaXcEOBHZn1yry2mxIpy0om10sMJk3EcdAzvF4Dtf+o HN3So0+ADzR0GQpg05hoVhObDBEfw9REDQcMYepnSOdWwhu5RRaQO+3h fYNxEryu8luvSkLMNZXoOO+/l2nb96NoTvFwXRbIEQLwszchfuC+Xv7r 5Lk= +parrot.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. l1oBqeTCopzMHtx9ODkGAEbpAyovWJcLNz9smvQ+fbMi+zmakDQs5xtF i9QOwgM4GHY5Fo94/7QyD+nZwqrORCRdTI+d/VKdRnc68qHZPIhbQTv2 NFpHlwOlXjoDH3kO5ZIoSpdIMgX/Bv6monOog4zf+0J65bnYGiejt7uK zAE= +parrot.nlnetlabs.nl. 10200 IN SSHFP 1 1 236402543271F5A0B9812DE20FC4C2C6A67133B8 +parrot.nlnetlabs.nl. 10200 IN SSHFP 2 1 C6DC2F86740D2647D38F29C23176A470C5ECC99F +parrot.nlnetlabs.nl. 10200 IN SSHFP 3 1 BEB7AEF3528B63AAA7163C07B9ED167C6715C14E +parrot.nlnetlabs.nl. 3600 IN NSEC parrot-eth1.nlnetlabs.nl. AAAA SSHFP RRSIG NSEC +parrot-eth1.nlnetlabs.nl. 10200 IN AAAA 2001:67c:14c0:0:213:72ff:fefb:12d3 +parrot-eth1.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. sfBEjmSCdWdozdVIniFnRSCKTHhEbmBjN8V0n19HhXa6bEbgemeACWb0 vthlt3ZVl7KLXo9XYFXCRZ87UJZDK0u+ID3gMlPnhWeMkKtI92EiBc50 f2IbMsHFOz5/tiXRxeNoypJStgp3QrTajebDOA9LG7bEkZ48QKu5zw3I vY0= +parrot-eth1.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0Fd5GLl87/JcvwqvV1BSt/144PuqI56bT6Gnn6JdI59zGRfxyL7GjkPV EOkVLtkVC5w08/vfamPcPJNYvqWemFnhPqfRYm90ODajuBN0XlioMFv3 JvUgW20ZcwU1u194h5gqh+BoIKlUp1BWTCLLOD+giZNLXF6j19ZGlQzJ gW0= +parrot-eth1.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. NUr+xC4hWfWQhVOPBZK9y5fK9VHJwdo1+JMLsq+RACGsg/jR36fvgo5y 1BeRDxYaANDzsnl0F5g2En4VdspS1ih6biLx+OGoTu/UC/9EXin3aEbH THjpgHlZIG08ccjNIvD/Z23zEjWWlR4w5A87fnSpQkNd6fdJ8VhCIimG IDk= +parrot-eth1.nlnetlabs.nl. 10200 IN SSHFP 1 1 236402543271F5A0B9812DE20FC4C2C6A67133B8 +parrot-eth1.nlnetlabs.nl. 10200 IN SSHFP 2 1 C6DC2F86740D2647D38F29C23176A470C5ECC99F +parrot-eth1.nlnetlabs.nl. 10200 IN SSHFP 3 1 BEB7AEF3528B63AAA7163C07B9ED167C6715C14E +parrot-eth1.nlnetlabs.nl. 3600 IN NSEC phobos.nlnetlabs.nl. AAAA SSHFP RRSIG NSEC +phobos.nlnetlabs.nl. 10200 IN A 213.154.224.103 +phobos.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. LS7vn/C4lWw6mOu4qfiw1a61r8vZA8dK42CKE8h9OF37Yw7cH97tKuWf k3DvQzv88KGYYv6FK6byf6WHVD9e8fMiKrG8uKLjtOP5zICuonn3EstG QPT477LEs7Zuc7QAEoutycyCfuOQXoy0riSejJk9tPcSmHEtivRWC9wc F4Q= +phobos.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jvWIJnF2Elk+FIBDyQo7mE4yiFtn0NtxNNlV39hgBISHjw5F6QyaeW9R mgtvYzLXtzjN7fDbQrPhwkqrdQVaKJnmFOGdIOwQwhtKZQ2Fdbupxu4l A7x0abTJHk4H5pXx4AMIfVhOdQhZ49Qk20gq6te54t+/D8BXcjcOng5b hBI= +phobos.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. mdbv9U91f8wXQlvdy5yAEgKxBpdlpFSFKLvdKmZ6rOr682YKQk+1YTTu o3Sg70X3dlw6YX4imC/a6SsMSf94RFbWRm58hROyVJ9/rXfq737A8cBE 9BoPGEI+cTFs6mqPp1hMaJ6aZDF16UUuZrSeUdd8eqMYA4OHcHEroNhn pQc= +phobos.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. omYI8kzjf3MMy9Mt4Rtti+Tihloq3NnW3iU3ET5SStPytmd6WRcdHtKt dTHNQ4dExbNqo2l7Y9zyyqQRI8bCmjAJUU6YRTIdDMNb6yhJfrta4oCs s5e4I4DT4BFAjAT6HPe/0k01d2g6kRhZ6MWQhrS6ZoMs+/7zUg2TVJel 0rs= +phobos.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:20f:1fff:fe68:f6b7 +phobos.nlnetlabs.nl. 10200 IN SSHFP 1 1 CF3E74EBEBF9DE88D1A14BCFC387C00607E682ED +phobos.nlnetlabs.nl. 10200 IN SSHFP 2 1 241A96919F7837B20DB540C7B1E0A0A7F45C8A07 +phobos.nlnetlabs.nl. 3600 IN NSEC pluisje.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +pluisje.nlnetlabs.nl. 10200 IN CNAME fluffy.nlnetlabs.nl. +pluisje.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. wvrYn2ddfuuz+F25+djaF4fMqngq7KQEkFc+JvRMxgvBFAzt0ZIhN+C5 6jm/S6g/6JJnGlTpEnV12LC6elFNfwGqosHbtvLtzlQMCSrhN2uL40gw bRqiXZlk/oiPvnKmFcbj5lqsfPodMb2n3wY1TH8LYgyNhTa0r0DfUTi8 PM4= +pluisje.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. kEQmdT/z5qLTCK/gEraX4rrw2Ej0yeU8Q+rS8DTHiEdgwOPBFB+N56vj ctdaJ0a7noy/BHv7Om3/IDByF2l98a3iyoeE5ajeX48/suEfhmO5UXAJ rTzMnFNAYBwRAslxSzZjyZzQk5Exr/Y7aAJFM6tSzoF+JBGPN64f85p0 v7g= +pluisje.nlnetlabs.nl. 3600 IN NSEC r2mine.nlnetlabs.nl. CNAME RRSIG NSEC +r2mine.nlnetlabs.nl. 10200 IN CNAME mine.nlnetlabs.nl. +r2mine.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. kBw5IuIr5ttC4RhFKGLEOR0SSfhIdX3j7Z+kg7ggCow9yExYbwkuz/Y1 tnggNZ4AvKLOUZ5UQS0V/xH88EU/wCx0BTpJlr71spWCQBdxMDhrkpUX ePu+scyidecO7AXXSWvDx15vDOf0S5BeA8EHs127LInqzoSGg7J7R8+9 dA0= +r2mine.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. FpvUXQc9IneKRoNkCurtZxWanQWYBqaTg/czpoRz3sQlWXzoHaT1UF7Y FG9OKPpdwIJYE+nV8PyA3Wd7xPX1MDwt+8U8iPUNiEINxO5qpkTGpahn 5R2UknhNklFJGdiQlTRA7Qzsur5vb+t3ICf3jrWItgb4xjeSIi6+q8Nx urE= +r2mine.nlnetlabs.nl. 3600 IN NSEC radius.nlnetlabs.nl. CNAME RRSIG NSEC +radius.nlnetlabs.nl. 10200 IN A 213.154.224.147 +radius.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. fJBTy4JsvhdLo1qHE1hp4WaATNb0djQA6CfAheURONSXXSevffm8YSQR OnAvLpnV6A6NyYBg016PntBlwVcX9cs64toruC8RjC2wlFezwNOu38o5 GHlmNBDw4npXxnfut2U0T0YpizAng3CWhBbPuxSAyoPNEV6kGkGBbHG7 m40= +radius.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. 0hdwIH2wWkuAJ5Hd+2MjtpuNLNRWOYxgVcBiGdQk5erqew/IHOHBgwc1 SC8nX7kQDxXiv/+IN41kMyBfYkfV731jl3YmMFitUvqeJlcHv4NzansP lffhH7hP88ncnGohMOVQHBNHxyPk3GOqmncDlHBmHqEGMrf1GQUzVXtA Hm0= +radius.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GvwldMcwKdCNY+qaCE3BrhG92MyiVvmhGDMeFf3PDtl1Qz9655QU3c+G 3XmBXRg9PvAjujQgKKK5y0rvuaTwWm1P4ROHzKuvJXRn/FVSGZGkSL8+ Q2RnpQJ2HrLk5wB62MxUVFthGyvlLU9L0Er9w3PYpl0e1riY3IK4f8Io 7dw= +radius.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Hl21MfrpPL38hrJAL4rh1MbjPEaIMQ/CZ8mfo5OUQdu+ob5/xHLVwnQI WhokTJxUE2DMb4FaTMKfZwHKpSB2bd8+URfbzmCq3pKkEO41vHb7/aL5 o2qLl7tptX0Bq/8aSvURorHp+UB5NRMusB6934ZtgEOBr02cWB64807u fNY= +radius.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:29:: +radius.nlnetlabs.nl. 10200 IN SSHFP 1 1 5E43419E9239E5FA11E9FD62E43D7D2DD68B8E8D +radius.nlnetlabs.nl. 10200 IN SSHFP 2 1 7204FD27ED4E7C8606AF3BF29EB4932BEDDBD3C1 +radius.nlnetlabs.nl. 10200 IN SSHFP 3 1 2AAA7EEBA4B08802488E1AF6551C091025C7536A +radius.nlnetlabs.nl. 3600 IN NSEC redmine.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +redmine.nlnetlabs.nl. 10200 IN CNAME bela.nlnetlabs.nl. +redmine.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. t7CJUbPwpB/azKMmWXH3V3GG65MN7OotXeMEPUruzODk6GEIXqjeN5qP GVYWjeKvMT1YUJo5pXO7Vi8iFpIIGFSH+qNkdubLJTRv2HdVPosLeoaM NLxn6TxHNzGiGZZXfkCnp9HWlV3cjriQUhSTIlJyTtCD35iMxUP2j2FB e/A= +redmine.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Kx8YirhrH9dA6Q2hPs19DXAGhSd5nkku7jM9RF1UkaEJCvHabz0uMhQm SLvPoDNrd+//NIUMxt8feQAlazcCpH7AqYbPZLJaEgvxrH/IqvVulvCG 8d1ATMPWt73X1Viri6iRZ19YvYZmDSznSPi/Prr20h1FqSBtdcF5pjkl +l0= +redmine.nlnetlabs.nl. 3600 IN NSEC bind.resolver.nlnetlabs.nl. CNAME RRSIG NSEC +bind.resolver.nlnetlabs.nl. 10200 IN A 213.154.224.24 +bind.resolver.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yG5Ntd/LzsxGgAYQwdn6ou50nLynsluEGdX5E46nTUWnWlqbgRlTplGp INfIvHf3+lw/8h+5rrbMTrjlFxM9d5vndtHQopu/+8X5tDQ4r+MvYDnt tc7VeaVF+pVMHCQqREglPNgQqj+FI1syT4jrn0WoHXqnSqeVrCAuM4WA uCY= +bind.resolver.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ZtKBU2Qm45WOuyS129N4jD5T7FFOVLnycFh8Gh30y0VvfsegUB/r7CB/ WYQbneAZybpQHKVxCD1eeb1Ph8DL6NZPOE8RovJKgZyu+kr6WOgC8XJI tWh3eHyTrYr1X9gZrb652541ru6p+xD0RNCCscWGjh0tCjpDnzyMvBI4 CL0= +bind.resolver.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. L1lECC1PpQAjr9URo9tkKk5wn9OtDTgGKw9pOQDRhaYDONz2SF4IKDvS mZ/0TtvnJN0hDkAE527sQnUmT8YSLJQ47rGM4THuQ+2oYGSsg+6jN36d P5Y/T92/xDHmTm8HXUYgp8cqj3JxeotVh6IGxOvYOeDY4e6h160v5REh IUk= +bind.resolver.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::24 +bind.resolver.nlnetlabs.nl. 3600 IN NSEC unbound.resolver.nlnetlabs.nl. A AAAA RRSIG NSEC +unbound.resolver.nlnetlabs.nl. 10200 IN A 213.154.224.23 +unbound.resolver.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. RrMF+z/2cgJWIoYquPGunx7ZZGuNuQ6iVAOlv7kROIO6KEi4ODdX4w7K o1Z07Fj+MjHZoiC06gvKw0KeYBEBKolQVfSIYQKuLF79CragWo6kM7jp gdeuO3NO8/vyDL1VNVQMu3nG3WkNMzDVcgdqnF7ik17cKvKEonT+tjS0 7EY= +unbound.resolver.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jAwyJKZ/3mRdr4ow4uLpGogNQCgyfW6m1vdn4+GRBiA66obnURbvU1X4 M0XXahIxiUyDg4ADnPCcojTDL5gy0NCFA+90traVmrTjrUapNI1FGtTr BFIReMDsWIQFoBHEn3VASmPKSwkKJF99fX/3OA35YP5c3dC7hho5IUVA Yns= +unbound.resolver.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. eTCj4a3CoycO0sZgtdar2x+kNG2Myiqz2z/F9zssqzvSQgO4IagGBdiL QHPG7c3J5HhrmaBYLSRwVhcwuZuXJP808NcTIS2HIBInWPXwvXpzxcwZ 6/Y+jfklUkF5O6sylq70PAAoxlLuhNbvo8rb9yCoeUduLjAZF9Rxu3SJ a/s= +unbound.resolver.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::23 +unbound.resolver.nlnetlabs.nl. 3600 IN NSEC ripe67.nlnetlabs.nl. A AAAA RRSIG NSEC +ripe67.nlnetlabs.nl. 10200 IN NS ns.ripe67.nlnetlabs.nl. +ripe67.nlnetlabs.nl. 3600 IN NSEC roto.nlnetlabs.nl. NS RRSIG NSEC +ripe67.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. kbD8LJqwGS4qPnHCb2N6FdmLzwWAOnFNkIoUx5jOBkW+BTUhAgp8gQ+Y cX8xyfg4woDstGvUjOWEGVkdS8MhadJrl2ucQzL0kb1jNiiafafcD57V N0CsvzVC3ruxxh/A8eccGkv0yEbKxFQRb45nsvSRGJRcS4tMPhblFQGt I3c= +ns.ripe67.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:40:1:d0e1::2 +roto.nlnetlabs.nl. 10200 IN A 213.154.224.153 +roto.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. y1kiF83qjlxd1oljrYYOQrc7jJMI0ZZ0rN6/fWSd21KuO8/T+ooSru8K VBMxpNJKl73QTok2jA50ltDmDMKfnRheJkPmKZvRt+vLLDonydaICZoh lY8uvom9ltzVMjrYP3iXGWU1XOWXr7JLLoQ9mZMvJWVGXWjp5iXSOGWX NYo= +roto.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. dzQrenpuaTpKlTQmSd15Dff2cda0iYdPD6KpqgFF8GeGuemDoEwoXz9B VRLDrgJ+ZWYLmz8W91/YEYT4VP9RO3Yi1BzxgYU7EGFEWPMR6Vzf7rEk 7hzrWecNeqaL4oFvI/wilLk62i8QD8bKcxCt0rPaGfJxoDPfY05qPdMO m1Q= +roto.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. CdL8BtJW9Wqe029pY+TltXiUQ4d8uqTWS3CoNY4zydtgVCFEtp44AxHd RS54SL02KQycdl3gKjKPIieamHlZLhbp/McPNbo7tY+IztrtaC4SsnPu JNbrBZIfD0XQI7rD3offcXP+ohGA9TFFgShLU+Qm/bq38dc/PWV7mLsg 9qs= +roto.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::153 +roto.nlnetlabs.nl. 3600 IN NSEC rpki.nlnetlabs.nl. A AAAA RRSIG NSEC +rpki.nlnetlabs.nl. 10200 IN A 213.154.224.9 +rpki.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GRIyLlIuavadjmxNRkBG4ppYlTQd+RQIdzy3PQsaJWJVYv0z5OFMhrRH mpX8jBw9RJgtjlG+J6xt8JW7ntEDkrdtBz7h6DaBak/1pjHcu8M0hlQk T7A6wCAHLZcX2aEDfAjlnNO78t//q/CEFbPBJZK9KapHXHI0pE0Nw7OX HHE= +rpki.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. uJGHGPjxkX4b+cMYcqM8Fez1MagGI5w+OIJMZZC3U7l8idvDY044K/TY I24aKFzpwVm2YVblSc1aVQE8cH/bS+wsAPnEXLDhIDb8bk2Sc3xj1yWY 0e1EXcsmIZ07c0mQ3QooSINAMovOxPZKYw3MFHfDCDFUMpq/ckmjMGKK 17c= +rpki.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. IUJjV6hFMOBLVIe/+GbCMryMe8nt+8JB+zm73uSxuejOc1rXfHv8a2UX 2V2/ryIGRFy4wtY4RD8FMrDbbjGHA0Ko7A3g2LfQoOLTIy+K6OQXpucy QjtPny4XLxabnFE2E6ENJlLM4y0O7e7+SQ41ChwGKDwXt7b6oSQ+7BN2 nLk= +rpki.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. m1DNlx8bpTFC8oSif19erJCdXn/SXJGIITcn4e8z5NSWF+/9rX/kfL75 naESKWI0fe0vcSXSoDYpsYfVeXagrvzRF64jD+UPRDn7hYQFZNPbEDTQ q0ziUoqmwsMLQ0RFJeOcHn3xc7d+x80hKIH1X2sNox9QhUklsdCrPjUM r2o= +rpki.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:bac:3:: +rpki.nlnetlabs.nl. 10200 IN SSHFP 1 1 B4A8A3D4666C1D78F12E7EC01A8CDA045D263B74 +rpki.nlnetlabs.nl. 10200 IN SSHFP 2 1 0C494EEF742E482001BD6FFCC8AEC370D1A8FE3B +rpki.nlnetlabs.nl. 3600 IN NSEC rt.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +rt.nlnetlabs.nl. 10200 IN A 213.154.224.1 +rt.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yxJ0Ay+cLPvOE5GDCHDjnfnBCFt1qVey+UPxnT/E7uCvRI4utYw6RSNc khZuw1LTW/xD9DICk0ZbHKKGCAkvek9PZ45hsK44htY3JIhGCltkYCdb Ka/mMn6k9bXeXv57GTRssxZTDwT/bKgTjiy1zoPafZOtzH6EoT9mBLrO fGM= +rt.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. kbUHtoR8Z1G3WvKZp4xFIVJaBohRW+TwTu7ZfbOWBRpKeNqXDgQj6cXr keBZffvDMIwA4mnWGdQs4StVL41MWVbaUWBTJJ04V4SzUYQ5A+SkTCDF J73KYxI700qkrdinE14MVruIhVeJ2UKKCUPJnwz5qPy5OTMDA1NYwnV5 xq4= +rt.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. T8AW563ChcUQ1mfcupyLYlBHuPG3cB8rsbFDVtgx+W+1hmje8VpsZ86+ l8UEwn4RV8cFNP6guysaILhbkmD7FE3ddHYB5HvJ+HOlcOggw4qUxg5m 93zaPHs+RH6ZUNODlX4F0R0df3iRIF1NtqIqAQPeY64RzJ5arT97Lo+D KYE= +rt.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +rt.nlnetlabs.nl. 3600 IN NSEC salt.nlnetlabs.nl. A AAAA RRSIG NSEC +salt.nlnetlabs.nl. 10200 IN A 213.154.224.145 +salt.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. f9TXqGtRacLqlbsraYaGGVwlQn2ROfJVlFBxKHy2NheytNBSkyZkDk2j WpHd+r3LqXLgmXvaJqsaNJSFQy+gLk+UsstxO6+hKPLjWUzHw1DfNrV4 Yxj3yEV962TpymutVrriFJ9mOCXs6axeZu5yKfFNgExLYlFb9EKVrE9j qAE= +salt.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jpIAMdn+yE5u+DrGPgLjjRRAsDMj7g5WW+dxPHrwhftRAHzSbDcK04EX xXCe0FEGB0+adaUe7EJWXNn6y9ynU/leoaJh3pyQRYhGuh4dTP3Ukiz6 1+6zgwjmcHylZQ+AWkgmThvcIQNESWKHffLwhpzBmAKssSa+sq+Sz2c0 X2c= +salt.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ltSpG8ueYMcCSOqbikFyvtAvocp+vhIzw8ZfgX7cu/e/lQqa5qgrg+RH RpKwmGsAQIhcXO/Zb/WW0Rt92M/ESCFugF5tgKpDZaJSsuaa9dNpO19L q1G6hEaYyDCrHtf9ZBdimSnynUCsU1+qnjlxwMxJ/3NEatutfW4KG+Bt x2s= +salt.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:27:: +salt.nlnetlabs.nl. 3600 IN NSEC sane.nlnetlabs.nl. A AAAA RRSIG NSEC +sane.nlnetlabs.nl. 10200 IN A 213.154.224.6 +sane.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. O7ig1OuI9UYW/DjmVh2/pSqVHQwt9ohL1yxzrPWAlbxmALTGcNHUXdG5 kkvRw/6HeA83QdLa2D10k6EsTruTokBWE8vYQniGzDjQLmKBCYJg1OlP kyJLdu3jfGI1ia7nwvi8xuB3X+ZMskKohJiNOBy9WXhxnSzh8I07o/pl Kfo= +sane.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. UBHGS9aDr3+y6bBpm4B4Kc2ab+MNk48THfkDnDtXovlaoGF4oRryffBk bv8Ajcm7qCDfGck9kxMU4UqCQFE1GlQofXjrpFEt8oipSXy8K3UqSE2u RcrnuQ7fhWs0bFC6OzMrRsIBXIXimWdxvyHWDkoSG/wQgG9haUcrtoSC nd4= +sane.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. C3SE5g8NfjlWNWpVqQIfb3i0MuhSJYpDB6jlgjcaq0UNHKeSFeZkYj/C 8bBfaDxkglgzuGth05WX+T60Hi5mJ6JlfxOWONvhcoaumifM30KDTs9Y yWO0HLseMjsQ4sN37y07ETfw32W/wMvMhps4CEOoryKlbxCDmCub9+1r vtE= +sane.nlnetlabs.nl. 10200 IN SSHFP 1 1 F899FD53D7C64116C900636BA15638CCD243AC64 +sane.nlnetlabs.nl. 10200 IN SSHFP 2 1 49B299B7BE787B5D789D2AC9A9532A02224CC59E +sane.nlnetlabs.nl. 3600 IN NSEC sanne.nlnetlabs.nl. A SSHFP RRSIG NSEC +sanne.nlnetlabs.nl. 10200 IN A 213.154.224.39 +sanne.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. fadzGqTonVd4jPT7LZvPIKDCxgwWV4Vg6gOHBUuQkDNZEvvnuKylu4Gp 9TIbuU6EVey3HgDNk/7EWdNOALYkphedqtpld+tXMNogMGw1UM9fRNTX CdlSAHEAgUxYIzHV1yKtc6msLuTfMoovARyiBkAasROtuYrXqsqJkugr Vyg= +sanne.nlnetlabs.nl. 10200 IN RRSIG MX 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. meDGeRhWyWkTRdFmEqO0C9BNXGqWBrCWQdiV2o5pz+jSB/4mCNP1p3Kf mWYjXE5LwHw53IOX+1XDt2lDYcI8mL8Mt8C/J741AOYiqSMbDEeCtVGH 3S+akKpASjNRx+d4j2t5Q+XUUAq+n2vxkkF6n3/+fvP3B7mjOthquQK1 qCw= +sanne.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. NjmbH/jAxQnhDBTAIxrQalH1Lns7IDq2MbdvQS4WPgcle9E0MHc+QsKF k7NwPCjRG+LeRK0k3BtlLZ7V3+i/vBLZfrTRY6oDCJG4bDx5tI7FEGlH tksHxqwl1+/M6Uuq5RmySgI3IYudkZx71o++sptVk9P51xwqQ2K573ya M1k= +sanne.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. suJIyytubaP9S9EFEw2APJbrdQe6Qmjm2nBNz+/mikPGOhr4DMS6pavq KT+0LmW/OIXwZAC11CtpmR/XTicPvS28knY0lg97pLbKctfpzfHfx412 QVvbUpECFZis24bFLTPa3miJQ9MxSL8r+4eVI4iVwIMb3ok7oHOkHdEP 3gU= +sanne.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. pAGaxpjCR2F5GoM2+QdSzdh1nxVC1RZuXdKcfTDfPERpvFnuxsK+djAf OqeagKG+VieR8DM6TJGiLkgNyX0OcsBM+QaVdK1YiNZdoFQGyYLgVnNF LZO265ASuZ6czkUCBo9EV7N1B2ICpC4x9gi4ATXTezXDwuR/RyCDsJlQ QsU= +sanne.nlnetlabs.nl. 10200 IN MX 50 sanne.nlnetlabs.nl. +sanne.nlnetlabs.nl. 10200 IN MX 75 open.nlnetlabs.nl. +sanne.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::17 +sanne.nlnetlabs.nl. 10200 IN SSHFP 1 1 F66C63214C667F9C6E7FE0CD3279E5AD373A5F08 +sanne.nlnetlabs.nl. 10200 IN SSHFP 2 1 3BD2D7189B791521CC000AD9A35AE3CE98926C93 +sanne.nlnetlabs.nl. 10200 IN SSHFP 3 1 692BDF4A4777F7FB0E4673F832D552A56FD3C532 +sanne.nlnetlabs.nl. 3600 IN NSEC se-dns-probe.nlnetlabs.nl. A MX AAAA SSHFP RRSIG NSEC +se-dns-probe.nlnetlabs.nl. 10200 IN A 213.154.224.5 +se-dns-probe.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. hGmQp8vgHhNGswmM+XczXL77WmzXFeCmIJkpkXvAFH/70/M+HzhGBzL9 2Rq66eFAbLh3QU8pm8tGO1vIXslBfsWhODAT+b9GG51BJd5OIEmAwdfh iaS/isugBpKWP2bXieVIoBOY02cxFcxykP03hLJttC673MVnBxvmBXKD fs0= +se-dns-probe.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ABNzrucGQneFir+fsfLHkbLK3APBPb6C35Ra96Z9zRD8YCuFplpDugd6 n9eGuKx3RA5EHLU0NGptsbHY7cw/kg1KI0nid0irYx3hTUgFwuVYIgR+ EbPQS2CmCtYLjG243vi6r3YT3ZYJELyboZq06TYJOOOGKWjjPmfNmCUn I0o= +se-dns-probe.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. mSc9rnSbd4W3bFxECQXHS6oMuX1xSjsBPFVOoDF4mMAJAKyXRQqJH6qG GWCcLnj0FhKL6uI/bDeEI8Frbl9OsPYDpdIpfuekhX18OYYj/4u8PxVX B6ff1nYMOMkHeV6ETk3EpPlHGDUuwbQnFNrftgfaMG3wO6Zof1Imxpkl sw8= +se-dns-probe.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::5 +se-dns-probe.nlnetlabs.nl. 3600 IN NSEC sidnlabs.nlnetlabs.nl. A AAAA RRSIG NSEC +sidnlabs.nlnetlabs.nl. 10200 IN A 213.154.224.142 +sidnlabs.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. aBg4AmnxgMXCrPNkujYPmPja06WS1YKkyUcl/laFxSMvsOAkhOVYieBM I4dx3pVVZL2Mer/1bsHzY4O4blsYP251eM6tOnsBk/J6qEM82vpFvTzo hXcGyyo/a9GqI4uLdyfZrqcWsCk0wtsrkorFdvJNkOo2pmVC1dP4/5DV gRk= +sidnlabs.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Fw4HbF1K21v4HpUwDrqXRd4DANDJdmVAgo9B/F9njZeJmwoIwI9vBcMy yZyMDJDJrew8B+wrb9NWcjA7OxwknoFT4Q46t5/iDf18TWMvWksULzl4 WmH9YAJClB1erTL2J/wF+UwgXe/3eWK7s5X82m6oD1rBfTyTuDTfBb5u 5Fc= +sidnlabs.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. PWWgbRhFOd6saSKSIUSAPHBo0+ELGeDZFOVGL0scgQ+AzFSjp5foCHh6 SbDPnJwtID9puRpzz4awce8o7SBsBLXR6nTMBPCoit+ss4PW06FLgGRN +wP9X/amEa35K4HTsjg2Ei/UOBDHlPYlZ/lZjVzpXszSxvZV/wxPP0IM zxE= +sidnlabs.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Ymhmp3h4uNxMcxoedoaw+DjJV0Q6dSCuaHt60QrH+VDMxlJrGblEaZI7 HqKMN7qbHcAliK2jHpLVByXUoqACQ7Z9DhfHpWA6ZONu3BxHlWGEUyAi Hx9kkft2enz5kZk3ar7UUm0lhLmyOSkdTH4rkLl2/qlZodG4OcA9wQs3 xfI= +sidnlabs.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:24:: +sidnlabs.nlnetlabs.nl. 10200 IN SSHFP 1 1 2E0AFA0551B9C86CD1D885F459E189A8EF93701B +sidnlabs.nlnetlabs.nl. 10200 IN SSHFP 2 1 C1301EF4F4820AD7723DD382A0B04AE3F03AD13F +sidnlabs.nlnetlabs.nl. 10200 IN SSHFP 3 1 5811302F8A3EF03BC32BB1ABE3C747DD7D9ABB8B +sidnlabs.nlnetlabs.nl. 3600 IN NSEC sip.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +sip.nlnetlabs.nl. 10 IN CNAME obelisk.nlnetlabs.nl. +sip.nlnetlabs.nl. 10 IN RRSIG CNAME 8 3 10 20140224111605 20140127111605 42393 nlnetlabs.nl. k+E7pjjYulbrzA3VmWHtOBNkR3aZX7FO1DL+/MkkxVSIfxFlvOLIUw0B IZH7EE3K1tUks37g56YNKP1MWlKNX9b3pK0aPWdoBCYEPwYjmXjZvEzQ cQ7G4A5C1VTnzoE5KCspWgNKN6rZs2PaGCyhTmrqzTBy95ehshT/JIjT mAw= +sip.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. ujMthN324h55Zv1MigdBXV1S97zKNoudfu8AjpKU7kemksM6nVqM8NPY jFWctpHHNkqeKiQrlv+Ve+0z/WVy/PV2hrpEkDYJcEuORGDs3ke6wqmZ BYJauSyKJzlFTKXcVp4cS15sitz7uL/cc3psCfezhq2L4F+0ncVte9ke pUg= +sip.nlnetlabs.nl. 3600 IN NSEC sixgate.nlnetlabs.nl. CNAME RRSIG NSEC +sixgate.nlnetlabs.nl. 10200 IN A 213.154.224.41 +sixgate.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ob0TinB+qsbzvQi1kk8EmldSN1kY4g8PdEEK4+3aNnZwylUr1xZDHVIP n7vm5ugV2PdkaLkjt9l7dEyEcq8r1TeB9316XDHRfv4ZAF4BZal0OUSF WoR4Q0rGH17BJLXHIRKfcI73gux4YJjBIr5BNHh0gKkK5k9Bvt8zsENZ 8+0= +sixgate.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. pXy6I4FoUVw3xGIUkpz5zhLsRRrJ85HqMMn92Row/euQRYEG7K0T3gqn CyjS8JoR6xO4NSI4WVYS2vis6w6rc+UJ+TBLOcaWTm1+v1z6CUoNHXhc jR0PJT0Ax+PW7cMlcBq1BjjYzWzvGWOpZRgeeJYAKykBTOXcXFqDvEIb kSU= +sixgate.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. K1y9fQ+W5hRkdu1ISPpV20vBhTzIbJsHEmSJB9+Di8vsUBDXxmvpEXw2 IhoVuz7CLg2O2pWsDUHq2X/UYJ4fHIrWe6yY7BPXxLxPGi7XTaZ5la9+ YBxT/nUM8//XATDV0xKOAjO9ycAYvXl1cfXP7ykg/dFeCVOszt61mGzS /CY= +sixgate.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. zfXBSa1wNC+Cot0/oWacZzRjZdyJ8/N4UpahcQUaLJ1HVPZge2R+a81B EUGelJItHrwPM/kQdWSGE++V8PbZqLXf4Dsvq0ExLHQz7T2A8B1gOHyx Hoz6RCjBKVe8obA2RoxU0H09TL4o6uuhVbCx/iLr3CuJuqfv1k1g/EF/ 9d8= +sixgate.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:250:bfff:fe5e:33e0 +sixgate.nlnetlabs.nl. 10200 IN SSHFP 1 1 7EE7E899A067F1CBFF755FE212B4EFAD9797CDAE +sixgate.nlnetlabs.nl. 10200 IN SSHFP 2 1 03A80B4632B239DE059B86975D660768786066ED +sixgate.nlnetlabs.nl. 10200 IN SSHFP 3 1 96AC54D0FB9C42878DC1DD0AE0EE1FFA51936AE3 +sixgate.nlnetlabs.nl. 3600 IN NSEC smtp.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +smtp.nlnetlabs.nl. 10200 IN CNAME open.nlnetlabs.nl. +smtp.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. rRHrvP9bGHfAX0CvHiCsjcXWJpPPwgjrXNSWXBuVgSqrLHdGNfW6+wqg 8qrDSEWhJ/wTnxksy/DYfn0DhPNqQXtnQPNfeYaR/K7CWs3AAlrNWwcb /Ety1yXLXjpWLLe6oSL0OAIqFumEJz08lfJ+YDuw1WQWpl7RgQ7ww3rm 4vU= +smtp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. glhAN45idGsA5QH2rQ7u3MwZmL0+7vALqsiWMIqldxImOoM8CbP3OIIP 46ciKnHQpLfo1sb4gBrIIBiY7eLHSBUzgZ7vi5sJiJmQhXKnECEYBhkZ InTv6upbTyd2W83NIYWCXy5QsW87DK6rC6/SfboAhkm39Cqk9U+sKYGA 15M= +smtp.nlnetlabs.nl. 3600 IN NSEC _25._tcp.smtp.nlnetlabs.nl. CNAME RRSIG NSEC +_25._tcp.smtp.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_25._tcp.smtp.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. EuIqHOQq9OrA2ukygnNfxK7MEm1fXZR4B0KYOSN9f5hk1U869G37ZGJa YN+ouXF0FKWH/1JX1KCNeOUhd2JRFOzfxBs+fwU2NyOlxWyB0q05PT7W sXKLdqdCo5aAtHBtk0tkW70qp+oWohYV8NnCbkTDonmo4ZFwxT3+kUkN QMg= +_25._tcp.smtp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. iEPj3e2nL3oLn+uWREdiO9ClqDqEDNPLAJd7sf3+eNeS/HtmlZURwSI0 KFCSUk8F66vwKzlhWCGuIj0Xzz5wWH1lfwnMgz8cyq9QwfF6P2kOU912 OOcvDbQr8Cxwk0svSkFuwI88VrqNIVBeyt1kvrczuPZZaumjCwNw5m4Z YeE= +_25._tcp.smtp.nlnetlabs.nl. 3600 IN NSEC _465._tcp.smtp.nlnetlabs.nl. CNAME RRSIG NSEC +_465._tcp.smtp.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_465._tcp.smtp.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ZY6vE0++SHJ1xTJ67qCzp3UiydoTroTFcFBv1zkDJ99PrNBGBJQ5CaqB o45d5c24m5leMT8wpqDBLKQxfOb3C4c98NrgNWxg07a/+KwCmqpq5Osh TfdVURlUFLmFAyQteUGS+XB80rNZoO/teyFSP95WZuSb2JxT6ZQuJJD0 DK4= +_465._tcp.smtp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. V9WkAYvW0Yp4cyXCsfRYqH49L3ZjAIfqH1eTjiacdQb+QiDUnXisVHwb NKfuxycdN34Hbhs+KJM5z9PGI0O6BjOXDazDf9xviEHiWJIMCtqE86h3 IHHbA/MyGiZORI4mHBSslAk1CBzm4Hc+ApBtVGQjdJAMlhG13slxBs+s Dcw= +_465._tcp.smtp.nlnetlabs.nl. 3600 IN NSEC _587._tcp.smtp.nlnetlabs.nl. CNAME RRSIG NSEC +_587._tcp.smtp.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_587._tcp.smtp.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. ucD67wjRuXWz3b3W/8upEplI4jgEsHYZSjk3ssE2KPRPpx68PvK0Wa89 NSLfLd6KdAfo2h+3dbYcKq3IvkNj3geBBCYl5Z8BSc4Iw8h/441wAh/d F6uLeNEQGbo/3jlgdfHJN2Nm4927mgKjcc3iRL7V2dff+Z1815MgOwvM 5co= +_587._tcp.smtp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. nnyxVRm35FWQgHUHmAlmSkLVF+Kb7HOR6yKJArW9gEuGeDfn0lFkvxah rldxR5q/BLQJe29UaHG/ySYk7qe/DneYtEkkbgvSRf0m5U6KcjyEbZRX PS+WNpy3/c+zE46N5ki2I7M2F2bU/sA/luIuOUaUuycRdBVYLdQcpQ2b fuA= +_587._tcp.smtp.nlnetlabs.nl. 3600 IN NSEC snom0.nlnetlabs.nl. CNAME RRSIG NSEC +snom0.nlnetlabs.nl. 10200 IN A 213.154.224.200 +snom0.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. p6tnvXWmJIFvKJvlqqZmg7QuY4L2SlJ5y+9tN4LPrrMsVoe16QCOOVEV Wnk3Mee5KnoldkDsuXd2AVFWguEAd3O7r7EJM514Q6q2SO4HcZCFyuCH OGBLyf3hrfsMJMrPU+AGL4o05Jc/831lR2542AdiuPFcIlyWy5VqQpeO nFo= +snom0.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. g4g+BnxoTyGBghnjvjkLazQiGOpYrrJoeo5AABOPzWLxzt4jZ7VsE2Ys pCxno3BocOlaroErahJo/B5m4YvoyscxFJdCny1pjpRxqEvP8hd/9ECv yGVjrIm/G9E5DtkAgGHoyMMrJP1aS7KpjQMfaGzNEMuhleTmI1BEh68I /QE= +snom0.nlnetlabs.nl. 3600 IN NSEC snom1.nlnetlabs.nl. A RRSIG NSEC +snom1.nlnetlabs.nl. 10200 IN A 213.154.224.201 +snom1.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Qs72TTR3lszgtCc4LG+ImuiJhPABShucGlAUzkKknDsTbKEz0iZUJkSI 57vzdlfxf9vEv+FU5pwyj3j9C/JRHLz/0Az0QY/xcpmg9It2JXgeVcU1 KubZVbuEdUhexCpfLpwq9xVN4FcWb1/U/Lv/6fWpNegoILM+EobwF4CO FnM= +snom1.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. BrPy0ASUe0a3zz7eXCXB24dz6EPdomlObBIr7H6eTqhAdCArP7C4SMqG Au7lUgGz9FUaUR0SBhts0UZgGUUz3d6oYPzeRhPf2y1dMHE0+0X8v3Vs GCaxaFKtaRqeWMCWTNcQuwNKjq3nts3Ft5atX1R6nJEmISTvu828r2Uf 9Tg= +snom1.nlnetlabs.nl. 3600 IN NSEC snom2.nlnetlabs.nl. A RRSIG NSEC +snom2.nlnetlabs.nl. 10200 IN A 213.154.224.202 +snom2.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. xEJyHu2bLfF+opztY1JSHjkh8eU1Ui3ukVfR2WNaZvDJx5cz37XDH+AE nT1/8f88N2xFN7SPH0wtbrknOHFFHt40BGTp6rO+5oM1smTXR7HxV6QO Oh3ocwm61M7vVac58bEV3pGaVLC9fqEqLabVJgfG1QE5UzI3PJc05Q7e 06w= +snom2.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. GQfH5liaXmwNfE6O1CwicoNvSQ1SDAoZt1iw11E3cb8336klUnC/mMsa OwRCuKnXavB+hUQRk/Y+D8bWQ5SXVekhMP+4waEwZre7Z7hdYdAFYX2R tPikAfGrJNnVi8PNbEnKFQAIC+OTaEfz3oBorWaN29B1fgYi6rP6Ai23 6oI= +snom2.nlnetlabs.nl. 3600 IN NSEC snom3.nlnetlabs.nl. A RRSIG NSEC +snom3.nlnetlabs.nl. 10200 IN A 213.154.224.203 +snom3.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jdM0Lbikaa2FjDMX+APHMpE08S1D6CLnydAl+wyODMXM3cGwwWWZpSjr pEAakZCmCjaAkkXUAezZejDaTQBc9gm814KbMHHANsVQtrFoRBDN4R/B PZ5RGHDThrg9LZlDW/benRZg8XrAY8hZNtbU5WKM1KpOODGpNSCE2vcc 42s= +snom3.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. xuAUXy5dX0Ny9Rg3l7DzOXdQSWMFT97gwzCYI+CXBsqfGt7glxg1tM7I qn4qvhwOFbZ+8DV6fmVYIr7i0/cNOOYDE1jHMotfRdsCgHoddhWXYuI7 q9LURbNUwOOGogcbfIeeldUbCxjfV2JSJMqJRwx0D0IgG49X7j9whZQs cRI= +snom3.nlnetlabs.nl. 3600 IN NSEC something.nlnetlabs.nl. A RRSIG NSEC +something.nlnetlabs.nl. 10 IN TXT "nothing" +something.nlnetlabs.nl. 10 IN RRSIG TXT 8 3 10 20140224111605 20140127111605 42393 nlnetlabs.nl. LPUaKKder0WwDyjdwWv0ani+R8Pha3PLiDnTVbY2y4CYcwWYJqi6ewv0 7lFe9EMcl3dxAuAC2yV5jXL7LSkE0j2ERFYKeSioI/LkdjWo5Um08Kje 5ImYO8pmM9K3A6u+uKsf3+eFj2GiMXWnWKk0hnja7fteVLah/7ZFso66 c6k= +something.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. v3eQ4Nb8Pw0z1nuewImqsef84MCo8vdgRP9RVFof8mU6Nm2Qa0uHGxxi ieqg5OW2ZhNFwialsyJHmuy3t4Yt1nN5NabVimS6/pDf9VL981o8TxlB jqPrq+wLmWERVxjqyeR62ZT+jZFh4iiW8NJvX6IIjNW1Aue33qBX9wC5 cNw= +something.nlnetlabs.nl. 3600 IN NSEC sparc5.nlnetlabs.nl. TXT RRSIG NSEC +sparc5.nlnetlabs.nl. 10200 IN A 213.154.224.47 +sparc5.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. eVlNWwz3r9+ySqO3Oc+k6jQeA89i/Afm0h7JmWy4H6JJY2X70oa7pWur rPpl3a1PKPEU7klxD7JQV1ehG5z2qwZe+jZsv912pu4bDyqYu6mmICyO rjh6Wdi8JXmqdIlZEN1lNHqNLndSBzdOP0Tmn+zjGpw4G4OLA8iMaIs+ whM= +sparc5.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Si11EpZcH0w2GUjcnU63FNATndEjWVWEzpaZ57S5IMAW93u6ioCCzCeU Y4KyqclQ84f9lBnZipXboelRkdoXn8OXUHgN+nnByvZ+Rl70VBMo5clu 9u+z2l5DF9vnJWn3WefaZXkRodFr1DKZUYF91gp550gY446b2ynu7xCs QsE= +sparc5.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. SBkYB/Yx2Yy/1vz0ZXye14uy2/nALMg1EH1m5CfDS/ozCdXlH0H1fFZ9 SrTTxhELDvoUP/c+WY6jJ192GyVjpO1H6F/Md7cq0PE7vV/N7TuMwqlX D7WyE73Dvmf2eCU/Udkl0DeisdkY0N/dPmAJ5IaYVLeKsMOCTZzXBoHC 72A= +sparc5.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:a00:20ff:fea7:8f78 +sparc5.nlnetlabs.nl. 3600 IN NSEC spider.nlnetlabs.nl. A AAAA RRSIG NSEC +spider.nlnetlabs.nl. 10200 IN A 213.154.224.125 +spider.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. RXpyOMwRZhApiRQ+0ctSd5+RKA2PSuFWilreZkf53GVl54LwP/0Vwj1a 0lETzp3j7+HTA6Ubev08WxuO8I3my1hSM9z4Sylg+xofuNPQmSLvjZTP d4eytatK/f07Rcofv0ED9l8Z4BOjleyPlkA9gljFyxwzqQNJNruNe9N5 yK0= +spider.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Hv5jnhbf0+2k+oq178J4nIzPBNTMxQWRXzOkXRsud40H7CpHbC3XYSKJ XV2EkEaTky2A71v63aWk+VoGEYIgZ7LprQHQEe4BuEpc0IXgfDjgKPUn kYhW9r4DwPoBhUhmdipJGIel6tmSUX0t5xO2LgxAbOJedT2R1wEj9Q05 vOM= +spider.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. MSu1nNUfVe42zNpIbgvvD/iFwTRgOCUEaQhS2R1xTFIRvSD75HyaSA+U Xl2ZsjJshIAEdh0hOQimYeFa5hB8Xz+ZPj3wz8FWQ83NBYbi87yjCRux FZKEbTqkAygcOb4fY9268/Ov07VwqZO4eYfCxC+0TyfNFwtdx0pdMnd8 YsY= +spider.nlnetlabs.nl. 10200 IN SSHFP 1 1 63B9074714CC78736BAFFA1E6776975C2EB082F3 +spider.nlnetlabs.nl. 10200 IN SSHFP 2 1 E7A277786CFCF0CB1A4167A680DDAE27A59407D5 +spider.nlnetlabs.nl. 3600 IN NSEC ster.nlnetlabs.nl. A SSHFP RRSIG NSEC +ster.nlnetlabs.nl. 10200 IN A 213.154.224.1 +ster.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yNhuJpbql/LWyHr3IW5muEM00Z2BaoqxQlfAf++3bsex9FsSJVTyWvY/ KYq3HILyL3N97BZO21+x9Rq+eq5SsBDmPJ53061ybaQuq/5Gw7yFxxSo Q1Rkore0/DF8EeMoWPNjJayWYSPqbbVngJ3zMr954a8lNS+v88PDBEKx mTQ= +ster.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. mFnpxvq/pYpDHJljsmYJR9IC6kGnVFpQiRUzOHAIQszuJK9S0xTV5BBo PnrPV/AtdBjVus0p67qRpq2m2SEOnRh07ilT2kS/UkFMWxWcHVBW75BV E8/ofZvI/eMBZbza0apbm11Z/MTHvbMII3t5nAtl45Jxx845Qwm8L48H EM8= +ster.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. jGt4xszEWt+A+gcA0TDg7qlp94dLxlgUuOE8rvhgL6GPWK+O65mVq6V3 CW7lRORXgNqa0+Z2ECq7rUt0rn7BN+oBh0qASTNxvGkQPS8zj5Lpcvgr 4oA7hxXvXxPz2uRTQp2vrCh6wvg+wG/g5gRLAgcj5qv40A389mNQe6Lk /BI= +ster.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +ster.nlnetlabs.nl. 3600 IN NSEC stun1.nlnetlabs.nl. A AAAA RRSIG NSEC +stun1.nlnetlabs.nl. 10200 IN A 213.154.224.46 +stun1.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Nn2ue6PRSCb0c+ZsTm8vYFd1JeiYFf6aiXI2LMYvCqsd2GTiVYZlTVH3 crzoe2O0irpY23+B7cX6cuAIHBeZfr+xqOzZr9bdJcBJ7qmC9hdZyACG 2gd49WmMp8xwfhg5iogaU9bNoqp4VZ/8o7wZzxwwBoxaQYHUKwFAkIXh cDg= +stun1.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. UzLNxhakjp0Z6veEB4R344snmqfkRRHtL4gbsifmdE4H0cG/3pn5iop8 AqNcMdLwIxXA2/L0mhB3ekDNHnC3c9FpI+EqJJDLQkNFQQVwHJ497MpH UjVX7Bi01Sn5ym8/Xol3ryVFUcH+DzStFOgPoJWVa+N+Pg5z9qzEhFeH IoQ= +stun1.nlnetlabs.nl. 3600 IN NSEC stun2.nlnetlabs.nl. A RRSIG NSEC +stun2.nlnetlabs.nl. 10200 IN A 213.154.224.48 +stun2.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. GLCCaQsbL0ziW1H1eF15oDxQqjVAaBafW+xzdV4j8+B6GAOrqcVctnyI KfV0SIojOrxeew32TXb/RyA9sbRMFcg7iJ/r0gqaPCmchAjG0bVh/UaL VhJmdCIKQoAjcGx5zITNnjJ5+anmFCA/dQ4zmuhWlB4rBCgp3UOqnUlX ImM= +stun2.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. SzytbVsrHX4Tr58nwINQ1INkKAhHXtjhb0SBwTXMXSCRQ8uzYPgw1Oaa kLv/oOg9rrP9zkrnhe6iR9Yn8AVus/Y0z4s6Dl5zOVx+rt+OA7dZ4JYl NuH3A3B+RHq6XiBgyCLnm9z5XozCLuDNCvffeuImAp3kEAWw01/fk5AR eVA= +stun2.nlnetlabs.nl. 3600 IN NSEC switch1.nlnetlabs.nl. A RRSIG NSEC +switch1.nlnetlabs.nl. 10200 IN A 213.154.224.111 +switch1.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. N0oPPgtwCtlbCkTRSLcjUHDfJ85Sek7wRxaJRDuLew6JfBNsVS/ofJj8 4pTbtOOcZ1EgIWkArir5JqaIdRFYs+csh34uVcdaOJvwftyRKk0ItJss 57f37Brecp0CNiFu7wXv3BINI7Zn5vrZVZS9zxljBGYHRyUYhiRLjlHQ G8I= +switch1.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. lo5rrdUegUBJZ7QZ0zJ5zeAMxRg8P+D/MNTLkHX/cDnD5GuX77MOYbm3 eRF3rBXlmYlzbF0gtCP4ccM6L1niR39Z3BudwHYQc92gv/gH6x2gl0Uh m9EaWRWL6DuPnfvti8AWTi+Nt9IQis5uB7nacuZZX9KrVLlXFaR2Lnyv XIU= +switch1.nlnetlabs.nl. 3600 IN NSEC switch2.nlnetlabs.nl. A RRSIG NSEC +switch2.nlnetlabs.nl. 10200 IN A 213.154.224.112 +switch2.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. QkjyHR8ekBxetrgRTSdjEoMwovo0Cb79MlzRdqf9RrRscd+Ph5sIP1Vl /cLQRwyyocgeJ1vLUrRBlxGnmFXFX71vUzOmUnaWeQS34fNqlJ/26TYg 49ruQ1wvNZxKffYhuQ/sjrFI/uiG9wDUYwNCkYu6jpu1wNFdZZFYFqvL gfo= +switch2.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. F4CQ1WRmw0N58gYpf8x2cp6ZVTGpGQMYY8A3dPcxIMkIX0UL7X/QaHKt ll+DK8TYkxYu1klkYUNs9G3yq9R+UKu5uzDgu4m1orPd6ytX/8lILhru r6MFTFfPTgoH9o5Q1uotJ5ZlNWxkM/RX8Irq2HzXXZbt71DTxLoC+CUJ cRM= +switch2.nlnetlabs.nl. 3600 IN NSEC switch3.nlnetlabs.nl. A RRSIG NSEC +switch3.nlnetlabs.nl. 10200 IN A 213.154.224.113 +switch3.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. qcmDGHF/KNC4XNnGW1CkcGgEuVEgfDIkms/qsZUuse2kB0gJ84o44f2G oFTgSuUHqrE3Uhrup1uM7pMk9vEVQQ8rAIJq/EbROS8MQjoUQuqu1g71 XfAUDQMltKw+GrWu4HxtlepfoxWfwMSR9gZDop9TE4zK2bbzmFJniu9P XPs= +switch3.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. Ld9ogqO2PHcP2XHQEfTYjqHJJBqdfSPq5yeg0pfq4/Ue84AenpN4Zg36 0hSme693wvfSXLU+f0ewL4+MdFhDDfheq1c7x5Z+1Md7/BWxQzuQAguw PhRMn2TSt7dTLuR9tD5hn8VtfnRXLOQEjiqnYXATyvORYbD0DgjoB+1A Fgs= +switch3.nlnetlabs.nl. 3600 IN NSEC switch4.nlnetlabs.nl. A RRSIG NSEC +switch4.nlnetlabs.nl. 10200 IN A 213.154.224.114 +switch4.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. KpXz1qOM7cjy+ri77MtmFoPiFauZNWyNKxUULkiMkdZLpPa3bu2KJH5N s3m9EmsuRtp4Y9S300fTqm3j1QtVmtN4uAbb3Oa31EF6NMZig1Y0d0F/ LMKHvd2dsltrJNZXAckAZOoVVIO7CTz9SMgcFKGcHaLHUy7AkhPV4D1v yug= +switch4.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. WlpWdH/oVVwSFL/5k9a4JQBRbe33EKJ8En2gbjVU7pp3MiIAvSpLTF9D 6yjyjfiRZuujL8FzmcJa6oloW/XxwW+MMfibkDGLHJUo0pd0RNedwhGQ YIdrOtZobyLnR2+PURIWYxmLQCsFkkRbJs8WyTUvvDP3350sZDrp0c02 sFY= +switch4.nlnetlabs.nl. 3600 IN NSEC switch5.nlnetlabs.nl. A RRSIG NSEC +switch5.nlnetlabs.nl. 10200 IN A 213.154.224.115 +switch5.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. F3PaeVx42gnH3MwuOgjnM5flPL9eWw14pDkMFZJ+P2AkGrwsNH1zCaig ujk/O4tyqSqPOtqP6uzHiGXdI6GbKB3IdLkfTl38S+kSkyeBrg/fNy02 pJ40QTevdUpuThwx/wDVF8MTFZwOux+u4z21oDhcOxDGg1c1QoAiYAZb 7Ek= +switch5.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. WmzKyp2bTCjwYq0Sn1uAANHFw/CxA2QO+EIX9k3p9rzmUm21IDcS/0h3 E2JE7XYJiCK2S7MyHixDDsoi4bxDKHpAd9K5MZ7EtWUXH82lvd+ey2AV +Kx17OWYWHG1EuI9m04QGQD5d0NnsrIj/cbpSK+CUE3rR/VyjVjB9gFl zvo= +switch5.nlnetlabs.nl. 3600 IN NSEC switch6.nlnetlabs.nl. A RRSIG NSEC +switch6.nlnetlabs.nl. 10200 IN A 213.154.224.116 +switch6.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. jaV/NYRghPjPEBApQxEJBEXnzUAP3TYofcsmZQ1Jl05olY02uNsOkCm8 bhgQJVjAJ9w1YzhuKw0MIIcHaxyZJNzV3yx04/TNIocmc7x5cfZE09jY odO3D2xfYXMuhadtZuhRM4CFv2A9V5dQ1VoXsUWE13EmE57mdH6fLxWD kZk= +switch6.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. BtqQL6SQWSLuAmwznmClSvQZUxr//x/C/GVnq2gR9LuRlf0aFjVNQkAr LoE2dHZGgGUgYMa5vAzkyS+kWPzGpPh37FXtJpir8KNEHznunPKydiuy jgNH1TSyhV3yXgoq1eV6D0TytkjiWOSLXZ+ryZG3r2EX2Wi0HNsHTHaY NG0= +switch6.nlnetlabs.nl. 3600 IN NSEC switch7.nlnetlabs.nl. A RRSIG NSEC +switch7.nlnetlabs.nl. 10200 IN A 213.154.224.117 +switch7.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. JkvhyIXgWrhsRbfHztqnq0Sek00/2hYnk3gMki4ayA/mgpJfm5DDHMW3 LhDjVgIkHXDjZbjirp1xjrN1wssG3RhJpFB+BzFMh8jbgvbf5JSIlv7L xJe2cgTdqtbw8OvGwN2049G6q+lJyOSAFnAeJhEUFHKUxg4l7y7xrGL6 7To= +switch7.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. d8Gsvftb6pI2O520nhKH5ki+BXqG0vw58MH23DEF9rsIz1eJmLv44j5d 4tUJqlXw/zNj161f2KT4uykHMATJPNEak1mTJy7IRRfzPVprYKwKyjOB TrqolRaUYoa2G98ks9ayg/uBk/ypVtD4Kbqcck7/AeH2gdtLWlAz2tzY Kx4= +switch7.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. cdO72AbyDBRI+shQrsjYw/7ed1sIMphZJ/6Qg5S1z3d1KsiSEbX06fZt KynrLO+zl5gXXj77BbCzoUDqHIZgqxB+TSOpdgUk2eZKPGiraBRYuNxS a4Dsun9/2ltdSY1lZCl5kifFpQE7IZbSiTSISmA11YNUp9si6ufw/H3o YJ4= +switch7.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:212:f2ff:feec:d040 +switch7.nlnetlabs.nl. 3600 IN NSEC switch8.nlnetlabs.nl. A AAAA RRSIG NSEC +switch8.nlnetlabs.nl. 10200 IN A 213.154.224.118 +switch8.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. rMqTm6XnspU4KF1B7q8hjz0QIwfta8+r5m+Lo1L193TW3eV8qe0rD0VC PCrKpAtocc0jUG484b//dg5SB/1zTs/BWJGGwMGjLc3ERJO5eTCb8dhJ 5b7SfqXNU3uIO9VL6S4cE7u4TOJDewRyX4zoijwIVnkhngfkOTM0IVTt vFc= +switch8.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. c3yY/dBpZCYAtzg/XobVHhwAdQQx68zGJR5v1qeyA5PoBchIYNTMVYyZ GuoWybZnpdVTXZEeDyJ2+RE7SVvC5iA+Obp+cFOr/yPt34d9QjwBhC2S dRghhC52EdeaFJld7oux0aS0XJ1u2wJNllYv7qujTAwmIyMb95O0Vk+w nq0= +switch8.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. HlG7+76k7oB38GGbKWB4zETReznO2MgTVHHQ8BVUXN6I7djoSlmjUM/v f1tq1aDpo3f9oim1d46FuF3wIoZLVsF+1Y8LlPAptAByvNJ+jj2RkhRL vFW9W6o8EplN0EpDMwuWuyBqNnZFQn7gn5Nyr9p5Jw47xrv9xEIN2Mj9 5vw= +switch8.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:212:f2ff:feee:6380 +switch8.nlnetlabs.nl. 3600 IN NSEC test-www.nlnetlabs.nl. A AAAA RRSIG NSEC +test-www.nlnetlabs.nl. 10200 IN A 213.154.224.1 +test-www.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. E2QhVhUUfphUYzppDkr249o/o5cqtu5KLsN5JSTTYQrktynis8xXuSK3 sau7dzSOr+3igodvpW0nprUmyAY/kd8pU3Vn2T+z96CY58pOO4Yoo5hL rfCvkgU4dzfPeSTkw1w0GgR5z9iZQ/GlvVbEqid60mekwSar6N4unlPx EFc= +test-www.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. Ynb6Lyq2e6tugvYMgXsD1kIBy61noEM+lfLDrBXlLh6ECcoqaJ/8fk9p w9NJZ2lwQpk4fyjxP80dTp01Kzb5CdKTPIdEZLezA6A78RYVRYINMI27 FFDAJR/VhdOJP06oicya/tc9Sh6DUtfmPlDGfJ/F1lGf/lHLEY08KXnf cPU= +test-www.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. fXwJqqXm2LQErC/Q0vBGN+AXEZ0Sm1Cu0Cv1WDMa640KDDxLeovM83N1 8zZWO97R4+639eTBmY4LVrzehydUOBWoo1YMoqyvJ5EyXAy7tu42THjU aqpJpZzL9A+tNXWg6IaxiMqWWr1MRPiIvGc+X7JYgUj/pbUQw3Dj3XUa SJY= +test-www.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +test-www.nlnetlabs.nl. 3600 IN NSEC umbra.nlnetlabs.nl. A AAAA RRSIG NSEC +umbra.nlnetlabs.nl. 10200 IN A 213.154.224.37 +umbra.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. XbSCHE9g7JQmVYk9JXF/WZdqj1tkS/MJ3XnkdTB+h6uQ9hivlGS30mbQ 4lo8OZXg2EvAd7wsfYty4ObDgtVckH2K9YmlJPtWN4Jv4UIDVNWtQtBV sqOF1eK8jDI8YtYBNU+YdwFTd5s4dSfREroEl7AfeDbEYLj1l202Y57P 2kc= +umbra.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. IfUS7VWZ5BCQfyHmpAD36mvjntxlN6g+JbESxdIwGXaZ2tEXUjT3aaKO oWHFrOcgrytSGOTx5FyQrjJnfrAMFjQgh2Q1mpaTvgbgrcjb3mNVvaca XoOWi4g5Yoxc7BjxDsDqkk380G5z6E0874rHjsAHpEbQ5xlvqcPyYxnZ H5A= +umbra.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. FP8oNmVUkicuQZq+sede5dBflrvmBONAyaWzPyTjCCJtUO5AL93byCYp tQDqgmI1UJLul/etaScI5S8jVICicpntH7nPD4DTpVEp6DK7dz+LS4HY ZxhRObOFoQc3LbM2hhcBYLVu2v/j0UR4S8VdCUNM7jWLyJwkVT2fjoQu 8Ww= +umbra.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. aX92eFBNJ2+Mvn889/2cTL+60o0kyTuNr5+dsdIfvgBm7XQyao11xfl+ KCgxKYPyhEbQusMDXarJnzqvPS1I4XJVyhxQnEmQoDrrncs8VejlTpQ3 CwohfHZbW1GrVlE8BFqTpgQivhaAZd3WOifOgdxMyQGwLZYPwYCxHhUg vAM= +umbra.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:203:baff:fe06:2060 +umbra.nlnetlabs.nl. 10200 IN SSHFP 1 1 E898476127D38FC18600E77421A7E44F1CB3B266 +umbra.nlnetlabs.nl. 10200 IN SSHFP 2 1 164C09BCEAE3466B3F2AEE99C0AEDD91E106F7CA +umbra.nlnetlabs.nl. 3600 IN NSEC unbound.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +unbound.nlnetlabs.nl. 10200 IN A 213.154.224.1 +unbound.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. QSZ3PTyAGlZpEoK/mKN/sY5QR1ym74FQRq4lU+YsoH2HKwuxukF49L7v dq+3cKA95Hy5iQNYWLTNt88s0vmPHwtwD0mpbtEyfn4sJoVS7lHQLr8N 0HzGcVMyD1edSyCxrcB4B930hgDIfEfLM7AvqQJcGfUYcGltNi1/M/C2 Lcs= +unbound.nlnetlabs.nl. 10200 IN RRSIG MX 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. INtEjQXKFxgb7ODo7VWHiux4UUYkvg2e2KdjaZZtvmq1/uPzNBl8moSB PmJseNCOMqIUv3lEs/06n4kbBC9k2n2LyjMsknFNRbWKte0HQPaFsl63 R6mP+2dHlQpNxGoZLHTy9r2VlzUNhelJhonx7rn+bKA6/rZzJ2LXuL7h FeE= +unbound.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. yoTIa+IITRhVXZvqhPxZ/D4OinWy6RCOyqobH72OzWWE/Pkg85BzjCya jEWJ0kFqNdak/oc3ON93xrpL01wpTlayHuvDNiW1QgmCB/Qhg3T2n4fh KI9MVsHMcvTvhcfy7ndZTgH+nwtlqO5qFjpBlmimfNYXK+x1WEqqGB/b uKM= +unbound.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. kG43QD3KHjcuxHH70giPGezIhcg+yFl6I4JSZcZa4L+u+2nZ/S2Y4lkl iSwVJCJx7lkd6J23ze94n/DtNYiav3fDV30UDWPfN9TeEdKw1vWmjlVH hgfXgKGY1PR/bE/32zc0ssGYzD6ypj+aoq7wjZnpqWE8LIeR+wBnEwbr 7U8= +unbound.nlnetlabs.nl. 10200 IN MX 10 open.nlnetlabs.nl. +unbound.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +unbound.nlnetlabs.nl. 3600 IN NSEC uren.nlnetlabs.nl. A MX AAAA RRSIG NSEC +uren.nlnetlabs.nl. 10200 IN CNAME willemtoorop.friends.nlnetlabs.nl. +uren.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. eXqvy/T2HBTjT4FWj3NSNY9CivUcGDv1Xklxrcj4RrIrE2veXBN/4OnQ 7sOlBKE0DiWdBO3TW4raO/aFpFuBjFQV+nv4Y2NDJYIfgGfv6Mad1tzc iPgig5TgbGaRiFE4iVfppIs0b1vIfDDGeBgO8SXo4tt80q2QV09Pv9Z+ zUc= +uren.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. cr9BJcZk2T/kUgqpCf/Ih/ippQ8A0Cyt0L5q4JkXfZ2joNIvfRQTFRzd R43MrcCWXQ9HdImV7VV1/+/3KgoFKVjlaY+uLBVvq9NpZq/Y5QrtriYA x60g1DU7F/rzxKF4XgOdnkMNMz7g2xOcbpiNdem82jXq4CXMA+rj6mOE vz0= +uren.nlnetlabs.nl. 3600 IN NSEC viertje.nlnetlabs.nl. CNAME RRSIG NSEC +viertje.nlnetlabs.nl. 10200 IN A 213.154.224.62 +viertje.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. TUkoNpmR0j0zyTjNjjx+o1xVZ+LOHcfz2UegdZMMnAB48NgvXWoPC7jE CxIMTG5LQkIFZwrdXli/9rb4pj3hk7kKJ9oF5XLhMjU1XDILhU4p+n0i uT+2PY46njekCbhujJZjIot4aNMrS69maAm1UrJVbMoWXc1FWBSlDaIE lvg= +viertje.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. FTCpa9ueWJmfUErf/g2uBKIyMo/GmqzUU/8A/HFsScO2GiG6zBP3HBQh lug1cP1eh5AIi+Fa/Y2a6EeGalGlOc7HOU5b4E35bQeWmUD6r3Q+tr6q NK/NJSMdy7FBXkNYAHPE1xRE8dm1lv4HJnea5RJF6U15FXoMuE+KwHrV Qz8= +viertje.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111605 20140127111605 42393 nlnetlabs.nl. wtMuZwjTXmU0q7rG4r8l6M2sKZw8p6sPMSj38Z89NZcy+UPEjIaBt9zn ae6u3Y7fIVNBkYhkUaG769s8H14usY681bzczo/05JdLeEPnT6zXmyb5 Bqc6vEJGMwRnIsaPjh+5QoVD7xvpff+2/Lip3muT1wmxZJD3quQge8m6 BZ4= +viertje.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:203:93ff:feea:3086 +viertje.nlnetlabs.nl. 3600 IN NSEC vijfje.nlnetlabs.nl. A AAAA RRSIG NSEC +vijfje.nlnetlabs.nl. 10200 IN A 213.154.224.14 +vijfje.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111605 20140127111605 42393 nlnetlabs.nl. kjPG3kJKmAgL8XW9HFDR+XVGH5WTRgxsmPkOpFzshzkRB/HVDNrUSmu2 chNepMRPy0U6n2ipjkZDqrfma5pMCz3b/uvb35XtXcoG426Q61j2TmuI fivbezjsPAHTGsjBgvCJ603KNOMhN8/F+Rv56C6CMLL8xmbj+6QM5KCY tC4= +vijfje.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. FpTKOEqqjGdKOsMufZK9fl7vt7vqn2J8s2BZiSpHRyXCkUHtgPtGxIt5 BFkiZ/vnTab8JQa0n4Duwm7RDZzdnedFVZ/jwusQJUPLZjCbLm9+pizW /MPTN1ljTLXOFNTql0PQuhLfvW0TQ5/qxjQUZQa1F8esz7q2hhofM2Jx Sqk= +vijfje.nlnetlabs.nl. 3600 IN NSEC vijfje-cable.nlnetlabs.nl. A RRSIG NSEC +vijfje-cable.nlnetlabs.nl. 10200 IN A 213.154.224.15 +vijfje-cable.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. XvaUqVxQtIlCQakPTr10reF3I8U5QG/P5h0OGFb9JnYPoC8/bClHRz9d pb6/jDl8fdkLyUgVSLO+qyVTNovOaAqJKZd2ai3Qs9IcYIDNBRBE5Hxh 7E+BjnoD6xgMT+AkBOQKQxGcW22rUDcHB44nSVRqZMAzknvAR8MIEn1g YcM= +vijfje-cable.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. WzfbQo6Z2hUAad6jI2Irwzn61rr8rgZuORTYyEX0ckxo+HvVdy0KnFkO a4lnQSkiYvu/zor/4ge5O2KbatgXdegx2ODNtCVmYYxK7ppSLzxFGYRM 2s9EVcm/EewNRYMww4r10kLEn34wO+CyT0pdwppm0/VHnlq02RQNVdtk imc= +vijfje-cable.nlnetlabs.nl. 3600 IN NSEC vpn-179.nlnetlabs.nl. A RRSIG NSEC +vpn-179.nlnetlabs.nl. 10200 IN A 213.154.224.179 +vpn-179.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. szm0gV60ZC89477SDuTJ/27QTVzPK22Ey51Gq0THaBj247DnLe/G8hto fmncjxUZ24cvpj+ZqghAbpCj3lSmHFVonq0hkuYRqJupZsDVA8pOM9Ps 1tApDlaoJdlIMAV324z4XlDukQtLwkG+ZQ0tYB/WIqRtnZW0L5hNQzFf H78= +vpn-179.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. iViowlAyQQRNApxVf+3ctvT+x554pAg5f8kLypKC9cgU2jxvn3u+GdyA VOb8Dcebyn1BTs8tAEtGBEu/umOQKr5XEr3rAYvCJbAnft5QJ6EC2C9F 9N7XSl9R7zmNCeaE7h6E55WeesPqn4seyUuFGwRaJBgdkWavkuobTVUN Z98= +vpn-179.nlnetlabs.nl. 3600 IN NSEC vpn-180.nlnetlabs.nl. A RRSIG NSEC +vpn-180.nlnetlabs.nl. 10200 IN A 213.154.224.180 +vpn-180.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. oApBOEV3T3fWWe31OREDwDBANnhLYubk2x425KzBHqUfeBqjatyyvgEe +ce/NdNK2TnoU38Og1JsDjF/iaVbJfGOGipQCtOVOCfL5EhgyqgAEsjf Z3iUFqCMndD+J0+3f65w+wH82jqnkg4Uly0egGj1ZaTviFx0U4CXLq0G gbg= +vpn-180.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. CpB19uWGY1V1u20N+dC2h/lJA3NtqzGolAd1o8KiJvVh4IhlLD9Nc8iI 4ycc4+bit9xY9ubLxRuFIkL8XJ7508d7R4s3xZpIBDuSJ5Z+OOLDsCXO sVT1BZd4zIQSK9JuFyhnsbNHDMaG+2NOYqi0HK8Rk/ClTh6++xsAc7Rc AeQ= +vpn-180.nlnetlabs.nl. 3600 IN NSEC vpn-181.nlnetlabs.nl. A RRSIG NSEC +vpn-181.nlnetlabs.nl. 10200 IN A 213.154.224.181 +vpn-181.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. h7xAYfPEcsF5Gg2Q3xam23WBpinnEIgvgPExy5w5gqodBvZQGOMyIwGT zWh3kwxUFtCpS04QT6z1BukqabFRVSj6PSd87vRwnuIXeN3S7QQdlIMx lOGgFexeiWx9b9UV5XIlOna0OnevuUln6Hqy8+lWVcCKvLGZPKYWF4+O m1M= +vpn-181.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. 0c+pwkNQc0g1tD76GBujwxDtzOs7aMnSFtNWXW5Yp/RNTRgV5FXOLEu1 UWftXpgGCaxXZ/tKfAObAsxDt57Bz188FZsp+Xb4PirqxByZXIemDykI /ZATVmv+wWsBEcwUJ3NX9D6voa7jsL1n6BCuYZMrjvqS2YvgRqXKO8N/ Aog= +vpn-181.nlnetlabs.nl. 3600 IN NSEC vpn-182.nlnetlabs.nl. A RRSIG NSEC +vpn-182.nlnetlabs.nl. 10200 IN A 213.154.224.182 +vpn-182.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. NfG/vMrKKuGNO3PmeiaX5kfOtkYxLr6Cc+HnfCgGHt2QLrMWOIRQakuF fsxCZJPJzi3iSOg0efrNY72JaPnVqCIKLDRRmOdmV7kf/JCMyXRn0Ux7 emsxAHAST2eiJhh/XMP+4jCC4UqyhpY5ZEWuqksj7eDC1/Lnp5ALbtGK D5g= +vpn-182.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. t3lk5lineyl5HMrjB6PSMxWEraefYXLuZtJ2M3R1U0p9zyeP8jvmDaT2 fSD0zANXei9gORehvN42I+h8WiHrYMxIfMV+TvkvluKSAuSWMg/9II7z dP8EUf+Y0YzeJnB3WkYDPoedO8MoPc+3L+9aslSJvhteTuhAIt8hCvlR bY0= +vpn-182.nlnetlabs.nl. 3600 IN NSEC vpn-jaap.nlnetlabs.nl. A RRSIG NSEC +vpn-jaap.nlnetlabs.nl. 10200 IN A 213.154.224.178 +vpn-jaap.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. ZIJsBBz2x/b//a7mTUOtQ+5hsWn/jMZXwU+HkXAxdeozWtHMz4H4FpwF 1qhY01WNKoY3zpHkp0BfsI/trgsNyczw5itR+1IYTnx9T6SQGbXZp+4U U6yuyXIcqdSw9EKgadBFhI7WehiDyb70GbwuHotmTUBxqSWkmD8lWdxo R/c= +vpn-jaap.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. fWqHl0Lwn4PV1YpEZhFIi5ygTLLkFJUQZ5fPh/mRAVuX3+8vYDx/V3Gt xrzYUjT/c7UNlQzMGk8zrjg9WgAsp0a7tktWSQrhwXO+cJ3XwrQN5ijb C4mBd0kzjv7th51wvksyN7lkn69sRHwhXfTwkrjzNM2fBQsRq026t4ld lIg= +vpn-jaap.nlnetlabs.nl. 3600 IN NSEC vpn-olaf.nlnetlabs.nl. A RRSIG NSEC +vpn-olaf.nlnetlabs.nl. 10200 IN A 213.154.224.176 +vpn-olaf.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. ckedKKiFyYdJ6IVzdonipa+lWmgmKeOX47g6TUYvYi86YW79BknVcHsi 5i+7dD6MGaH03ygTr5+WMQBsLDD6ohQiV5ACrhu98ilnINGg5dLPODw5 PgapAAyc9oguiuY+ZKQqv/L/wwSixU+89ogFQNxERQcO0EmYLdMyfVxO wtE= +vpn-olaf.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. tpqpU9Abk4u7WuLtZ5NZy+Mx185X4gNrx2p2OzWAKwHa/d5HqCm83/UL 1Ss81DECnO1odnqn0lsxTy7uNtkD4STYhcH2eUrXtXPrp4zpGmQLUjhn wQ3WegTGES2t+dzymDRdFwfVDnd+9M0yMxlXkwxjGbKeBJt9BaEj30Jt nGA= +vpn-olaf.nlnetlabs.nl. 3600 IN NSEC vpn-olaf2.nlnetlabs.nl. A RRSIG NSEC +vpn-olaf2.nlnetlabs.nl. 10200 IN A 213.154.224.177 +vpn-olaf2.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. TmLw392p7riLHdtlG3wCT/uDd0zJwo120NlxlCFeIlgBRCPmCypeX56O XjjO1IAIo2BsadwJF9hH8CZtukM00ONkugtfasd6DK2OapDvyhsWoAGp ovIS2vrX+7U9mdtM23dDpOrraIUwOZ0B1OAICityeuxZR0eExkLZwYL9 6dY= +vpn-olaf2.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. xtHl+flSlgcok/G5uc+cTTTlHbeybArUoEcj9i4waHnKqVn+KMoMr+NP H71tJExGCaCqrvk75G5KPIwkfcQRRwLUNj+ZYF4QAgw9APyGK+u+jZbJ 9SpZb/9CkrZbzZuLnQzEX/3P/QtcPTdv2X4rKOCKxlPfmbyP6AbhbwfY Yzg= +vpn-olaf2.nlnetlabs.nl. 3600 IN NSEC www.nlnetlabs.nl. A RRSIG NSEC +www.nlnetlabs.nl. 10200 IN A 213.154.224.1 +www.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. Owb00zLVFYCLv5w5kUwq3GarEf4xsos0I+ci996zdgy+W0Mxo02F3JCm VZ7dug0HrVuz/ydd6j6e/qbCkYhN8jbbOVouf/EQ1pnhpHNr7uhZjR1c GIiX+mQfw8sUf6WAsV8BPoBv5hh2nO3sra4br9FsZatb0IauQ48nkczB v2s= +www.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. r+VN19mgim1AKdG4onzcNfGwfpbkWVjh7RP+WAA7ku9w3XK2jdHiF3b1 QE49oiAbss43UrQlp+08m/6ZtxGNksCxQA1QAj4D9yQqapRfCbJ2iMbr yY1aCpT4i9CAF3oONw6xrJZF/fxVPvy9JruqKfsZDl2ZHoXCtA/eeCK1 hhE= +www.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. Mn9tqdCH8prMYU4W90/hpNDQNNSuIQ1jn+m9ocnCFWKM8jXGuGnmhjZt tPSw/sh6A8Va59bSuRgSyIg2ugxD1FQoF9sb77OAkyq0fxgSeDOx6abd 4SeLWNbvqTM8EpeXSabzB8Ez4y+cCfVIOtg18QcU8LZHYhcaoNQKqlq6 +pw= +www.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +www.nlnetlabs.nl. 3600 IN NSEC _443._tcp.www.nlnetlabs.nl. A AAAA RRSIG NSEC +_443._tcp.www.nlnetlabs.nl. 10200 IN CNAME 3.1.1._dane.nlnetlabs.nl. +_443._tcp.www.nlnetlabs.nl. 10200 IN RRSIG CNAME 8 5 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. qrfY6HcYTFFP3OkvVzJwkmJWLTTbq06jwpfbnUXbnISU92uXAQuPuyOz xyf0OQwy6Q8pQlIwjqbmcDUkWIfBBhvxP6FHWm0XrI6HKOoqxq5Fz1IK shs5n7jRZ8IfodMrK+ORt2FIwJUwxhCLrX/0OMmfAZPe/sAR3DOHOSBR XJQ= +_443._tcp.www.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 5 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. NdXOGpjS6HggeOF/lc6ie2GE+/EAC8bzIJ9H1fxojglScn9wv/+f9aA4 MGT1S2zgSQQ+NL6bjDMAL+FgNMV4Q1/5Tqzp+q7A/k9/zn8VXCky+gTz sm7WQzKnizbp3fxN8eHIDSq6jZnKK6ZJSuOfPuB6ECZtPpih1sBNXCAk WtU= +_443._tcp.www.nlnetlabs.nl. 3600 IN NSEC wip.www.nlnetlabs.nl. CNAME RRSIG NSEC +wip.www.nlnetlabs.nl. 10200 IN A 213.154.224.1 +wip.www.nlnetlabs.nl. 10200 IN RRSIG A 8 4 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. m9YpLhlPfovr8dwj81nCCiPLfeUR3+UUHXeWLuW4MtbNBHk7cOcHL9iQ 2KMSmPMOkZ+uIEdnNHssZkrBN2tdtY+0IES8SIA1aN98UuGjMje/rlEo tQ+NEW+WX4QBf0CX63iiWuM6IAUoAmemBzUnzv87cmyGtE9OcS55M5BC 8DI= +wip.www.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 4 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. n17wEA8VKLnI2EJC7SLpy6jJr6sWNnbSyn5rI0LP/jW0P+gv+0oWK5P4 99FYIfjM0i+h0JhYHRwLcKL3CeZk/2VNN5QglBsjsEBszmtobrpJeJNv meO8JTJZ0MkvzLLWd3MShlWsstfLwqC30uNUgZF3KAIUy44LZDb+VT0E Uio= +wip.www.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 4 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. NQ2HH6aWtsfFoSeORbU2EaLjNX5xypvr4S3R8YT9tmyV/1zQeZd5tkbh tDec5IchLM/d8oAhKkA6Insgf56Ur1Ls2aPy5Pv2lsOoaQe2xZRaDUZ5 ffgbW1hZU4eZAGyNj1htRDutUndFeI76xgwZXIGFcXXAXlytuZFQFMp9 BNY= +wip.www.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1::1 +wip.www.nlnetlabs.nl. 3600 IN NSEC xmpp.nlnetlabs.nl. A AAAA RRSIG NSEC +xmpp.nlnetlabs.nl. 10200 IN A 213.154.224.148 +xmpp.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. p+wzJmkft96vTw1bk1vKh5c2OAcQh4TkPPwpnfWgYsi2ehC7eo015Cwy 8zoqtGgR+2U9WgSTAweIWKqyna4ycPzgns2GEFwBlsv/g2MFHYR6zcZL navcKrgrEzuBO51td7wCPnFB8hQQoWxg+cbRJgOYwkjtVPHS7guYG0LI g0w= +xmpp.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. y9h86dHL8KDClGtcL20k70YUIB5blnY6bbZCo+UFbnoCFwxJV388dQR+ O/Qkm3HcN/eqqqitHr9rOPbsJUuDdJ4TiBzjYX71cRAvGcEl/cTmJJ2h zjKDYUDI1kzn38lY2MjhyRajiAblXi6CyItUoZY4qQza3cZ69v+jCmdm eMk= +xmpp.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. TGJFSHqt5TWsGPRgmEeVlcPexXy1C04Knf1W/Pq7uQkCErhn1Ruk15fz eBhEz0wTX4b0/ZlyJrDzZiMQXnsmU74PjB062y0rXF2rbU8zl5lK1bBW daLrAZ80Gkj61xdbmZK11La67U8tHaw+Dz/sw6Ex/fHCG2YzxRekonlp UYc= +xmpp.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. Xmu+ZzOkG0V3uO/J49BMnOdjEWRlnYTPJx8sW3/ey98mAibJT1ia+tS8 of1myDEe1p9rug5pSLYtNSFV51D++xyia411clKCsuOcFeag+fsK+y1p b4ly2RyOzMZxRTx6JoWTtA3RJISW9Bux9vE19V3UYz7jMKfqcPqjbiRL EEY= +xmpp.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:b0ef:30:: +xmpp.nlnetlabs.nl. 10200 IN SSHFP 1 1 44278B2B38155946ACAA742191D802592FE5D974 +xmpp.nlnetlabs.nl. 10200 IN SSHFP 2 1 64C62234F12768515F5EA1312FA04AEEF2C21B5E +xmpp.nlnetlabs.nl. 10200 IN SSHFP 3 1 FDE976561F905F1DA58E8C8CA8D7F6884D115A67 +xmpp.nlnetlabs.nl. 3600 IN NSEC yobro.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +yobro.nlnetlabs.nl. 10200 IN A 213.154.224.53 +yobro.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. w4mpke6CIR55xaQqMbNA/FNEFs1lCle7ci7SEZjHRapvWTVGGnO37tAD 4ygUHcd/LFQLJaVbA6yipPCgIjomwgHUdDaUlsJJmHnkGDBbGbOZWK0x 0uPh3O+jSP0a+dGxatDa6J14ht2TlDhdsVXCBcspxLGucQSrM9noE4wt qNw= +yobro.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. lnrWiDhyGXqSJD2KI4ccrcsjA/IPRwoJB0sEDkjFQgpzr+cV4ly/Zk+W VP7NWiQtGWYnOoQo6nVns+Qa3V2BAdbjiUzh2c5A8dPxGvn3/TXLQdaU D6u/ksTPUFBTosYNVxkzJhfCeV6AQJhy6M1mMPGuCzPA41idiQiBwTUH Vso= +yobro.nlnetlabs.nl. 3600 IN NSEC zaria.nlnetlabs.nl. A RRSIG NSEC +zaria.nlnetlabs.nl. 10200 IN A 213.154.224.212 +zaria.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. AJiW4d3BFd82L7pYHz14CgWdEqt8hP5vNJC1AuUL8Z3GcYOuSUF8qKJe IY4v1eoJErgO74JROAPYa/KLQLJ1nEM8JVgr9HB2D+CCSGmwD79vz7YF BeGexjoKc9neyCCy++FamwI5WbCXz2S6Icdh0+1z+q0mUBVablSs5ou9 w/U= +zaria.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. AfXZMcTku6xjlMUY22IFJTcZJ8GNE3Awg//s+ndt0XwCLQzcpviXnOuh ya6gVprpFow6XdB1Zaa8gvO1A9DXFP2mz4A/+wp3U88uS5U0SXbjWufW MK9JrEZKUyS/qYX/pLfXIY1e4jM+dlWl3/GWbWwVifGbO/gGj7jz+JfW qWQ= +zaria.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. twVQFMZk9SynU1bp0A/pIzIupS5m1Ms9WVKkUdVc8NoWTOQq8uyGAbA1 hG6eP5wA8sQKGUv1fVNeTpTzrikLXRDA6Taof+6uU/JPQWSuAr0YkHTl raue6eSOPFdKKlzqYQeu/3MB/zCwsXa9U/8ewj66RYCA5eMEFf2pJ5Cy FHU= +zaria.nlnetlabs.nl. 10200 IN SSHFP 1 1 A440F57393E55A79BD3EB97D71CBA914C15F9DC2 +zaria.nlnetlabs.nl. 10200 IN SSHFP 2 1 A5D6C312388F9CDABC3D550084D41C1471C1ECF2 +zaria.nlnetlabs.nl. 3600 IN NSEC ziz.nlnetlabs.nl. A SSHFP RRSIG NSEC +ziz.nlnetlabs.nl. 10200 IN A 213.154.224.27 +ziz.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. maYa6PCA+2uaz3QIS1hYUfjW+WzNdwi6f4ittb611PmPnO9VTl5TRVvM gc9Y8fEKPNTPK/im/qjcAhXVSEI8oGR0Ww6mooolY9l6eBdO5D3Nobnv 98iZqpWTuaBObTiCfsJKmSPUj5rYn+x4Ol/N54Y4xfPuQqH8uCxY6PO0 aHI= +ziz.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. FiYtWKhcySJmPf/PVd/UYKJeAcfrVDkRVq2xBxNr5/AGEIDuhwlisTid U9o37TzbphBlG6xWN2vKj+cemJKbMDVzjUxhjtnJrxIsg3edd5ZOpkEf WmBzIA9h6BhWWnFgV129IFt1ojKV5w3UA3WtdeJJC+wwmeTUBTlyA46K BoY= +ziz.nlnetlabs.nl. 10200 IN RRSIG SSHFP 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. yK1kaPZnS2dNtPFFie+vL8m0zw0F27chDsUQMtGDii6IK/m9AyNGigz/ morb5u0i2tjM/ePCxT2LPXOMQvYo8tWNysIGRVPpc4DwevSVfCOzxpVf QBOvoWots48U1PkeTDNLNmnuRIMacaRyyQVm+z35nLz0cWhUayZll1Qt P3c= +ziz.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. xfUJbS0OfqRS9EsnXVGWE+5G9x3vokpcSTAqI5ZW5wJNrhCrKnF73uWj MUxYs0ac/bR3JSoCmytXg7hhJH6GLkwoR8YvL3lGsqyebXqYq8j5ZVEZ WknhM9tq7W0h53FMVl/z0r+Nz8oQoaaYB9mjOp7SJQplk94ZtFRGtdnu WGk= +ziz.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:214:4fff:fe3b:655f +ziz.nlnetlabs.nl. 10200 IN SSHFP 1 1 0C7080A7A7E931F4B22FB937E10FB8BFFF42F49B +ziz.nlnetlabs.nl. 10200 IN SSHFP 2 1 79A780A6DBD2F1217CCE21B02A35CAF0E0481C55 +ziz.nlnetlabs.nl. 3600 IN NSEC zoidberg.nlnetlabs.nl. A AAAA SSHFP RRSIG NSEC +zoidberg.nlnetlabs.nl. 10200 IN A 213.154.224.18 +zoidberg.nlnetlabs.nl. 10200 IN RRSIG A 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. P69+KJ/51LzKSOM3dIa6sVQ/mf7c0ADFzjc7j5AxHSb9zylbVDd/eRXp wl1dkRXRM8lDzgL3Du+0T231qrxSNmt9Kk+Hg9fHhrmyE1+7c0zcPptL vRNjObZflUU7H/rHhHnS/qDRO7XMN5ekdj5/pispch5L9hIMWEZY9muB /Tk= +zoidberg.nlnetlabs.nl. 10200 IN RRSIG AAAA 8 3 10200 20140224111606 20140127111606 42393 nlnetlabs.nl. QdHCZ91vD+GMBElWwHlJNI9wr7Z7isXRhcQkcjBB1msSlrCNP7dMi1Yv IK+3ThKzvzFXwknjmsH01jEXhfDTPjUsAk1cFzMcv4C84RFyQkdz+BMc u1V3lyvpF8ipnfzi1cgOKNHdHVthmx6JCJO4wdofblWkN4fnDUFidrfV G44= +zoidberg.nlnetlabs.nl. 3600 IN RRSIG NSEC 8 3 3600 20140224111606 20140127111606 42393 nlnetlabs.nl. IkYDDKoDhvdWMqUBCPqH30sKoSFh3K1s6H3QuUxr3kHIZIdndcobCq+t hfrGaV/KvVtlOFRZsMHojJeIQ7RAhn+yxDvrGrxgiBOvUwow5zNwc3I6 MUWV6oGWDThUObe/dHryumHgngEVB7zevBZwslXpG+nsoxYbwPTTTott 2Xw= +zoidberg.nlnetlabs.nl. 10200 IN AAAA 2001:7b8:206:1:219:d1ff:feb1:85e8 +zoidberg.nlnetlabs.nl. 3600 IN NSEC nlnetlabs.nl. A AAAA RRSIG NSEC +nlnetlabs.nl. 10200 IN SOA open.nlnetlabs.nl. hostmaster.nlnetlabs.nl. 2014012700 28800 7200 604800 3600 +;; WHEN: Fri Jan 31 10:50:28 CET 2014 +;; XFR size: 1430 records (messages 9, bytes 140058) + diff --git a/static/netbsd/man2/test_packets.2 b/static/netbsd/man2/test_packets.2 new file mode 100644 index 00000000..ac9917ff --- /dev/null +++ b/static/netbsd/man2/test_packets.2 @@ -0,0 +1,50 @@ +b29092340000000000000000 + +289 +98d50000000100000000000003626c3402626c06787334616c6c026e6c0000010001 +98d58000000100000003000203626c3402626c06787334616c6c026e6c0000010001c01300020001000151800005026e73c013c01300020001000151800006036e7332c013c0130002000100015180000d026e730472697065036e657400c02e00010001000151800004c26d0642c03f00010001000151800004c26d0963 + +290 +b28f6a4e5011431228310000000000000000 +b28fea440000000000000000 + +291 +de6028000001000000010000026e6c0000060001055f6c646170045f746370026463065f6d736463730b6f7372646f6d65696e2d31026e6c00002100010000025800230000006401850c504f574552454447452d53420b6f7372646f6d65696e2d31026e6c00 +de60a8040000000000000000 + +292 +b353000000010000000000000450434b4e087963646f6d65696e026e6c0000010001 +b353840300010000000100000450434b4e087963646f6d65696e026e6c0000010001c01a00060001000038400036026e730f646f6d61696e2d7265676973747279c01a0a686f73746d6173746572c0310bf1e540000070800000384000278d0000003840 + +293 +b2901243501140a2340b0000000000000000 +b29092440000000000000000 + +294 +b28f6a4f5010431228300000000000000000 +b28fea440000000000000000 + +295 +e0f600000001000000000000066b6d742d6570026e6c0000020001 +e0f680000001000000020002066b6d742d6570026e6c0000020001c00c0002000100015180000c036e73310564656d6f6ec013c00c00020001000151800006036e7332c02bc02700010001000151800004c29f4906c03f00010001000151800004c29fb004 + +296 +0000000070024000a52500000204056401010402 +000080010000000000000000 + +297 +000000007002400088e600000204059801010402 +000080010000000000000000 + +298 +00000000700240001f5900000204059801010402 +000080010000000000000000 + +299 +b2901244501040a2340a0000000000000000 +b29092440000000000000000 + +300 +b293149b50104320eb2f0000000000000000 +b29394940000000000000000 + diff --git a/static/netbsd/man2/test_signatures.2 b/static/netbsd/man2/test_signatures.2 new file mode 100644 index 00000000..03378538 --- /dev/null +++ b/static/netbsd/man2/test_signatures.2 @@ -0,0 +1,23 @@ +; Signature test file + +; first entry is a DNSKEY answer, with the DNSKEY rrset used for verification. +; later entries are verified with it. + + +; DNSKEY used for testing, from april 2008 +ENTRY_BEGIN +SECTION QUESTION +cesar.sec3.br. IN DNSKEY +SECTION ANSWER +cesar.sec3.br. 43200 IN DNSKEY 257 3 3 AMAdw+X4IcinbsSOXamwV4BrJVbRjSJ63DYRV0NLR4W5cDMEQGmB3Lci ybjLvaEogs9RDmjhxQrQJRfaIVMG11LtOwlTPBr4yzyeK9zzeZPAQz2F 9yCCPqgUdts51v4XeK5evtn+b4AB7t/j+v7Vb+26k8No6hmJiRJAy59N Fpzrt5FoY5qFZ8QbPl59nzEcXTbOiXBNSu9mQbe/jFH5p9NP4KB0iNL/ oAthNIVVsDG8hQFh1hE5YlDNLxYY3U+TODjWx//DZvkn5Tyyvp7I6b33 oJiq +ENTRY_END + +; entry to test +ENTRY_BEGIN +SECTION QUESTION +cesar.sec3.br. IN SOA +SECTION ANSWER +cesar.sec3.br. 43200 IN SOA home.kuroiwa.eng.br. hostmaster.cesar.sec3.br. 2008040903 86400 86400 8640000 600 +cesar.sec3.br. 43200 IN RRSIG SOA 3 3 43200 20081010000000 20080410122550 14996 cesar.sec3.br. AJOGbuGOMggPspEBhIc58I8BXUHqR+DKiZqGZRwu9jMTgAX6JCPunSI= ;{id = 14996} +ENTRY_END + diff --git a/static/netbsd/man2/timer_create.2 b/static/netbsd/man2/timer_create.2 new file mode 100644 index 00000000..89d04aeb --- /dev/null +++ b/static/netbsd/man2/timer_create.2 @@ -0,0 +1,120 @@ +.\" $NetBSD: timer_create.2,v 1.13 2017/07/03 21:32:50 wiz Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 19, 2010 +.Dt TIMER_CREATE 2 +.Os +.Sh NAME +.Nm timer_create +.Nd create a per-process timer +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In time.h +.In signal.h +.Ft int +.Fn timer_create "clockid_t clockid" "struct sigevent * restrict evp" "timer_t * restrict timerid" +.Sh DESCRIPTION +The +.Fn timer_create +function creates a per-process timer using the clock specified in the +.Ar clockid +argument. +If it succeeds, the +.Fn timer_create +function fills in the +.Ar timerid +argument with an id associated with the timer created that can be used by +other timer related calls. +The +.Ar clockid +must be a valid clock id as defined in +.In time.h . +The timer is created in a disarmed state. +.Pp +An optional +.Pq non- Ns Dv NULL +.Em struct sigevent +argument can be specified by the +.Ar evp +argument. +If the +.Ar evp +argument is +.Dv NULL , +then +.Fa evp->sigev_notify +defaults to +.Dv SIGEV_SIGNAL +and +.Fa evp->sigev_value +is set to +.Ar timerid . +Refer to +.Xr sigevent 3 +for more details. +.Sh NOTES +Timers are not inherited after a +.Xr fork 2 +and are disarmed and deleted by an +.Xr exec 3 . +.Sh RETURN VALUES +If successful, the +.Fn timer_create +function returns 0, and fills in the +.Ar timerid +argument with the id of the new timer that was created. +Otherwise, it returns \-1, and sets +.Dv errno +to indicate the error. +.Sh ERRORS +The +.Fn timer_create +function will fail if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The system is out of resources to satisfy this request, or the process has +created all the timers it is allowed. +.It Bq Er EINVAL +The argument +.Ar clockid +is not a valid clock id. +.El +.Sh SEE ALSO +.Xr clock_getres 2 , +.Xr clock_gettime 2 , +.Xr clock_settime 2 , +.Xr timer_delete 2 , +.Xr timer_getoverrun 2 , +.Xr timer_gettime 2 , +.Xr timer_settime 2 , +.Xr sigevent 3 +.Sh STANDARDS +.St -p1003.1b-93 , +.St -p1003.1i-95 diff --git a/static/netbsd/man2/timer_delete.2 b/static/netbsd/man2/timer_delete.2 new file mode 100644 index 00000000..faf5cc10 --- /dev/null +++ b/static/netbsd/man2/timer_delete.2 @@ -0,0 +1,78 @@ +.\" $NetBSD: timer_delete.2,v 1.5 2008/04/30 13:10:51 martin Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd September 13, 2003 +.Dt TIMER_DELETE 2 +.Os +.Sh NAME +.Nm timer_delete +.Nd delete a per-process timer +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In time.h +.Ft int +.Fn timer_delete "timer_t timerid" +.Sh DESCRIPTION +The +.Fn timer_delete +functions deletes the timer specified in the +.Ar timerid +argument. +The +.Ar timerid +argument must point to valid timer id, created by +.Xr timer_create 2 . +If the deletion is successful, the timer is disarmed and deleted. +Pending notification events (signals) may or may not be delivered. +.Sh RETURN VALUES +If successful, the +.Fn timer_delete +functions returns 0. +Otherwise, it returns \-1, and sets +.Dv errno +to indicate error. +.Sh ERRORS +The +.Fn timer_delete +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The argument +.Ar timerid +is not a valid timer id. +.El +.Sh SEE ALSO +.Xr timer_create 2 , +.Xr timer_getoverrun 2 , +.Xr timer_gettime 2 , +.Xr timer_settime 2 +.Sh STANDARDS +.St -p1003.1b-93 , +.St -p1003.1i-95 diff --git a/static/netbsd/man2/timer_settime.2 b/static/netbsd/man2/timer_settime.2 new file mode 100644 index 00000000..be481332 --- /dev/null +++ b/static/netbsd/man2/timer_settime.2 @@ -0,0 +1,173 @@ +.\" $NetBSD: timer_settime.2,v 1.10 2021/09/23 13:49:59 uwe Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 17, 2010 +.Dt TIMER_SETTIME 2 +.Os +.Sh NAME +.Nm timer_settime , +.Nm timer_gettime , +.Nm timer_getoverrun +.Nd process timer manipulation +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In time.h +.Ft int +.Fn timer_settime "timer_t timerid" "int flags" "const struct itimerspec * restrict tim" "struct itimerspec * restrict otim" +.Ft int +.Fn timer_gettime "timer_t timerid" "struct itimerspec *tim" +.Ft int +.Fn timer_getoverrun "timer_t timerid" +.Sh DESCRIPTION +The +.Fn timer_settime +sets the next expiration time of the timer with ID +.Ar timerid +to the +.Fa it_value +(see +.Xr itimerspec 3 ) +specified in the +.Ar tim +argument. +If the value is 0, the timer is disarmed. +If the argument +.Ar otim +is not +.Dv NULL +the old timer settings are returned. +.Pp +If the +.Ar flags +argument is set to +.Dv TIMER_RELTIME +then the expiration time is set to the value in nanoseconds specified +in the +.Ar tim +argument from the time the call to +.Fn timer_settime +was made. +If the +.Ar flags +argument is set to +.Dv TIMER_ABSTIME +then the expiration time is set to be equal to the difference between the +clock associated with this timer, and the value specified in the +.Ar tim +argument. +If that time has already passed, then the call succeeds, and the +expiration notification occurs. +.Pp +If the +.Fa it_interval +of the +.Ar tim +argument is non-zero, then the timer reloads upon expiration. +.Pp +The +.Fn timer_gettime +function returns the current settings of the timer +specified by the +.Ar timerid +argument in the +.Ar tim +argument. +.Pp +Only one notification event (signal) can be pending for a given timer +and process. +If a timer expires while the signal is still queued for delivery, then +the overrun counter for that timer is increased. +The counter can store values up to +.Dv DELAYTIMER_MAX . +When the signal is finally delivered to the process, then the +.Fn timer_getoverrun +function can be used to retrieve the overrun counter for the timer +specified in the +.Ar timerid +argument. +.Sh NOTES +Expiration time values are always rounded up to the resolution of the timer, +so a notification will never be sent before the requested time. +Values returned in the +.Ar otim +argument of +.Fn timer_settime +or in the +.Ar tim +argument of +.Fn timer_gettime +are subject to the above rounding effect and might not exactly match the +requested values by the user. +.Sh RETURN VALUES +If successful, the +.Fn timer_gettime +and +.Fn timer_settime +functions return 0, and the +.Fn timer_getoverrun +function returns the expiration overrun count for the specified timer. +Otherwise, the functions return \-1, and set +.Dv errno +to indicate the error. +.Sh ERRORS +The +.Fn timer_gettime , +.Fn timer_getoverrun , +and +.Fn timer_settime +functions will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The argument +.Ar timerid +does not correspond to a valid timer id as returned by +.Fn timer_create +or that timer id has been deleted by +.Fn timer_delete . +.El +.Pp +The +.Fn timer_settime +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +A nanosecond field in the +.Ar tim +structure specified a value less than zero or greater than or equal +to\~10^9. +.El +.Sh SEE ALSO +.Xr clock_gettime 2 , +.Xr timer_create 2 , +.Xr timer_delete 2 +.Sh STANDARDS +.St -p1003.1b-93 , +.St -p1003.1i-95 +.\" LocalWords: gettime settime diff --git a/static/netbsd/man2/timerfd.2 b/static/netbsd/man2/timerfd.2 new file mode 100644 index 00000000..20398881 --- /dev/null +++ b/static/netbsd/man2/timerfd.2 @@ -0,0 +1,323 @@ +.\" $NetBSD: timerfd.2,v 1.4 2021/09/23 13:59:27 uwe Exp $ +.\" +.\" Copyright (c) 2021 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd September 17, 2021 +.Dt TIMERFD 2 +.Os +.\" +.\" +.Sh NAME +.Nm timerfd , +.Nm timerfd_create , +.Nm timerfd_gettime , +.Nm timerfd_settime +.Nd create and interact with a timer descriptor +.\" +.\" +.Sh SYNOPSIS +.In sys/timerfd.h +.Ft int +.Fn timerfd_create "clockid_t clockid" "int flags" +.Ft int +.Fn timerfd_gettime "int fd" "struct itimerspec *tim" +.Ft int +.Fn timerfd_settime "int fd" "int flags" \ +"const struct itimerspec *tim" "struct itimerspec *otim" +.\" +.\" +.Sh DESCRIPTION +.Nm +presents an interface to interval timers associated with a file descriptor. +These timers are functionally equivalent to per-process timers but are +associated with a file descriptor, rather than a process. +Because they are associated with a file descriptor, they may be passed +to other processes, inherited across a fork, and multiplexed using +.Xr kevent 2 , +.Xr poll 2 , +or +.Xr select 2 . +When a +.Nm +object is no longer needed, it may be disposed of using +.Xr close 2 . +.Pp +The +.Fn timerfd_create +system call creates a +.Nm +object using the clock specified in the +.Fa clockid +argument. +Valid values for +.Fa clockid +are +.Dv CLOCK_REALTIME +and +.Dv CLOCK_MONOTONIC . +The following flags define the behavior of the resulting object: +.Bl -tag -width Dv +.It Dv TFD_CLOEXEC +This is an alias for the +.Dv O_CLOEXEC +flag; see +.Xr open 2 +for more information. +.It Dv TFD_NONBLOCK +This is an alias for the +.Dv O_NONBLOCK +flag; see +.Xr open 2 +for more information. +.El +.Pp +Each time a +.Nm +timer expires, an internal counter is incremented. +Reads from an +.Nm +object return the value of this counter in the caller's buffer as an +unsigned 64-bit integer and reset the counter to\~0. +If the value of the +.Nm +object's counter is\~0, +then reads will block, unless the +.Nm +object is set for non-blocking I/O. +.Pp +Writes to a +.Nm +object are not supported. +.Pp +The +.Fn timerfd_settime +system call sets the next expiration time of the +.Nm +object to the +.Va it_value +.Po +see +.Xr itimerspec 3 +.Pc +specified in the +.Fa tim +argument. +If the value is\~0, +the timer is disarmed. +If the argument +.Fa otim +is not +.Dv NULL +the old timer settings are returned. +The following flags may be specified to alter the behavior of the timer: +.Bl -tag -width "TFD_TIMER_CANCEL_ON_SET" +.It Dv TFD_TIMER_ABSTIME +The specified timer value is an absolute time. +This is equivalent to specifying +.Dv TIMER_ABSTIME +to +.Xr timer_settime 2 . +Otherwise, the time value is a relative time, equivalent to specifying +.Dv TIMER_RELTIME +to +.Xr timer_settime 2 . +.It Dv TFD_TIMER_CANCEL_ON_SET +If the +.Nm +object's clock ID is +.Dv CLOCK_REALTIME , +then the timer will be cancelled and its file descriptor will become +immediately readable if the system realtime clock is set using +.Xr clock_settime 2 +or +.Xr settimeofday 2 . +If the +.Nm +object's clock ID is not +.Dv CLOCK_REALTIME +this flag is ignored. +.El +.Pp +If the +.Va it_interval +of the +.Fa tim +argument is non-zero, then the timer reloads upon expiration. +.Pp +The +.Fn timerfd_gettime +system call returns the current settings of the +.Nm +object in the +.Fa tim +argument. +.\" +.\" +.Sh RETURN VALUES +The +.Fn timerfd_create +system call returns\~\-1 if an error occurs, +otherwise the return value is a descriptor representing the +.Nm +object. +.Pp +.Rv -std timerfd_gettime timerfd_settime +.\" +.\" +.Sh ERRORS +The +.Fn timerfd +system call fails if: +.Bl -tag -width Er +.It Bq Er EINVAL +Flags other than +.Dv TFD_CLOEXEC +and +.Dv TFD_NONBLOCK +are set in the +.Fa flags +argument. +.It Bq Er EINVAL +The +.Fa clockid +argument was something other than +.Dv CLOCK_REALTIME +or +.Dv CLOCK_MONOTONIC . +.It Bq Er EMFILE +The per-process descriptor table is full. +.It Bq Er ENFILE +The system file table is full. +.El +.Pp +The +.Fn timerfd_gettime +system call fails if: +.Bl -tag -width Er +.It Bq Er EBADF +The argument +.Fa fd +is not a valid file descriptor. +.It Bq Er EFAULT +The +.Fa tim +argument points outside the allocated address space. +.It Bq Er EINVAL +The argument +.Fa fd +does not refer to a +.Nm timerfd +object. +.El +.Pp +The +.Fn timerfd_settime +system call fails if: +.Bl -tag -width Er +.It Bq Er EBADF +The argument +.Fa fd +is not a valid file descriptor. +.It Bq Er EFAULT +The +.Fa tim +or +.Fa otim +arguments point outside the allocated address space. +.It Bq Er EINVAL +The argument +.Fa fd +does not refer to a +.Nm timerfd +object. +.It Bq Er EINVAL +Bits other than the defined +.Dv TFD_TIMER_ABSTIME +and +.Dv TFD_TIMER_CANCEL_ON_SET +bits are set in the +.Fa flags +argument. +.It Bq Er EINVAL +A nanosecond field in the +.Fa tim +argument specified a value less than zero or greater than or equal +to\~10^9. +.El +.Pp +A read from a +.Nm +object fails if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The value of the +.Nm +object's expiration counter is +.Dv 0 +and the +.Nm +object is set for non-blocking I/O. +.It Bq Er ECANCELED +The +.Nm +object was created with the clock ID +.Dv CLOCK_REALTIME , +was configured with the +.Dv TFD_TIMER_CANCEL_ON_SET +flag, and the system realtime clock was changed with +.Xr clock_settime 2 +or +.Xr settimeofday 2 . +.It Bq Er EINVAL +The size of the read buffer is less than 8 bytes +.Pq the size required to hold an unsigned 64-bit integer . +.El +.\" +.\" +.Sh SEE ALSO +.Xr clock_settime 2 , +.Xr close 2 , +.Xr kevent 2 , +.Xr open 2 , +.Xr poll 2 , +.Xr read 2 , +.Xr select 2 , +.Xr settimeofday 2 , +.Xr timer_create 2 , +.Xr timer_gettime 2 , +.Xr timer_settime 2 +.\" +.\" +.Sh HISTORY +The +.Nm +interface first appeared in +.Nx 10 . +It is compatible with the +.Nm +interface that appeared in Linux 2.6.25. diff --git a/static/netbsd/man2/traffic.expect.2 b/static/netbsd/man2/traffic.expect.2 new file mode 100644 index 00000000..dcc03eb1 --- /dev/null +++ b/static/netbsd/man2/traffic.expect.2 @@ -0,0 +1,6 @@ +.\" $NetBSD: traffic.expect.2,v 1.3 2025/01/26 16:25:04 christos Exp $ +.\" +tcp request-size 16-31: 1 +tcp response-size 64-79: 1 +udp request-size 48-63: 1 +udp response-size 112-127: 1 diff --git a/static/netbsd/man2/truncate.2 b/static/netbsd/man2/truncate.2 new file mode 100644 index 00000000..5a7fc891 --- /dev/null +++ b/static/netbsd/man2/truncate.2 @@ -0,0 +1,154 @@ +.\" $NetBSD: truncate.2,v 1.31 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)truncate.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd July 23, 2014 +.Dt TRUNCATE 2 +.Os +.Sh NAME +.Nm truncate , +.Nm ftruncate +.Nd truncate a file to a specified length +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn truncate "const char *path" "off_t length" +.Ft int +.Fn ftruncate "int fd" "off_t length" +.Sh DESCRIPTION +.Fn truncate +causes the file named by +.Fa path +or referenced by +.Fa fd +to have a size of +.Fa length +bytes. +If the file previously was larger than this size, the extra data is discarded. +If it was previously shorter than +.Fa length , +its size is increased to the specified value and +the extended area appears as if it were zero-filled. +.Pp +With +.Fn ftruncate , +the file must be open for writing; for +.Fn truncate , +the process must have write permissions for the file. +.Sh RETURN VALUES +A value of 0 is returned if the call succeeds. +If the call fails a \-1 is returned, and the global variable +.Va errno +specifies the error. +.Sh ERRORS +Error return codes common to +.Fn truncate +and +.Fn ftruncate +are: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa length +argument was less than 0. +.It Bq Er EIO +An I/O error occurred updating the inode. +.It Bq Er EISDIR +The named file is a directory. +.It Bq Er ENOSPC +There was no space in the file system to complete the operation. +.It Bq Er EROFS +The named file resides on a read-only file system. +.It Bq Er ETXTBSY +The file is a pure procedure (shared text) file that is being executed. +.El +.Pp +Error codes specific to +.Fn truncate +are: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, or +the named file is not writable by the user. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.El +.Pp +Error codes specific to +.Fn ftruncate +are: +.Bl -tag -width Er +.It Bq Er EBADF +The +.Fa fd +is not a valid descriptor. +.It Bq Er EINVAL +The +.Fa fd +references a socket, not a file, or +the +.Fa fd +is not open for writing. +.El +.Sh SEE ALSO +.Xr fdiscard 2 , +.Xr open 2 +.Sh STANDARDS +Use of +.Fn truncate +to extend a file is an +.St -p1003.1-2004 +extension, and is thus not portable. +Files can be extended in a portable way seeking (using +.Xr lseek 2 ) +to the required size and writing a single character with +.Xr write 2 . +.Sh HISTORY +The +.Fn truncate +and +.Fn ftruncate +function calls appeared in +.Bx 4.2 . diff --git a/static/netbsd/man2/umask.2 b/static/netbsd/man2/umask.2 new file mode 100644 index 00000000..afb66fd9 --- /dev/null +++ b/static/netbsd/man2/umask.2 @@ -0,0 +1,84 @@ +.\" $NetBSD: umask.2,v 1.16 2003/08/07 16:44:10 agc Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)umask.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt UMASK 2 +.Os +.Sh NAME +.Nm umask +.Nd set file creation mode mask +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/stat.h +.Ft mode_t +.Fn umask "mode_t numask" +.Sh DESCRIPTION +The +.Fn umask +routine sets the process's file mode creation mask to +.Fa numask +and returns the previous value of the mask. +The 9 low-order access permission bits of +.Fa numask +are used by system calls, including +.Xr open 2 , +.Xr mkdir 2 , +.Xr mkfifo 2 +and +.Xr mknod 2 +to turn off corresponding bits +requested in file mode. +(See +.Xr chmod 2 ) . +This clearing allows each user to restrict the default access +to his files. +.Pp +The default mask value is S_IWGRP|S_IWOTH (022, write access for the +owner only). +Child processes inherit the mask of the calling process. +.Sh RETURN VALUES +The previous value of the file mode mask is returned by the call. +.Sh ERRORS +The +.Fn umask +function is always successful. +.Sh SEE ALSO +.Xr chmod 2 , +.Xr mkdir 2 , +.Xr mkfifo 2 , +.Xr mknod 2 , +.Xr open 2 +.Sh STANDARDS +The +.Fn umask +function conforms to +.St -p1003.1-90 . diff --git a/static/netbsd/man2/undelete.2 b/static/netbsd/man2/undelete.2 new file mode 100644 index 00000000..0322a734 --- /dev/null +++ b/static/netbsd/man2/undelete.2 @@ -0,0 +1,132 @@ +.\" $NetBSD: undelete.2,v 1.17 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" Copyright (c) 1994 +.\" Jan-Simon Pendry +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)undelete.2 8.4 (Berkeley) 10/18/94 +.\" +.Dd November 28, 2008 +.Dt UNDELETE 2 +.Os +.Sh NAME +.Nm undelete +.Nd remove whiteout +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn undelete "const char *path" +.Sh DESCRIPTION +Currently +.Nm +works only when the named object +is a whiteout in a union file system. +The system call removes the whiteout causing +any objects in a lower layer of the +union stack to become visible once more. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn undelete +succeeds unless: +.Bl -tag -width ENAMETOOLONGAA +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, or +write permission is denied on the directory containing the name +to be undeleted. +.It Bq Er EEXIST +The path does not reference a whiteout. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EINVAL +The pathname contains a character with the high-order bit set. +.It Bq Er EIO +An I/O error occurred while updating the directory entry. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, +or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named whiteout does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EPERM +The directory containing the name is marked sticky, +and the containing directory is not owned by the effective user ID. +.It Bq Er EROFS +The name resides on a read-only file system. +.El +.Sh SEE ALSO +.Xr unlink 2 , +.Xr mount_union 8 +.Sh HISTORY +An +.Nm undelete +function call first appeared in +.Bx 4.4 -Lite . diff --git a/static/netbsd/man2/unlink.2 b/static/netbsd/man2/unlink.2 new file mode 100644 index 00000000..c6d572ac --- /dev/null +++ b/static/netbsd/man2/unlink.2 @@ -0,0 +1,191 @@ +.\" $NetBSD: unlink.2,v 1.30 2019/09/02 00:09:14 sevan Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)unlink.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd September 2, 2019 +.Dt UNLINK 2 +.Os +.Sh NAME +.Nm unlink , +.Nm unlinkat +.Nd remove directory entry +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn unlink "const char *path" +.In fcntl.h +.Ft int +.Fn unlinkat "int fd" "const char *path" "int flag" +.Sh DESCRIPTION +The +.Fn unlink +function +removes the link named by +.Fa path +from its directory and decrements the link count of the +file which was referenced by the link. +If that decrement reduces the link count of the file +to zero, +and no process has the file open, then +all resources associated with the file are reclaimed. +If one or more process have the file open when the last link is removed, +the link is removed, but the removal of the file is delayed until +all references to it have been closed. +.Pp +.Fn unlinkat +works the same way as +.Fn unlink +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +.Fn unlinkat +will remove directories just like +.Xr rmdir 2 , +provided +.Dv AT_REMOVEDIR +is set in +.Fa flag . +.Sh RETURN VALUES +.Rv -std unlink unlinkat +.Sh ERRORS +The +.Fn unlink +and +.Fn unlinkat +functions succeed unless: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix, or +write permission is denied on the directory containing the link +to be removed. +.It Bq Er EBUSY +The entry to be unlinked is the mount point for a +mounted file system. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while deleting the directory entry +or deallocating the inode. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EPERM +The named file is a directory and the effective user ID +of the process is not the super-user, the file system +containing the file does not permit the use of +.Fn unlink +on a directory, +or the directory containing the file is marked sticky, +and neither the containing directory nor the file to be removed +are owned by the effective user ID. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn unlinkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file; or +.Fa flag +has +.Dv AT_REMOVEDIR +set and +.Fa path +does not name a directory. +.It Bq Er ENOTEMPTY +.Fa flag +has +.Dv AT_REMOVEDIR +set and +.Fa path +is a directory that is not empty. +.El +.Sh SEE ALSO +.Xr close 2 , +.Xr link 2 , +.Xr rmdir 2 , +.Xr symlink 7 +.Sh STANDARDS +The +.Fn unlink +function conforms to +.St -p1003.1-90 . +.Fn unlinkat +conforms to +.St -p1003.1-2008 . +.Sh HISTORY +An +.Fn unlink +function call appeared in +.At v1 . diff --git a/static/netbsd/man2/utimes.2 b/static/netbsd/man2/utimes.2 new file mode 100644 index 00000000..af218998 --- /dev/null +++ b/static/netbsd/man2/utimes.2 @@ -0,0 +1,306 @@ +.\" $NetBSD: utimes.2,v 1.40 2013/10/05 21:24:36 ast Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd September 14, 2013 +.Dt UTIMES 2 +.Os +.Sh NAME +.Nm utimes , +.Nm lutimes , +.Nm futimes , +.Nm utimens , +.Nm lutimens , +.Nm futimens , +.Nm utimensat +.Nd set file access and modification times +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/time.h +.Ft int +.Fn utimes "const char *path" "const struct timeval times[2]" +.Ft int +.Fn lutimes "const char *path" "const struct timeval times[2]" +.Ft int +.Fn futimes "int fd" "const struct timeval times[2]" +.In sys/stat.h +.Ft int +.Fn utimens "const char *path" "const struct timespec times[2]" +.Ft int +.Fn lutimens "const char *path" "const struct timespec times[2]" +.Ft int +.Fn futimens "int fd" "const struct timespec times[2]" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn utimensat "int fd" "const char *path" "const struct timespec times[2]" \ + "int flag" +.Sh DESCRIPTION +The access and modification times of the file named by +.Fa path +or referenced by +.Fa fd +are changed as specified by the argument +.Fa times . +.Pp +If +.Fa times +is +.Dv NULL , +the access and modification times are set to the current time. +The caller must be the owner of the file, have permission to +write the file, or be the super-user. +.Pp +If +.Fa times +is +.Pf non- Dv NULL , +it is assumed to point to an array of two timeval structures. +The access time is set to the value of the first element, and the +modification time is set to the value of the second element. +For file systems that support file birth (creation) times (such as +UFS2), the birth time will be set to the value of the second element +if the second element is older than the currently set birth time. +To set both a birth time and a modification time, two calls are +required; the first to set the birth time and the second to set +the (presumably newer) modification time. +Ideally a new system call will be added that allows the setting of +all three times at once. +The caller must be the owner of the file or be the super-user. +.Pp +In either case, the inode-change-time of the file is set to the current +time. +.Pp +.Fn lutimes +is like +.Fn utimes +except in the case where the named file is a symbolic link, +in which case +.Fn lutimes +changes the access and modification times of the link, +while +.Fn utimes +changes the times of the file the link references. +.Pp +.Fn utimens , +.Fn lutimens , +and +.Fn futimens +are like +.Fn utimes , +.Fn lutimes , +and +.Fn futimes +respectively except that time is specified with nanosecond instead of +microsecond precision. +.Pp +.Fn utimensat +works the same way as +.Fn utimens +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +When it operates on a symbolic link, +.Fn utimensat +will change the target's time unless +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag . +In that later case, the symbolic link's dates are changed. +.Pp +The nanosecond fields for +.Fn utimens , +.Fn lutimens , +.Fn futimens , +and +.Fn utimensat +can be set to the special value +.Dv UTIME_NOW +to set the current time, or to +.Dv UTIME_OMIT +to let the time unchanged (this allows changing access time but not +modification time, and vice-versa). +.Sh RETURN VALUES +.Rv -std utimes lutimes futimes utimens lutimens futimens utimensat +.Sh ERRORS +.Fn utimes , +.Fn lutimes , +.Fn utimens , +.Fn lutimens , +and +.Fn utimensat +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for a component of the path prefix; +or the +.Fa times +argument is +.Dv NULL +and the effective user ID of the process does not +match the owner of the file, and is not the super-user, and write +access is denied. +.It Bq Er EFAULT +.Fa path +or +.Fa times +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading or writing the affected inode. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EPERM +The +.Fa times +argument is not +.Dv NULL +and the calling process's effective user ID +does not match the owner of the file and is not the super-user. +.It Bq Er EROFS +The file system containing the file is mounted read-only. +.El +.Pp +In addition, +.Fn utimensat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Pp +.Fn futimes +and +.Fn futimens +will fail if: +.Bl -tag -width Er +.It Bq Er EACCES +The +.Fa times +argument is +.Dv NULL +and the effective user ID of the process does not +match the owner of the file, and is not the super-user, and write +access is denied. +.It Bq Er EBADF +.Fa fd +does not refer to a valid descriptor. +.It Bq Er EFAULT +.Fa times +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading or writing the affected inode. +.It Bq Er EPERM +The +.Fa times +argument is not +.Dv NULL +and the calling process's effective user ID +does not match the owner of the file and is not the super-user. +.It Bq Er EROFS +The file system containing the file is mounted read-only. +.El +.Sh SEE ALSO +.Xr stat 2 , +.Xr utime 3 , +.Xr symlink 7 +.Sh STANDARDS +The +.Fn utimes +function conforms to +.St -p1003.1-2001 . +It was however marked as legacy in the +.St -p1003.1-2004 +revision. +.Fn futimens +and +.Fn utimensat +functions conform to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn utimes +function call appeared in +.Bx 4.2 . +The +.Fn futimes +function call appeared in +.Nx 1.2 . +The +.Fn lutimes +function call appeared in +.Nx 1.3 . +Birthtime setting support was added in +.Nx 5.0 . +.Fn futimens +and +.Fn utimensat +functions calls appeared in +.Nx 6.0 . diff --git a/static/netbsd/man2/utrace.2 b/static/netbsd/man2/utrace.2 new file mode 100644 index 00000000..73936a7f --- /dev/null +++ b/static/netbsd/man2/utrace.2 @@ -0,0 +1,92 @@ +.\" $NetBSD: utrace.2,v 1.13 2008/05/02 18:38:32 martin Exp $ +.\" +.\" Copyright (c) 2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Gregory McGarry <g.mcgarry@ieee.org>. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd December 28, 2000 +.Dt UTRACE 2 +.Os +.Sh NAME +.Nm utrace +.Nd insert user record in ktrace log +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/param.h +.In sys/time.h +.In sys/uio.h +.In sys/ktrace.h +.Ft int +.Fn utrace "const char *label" "void *addr" "size_t len" +.Sh DESCRIPTION +Adds a record to the process trace with information supplied by user. +The record is identified by +.Fa label +and contains +.Fa len +bytes from memory pointed to by +.Fa addr . +This call only has an effect if the calling process is being traced. +.Sh RETURN VALUES +Upon successful completion, a value of 0 is returned. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er ENOSYS +Currently running kernel was compiled without +.Xr ktrace 2 +support (option KTRACE). +.It Bq Er EINVAL +Specified data length +.Fa len +was bigger than +.Dv KTR_USER_MAXLEN . +.El +.Sh SEE ALSO +.Xr kdump 1 , +.Xr ktrace 1 , +.Xr ktruss 1 , +.Xr fktrace 2 , +.Xr ktrace 2 , +.Xr options 4 +.Sh HISTORY +The +.Fn utrace +system call first appeared in +.Fx 2.2 . +It was added to +.Nx +in +.Nx 1.6 . +The +.Fa label +argument is a +.Nx +extension. diff --git a/static/netbsd/man2/uuidgen.2 b/static/netbsd/man2/uuidgen.2 new file mode 100644 index 00000000..96662c12 --- /dev/null +++ b/static/netbsd/man2/uuidgen.2 @@ -0,0 +1,147 @@ +.\" $NetBSD: uuidgen.2,v 1.5 2019/07/24 06:11:57 riastradh Exp $ +.\" $FreeBSD: src/lib/libc/sys/uuidgen.2,v 1.7 2003/06/27 13:41:29 yar Exp $ +.\" Copyright (c) 2002 Marcel Moolenaar +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD: src/lib/libc/sys/uuidgen.2,v 1.7 2003/06/27 13:41:29 yar Exp $ +.\" +.Dd May 26, 2002 +.Dt UUIDGEN 2 +.Os +.Sh NAME +.Nm uuidgen +.Nd generate universally unique identifiers +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/uuid.h +.Ft int +.Fn uuidgen "struct uuid *store" "int count" +.Sh DESCRIPTION +The +.Fn uuidgen +system call generates +.Fa count +universally unique identifiers (UUIDs) and writes them to the buffer +pointed to by +.Fa store . +The identifiers are randomly generated according to UUID version 4. +.Pp +Universally unique identifiers, also known as globally unique identifiers +(GUIDs), have a binary representation of 128-bits. +The grouping and meaning of these bits is based on historical methods +of generation from on timestamps and IEEE 802 MAC addresses, and is +described by the following structure and its description of the fields +that follow it: +.Bd -literal +struct uuid { + uint32_t time_low; + uint16_t time_mid; + uint16_t time_hi_and_version; + uint8_t clock_seq_hi_and_reserved; + uint8_t clock_seq_low; + uint8_t node[_UUID_NODE_LEN]; +}; +.Ed +.Bl -tag -width ".Va clock_seq_hi_and_reserved" +.It Va time_low +The least significant 32 bits of a 60-bit timestamp. +This field is stored in the native byte-order. +.It Va time_mid +The least significant 16 bits of the most significant 28 bits of the 60-bit +timestamp. +This field is stored in the native byte-order. +.It Va time_hi_and_version +The most significant 12 bits of the 60-bit timestamp multiplexed with a 4-bit +version number. +The version number is stored in the most significant 4 bits of the 16-bit +field. +This field is stored in the native byte-order. +.It Va clock_seq_hi_and_reserved +The most significant 6 bits of a 14-bit sequence number multiplexed with a +2-bit variant value. +Note that the width of the variant value is determined by the variant itself. +Identifiers generated by the +.Fn uuidgen +system call have variant value 10b. +the variant value is stored in the most significant bits of the field. +.It Va clock_seq_low +The least significant 8 bits of a 14-bit sequence number. +.It Va node +The 6-byte IEEE 802 (MAC) address of one of the interfaces of the node. +If no such interface exists, a random multi-cast address is used instead. +.El +.Pp +The binary representation is sensitive to byte ordering. +Any multi-byte field is to be stored in the local or native byte-order and +identifiers must be converted when transmitted to hosts that do not agree +on the byte-order. +The specification does not however document what this means in concrete +terms and is otherwise beyond the scope of this system call. +.Sh RETURN VALUES +.Rv -std +.Sh ERRORS +The +.Fn uuidgen +system call can fail with: +.Bl -tag -width Er +.It Bq Er EFAULT +The buffer pointed to by +.Fa store +could not be written to for any or all identifiers. +.It Bq Er EINVAL +The +.Fa count +argument is less than 1 or larger than the hard upper limit of 2048. +.El +.Sh SEE ALSO +.Xr uuidgen 1 , +.Xr uuid 3 +.Rs +.%A P. Leach +.%A M. Mealling +.%A R. Salz +.%T A Universally Unique IDentifier (UUID) URN Namespace +.%R RFC 4122 +.%I IETF +.%D July 2005 +.Re +.Sh STANDARDS +The identifiers are represented and generated in conformance with IETF +RFC 4122, based on the historic DCE 1.1 RPC specification of the Open +Software Foundation (now the Open Group). +The +.Fn uuidgen +system call is itself not part of the specification. +.Sh HISTORY +The +.Fn uuidgen +system call first appeared in +.Fx 5.0 +and was subsequently added to +.Nx 2.0 . +It was changed to use version 4 UUIDs, i.e. randomly generated UUIDs, +in +.Nx 8.0 . diff --git a/static/netbsd/man2/vfork.2 b/static/netbsd/man2/vfork.2 new file mode 100644 index 00000000..b1a452b1 --- /dev/null +++ b/static/netbsd/man2/vfork.2 @@ -0,0 +1,147 @@ +.\" $NetBSD: vfork.2,v 1.30 2021/06/09 06:00:16 nia Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)vfork.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 9, 2021 +.Dt VFORK 2 +.Os +.Sh NAME +.Nm vfork +.Nd spawn new process in a virtual memory efficient way +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft pid_t +.Fn vfork void +.Sh DESCRIPTION +The +.Nm +system call creates a new process that does not have a new +virtual address space, but rather shares address space with the +parent, thus avoiding potentially expensive copy-on-write operations +normally associated with creating a new process. +It is useful when the purpose of +.Xr fork 2 +would have been to create a new system context for an +.Xr execve 2 . +The +.Nm +system call differs from +.Xr fork 2 +in that the child borrows the parent's memory and thread of +control until a call to +.Xr execve 2 +or an exit (either by a call to +.Xr _exit 2 +or abnormally). +The parent process is suspended while the child is using its resources. +.Pp +The +.Nm +system call returns 0 in the child's context and (later) the pid +of the child in the parent's context. +.Pp +The +.Nm +system call can normally be used just like +.Xr fork 2 . +It does not work, however, to return while running in the child's context +from the procedure that called +.Fn vfork +since the eventual return from +.Fn vfork +would then return to a no longer existing stack frame. +Be careful, also, to call +.Xr _exit 2 +rather than +.Xr exit 3 +if you can't +.Xr execve 2 , +since +.Xr exit 3 +will flush and close standard I/O channels, and thereby mess up the +standard I/O data structures +in the parent process. +(Even with +.Xr fork 2 +it is wrong to call +.Xr exit 3 +since buffered data would then be flushed twice.) +.Sh RETURN VALUES +Same as for +.Xr fork 2 . +.Sh ERRORS +Same as for +.Xr fork 2 . +.Sh SEE ALSO +.Xr execve 2 , +.Xr fork 2 , +.Xr sigaction 2 , +.Xr wait 2 , +.Xr posix_spawn 3 +.Sh HISTORY +The +.Fn vfork +function call appeared in +.Bx 3.0 . +In +.Bx 4.4 , +the semantics were changed to only suspend the parent and not share +the address space. +The original semantics were reintroduced in +.Nx 1.4 . +.Sh BUGS +Portable applications should not depend on the memory sharing +semantics of +.Fn vfork +as implementations exist that implement +.Fn vfork +as plain +.Xr fork 2 . +.Pp +To avoid a possible deadlock situation, processes that are children +in the middle of a +.Fn vfork +are never sent +.Dv SIGTSTP , +.Dv SIGTTOU +or +.Dv SIGTTIN +signals; rather, output or +.Xr ioctl 2 +calls are allowed and input attempts result in an end-of-file indication. +.Pp +New applications should prefer +.Xr posix_spawn 3 +over +.Nm +followed by +.Xr execve 2 . diff --git a/static/netbsd/man2/wait.2 b/static/netbsd/man2/wait.2 new file mode 100644 index 00000000..2933d017 --- /dev/null +++ b/static/netbsd/man2/wait.2 @@ -0,0 +1,662 @@ +.\" $NetBSD: wait.2,v 1.42 2022/12/04 11:25:09 uwe Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)wait.2 8.2 (Berkeley) 4/19/94 +.\" +.Dd October 17, 2022 +.Dt WAIT 2 +.Os +.Sh NAME +.Nm wait , +.Nm waitid , +.Nm waitpid , +.Nm wait6 , +.Nm wait4 , +.Nm wait3 +.Nd wait for process termination +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/wait.h +.Ft pid_t +.Fn wait "int *status" +.Ft pid_t +.Fn waitpid "pid_t wpid" "int *status" "int options" +.Ft int +.Fn waitid "idtype_t idtype" "id_t id" "siginfo_t *info" "int options" +.In sys/resource.h +.Ft pid_t +.Fn wait3 "int *status" "int options" "struct rusage *rusage" +.Ft pid_t +.Fn wait4 "pid_t wpid" "int *status" "int options" "struct rusage *rusage" +.Ft pid_t +.Fn wait6 "idtype_t idtype" "id_t id" "int *status" "int options" "struct wrusage *wrusage" "siginfo_t *infop" +.Sh DESCRIPTION +The +.Fn wait +function suspends execution of its calling process until +.Fa status +information is available for a terminated child process, +or a signal is received. +On return from a successful +.Fn wait +call, +the +.Fa status +area contains termination information about the process that exited +as defined below. +.Pp +The +.Fn wait4 +and +.Fn wait6 +call provides a more general interface for programs +that need to wait for certain child processes, +that need resource utilization statistics accumulated by child processes, +or that require options. +The other wait functions are implemented using +.Fn wait4 . +or +.Fn wait6 . +.Pp +The +.Fn wait6 +function is the most general function in this family and its distinct +features are: +.Pp +All of the desired process statuses to be waited on must be explicitly +specified in +.Fa options . +The +.Fn wait , +.Fn waitpid , +.Fn wait3 , +and +.Fn wait4 +functions all implicitly wait for exited and trapped processes, +but the +.Fn waitid +and +.Fn wait6 +functions require the corresponding +.Dv WEXITED +and +.Dv WTRAPPED +flags to be explicitly specified. +This allows waiting for processes which have experienced other +status changes without having to also handle the exit status from +terminated processes. +.Pp +The +.Fn wait6 +function accepts a +.Fa wrusage +argument which points to a structure defined as: +.Bd -literal +struct wrusage { + struct rusage wru_self; + struct rusage wru_children; +}; +.Ed +.Pp +This allows the calling process to collect resource usage statistics +from both its own child process as well as from its grand children. +When no resource usage statistics are needed this pointer can be +.Dv NULL . +.Pp +The last argument +.Fa infop +must be either +.Dv NULL +or a pointer to a +.Fa siginfo_t +structure. +If +.Pf non- Dv NULL , +the structure is filled with the same data as for a +.Dv SIGCHLD +signal delivered when the process changed state. +.Pp +The set of child processes to be queried is specified by the arguments +.Fa idtype +and +.Fa id . +The separate +.Fa idtype +and +.Fa id +arguments support many other types of +identifiers in addition to process IDs and process group IDs. +.Bl -bullet -offset indent +.It +If +.Fa idtype +is +.Dv P_PID , +.Fn waitid +and +.Fn wait6 +wait for the child process with a process ID equal to +.Dv (pid_t)id . +.It +If +.Fa idtype +is +.Dv P_PGID , +.Fn waitid +and +.Fn wait6 +wait for the child process with a process group ID equal to +.Dv (pid_t)id . +.It +If +.Fa idtype +is +.Dv P_ALL , +.Fn waitid +and +.Fn wait6 +wait for any child process and the +.Dv id +is ignored. +.It +If +.Fa idtype +is +.Dv P_PID +or +.Dv P_PGID +and the +.Dv id +is zero, +.Fn waitid +and +.Fn wait6 +wait for any child process in the same process group as the caller. +.El +.Pp +Non-standard identifier types supported by this +implementation of +.Fn waitid +and +.Fn wait6 +are: +.Bl -tag -width P_JAILID +.It Dv P_UID +Wait for processes whose effective user ID is equal to +.Dv (uid_t) Fa id . +.It Dv P_GID +Wait for processes whose effective group ID is equal to +.Dv (gid_t) Fa id . +.It Dv P_SID +Wait for processes whose session ID is equal to +.Fa id . +.\" This is just how sessions work, not sure this needs to be documented here +If the child process started its own session, +its session ID will be the same as its process ID. +Otherwise the session ID of a child process will match the caller's session ID. +.\" .It Dv P_JAILID +.\" Waits for processes within a jail whose jail identifier is equal to +.\" .Fa id . +.El +.Pp +For the +.Fn waitpid +and +.Fn wait4 +functions, the single +.Fa wpid +argument specifies the set of child processes for which to wait. +The following symbolic constants are defined in +.In sys/wait.h +.Bd -literal -offset indent +#define WAIT_ANY (-1) /* any process */ +#define WAIT_MYPGRP 0 /* any process in my process group */ +.Ed +.Bl -bullet -offset indent +.It +If +.Fa wpid +is +.Dv WAIT_ANY , +the call waits for any child process. +.It +If +.Fa wpid +is +.Dv WAIT_MYPGRP , +the call waits for any child process in the process group of the caller. +.It +If +.Fa wpid +is greater than zero, the call waits for the process with process ID +.Fa wpid . +.It +If +.Fa wpid +is less than \-1, the call waits for any process whose process group ID +equals the absolute value of +.Fa wpid . +.El +.Pp +The +.Fa status +argument is defined below. +.Pp +The +.Fa options +argument contains the bitwise OR of any of the following options. +.Bl -tag -width WCONTINUED +.It Dv WALLSIG +If this option is specified, the call will wait for all children regardless +of what exit signal they post. +.It Dv WALTSIG +If this option is specified, the call will wait only for processes that +are configured to post a signal other than +.Dv SIGCHLD +when they exit. +If +.Dv WALTSIG +is not specified, the call will wait only for processes that +are configured to post +.Dv SIGCHLD . +.It Dv WCONTINUED +Report the status of selected processes that +have continued from a job control stop by receiving a +.Dv SIGCONT +signal. +.It Dv WEXITED +Report the status of selected processes which have terminated. +This flag is implicitly set for the functions +.Fn wait , +.Fn waitpid , +.Fn wait3 , +and +.Fn wait4 . +.br +For the +.Fn waitid +and +.Fn wait6 +functions, the flag has to be explicitly included in +.Fa options +if status reports from terminated processes are expected. +.It Dv WNOHANG +Do not block when +there are no processes wishing to report status. +.It Dv WNOWAIT +Keep the process whose status is returned in a waitable state. +The process may be waited for again after this call completes. +.It Dv WNOZOMBIE +Exclude zombie processes from the child selection criteria. +.It Dv WSTOPPED +An alias for +.Dv WUNTRACED . +.It Dv WTRAPPED +Report the status of selected processes which are being traced via +.Xr ptrace 2 +and have trapped or reached a breakpoint. +This flag is implicitly set for the functions +.Fn wait , +.Fn waitpid , +.Fn wait3 , +and +.Fn wait4 . +.br +For the +.Fn waitid +and +.Fn wait6 +functions, the flag has to be explicitly included in +.Fa options +if status reports from trapped processes are expected. +.It Dv WUNTRACED +Report the status of selected processes which are stopped due to a +.Dv SIGTTIN , SIGTTOU , SIGTSTP , +or +.Dv SIGSTOP +signal. +.It Dv __WALL +This is an alias for +.Dv WALLSIG . +It is provided for compatibility with the Linux +.Xr clone 2 +API . +.It Dv __WCLONE +This is an alias for +.Dv WALTSIG . +It is provided for compatibility with the Linux +.Xr clone 2 +API. +.El +.sp +For the +.Fn waitid +and +.Fn wait6 +functions, at least one of the options +.Dv WEXITED , +.Dv WUNTRACED , +.Dv WSTOPPED , +.Dv WTRAPPED , +or +.Dv WCONTINUED +must be specified. +Otherwise there will be no events for the call to report. +To avoid hanging indefinitely in such a case these functions +return \-1 with +.Dv errno +set to +.Er EINVAL . +.Pp +If +.Fa rusage +is +.Pf non- Dv NULL , +a summary of the resources used by the terminated +process and all its children is returned. +.Pp +If +.Fa wrusage +is +.Pf non- Dv NULL , +separate summaries are returned for the resources used +by the terminated process and the resources used by all its children. +.Pp +If +.Fa infop +is +.Pf non- Dv NULL , +a +.Dv siginfo_t +structure is returned with the +.Fa si_signo +field set to +.Dv SIGCHLD +and the +.Fa si_pid +field set to the process ID of the process reporting status. +For the exited process, the +.Fa si_status +field of the +.Dv siginfo_t +structure contains the full 32 bit exit status passed to +.Xr _exit 2 ; +the +.Fa status +argument of other calls only returns the 8 lowest bits of the exit status. +.Pp +When the +.Dv WNOHANG +option is specified and no processes +wish to report status, +.Fn waitid +sets the +.Fa si_signo +and +.Fa si_pid +fields in +.Fa infop +to zero. +Checking these fields is the only way to know if a status change was reported. +.Pp +When the +.Dv WNOHANG +option is specified and no processes +wish to report status, +.Fn wait4 +returns a +process id +of 0. +.Pp +The +.Fn waitpid +call is identical to +.Fn wait4 +with an +.Fa rusage +value of zero. +The older +.Fn wait3 +call is the same as +.Fn wait4 +with a +.Fa wpid +value of \-1. +.Pp +The following macros may be used to test the manner of exit of the process. +Note that these macros expect the +.Fa status +value itself, not a pointer to the +.Fa status +value. +One of the first three macros will evaluate to a non-zero (true) value: +.Bl -tag -width Ds +.It Fn WIFEXITED status +True if the process terminated normally by a call to +.Xr _exit 2 +or +.Xr exit 3 . +.It Fn WIFSIGNALED status +True if the process terminated due to receipt of a signal. +.It Fn WIFSTOPPED status +True if the process has not terminated, but has stopped and can be restarted. +This macro can be true only if the wait call specified the +.Dv WUNTRACED +option +or if the child process is being traced (see +.Xr ptrace 2 ) . +.It Fn WIFCONTINUED status +True if the process has not terminated, but has been continued via the +delivery of the +.Dv SIGCONT +signal. +This macro can be true only if the wait call specified the +.Dv WCONTINUED +option. +.El +.Pp +Depending on the values of those macros, the following macros +produce the remaining status information about the child process: +.Bl -tag -width Ds +.It Fn WEXITSTATUS status +If +.Fn WIFEXITED status +is true, evaluates to the low-order 8 bits +of the argument passed to +.Xr _exit 2 +or +.Xr exit 3 +by the child. +.It Fn WTERMSIG status +If +.Fn WIFSIGNALED status +is true, evaluates to the number of the signal +that caused the termination of the process. +.It Fn WCOREDUMP status +If +.Fn WIFSIGNALED status +is true, evaluates as true if the termination +of the process was accompanied by the creation of a core file +containing an image of the process when the signal was received. +.It Fn WSTOPSIG status +If +.Fn WIFSTOPPED status +is true, evaluates to the number of the signal +that caused the process to stop. +.El +.Sh NOTES +See +.Xr sigaction 2 +for a list of termination signals. +A status of 0 indicates normal termination. +.Pp +If a parent process terminates without +waiting for all of its child processes to terminate, +the remaining child processes are assigned the parent +process 1 ID (the init process ID). +.Pp +If a signal is caught while any of the +.Fn wait +calls is pending, +the call may be interrupted or restarted when the signal-catching routine +returns, +depending on the options in effect for the signal; +see +.Xr siginterrupt 3 . +.Sh RETURN VALUES +If +.Fn wait +returns due to a stopped +or terminated child process, the process ID of the child +is returned to the calling process. +Otherwise, a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Pp +If +.Fn wait6 , +.Fn wait4 , +.Fn wait3 +or +.Fn waitpid +returns due to a stopped +or terminated child process, the process ID of the child +is returned to the calling process. +If there are no children not previously awaited, +\-1 is returned with +.Va errno +set to +.Bq Er ECHILD . +Otherwise, if +.Dv WNOHANG +is specified and there are +no stopped or exited children, 0 is returned. +If an error is detected or a caught signal aborts the call, +a value of \-1 is returned and +.Va errno +is set to indicate the error. +.Pp +If +.Fn waitid +returns because one or more processes have a state change to report, +0 is returned. +If an error is detected, +a value of -1 +is returned and +.Va errno +is set to indicate the error. +If +.Dv WNOHANG +is specified and there are +no stopped, continued or exited children, +0 is returned. +The +.Fa si_signo +and +.Fa si_pid +fields of +.Fa infop +must be checked against zero to determine if a process reported status. +.Sh ERRORS +.Fn wait +will fail and return immediately if: +.Bl -tag -width Er +.It Bq Er ECHILD +The calling process has no existing unwaited-for child processes; or +no status from the terminated child process is available +because the calling process has asked the system to discard +such status by ignoring the signal +.Dv SIGCHLD +or setting the flag +.Dv SA_NOCLDWAIT +for that signal. +.It Bq Er EFAULT +The +.Fa status +or +.Fa rusage +arguments point to an illegal address. +(May not be detected before exit of a child process.) +.It Bq Er EINTR +The call was interrupted by a caught signal, +or the signal did not have the +.Dv SA_RESTART +flag set. +.El +.Pp +In addition, +.Fn wait6 , +.Fn wait3 , +.Fn wait4 , +.Fn waitid , +and +.Fn waitpid +will fail and return immediately if: +.Bl -tag -width Er +.It Bq Er EINVAL +An invalid value was specified for +.Fa options . +.El +.Sh SEE ALSO +.Xr _exit 2 , +.Xr fork 2 , +.Xr ptrace 2 , +.Xr sigaction 2 , +.Xr siginfo 2 , +.Xr exit 3 , +.Xr siginterrupt 3 +.Sh STANDARDS +The +.Fn wait +and +.Fn waitpid +functions conform to +.St -p1003.1-90 ; +the +.Fn waitid +function conforms to +.St -p1003.1-2004 ; +the +.Fn wait3 +function conforms to +.St -xpg4 ; +.Fn wait4 +is an extension. +The +.Fn WCOREDUMP +macro +and the ability to restart a pending +.Fn wait +call are extensions to the POSIX interface. +.Sh HISTORY +A +.Fn wait +function call appeared in +.At v1 . diff --git a/static/netbsd/man2/write.2 b/static/netbsd/man2/write.2 new file mode 100644 index 00000000..af17bcfa --- /dev/null +++ b/static/netbsd/man2/write.2 @@ -0,0 +1,287 @@ +.\" $NetBSD: write.2,v 1.36 2019/09/02 00:13:09 sevan Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)write.2 8.5 (Berkeley) 4/2/94 +.\" +.Dd September 2, 2019 +.Dt WRITE 2 +.Os +.Sh NAME +.Nm write , +.Nm writev , +.Nm pwrite , +.Nm pwritev +.Nd write output +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft ssize_t +.Fn write "int d" "const void *buf" "size_t nbytes" +.Ft ssize_t +.Fn pwrite "int d" "const void *buf" "size_t nbytes" "off_t offset" +.In sys/uio.h +.Ft ssize_t +.Fn writev "int d" "const struct iovec *iov" "int iovcnt" +.Ft ssize_t +.Fn pwritev "int d" "const struct iovec *iov" "int iovcnt" "off_t offset" +.Sh DESCRIPTION +.Fn write +attempts to write +.Fa nbytes +of data to the object referenced by the descriptor +.Fa d +from the buffer pointed to by +.Fa buf . +.Fn writev +performs the same action, but gathers the output data +from the +.Fa iovcnt +buffers specified by the members of the +.Fa iov +array: iov[0], iov[1], ..., iov[iovcnt\|-\|1]. +.Fn pwrite +and +.Fn pwritev +perform the same functions, but write to the specified position in +the file without modifying the file pointer. +.Pp +For +.Fn writev +and +.Fn pwritev , +the +.Fa iovec +structure is defined as: +.Pp +.Bd -literal -offset indent -compact +struct iovec { + void *iov_base; + size_t iov_len; +}; +.Ed +.Pp +Each +.Fa iovec +entry specifies the base address and length of an area +in memory from which data should be written. +.Fn writev +and +.Fn pwritev +will always write a complete area before proceeding +to the next. +.Pp +On objects capable of seeking, the +.Fn write +starts at a position +given by the pointer associated with +.Fa d +(see +.Xr lseek 2 ) . +Upon return from +.Fn write , +the pointer is incremented by the number of bytes which were written. +.Pp +Objects that are not capable of seeking always write from the current +position. +The value of the pointer associated with such an object +is undefined. +.Pp +If the real user is not the super-user, then +.Fn write +clears the set-user-id bit on the file. +This prevents penetration of system security +by a user who +.Dq captures +a writable set-user-id file +owned by the super-user. +.Pp +If +.Fn write +succeeds it will update the st_ctime and st_mtime fields of the file's +meta-data (see +.Xr stat 2 ) . +.Pp +When using non-blocking I/O on objects such as sockets that are subject +to flow control, +.Fn write +and +.Fn writev +may write fewer bytes than requested; +the return value must be noted, +and the remainder of the operation should be retried when possible. +.Sh RETURN VALUES +Upon successful completion the number of bytes which were written +is returned. +Otherwise \-1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn write , +.Fn writev , +.Fn pwrite , +and +.Fn pwritev +will fail and the file pointer will remain unchanged if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The file was marked for non-blocking I/O, +and no data could be written immediately. +.It Bq Er EBADF +.Fa d +is not a valid descriptor open for writing. +.It Bq Er EDQUOT +The user's quota of disk blocks on the file system +containing the file has been exhausted. +.It Bq Er EFAULT +Part of +.Fa iov +or data to be written to the file +points outside the process's allocated address space. +.It Bq Er EFBIG +An attempt was made to write a file that exceeds the process's +file size limit or the maximum file size. +.It Bq Er EINTR +A signal was received before any data could be written to a slow +device. +See +.Xr sigaction 2 +for more information on the interaction between signals and system +calls. +.It Bq Er EINVAL +The pointer associated with +.Fa d +was negative; or +the total length of the I/O is more than can be expressed by the ssize_t +return value. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ENOSPC +There is no free space remaining on the file system +containing the file. +.It Bq Er EPIPE +An attempt is made to write to a pipe that is not open +for reading by any process; or +an attempt is made to write to a socket of type +.Dv SOCK_STREAM +that is not connected to a peer socket. +.El +.Pp +In addition, +.Fn writev +and +.Fn pwritev +may return one of the following errors: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa iovcnt +was less than or equal to 0, or greater than +.Brq Dv IOV_MAX ; +or one of the +.Fa iov_len +values in the +.Fa iov +array was negative; or +the sum of the +.Fa iov_len +values in the +.Fa iov +array overflowed a 32-bit integer. +.El +.Pp +The +.Fn pwrite +and +.Fn pwritev +calls may also return the following errors: +.Bl -tag -width Er +.It Bq Er EINVAL +The specified file offset is invalid. +.It Bq Er ESPIPE +The file descriptor is associated with a pipe, socket, or FIFO. +.El +.Sh SEE ALSO +.Xr fcntl 2 , +.Xr lseek 2 , +.Xr open 2 , +.Xr pipe 2 , +.Xr poll 2 , +.Xr select 2 , +.Xr sigaction 2 +.Sh STANDARDS +The +.Fn write +function is expected to conform to +.St -p1003.1-88 . +The +.Fn writev +and +.Fn pwrite +functions conform to +.St -xpg4.2 . +.Sh HISTORY +The +.Fn pwritev +function call +appeared in +.Nx 1.4 . +The +.Fn pwrite +function call +appeared in +.At V.4 . +The +.Fn writev +function call +appeared in +.Bx 4.2 . +The +.Fn write +function call appeared in +.At v1 . +.Sh CAVEATS +Error checks should explicitly test for \-1. +Code such as +.Bd -literal + while ((nr = write(fd, buf, sizeof(buf))) > 0) +.Ed +.Pp +is not maximally portable, as some platforms allow for +.Va nbytes +to range between +.Dv SSIZE_MAX +and +.Dv SIZE_MAX +\- 2, in which case the return value of an error-free +.Fn write +may appear as a negative number distinct from \-1. +Proper loops should use +.Bd -literal + while ((nr = write(fd, buf, sizeof(buf))) != -1 && nr != 0) +.Ed diff --git a/static/netbsd/man2/x86_64_get_mtrr.2 b/static/netbsd/man2/x86_64_get_mtrr.2 new file mode 100644 index 00000000..bde2ff42 --- /dev/null +++ b/static/netbsd/man2/x86_64_get_mtrr.2 @@ -0,0 +1,168 @@ +.\" $NetBSD: x86_64_get_mtrr.2,v 1.8 2008/04/30 13:10:50 martin Exp $ +.\" +.\" Copyright (c) 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Gregory McGarry. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 10, 2001 +.Dt X86_64_GET_MTRR 2 x86_64 +.Os +.Sh NAME +.Nm x86_64_get_mtrr , +.Nm x86_64_set_mtrr +.Nd access Memory Type Range Registers +.Sh LIBRARY +.Lb libx86_64 +.Sh SYNOPSIS +.In sys/types.h +.In machine/sysarch.h +.In machine/mtrr.h +.Ft int +.Fn x86_64_get_mtrr "struct mtrr *mtrrp" "int *n" +.Ft int +.Fn x86_64_set_mtrr "struct mtrr *mtrrp" "int *n" +.Sh DESCRIPTION +These functions provide an interface to the MTRR registers found on +686-class processors for controlling processor access to memory ranges. +This is most useful for accessing devices such as video accelerators on +.Xr pci 4 +and +.Xr agp 4 +buses. +For example, enabling write-combining allows bus-write transfers +to be combined into a larger transfer before bursting over the bus. +This can increase performance of write operations 2.5 times or more. +.Pp +.Fa mtrrp +is a pointer to one or more mtrr structures, as described below. +The +.Fa n +argument is a pointer to an integer containing the number of structures +pointed to by +.Fa mtrrp . +For +.Fn x86_64_set_mtrr +the integer pointed to by +.Fa n +will be updated to reflect the actual number of MTRRs successfully set. +For +.Fn x86_64_get_mtrr +no more than +.Fa n +structures will be copied out, and the integer value pointed to by +.Fa n +will be updated to reflect the actual number of valid structures retrieved. +A +.Dv NULL +argument to +.Fa mtrrp +will result in just the number of MTRRs available being returned +in the integer pointed to by +.Fa n . +.Pp +The argument +.Fa mtrrp +has the following structure: +.Bd -literal +struct mtrr { + uint64_t base; + uint64_t len; + uint8_t type; + int flags; + pid_t owner; +}; +.Ed +.Pp +The location of the mapping is described by its physical base address +.Em base +and length +.Em len . +Valid values for +.Em type +are: +.Pp +.Bl -tag -offset indent -width MTRR_TYPE_UNDEF1 -compact +.It MTRR_TYPE_UC +uncached memory +.It MTRR_TYPE_WC +use write-combining +.It MTRR_TYPE_WT +use write-through caching +.It MTRR_TYPE_WP +write-protected memory +.It MTRR_TYPE_WB +use write-back caching +.El +.Pp +Valid values for +.Em flags +are: +.Pp +.Bl -tag -offset indent -width MTRR_PRIVATE -compact +.It MTRR_PRIVATE +own range, reset the MTRR when the current process exits +.It MTRR_FIXED +use fixed range MTRR +.It MTRR_VALID +entry is valid +.El +.Pp +The +.Em owner +member is the PID of the user process which claims the mapping. +It is only valid if MTRR_PRIVATE is set in +.Em flags . +To clear/reset MTRRs, use a +.Em flags +field without MTRR_VALID set. +.Sh RETURN VALUES +Upon successful completion zero is returned, otherwise \-1 is returned +on failure, and the global variable +.Va errno +is set to indicate the error. +The integer value pointed to by +.Fa n +will contain the number of successfully processed mtrr structures +in both cases. +.Sh ERRORS +.Bl -tag -width [EINVAL] +.It Bq Er ENOSYS +The currently running kernel or CPU has no MTRR support. +.It Bq Er EINVAL +The currently running kernel has no MTRR support, or one of the mtrr +structures pointed to by +.Fa mtrrp +is invalid. +.It Bq Er EBUSY +No unused MTRRs are available. +.El +.Sh HISTORY +The +.Fn x86_64_get_mtrr +and +.Fn x86_64_set_mtrr +were derived from their i386 counterparts, which appeared in +.Nx 1.6 . diff --git a/static/netbsd/man2/x86_64_iopl.2 b/static/netbsd/man2/x86_64_iopl.2 new file mode 100644 index 00000000..8d77aa03 --- /dev/null +++ b/static/netbsd/man2/x86_64_iopl.2 @@ -0,0 +1,66 @@ +.\" $NetBSD: x86_64_iopl.2,v 1.5 2008/04/30 13:10:50 martin Exp $ +.\" +.\" Copyright (c) 1996 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by John T. Kohl and Charles M. Hannum. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd July 3, 2002 +.Dt X86_64_IOPL 2 x86_64 +.Os +.Sh NAME +.Nm x86_64_iopl +.Nd change the x86_64 I/O privilege level +.Sh LIBRARY +.Lb libx86_64 +.Sh SYNOPSIS +.In sys/types.h +.In machine/sysarch.h +.Ft int +.Fn x86_64_iopl "int iopl" +.Sh DESCRIPTION +.Fn x86_64_iopl +sets the x86_64 I/O privilege level to the value specified by +.Ar iopl . +This call is restricted to the super-user. +.Sh RETURN VALUES +Upon successful completion, +.Fn x86_64_iopl +returns 0. +Otherwise, a value of \-1 is returned and the global +variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn x86_64_iopl +will fail if: +.Bl -tag -width [EINVAL] +.It Bq Er EPERM +The caller was not the super-user, or the operation was not permitted at the +current security level. +.El +.Sh WARNING +You can really hose your machine if you enable user-level I/O and +write to hardware ports without care. |
