diff options
Diffstat (limited to 'share/man/man9/idgen.9')
-rw-r--r-- | share/man/man9/idgen.9 | 56 |
1 files changed, 56 insertions, 0 deletions
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 . |