summaryrefslogtreecommitdiff
path: root/share/man/man9
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2008-06-09 22:50:13 +0000
committerDamien Miller <djm@cvs.openbsd.org>2008-06-09 22:50:13 +0000
commit93c232b37d7879e6b0e58fa730b7d3e59fd064d7 (patch)
tree4066135539fac7670d24c1efd92607ff8e914555 /share/man/man9
parent6dc5f484226bfbdd5bc21dd207edb89860061592 (diff)
man page for crypto/idgen.h functions: idgen32() and idgen32_init()
ok deraadt@
Diffstat (limited to 'share/man/man9')
-rw-r--r--share/man/man9/Makefile5
-rw-r--r--share/man/man9/idgen.956
2 files changed, 60 insertions, 1 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index a225b20df2e..4c98c7dadf4 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.139 2008/06/09 16:00:53 djm Exp $
+# $OpenBSD: Makefile,v 1.140 2008/06/09 22:50:12 djm Exp $
# $NetBSD: Makefile,v 1.4 1996/01/09 03:23:01 thorpej Exp $
# Makefile for section 9 (kernel function and variable) manual pages.
@@ -11,6 +11,7 @@ MAN= altq.9 aml_evalnode.9 atomic.9 audio.9 autoconf.9 bio_register.9 \
evcount.9 file.9 \
fork1.9 extent.9 getdevvp.9 getnewvnode.9 hash.9 hashinit.9 \
hardclock.9 hook_establish.9 hz.9 hzto.9 \
+ idgen.9 \
ieee80211.9 ieee80211_crypto.9 ieee80211_input.9 ieee80211_ioctl.9 \
ieee80211_node.9 ieee80211_output.9 ieee80211_proto.9 \
ieee80211_radiotap.9 \
@@ -127,6 +128,8 @@ MLINKS+=file.9 falloc.9 file.9 fdrelease.9 file.9 FREF.9 file.9 FRELE.9 \
MLINKS+=getdevvp.9 bdevvp.9 getdevvp.9 cdevvp.9
MLINKS+=hook_establish.9 hook_disestablish.9
MLINKS+=hz.9 tick.9 hz.9 tickadj.9 hz.9 stathz.9 hz.9 profhz.9
+MLINKS+=idgen.9 idgen32_init.9 \
+ idgen.9 idgen32.9
MLINKS+=ieee80211.9 ieee80211_ifattach.9 \
ieee80211.9 ieee80211_ifdetach.9 \
ieee80211.9 ieee80211_mhz2ieee.9 \
diff --git a/share/man/man9/idgen.9 b/share/man/man9/idgen.9
new file mode 100644
index 00000000000..3f4b6c5d513
--- /dev/null
+++ b/share/man/man9/idgen.9
@@ -0,0 +1,56 @@
+.\" $OpenBSD: idgen.9,v 1.1 2008/06/09 22:50:12 djm Exp $
+.\"
+.\" Copyright (c) 2008 Damien Miller <djm@mindrot.org>
+.\" All rights reserved.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: June 9 2008 $
+.Dt IDGEN 9
+.Os
+.Sh NAME
+.Nm idgen
+.Nd non-repeating ID generation
+.Sh SYNOPSIS
+.Fd #include <crypto/idgen.h>
+.Ft void
+.Fn idgen32_init "struct idgen32_ctx *ctx"
+.Ft uint32_t
+.Fn idgen32 "struct idgen32_ctx *ctx"
+.Sh DESCRIPTION
+The
+.Fn idgen32
+functions provide a facility to generate a stream of 32 bit numbers
+that are strongly unpredictable and have a repetition cycle close to
+2^32.
+Such numbers are useful as protocol identifiers where there are negative
+consequences to reusing an ID within a short time period, as may happen
+if they are simply assigned at random.
+.Pp
+The
+.Fn idgen32_init
+function prepares a context structure for use.
+.Pp
+The
+.Fn idgen32
+function returns a new ID in host byte order.
+Note that this function will never return 0 as it often has a special
+meaning in network protocols.
+.Ed
+.Sh SEE ALSO
+.Xr random 9 ,
+.Sh HISTORY
+The
+.Nm
+functions were added in
+.Ox 4.4 .