diff options
| author | itojun <itojun@NetBSD.org> | 2003-09-09 22:10:33 +0000 |
|---|---|---|
| committer | itojun <itojun@NetBSD.org> | 2003-09-09 22:10:33 +0000 |
| commit | 00552ebbd736f6f94996000ff6782624d00d2229 (patch) | |
| tree | f8abc3cbe12a2852c604a10df34df904c4b5d906 /include | |
| parent | 99dfdf20e2e4039899e8a6e8fa854fcb6092fc7a (diff) | |
add randomid(3).
Diffstat (limited to 'include')
| -rw-r--r-- | include/Makefile | 4 | ||||
| -rw-r--r-- | include/randomid.h | 83 |
2 files changed, 85 insertions, 2 deletions
diff --git a/include/Makefile b/include/Makefile index c4d3310895b..df4193dc74a 100644 --- a/include/Makefile +++ b/include/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.112 2003/08/27 16:03:18 mrg Exp $ +# $NetBSD: Makefile,v 1.113 2003/09/09 22:10:33 itojun Exp $ # @(#)Makefile 8.2 (Berkeley) 1/4/94 # Doing a make includes builds /usr/include @@ -15,7 +15,7 @@ INCS= a.out.h ar.h assert.h bitstring.h bm.h cpio.h ctype.h db.h dirent.h \ login_cap.h lwp.h malloc.h math.h md2.h md4.h md5.h \ memory.h mntopts.h mpool.h \ ndbm.h netconfig.h netdb.h netgroup.h nlist.h nl_types.h \ - nsswitch.h paths.h pwd.h ranlib.h re_comp.h regex.h regexp.h \ + nsswitch.h paths.h pwd.h randomid.h ranlib.h re_comp.h regex.h regexp.h \ resolv.h rmd160.h rmt.h sa.h sched.h search.h semaphore.h setjmp.h \ sgtty.h sha1.h signal.h stab.h stddef.h stdio.h stdlib.h string.h \ strings.h stringlist.h struct.h sysexits.h tar.h threadlib.h time.h \ diff --git a/include/randomid.h b/include/randomid.h new file mode 100644 index 00000000000..b45b1e83d36 --- /dev/null +++ b/include/randomid.h @@ -0,0 +1,83 @@ +/* $NetBSD: randomid.h,v 1.1 2003/09/09 22:10:33 itojun Exp $ */ +/* $KAME: ip6_id.c,v 1.8 2003/09/06 13:41:06 itojun Exp $ */ +/* $OpenBSD: ip_id.c,v 1.6 2002/03/15 18:19:52 millert Exp $ */ + +/* + * Copyright (C) 2003 WIDE Project. + * 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 project 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 PROJECT 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 PROJECT 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 1998 Niels Provos <provos@citi.umich.edu> + * All rights reserved. + * + * Theo de Raadt <deraadt@openbsd.org> came up with the idea of using + * such a mathematical system to generate more random (yet non-repeating) + * ids to solve the resolver/named problem. But Niels designed the + * actual system based on the constraints. + * + * 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 Niels Provos. + * 4. 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. + */ + +#ifndef _RANDOMID_H_ +#define _RANDOMID_H_ + +struct randomid_ctx; + +typedef struct randomid_ctx *randomid_t; + +extern u_int32_t randomid(randomid_t); +extern randomid_t randomid_new(int, long); +extern void randomid_delete(randomid_t); + +#define RANDOMID_TIMEO_MIN ((long)60) +#define RANDOMID_TIMEO_DEFAULT ((long)180) + +#endif /*_RANDOMID_H_*/ |
