summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpvalchev <pvalchev@openbsd.org>2002-02-16 05:17:51 +0000
committerpvalchev <pvalchev@openbsd.org>2002-02-16 05:17:51 +0000
commit2a6528879d40f6ce26843adeefe6a680f28d17c2 (patch)
tree88d91ef500d9873d223e0a0fb10e5847e2df81f9
parentfinal touches (diff)
downloadwireguard-openbsd-2a6528879d40f6ce26843adeefe6a680f28d17c2.tar.xz
wireguard-openbsd-2a6528879d40f6ce26843adeefe6a680f28d17c2.zip
MI man page to document fpgetmask(3) and friends; from ross@NetBSD, ok deraadt
-rw-r--r--lib/libc/gen/Makefile.inc30
-rw-r--r--lib/libc/gen/fpgetmask.3130
2 files changed, 147 insertions, 13 deletions
diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc
index 1a185e03763..ffd1cb054b7 100644
--- a/lib/libc/gen/Makefile.inc
+++ b/lib/libc/gen/Makefile.inc
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.inc,v 1.30 2001/10/31 14:21:09 fgsch Exp $
+# $OpenBSD: Makefile.inc,v 1.31 2002/02/16 05:17:51 pvalchev Exp $
# gen sources
.PATH: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/gen ${LIBCSRCDIR}/gen
@@ -45,18 +45,19 @@ errlst.o errlst.po:
MAN+= alarm.3 auth_subr.3 authenticate.3 basename.3 clock.3 confstr.3 \
ctermid.3 ctype.3 daemon.3 devname.3 directory.3 dirname.3 err.3 \
- exec.3 fnmatch.3 frexp.3 ftok.3 fts.3 getbsize.3 getcap.3 getcwd.3 \
- getdomainname.3 getdiskbyname.3 getfsent.3 getgrent.3 getgrouplist.3 \
- gethostname.3 getloadavg.3 getmntinfo.3 getnetgrent.3 getpagesize.3 \
- getpass.3 getpwent.3 getttyent.3 getusershell.3 glob.3 initgroups.3 \
- isalnum.3 isalpha.3 isascii.3 isblank.3 iscntrl.3 isdigit.3 isgraph.3 \
- isinf.3 islower.3 isprint.3 ispunct.3 isspace.3 isupper.3 isxdigit.3 \
- ldexp.3 lockf.3 login_cap.3 modf.3 nice.3 nlist.3 pause.3 popen.3 \
- psignal.3 pw_dup.3 pwcache.3 raise.3 readpassphrase.3 scandir.3 \
- setjmp.3 setmode.3 setproctitle.3 siginterrupt.3 signal.3 \
- sigsetops.3 sleep.3 sysconf.3 sysctl.3 strtofflags.3 syslog.3 \
- time.3 times.3 timezone.3 toascii.3 tolower.3 toupper.3 ttyname.3 \
- ualarm.3 uname.3 unvis.3 usleep.3 utime.3 valloc.3 vis.3
+ exec.3 fnmatch.3 fpgetmask.3 frexp.3 ftok.3 fts.3 getbsize.3 \
+ getcap.3 getcwd.3 getdomainname.3 getdiskbyname.3 getfsent.3 \
+ getgrent.3 getgrouplist.3 gethostname.3 getloadavg.3 getmntinfo.3 \
+ getnetgrent.3 getpagesize.3 getpass.3 getpwent.3 getttyent.3 \
+ getusershell.3 glob.3 initgroups.3 isalnum.3 isalpha.3 isascii.3 \
+ isblank.3 iscntrl.3 isdigit.3 isgraph.3 isinf.3 islower.3 isprint.3 \
+ ispunct.3 isspace.3 isupper.3 isxdigit.3 ldexp.3 lockf.3 login_cap.3 \
+ modf.3 nice.3 nlist.3 pause.3 popen.3 psignal.3 pw_dup.3 pwcache.3 \
+ raise.3 readpassphrase.3 scandir.3 setjmp.3 setmode.3 setproctitle.3 \
+ siginterrupt.3 signal.3 sigsetops.3 sleep.3 sysconf.3 sysctl.3 \
+ strtofflags.3 syslog.3 time.3 times.3 timezone.3 toascii.3 tolower.3 \
+ toupper.3 ttyname.3 ualarm.3 uname.3 unvis.3 usleep.3 utime.3 \
+ valloc.3 vis.3
MLINKS+=auth_subr.3 auth_open.3 auth_subr.3 auth_call.3 auth_subr.3 \
auth_challenge.3 auth_subr.3 auth_check_change.3 auth_subr.3 \
@@ -80,6 +81,9 @@ MLINKS+=err.3 verr.3 err.3 errx.3 err.3 verrx.3 err.3 warn.3 err.3 vwarn.3 \
err.3 warnx.3 err.3 vwarnx.3
MLINKS+=exec.3 execl.3 exec.3 execle.3 exec.3 execlp.3 exec.3 execv.3 \
exec.3 execvp.3
+MLINKS+=fpgetmask.3 fpgetround.3 fpgetmask.3 fpgetsticky.3 \
+ fpgetmask.3 fpsetmask.3 fpgetmask.3 fpsetround.3 \
+ fpgetmask.3 fpsetsticky.3
MLINKS+=fts.3 fts_open.3 fts.3 fts_read.3 fts.3 fts_children.3 \
fts.3 fts_set.3 fts.3 fts_close.3
MLINKS+=isinf.3 isnan.3 isinf.3 isnanf.3 isinf.3 isinff.3
diff --git a/lib/libc/gen/fpgetmask.3 b/lib/libc/gen/fpgetmask.3
new file mode 100644
index 00000000000..f136158b815
--- /dev/null
+++ b/lib/libc/gen/fpgetmask.3
@@ -0,0 +1,130 @@
+.\" $OpenBSD: fpgetmask.3,v 1.1 2002/02/16 05:17:51 pvalchev Exp $
+.\" $NetBSD: fpgetmask.3,v 1.3 2001/09/16 02:57:03 wiz Exp $
+.\"
+.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Ross Harvey.
+.\"
+.\" 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 NetBSD
+.\" Foundation, Inc. and its contributors.
+.\" 4. Neither the name of The NetBSD Foundation 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 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, 1999
+.Dt FPGETMASK 3
+.Os
+.Sh NAME
+.Nm fpgetmask ,
+.Nm fpgetround ,
+.Nm fpgetsticky ,
+.Nm fpsetmask ,
+.Nm fpsetround ,
+.Nm fpsetsticky
+.Nd IEEE FP mode control
+.Sh SYNOPSIS
+.Fd #include <ieeefp.h>
+.Ft fp_except
+.Fn fpgetmask void
+.Ft fp_rnd
+.Fn fpgetround void
+.Ft fp_except
+.Fn fpgetsticky void
+.Ft fp_except
+.Fn fpsetmask fp_except\ mask
+.Ft fp_rnd
+.Fn fpsetround fp_rnd\ rnd_dir
+.Ft fp_except
+.Fn fpsetsticky fp_except\ sticky
+.Sh DESCRIPTION
+A rounding mode is one of
+.Dv FP_RZ , FP_RM , FP_RN ,
+or
+.Dv FP_RP ,
+for rounding towards zero, rounding
+.Pq Em Minus infinity
+down, rounding to
+.Em nearest ,
+and rounding
+.Pq Em Plus infinity
+up.
+The default mode is
+.Dv FP_RN .
+.Pp
+An
+.Ft fp_except
+value is a bitmask specifying an exception type and containing any of
+the values listed below.
+.Bl -column -offset indent FP_X_UFLxx
+.It Dv FP_X_INV Ta Invalid\ Operation
+.It Dv FP_X_DZ Ta Division\ by\ zero
+.It Dv FP_X_OFL Ta Overflow
+.It Dv FP_X_UFL Ta Underflow
+.It Dv FP_X_IMP Ta Imprecision (inexact)
+.It Dv FP_X_IOV Ta Integer\ Overflow
+.El
+.Pp
+.Pp
+The
+.Fn fpsetmask
+function will cause future operations with the specified result status to
+raise the
+.Dv SIGFPE
+exception.
+The
+.Fn fpsetround
+function will cause future operations to use the specified dynamic mode.
+.Bl -tag -width Note:x
+.It Em Note :
+On some architectures, instructions can optionally specify static
+rounding modes and exception enables that will supersede the specified
+dynamic mode. On other architectures, these features may not be fully
+supported.
+.El
+.Pp
+The
+.Fn fpsetsticky
+function will set or clear the specified exception history bits.
+.Sh RETURN VALUES
+The
+.Fn fpgetround
+and
+.Fn fpsetround
+functions return the
+.Pq previous
+rounding mode.
+The
+.Fn fpgetmask ,
+.Fn fpsetmask ,
+.Fn fpgetsticky ,
+and
+.Fn fpsetsticky
+functions return the
+.Pq previous
+exception mask and exception history bits.
+.Sh SEE ALSO
+.Xr sigaction 2