summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoritojun <itojun@NetBSD.org>2003-09-09 22:10:33 +0000
committeritojun <itojun@NetBSD.org>2003-09-09 22:10:33 +0000
commit00552ebbd736f6f94996000ff6782624d00d2229 (patch)
treef8abc3cbe12a2852c604a10df34df904c4b5d906 /include
parent99dfdf20e2e4039899e8a6e8fa854fcb6092fc7a (diff)
add randomid(3).
Diffstat (limited to 'include')
-rw-r--r--include/Makefile4
-rw-r--r--include/randomid.h83
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_*/