diff options
author | brooks <brooks@FreeBSD.org> | 2005-06-29 01:46:40 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2005-06-29 01:46:40 +0000 |
commit | bd7fc02cf00f7446a4fc2151d3367d5e935dacae (patch) | |
tree | c334ad76a77de064f9dde5e545e004461813e6a5 /contrib/isc-dhcp/includes/omapip | |
parent | 37efc775b590475026ff6366785a1b78bcb697f5 (diff) | |
download | FreeBSD-src-bd7fc02cf00f7446a4fc2151d3367d5e935dacae.zip FreeBSD-src-bd7fc02cf00f7446a4fc2151d3367d5e935dacae.tar.gz |
Remove isc-dhcp files from HEAD now that we're using the OpenBSD
dhclient.
Reminded by: ru
Approved by: re (blanket dhclient)
Diffstat (limited to 'contrib/isc-dhcp/includes/omapip')
-rw-r--r-- | contrib/isc-dhcp/includes/omapip/alloc.h | 111 | ||||
-rw-r--r-- | contrib/isc-dhcp/includes/omapip/buffer.h | 83 | ||||
-rw-r--r-- | contrib/isc-dhcp/includes/omapip/convert.h | 52 | ||||
-rw-r--r-- | contrib/isc-dhcp/includes/omapip/hash.h | 150 | ||||
-rw-r--r-- | contrib/isc-dhcp/includes/omapip/omapip.h | 611 | ||||
-rw-r--r-- | contrib/isc-dhcp/includes/omapip/omapip_p.h | 293 | ||||
-rw-r--r-- | contrib/isc-dhcp/includes/omapip/trace.h | 115 |
7 files changed, 0 insertions, 1415 deletions
diff --git a/contrib/isc-dhcp/includes/omapip/alloc.h b/contrib/isc-dhcp/includes/omapip/alloc.h deleted file mode 100644 index 5d1dec0..0000000 --- a/contrib/isc-dhcp/includes/omapip/alloc.h +++ /dev/null @@ -1,111 +0,0 @@ -/* alloc.h - - Definitions for the object management API protocol memory allocation... */ - -/* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 1996-2003 by Internet Software Consortium - * - * 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 ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC 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. - * - * Internet Systems Consortium, Inc. - * 950 Charter Street - * Redwood City, CA 94063 - * <info@isc.org> - * http://www.isc.org/ - * - * This software has been written for Internet Systems Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about Internet Systems Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -isc_result_t omapi_buffer_new (omapi_buffer_t **, const char *, int); -isc_result_t omapi_buffer_reference (omapi_buffer_t **, - omapi_buffer_t *, const char *, int); -isc_result_t omapi_buffer_dereference (omapi_buffer_t **, const char *, int); - -#if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \ - defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) -#define DMDOFFSET (sizeof (struct dmalloc_preamble)) -#define DMLFSIZE 16 -#define DMUFSIZE 16 -#define DMDSIZE (DMDOFFSET + DMLFSIZE + DMUFSIZE) - -struct dmalloc_preamble { - struct dmalloc_preamble *prev, *next; - const char *file; - int line; - size_t size; - unsigned long generation; - unsigned char low_fence [DMLFSIZE]; -}; -#else -#define DMDOFFSET 0 -#define DMDSIZE 0 -#endif - -/* rc_history flags... */ -#define RC_LEASE 1 -#define RC_MISC 2 - -#if defined (DEBUG_RC_HISTORY) -#if !defined (RC_HISTORY_MAX) -# define RC_HISTORY_MAX 256 -#endif - -#if !defined (RC_HISTORY_FLAGS) -# define RC_HISTORY_FLAGS (RC_LEASE | RC_MISC) -#endif - -struct rc_history_entry { - const char *file; - int line; - void *reference; - void *addr; - int refcnt; -}; - -#define rc_register(x, l, r, y, z, d, f) do { \ - if (RC_HISTORY_FLAGS & ~(f)) { \ - rc_history [rc_history_index].file = (x); \ - rc_history [rc_history_index].line = (l); \ - rc_history [rc_history_index].reference = (r); \ - rc_history [rc_history_index].addr = (y); \ - rc_history [rc_history_index].refcnt = (z); \ - rc_history_next (d); \ - } \ - } while (0) -#define rc_register_mdl(r, y, z, d, f) \ - rc_register (__FILE__, __LINE__, r, y, z, d, f) -#else -#define rc_register(file, line, reference, addr, refcnt, d, f) -#define rc_register_mdl(reference, addr, refcnt, d, f) -#endif - -#if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \ - defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) -extern struct dmalloc_preamble *dmalloc_list; -extern unsigned long dmalloc_outstanding; -extern unsigned long dmalloc_longterm; -extern unsigned long dmalloc_generation; -extern unsigned long dmalloc_cutoff_generation; -#endif - -#if defined (DEBUG_RC_HISTORY) -extern struct rc_history_entry rc_history [RC_HISTORY_MAX]; -extern int rc_history_index; -extern int rc_history_count; -#endif diff --git a/contrib/isc-dhcp/includes/omapip/buffer.h b/contrib/isc-dhcp/includes/omapip/buffer.h deleted file mode 100644 index cc6b6a9..0000000 --- a/contrib/isc-dhcp/includes/omapip/buffer.h +++ /dev/null @@ -1,83 +0,0 @@ -/* buffer.h - - Definitions for the object management API protocol buffering... */ - -/* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 1996-2003 by Internet Software Consortium - * - * 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 ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC 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. - * - * Internet Systems Consortium, Inc. - * 950 Charter Street - * Redwood City, CA 94063 - * <info@isc.org> - * http://www.isc.org/ - * - * This software has been written for Internet Systems Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about Internet Systems Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -/* OMAPI buffers are ring buffers, which means that the beginning of the - buffer and the end of the buffer chase each other around. As long as - the tail never catches up to the head, there's room in the buffer for - data. - - - If the tail and the head are equal, the buffer is empty. - - - If the tail is less than the head, the contents of the buffer - are the bytes from the head to the end of buffer, and in addition, - the bytes between the beginning of the buffer and the tail, not - including the byte addressed by the tail. - - - If the tail is greater than the head, then the buffer contains - valid bytes starting with the byte addressed by the head, and - ending with the byte before the byte addressed by the tail. - - There will always be at least one byte of waste, because the tail can't - increase so that it's equal to the head (that would represent an empty - buffer. */ -#define OMAPI_BUF_SIZE 4048 -typedef struct _omapi_buffer { - struct _omapi_buffer *next; /* Buffers can be chained. */ - u_int32_t refcnt; /* Buffers are reference counted. */ - u_int16_t head, tail; /* Buffers are organized in a ring. */ - char buf [OMAPI_BUF_SIZE]; /* The actual buffer is included in - the buffer data structure. */ -} omapi_buffer_t; - -#define BUFFER_BYTES_FREE(x) \ - ((x) -> tail > (x) -> head \ - ? sizeof ((x) -> buf) - ((x) -> tail - (x) -> head) \ - : (x) -> head - (x) -> tail) - -#define BYTES_IN_BUFFER(x) \ - ((x) -> tail > (x) -> head \ - ? (x) -> tail - (x) -> head - 1 \ - : sizeof ((x) -> buf) - ((x) -> head - (x) -> tail) - 1) - -isc_result_t omapi_connection_require (omapi_object_t *, unsigned); -isc_result_t omapi_connection_copyout (unsigned char *, - omapi_object_t *, unsigned); -isc_result_t omapi_connection_copyin (omapi_object_t *, - const unsigned char *, unsigned); -isc_result_t omapi_connection_flush (omapi_object_t *); -isc_result_t omapi_connection_get_uint32 (omapi_object_t *, u_int32_t *); -isc_result_t omapi_connection_put_uint32 (omapi_object_t *, u_int32_t); -isc_result_t omapi_connection_get_uint16 (omapi_object_t *, u_int16_t *); -isc_result_t omapi_connection_put_uint16 (omapi_object_t *, u_int32_t); - diff --git a/contrib/isc-dhcp/includes/omapip/convert.h b/contrib/isc-dhcp/includes/omapip/convert.h deleted file mode 100644 index 3fbf347..0000000 --- a/contrib/isc-dhcp/includes/omapip/convert.h +++ /dev/null @@ -1,52 +0,0 @@ -/* convert.h - - Safe copying of integers into and out of a non-aligned memory buffer. */ - -/* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 1996-2003 by Internet Software Consortium - * - * 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 ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC 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. - * - * Internet Systems Consortium, Inc. - * 950 Charter Street - * Redwood City, CA 94063 - * <info@isc.org> - * http://www.isc.org/ - * - * This software has been written for Internet Systems Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about Internet Systems Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -#ifndef OMAPI_CONVERT_H -#define OMAPI_CONVERT_H - -u_int32_t getULong (const unsigned char *); -int32_t getLong (const unsigned char *); -u_int32_t getUShort (const unsigned char *); -int32_t getShort (const unsigned char *); -u_int32_t getUChar (const unsigned char *); -void putULong (unsigned char *, u_int32_t); -void putLong (unsigned char *, int32_t); -void putUShort (unsigned char *, u_int32_t); -void putShort (unsigned char *, int32_t); -void putUChar (unsigned char *, u_int32_t); -int converted_length (const unsigned char *, unsigned int, unsigned int); -int binary_to_ascii (unsigned char *, const unsigned char *, - unsigned int, unsigned int); - -#endif /* OMAPI_CONVERT_H */ diff --git a/contrib/isc-dhcp/includes/omapip/hash.h b/contrib/isc-dhcp/includes/omapip/hash.h deleted file mode 100644 index b8ecbe6..0000000 --- a/contrib/isc-dhcp/includes/omapip/hash.h +++ /dev/null @@ -1,150 +0,0 @@ -/* hash.h - - Definitions for hashing... */ - -/* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 1995-2003 by Internet Software Consortium - * - * 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 ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC 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. - * - * Internet Systems Consortium, Inc. - * 950 Charter Street - * Redwood City, CA 94063 - * <info@isc.org> - * http://www.isc.org/ - * - * This software has been written for Internet Systems Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about Internet Systems Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -#ifndef OMAPI_HASH_H -#define OMAPI_HASH_H - -#define DEFAULT_HASH_SIZE 9973 - -/* The purpose of the hashed_object_t struct is to not match anything else. */ -typedef struct { - int foo; -} hashed_object_t; - -typedef void (*hash_foreach_func) (const unsigned char *, - unsigned, hashed_object_t *); -typedef int (*hash_reference) (hashed_object_t **, hashed_object_t *, - const char *, int); -typedef int (*hash_dereference) (hashed_object_t **, const char *, int); - -struct hash_bucket { - struct hash_bucket *next; - const unsigned char *name; - unsigned len; - hashed_object_t *value; -}; - -typedef int (*hash_comparator_t)(const void *, const void *, unsigned long); - -struct hash_table { - unsigned hash_count; - struct hash_bucket *buckets [DEFAULT_HASH_SIZE]; - hash_reference referencer; - hash_dereference dereferencer; - hash_comparator_t cmp; - int (*do_hash) (const unsigned char *, unsigned, unsigned); -}; - -struct named_hash { - struct named_hash *next; - const char *name; - struct hash_table *hash; -}; - -#define HASH_FUNCTIONS_DECL(name, bufarg, type, hashtype) \ -void name##_hash_add (hashtype *, bufarg, unsigned, type *, \ - const char *, int); \ -void name##_hash_delete (hashtype *, bufarg, unsigned, \ - const char *, int); \ -int name##_hash_lookup (type **, hashtype *, bufarg, unsigned, \ - const char *, int); \ -int name##_hash_foreach (hashtype *, \ - void (*) (bufarg, unsigned, type *)); \ -int name##_new_hash (hashtype **, int, const char *, int); \ -void name##_free_hash_table (hashtype **, const char *, int); - - -#define HASH_FUNCTIONS(name, bufarg, type, hashtype, ref, deref) \ -void name##_hash_add (hashtype *table, \ - bufarg buf, unsigned len, type *ptr, \ - const char *file, int line) \ -{ \ - add_hash ((struct hash_table *)table, \ - (const unsigned char *)buf, \ - len, (hashed_object_t *)ptr, file, line); \ -} \ - \ -void name##_hash_delete (hashtype *table, \ - bufarg buf, unsigned len, const char *file, int line)\ -{ \ - delete_hash_entry ((struct hash_table *)table, \ - (const unsigned char *)buf, \ - len, file, line); \ -} \ - \ -int name##_hash_lookup (type **ptr, hashtype *table, \ - bufarg buf, unsigned len, const char *file, int line) \ -{ \ - return hash_lookup ((hashed_object_t **)ptr, \ - (struct hash_table *)table, \ - (const unsigned char *)buf, len, file, line); \ -} \ - \ -int name##_hash_foreach (hashtype *table, \ - void (*func) (bufarg, unsigned, type *)) \ -{ \ - return hash_foreach ((struct hash_table *)table, \ - (hash_foreach_func)func); \ -} \ - \ -int name##_new_hash (hashtype **tp, int c, const char *file, int line) \ -{ \ - return new_hash ((struct hash_table **)tp, \ - (hash_reference)ref, (hash_dereference)deref, c, \ - file, line); \ -} \ - \ -void name##_free_hash_table (hashtype **table, const char *file, int line) \ -{ \ - free_hash_table ((struct hash_table **)table, file, line); \ -} - -void relinquish_hash_bucket_hunks (void); -int new_hash_table (struct hash_table **, int, const char *, int); -void free_hash_table (struct hash_table **, const char *, int); -struct hash_bucket *new_hash_bucket (const char *, int); -void free_hash_bucket (struct hash_bucket *, const char *, int); -int new_hash (struct hash_table **, - hash_reference, hash_dereference, int, const char *, int); -void add_hash (struct hash_table *, - const unsigned char *, unsigned, hashed_object_t *, - const char *, int); -void delete_hash_entry (struct hash_table *, const unsigned char *, - unsigned, const char *, int); -int hash_lookup (hashed_object_t **, struct hash_table *, - const unsigned char *, unsigned, const char *, int); -int hash_foreach (struct hash_table *, hash_foreach_func); -int casecmp (const void *s, const void *t, unsigned long len); - -#endif /* OMAPI_HASH_H */ diff --git a/contrib/isc-dhcp/includes/omapip/omapip.h b/contrib/isc-dhcp/includes/omapip/omapip.h deleted file mode 100644 index 3c8f156..0000000 --- a/contrib/isc-dhcp/includes/omapip/omapip.h +++ /dev/null @@ -1,611 +0,0 @@ -/* omapip.h - - Definitions for the object management API and protocol... */ - -/* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 1996-2003 by Internet Software Consortium - * - * 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 ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC 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. - * - * Internet Systems Consortium, Inc. - * 950 Charter Street - * Redwood City, CA 94063 - * <info@isc.org> - * http://www.isc.org/ - * - * This software has been written for Internet Systems Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about Internet Systems Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -#ifndef _OMAPIP_H_ -#define _OMAPIP_H_ -#include <isc-dhcp/result.h> - -typedef unsigned int omapi_handle_t; - -struct __omapi_object; -typedef struct __omapi_object omapi_object_t; - -typedef enum { - omapi_datatype_int, - omapi_datatype_string, - omapi_datatype_data, - omapi_datatype_object -} omapi_datatype_t; - -typedef struct { - int refcnt; - omapi_datatype_t type; - union { - struct { - unsigned len; -#define OMAPI_TYPED_DATA_NOBUFFER_LEN (sizeof (int) + \ - sizeof (omapi_datatype_t) + \ - sizeof (int)) - unsigned char value [1]; - } buffer; -#define OMAPI_TYPED_DATA_OBJECT_LEN (sizeof (int) + \ - sizeof (omapi_datatype_t) + \ - sizeof (omapi_object_t *)) - omapi_object_t *object; -#define OMAPI_TYPED_DATA_REF_LEN (sizeof (int) + \ - sizeof (omapi_datatype_t) + \ - 3 * sizeof (void *)) - struct { - void *ptr; - isc_result_t (*reference) (void *, - void *, const char *, int); - isc_result_t (*dereference) (void *, - const char *, int); - } ref; -#define OMAPI_TYPED_DATA_INT_LEN (sizeof (int) + \ - sizeof (omapi_datatype_t) + \ - sizeof (int)) - int integer; - } u; -} omapi_typed_data_t; - -typedef struct { - int refcnt; - unsigned len; -#define OMAPI_DATA_STRING_EMPTY_SIZE (2 * sizeof (int)) - unsigned char value [1]; -} omapi_data_string_t; - -typedef struct { - int refcnt; - omapi_data_string_t *name; - omapi_typed_data_t *value; -} omapi_value_t; - -typedef struct __omapi_object_type_t { - const char *name; - struct __omapi_object_type_t *next; - - isc_result_t (*set_value) (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); - isc_result_t (*get_value) (omapi_object_t *, - omapi_object_t *, - omapi_data_string_t *, omapi_value_t **); - isc_result_t (*destroy) (omapi_object_t *, const char *, int); - isc_result_t (*signal_handler) (omapi_object_t *, - const char *, va_list); - isc_result_t (*stuff_values) (omapi_object_t *, - omapi_object_t *, omapi_object_t *); - isc_result_t (*lookup) (omapi_object_t **, omapi_object_t *, - omapi_object_t *); - isc_result_t (*create) (omapi_object_t **, omapi_object_t *); - isc_result_t (*remove) (omapi_object_t *, omapi_object_t *); - isc_result_t (*freer) (omapi_object_t *, const char *, int); - isc_result_t (*allocator) (omapi_object_t **, const char *, int); - isc_result_t (*sizer) (size_t); - size_t size; - int rc_flag; - isc_result_t (*initialize) (omapi_object_t *, const char *, int); -} omapi_object_type_t; - -#define OMAPI_OBJECT_PREAMBLE \ - omapi_object_type_t *type; \ - int refcnt; \ - omapi_handle_t handle; \ - omapi_object_t *outer, *inner - -/* The omapi handle structure. */ -struct __omapi_object { - OMAPI_OBJECT_PREAMBLE; -}; - -/* The port on which applications should listen for OMAPI connections. */ -#define OMAPI_PROTOCOL_PORT 7911 - -typedef struct { - unsigned addrtype; - unsigned addrlen; - unsigned char address [16]; - unsigned port; -} omapi_addr_t; - -typedef struct { - int refcnt; - unsigned count; - omapi_addr_t *addresses; -} omapi_addr_list_t; - -typedef struct auth_key { - OMAPI_OBJECT_PREAMBLE; - char *name; - char *algorithm; - omapi_data_string_t *key; -} omapi_auth_key_t; - -#define OMAPI_CREATE 1 -#define OMAPI_UPDATE 2 -#define OMAPI_EXCL 4 -#define OMAPI_NOTIFY_PROTOCOL 8 - -#define OMAPI_OBJECT_ALLOC(name, stype, type) \ -isc_result_t name##_allocate (stype **p, const char *file, int line) \ -{ \ - return omapi_object_allocate ((omapi_object_t **)p, \ - type, 0, file, line); \ -} \ - \ -isc_result_t name##_reference (stype **pptr, stype *ptr, \ - const char *file, int line) \ -{ \ - return omapi_object_reference ((omapi_object_t **)pptr, \ - (omapi_object_t *)ptr, file, line); \ -} \ - \ -isc_result_t name##_dereference (stype **ptr, const char *file, int line) \ -{ \ - return omapi_object_dereference ((omapi_object_t **)ptr, file, line); \ -} - -#define OMAPI_OBJECT_ALLOC_DECL(name, stype, type) \ -isc_result_t name##_allocate (stype **p, const char *file, int line); \ -isc_result_t name##_reference (stype **pptr, stype *ptr, \ - const char *file, int line); \ -isc_result_t name##_dereference (stype **ptr, const char *file, int line); - -typedef isc_result_t (*omapi_array_ref_t) (char **, char *, const char *, int); -typedef isc_result_t (*omapi_array_deref_t) (char **, const char *, int); - -/* An extensible array type. */ -typedef struct { - char **data; - omapi_array_ref_t ref; - omapi_array_deref_t deref; - int count; - int max; -} omapi_array_t; - -#define OMAPI_ARRAY_TYPE(name, stype) \ -isc_result_t name##_array_allocate (omapi_array_t **p, \ - const char *file, int line) \ -{ \ - return (omapi_array_allocate \ - (p, \ - (omapi_array_ref_t)name##_reference, \ - (omapi_array_deref_t)name##_dereference, \ - file, line)); \ -} \ - \ -isc_result_t name##_array_free (omapi_array_t **p, \ - const char *file, int line) \ -{ \ - return omapi_array_free (p, file, line); \ -} \ - \ -isc_result_t name##_array_extend (omapi_array_t *pptr, stype *ptr, int *index,\ - const char *file, int line) \ -{ \ - return omapi_array_extend (pptr, (char *)ptr, index, file, line); \ -} \ - \ -isc_result_t name##_array_set (omapi_array_t *pptr, stype *ptr, int index, \ - const char *file, int line) \ -{ \ - return omapi_array_set (pptr, (char *)ptr, index, file, line); \ -} \ - \ -isc_result_t name##_array_lookup (stype **ptr, omapi_array_t *pptr, \ - int index, const char *file, int line) \ -{ \ - return omapi_array_lookup ((char **)ptr, pptr, index, file, line); \ -} - -#define OMAPI_ARRAY_TYPE_DECL(name, stype) \ -isc_result_t name##_array_allocate (omapi_array_t **, const char *, int); \ -isc_result_t name##_array_free (omapi_array_t **, const char *, int); \ -isc_result_t name##_array_extend (omapi_array_t *, stype *, int *, \ - const char *, int); \ -isc_result_t name##_array_set (omapi_array_t *, \ - stype *, int, const char *, int); \ -isc_result_t name##_array_lookup (stype **, \ - omapi_array_t *, int, const char *, int) - -#define omapi_array_foreach_begin(array, stype, var) \ - { \ - int omapi_array_foreach_index; \ - stype *var = (stype *)0; \ - for (omapi_array_foreach_index = 0; \ - array && \ - omapi_array_foreach_index < (array) -> count; \ - omapi_array_foreach_index++) { \ - if ((array) -> data [omapi_array_foreach_index]) { \ - ((*(array) -> ref) \ - ((char **)&var, \ - (array) -> data [omapi_array_foreach_index],\ - MDL)); - -#define omapi_array_foreach_end(array, stype, var) \ - (*(array) -> deref) ((char **)&var, MDL); \ - } \ - } \ - } - -isc_result_t omapi_protocol_connect (omapi_object_t *, - const char *, unsigned, omapi_object_t *); -isc_result_t omapi_connect_list (omapi_object_t *, omapi_addr_list_t *, - omapi_addr_t *); -isc_result_t omapi_protocol_listen (omapi_object_t *, unsigned, int); -isc_boolean_t omapi_protocol_authenticated (omapi_object_t *); -isc_result_t omapi_protocol_configure_security (omapi_object_t *, - isc_result_t (*) - (omapi_object_t *, - omapi_addr_t *), - isc_result_t (*) - (omapi_object_t *, - omapi_auth_key_t *)); -isc_result_t omapi_protocol_accept (omapi_object_t *); -isc_result_t omapi_protocol_send_intro (omapi_object_t *, unsigned, unsigned); -isc_result_t omapi_protocol_ready (omapi_object_t *); -isc_result_t omapi_protocol_add_auth (omapi_object_t *, omapi_object_t *, - omapi_handle_t); -isc_result_t omapi_protocol_lookup_auth (omapi_object_t **, omapi_object_t *, - omapi_handle_t); -isc_result_t omapi_protocol_set_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_protocol_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_protocol_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); - -isc_result_t omapi_protocol_destroy (omapi_object_t *, const char *, int); -isc_result_t omapi_protocol_send_message (omapi_object_t *, - omapi_object_t *, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_protocol_signal_handler (omapi_object_t *, - const char *, va_list); -isc_result_t omapi_protocol_listener_set_value (omapi_object_t *, - omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_protocol_listener_get_value (omapi_object_t *, - omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_protocol_listener_destroy (omapi_object_t *, - const char *, int); -isc_result_t omapi_protocol_listener_signal (omapi_object_t *, - const char *, va_list); -isc_result_t omapi_protocol_listener_stuff (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_protocol_send_status (omapi_object_t *, omapi_object_t *, - isc_result_t, unsigned, const char *); -isc_result_t omapi_protocol_send_open (omapi_object_t *, omapi_object_t *, - const char *, omapi_object_t *, - unsigned); -isc_result_t omapi_protocol_send_update (omapi_object_t *, omapi_object_t *, - unsigned, omapi_object_t *); - -isc_result_t omapi_connect (omapi_object_t *, const char *, unsigned); -isc_result_t omapi_disconnect (omapi_object_t *, int); -int omapi_connection_readfd (omapi_object_t *); -int omapi_connection_writefd (omapi_object_t *); -isc_result_t omapi_connection_connect (omapi_object_t *); -isc_result_t omapi_connection_reader (omapi_object_t *); -isc_result_t omapi_connection_writer (omapi_object_t *); -isc_result_t omapi_connection_reaper (omapi_object_t *); -isc_result_t omapi_connection_output_auth_length (omapi_object_t *, - unsigned *); -isc_result_t omapi_connection_set_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_connection_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_connection_destroy (omapi_object_t *, const char *, int); -isc_result_t omapi_connection_signal_handler (omapi_object_t *, - const char *, va_list); -isc_result_t omapi_connection_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_connection_write_typed_data (omapi_object_t *, - omapi_typed_data_t *); -isc_result_t omapi_connection_put_name (omapi_object_t *, const char *); -isc_result_t omapi_connection_put_string (omapi_object_t *, const char *); -isc_result_t omapi_connection_put_handle (omapi_object_t *c, - omapi_object_t *h); - -isc_result_t omapi_listen (omapi_object_t *, unsigned, int); -isc_result_t omapi_listen_addr (omapi_object_t *, - omapi_addr_t *, int); -isc_result_t omapi_listener_accept (omapi_object_t *); -int omapi_listener_readfd (omapi_object_t *); -isc_result_t omapi_accept (omapi_object_t *); -isc_result_t omapi_listener_configure_security (omapi_object_t *, - isc_result_t (*) - (omapi_object_t *, - omapi_addr_t *)); -isc_result_t omapi_listener_set_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_listener_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_listener_destroy (omapi_object_t *, const char *, int); -isc_result_t omapi_listener_signal_handler (omapi_object_t *, - const char *, va_list); -isc_result_t omapi_listener_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); - -isc_result_t omapi_register_io_object (omapi_object_t *, - int (*)(omapi_object_t *), - int (*)(omapi_object_t *), - isc_result_t (*)(omapi_object_t *), - isc_result_t (*)(omapi_object_t *), - isc_result_t (*)(omapi_object_t *)); -isc_result_t omapi_unregister_io_object (omapi_object_t *); -isc_result_t omapi_dispatch (struct timeval *); -isc_result_t omapi_wait_for_completion (omapi_object_t *, struct timeval *); -isc_result_t omapi_one_dispatch (omapi_object_t *, struct timeval *); -isc_result_t omapi_io_set_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_io_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, omapi_value_t **); -isc_result_t omapi_io_destroy (omapi_object_t *, const char *, int); -isc_result_t omapi_io_signal_handler (omapi_object_t *, const char *, va_list); -isc_result_t omapi_io_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_waiter_signal_handler (omapi_object_t *, - const char *, va_list); -isc_result_t omapi_io_state_foreach (isc_result_t (*func) (omapi_object_t *, - void *), - void *p); - -isc_result_t omapi_generic_new (omapi_object_t **, const char *, int); -isc_result_t omapi_generic_set_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_generic_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_generic_destroy (omapi_object_t *, const char *, int); -isc_result_t omapi_generic_signal_handler (omapi_object_t *, - const char *, va_list); -isc_result_t omapi_generic_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_generic_clear_flags (omapi_object_t *); - -isc_result_t omapi_message_new (omapi_object_t **, const char *, int); -isc_result_t omapi_message_set_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_message_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_message_destroy (omapi_object_t *, const char *, int); -isc_result_t omapi_message_signal_handler (omapi_object_t *, - const char *, va_list); -isc_result_t omapi_message_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_message_register (omapi_object_t *); -isc_result_t omapi_message_unregister (omapi_object_t *); -isc_result_t omapi_message_process (omapi_object_t *, omapi_object_t *); - -OMAPI_OBJECT_ALLOC_DECL (omapi_auth_key, - omapi_auth_key_t, omapi_type_auth_key) -isc_result_t omapi_auth_key_new (omapi_auth_key_t **, const char *, int); -isc_result_t omapi_auth_key_destroy (omapi_object_t *, const char *, int); -isc_result_t omapi_auth_key_enter (omapi_auth_key_t *); -isc_result_t omapi_auth_key_lookup_name (omapi_auth_key_t **, const char *); -isc_result_t omapi_auth_key_lookup (omapi_object_t **, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_auth_key_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_auth_key_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); - -extern omapi_object_type_t *omapi_type_connection; -extern omapi_object_type_t *omapi_type_listener; -extern omapi_object_type_t *omapi_type_io_object; -extern omapi_object_type_t *omapi_type_generic; -extern omapi_object_type_t *omapi_type_protocol; -extern omapi_object_type_t *omapi_type_protocol_listener; -extern omapi_object_type_t *omapi_type_waiter; -extern omapi_object_type_t *omapi_type_remote; -extern omapi_object_type_t *omapi_type_message; -extern omapi_object_type_t *omapi_type_auth_key; - -extern omapi_object_type_t *omapi_object_types; - -void omapi_type_relinquish (void); -isc_result_t omapi_init (void); -isc_result_t omapi_object_type_register (omapi_object_type_t **, - const char *, - isc_result_t (*) - (omapi_object_t *, - omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *), - isc_result_t (*) - (omapi_object_t *, - omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **), - isc_result_t (*) (omapi_object_t *, - const char *, int), - isc_result_t (*) (omapi_object_t *, - const char *, - va_list), - isc_result_t (*) (omapi_object_t *, - omapi_object_t *, - omapi_object_t *), - isc_result_t (*) (omapi_object_t **, - omapi_object_t *, - omapi_object_t *), - isc_result_t (*) (omapi_object_t **, - omapi_object_t *), - isc_result_t (*) (omapi_object_t *, - omapi_object_t *), - isc_result_t (*) (omapi_object_t *, - const char *, int), - isc_result_t (*) (omapi_object_t **, - const char *, int), - isc_result_t (*) (size_t), size_t, - isc_result_t (*) (omapi_object_t *, - const char *, int), - int); -isc_result_t omapi_signal (omapi_object_t *, const char *, ...); -isc_result_t omapi_signal_in (omapi_object_t *, const char *, ...); -isc_result_t omapi_set_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_typed_data_t *); -isc_result_t omapi_set_value_str (omapi_object_t *, omapi_object_t *, - const char *, omapi_typed_data_t *); -isc_result_t omapi_set_boolean_value (omapi_object_t *, omapi_object_t *, - const char *, int); -isc_result_t omapi_set_int_value (omapi_object_t *, omapi_object_t *, - const char *, int); -isc_result_t omapi_set_object_value (omapi_object_t *, omapi_object_t *, - const char *, omapi_object_t *); -isc_result_t omapi_set_string_value (omapi_object_t *, omapi_object_t *, - const char *, const char *); -isc_result_t omapi_get_value (omapi_object_t *, omapi_object_t *, - omapi_data_string_t *, - omapi_value_t **); -isc_result_t omapi_get_value_str (omapi_object_t *, omapi_object_t *, - const char *, omapi_value_t **); -isc_result_t omapi_stuff_values (omapi_object_t *, - omapi_object_t *, - omapi_object_t *); -isc_result_t omapi_object_create (omapi_object_t **, omapi_object_t *, - omapi_object_type_t *); -isc_result_t omapi_object_update (omapi_object_t *, omapi_object_t *, - omapi_object_t *, omapi_handle_t); -int omapi_data_string_cmp (omapi_data_string_t *, omapi_data_string_t *); -int omapi_ds_strcmp (omapi_data_string_t *, const char *); -int omapi_td_strcmp (omapi_typed_data_t *, const char *); -int omapi_td_strcasecmp (omapi_typed_data_t *, const char *); -isc_result_t omapi_make_value (omapi_value_t **, omapi_data_string_t *, - omapi_typed_data_t *, const char *, int); -isc_result_t omapi_make_const_value (omapi_value_t **, omapi_data_string_t *, - const unsigned char *, - unsigned, const char *, int); -isc_result_t omapi_make_int_value (omapi_value_t **, omapi_data_string_t *, - int, const char *, int); -isc_result_t omapi_make_uint_value (omapi_value_t **, omapi_data_string_t *, - unsigned int, const char *, int); -isc_result_t omapi_make_object_value (omapi_value_t **, omapi_data_string_t *, - omapi_object_t *, const char *, int); -isc_result_t omapi_make_handle_value (omapi_value_t **, omapi_data_string_t *, - omapi_object_t *, const char *, int); -isc_result_t omapi_make_string_value (omapi_value_t **, omapi_data_string_t *, - const char *, const char *, int); -isc_result_t omapi_get_int_value (unsigned long *, omapi_typed_data_t *); - -isc_result_t omapi_object_handle (omapi_handle_t *, omapi_object_t *); -isc_result_t omapi_handle_lookup (omapi_object_t **, omapi_handle_t); -isc_result_t omapi_handle_td_lookup (omapi_object_t **, omapi_typed_data_t *); - -void * dmalloc (unsigned, const char *, int); -void dfree (void *, const char *, int); -#if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \ - defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) -void dmalloc_reuse (void *, const char *, int, int); -void dmalloc_dump_outstanding (void); -#else -#define dmalloc_reuse(x,y,l,z) -#endif -#define MDL __FILE__, __LINE__ -#if defined (DEBUG_RC_HISTORY) -void dump_rc_history (void *); -void rc_history_next (int); -#endif -void omapi_print_dmalloc_usage_by_caller (void); -isc_result_t omapi_object_allocate (omapi_object_t **, - omapi_object_type_t *, - size_t, const char *, int); -isc_result_t omapi_object_initialize (omapi_object_t *, - omapi_object_type_t *, - size_t, size_t, const char *, int); -isc_result_t omapi_object_reference (omapi_object_t **, - omapi_object_t *, const char *, int); -isc_result_t omapi_object_dereference (omapi_object_t **, const char *, int); -isc_result_t omapi_typed_data_new (const char *, int, omapi_typed_data_t **, - omapi_datatype_t, ...); -isc_result_t omapi_typed_data_reference (omapi_typed_data_t **, - omapi_typed_data_t *, - const char *, int); -isc_result_t omapi_typed_data_dereference (omapi_typed_data_t **, - const char *, int); -isc_result_t omapi_data_string_new (omapi_data_string_t **, - unsigned, const char *, int); -isc_result_t omapi_data_string_reference (omapi_data_string_t **, - omapi_data_string_t *, - const char *, int); -isc_result_t omapi_data_string_dereference (omapi_data_string_t **, - const char *, int); -isc_result_t omapi_value_new (omapi_value_t **, const char *, int); -isc_result_t omapi_value_reference (omapi_value_t **, - omapi_value_t *, const char *, int); -isc_result_t omapi_value_dereference (omapi_value_t **, const char *, int); -isc_result_t omapi_addr_list_new (omapi_addr_list_t **, unsigned, - const char *, int); -isc_result_t omapi_addr_list_reference (omapi_addr_list_t **, - omapi_addr_list_t *, - const char *, int); -isc_result_t omapi_addr_list_dereference (omapi_addr_list_t **, - const char *, int); - -isc_result_t omapi_array_allocate (omapi_array_t **, omapi_array_ref_t, - omapi_array_deref_t, const char *, int); -isc_result_t omapi_array_free (omapi_array_t **, const char *, int); -isc_result_t omapi_array_extend (omapi_array_t *, char *, int *, - const char *, int); -isc_result_t omapi_array_set (omapi_array_t *, void *, int, const char *, int); -isc_result_t omapi_array_lookup (char **, - omapi_array_t *, int, const char *, int); -OMAPI_ARRAY_TYPE_DECL(omapi_object, omapi_object_t); -#endif /* _OMAPIP_H_ */ diff --git a/contrib/isc-dhcp/includes/omapip/omapip_p.h b/contrib/isc-dhcp/includes/omapip/omapip_p.h deleted file mode 100644 index d8adecd..0000000 --- a/contrib/isc-dhcp/includes/omapip/omapip_p.h +++ /dev/null @@ -1,293 +0,0 @@ -/* omapip_p.h - - Private master include file for the OMAPI library. */ - -/* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 1996-2003 by Internet Software Consortium - * - * 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 ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC 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. - * - * Internet Systems Consortium, Inc. - * 950 Charter Street - * Redwood City, CA 94063 - * <info@isc.org> - * http://www.isc.org/ - * - * This software has been written for Internet Systems Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about Internet Systems Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -#ifndef __OMAPIP_OMAPIP_P_H__ -#define __OMAPIP_OMAPIP_P_H__ - -#ifndef __CYGWIN32__ -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/socket.h> -#include <sys/un.h> -#include <arpa/inet.h> - -#include <netdb.h> -#else -#define fd_set cygwin_fd_set -#include <sys/types.h> -#endif -#include <fcntl.h> -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <memory.h> -#include <stdlib.h> -#include <sys/stat.h> -#include <ctype.h> -#include <time.h> - -#include "cdefs.h" -#include "osdep.h" - -#include <isc-dhcp/dst.h> -#include <isc-dhcp/result.h> - -#include <omapip/convert.h> -#include <omapip/hash.h> -#include <omapip/omapip.h> -#include <omapip/trace.h> - -/* OMAPI protocol header, version 1.00 */ -typedef struct { - u_int32_t authlen; /* Length of authenticator. */ - u_int32_t authid; /* Authenticator object ID. */ - u_int32_t op; /* Opcode. */ - omapi_handle_t handle; /* Handle of object being operated on, - or zero. */ - u_int32_t id; /* Transaction ID. */ - u_int32_t rid; /* ID of transaction to which this is a response. */ -} omapi_protocol_header_t; - -#define OMAPI_PROTOCOL_VERSION 100 - -#define OMAPI_OP_OPEN 1 -#define OMAPI_OP_REFRESH 2 -#define OMAPI_OP_UPDATE 3 -#define OMAPI_OP_NOTIFY 4 -#define OMAPI_OP_STATUS 5 -#define OMAPI_OP_DELETE 6 - -typedef enum { - omapi_connection_unconnected, - omapi_connection_connecting, - omapi_connection_connected, - omapi_connection_disconnecting, - omapi_connection_closed -} omapi_connection_state_t; - -typedef enum { - omapi_protocol_intro_wait, - omapi_protocol_header_wait, - omapi_protocol_signature_wait, - omapi_protocol_name_wait, - omapi_protocol_name_length_wait, - omapi_protocol_value_wait, - omapi_protocol_value_length_wait -} omapi_protocol_state_t; - -typedef struct __omapi_message_object { - OMAPI_OBJECT_PREAMBLE; - struct __omapi_message_object *next, *prev; - omapi_object_t *object; - omapi_object_t *notify_object; - struct __omapi_protocol_object *protocol_object; - u_int32_t authlen; - omapi_typed_data_t *authenticator; - u_int32_t authid; - omapi_object_t *id_object; - u_int32_t op; - u_int32_t h; - u_int32_t id; - u_int32_t rid; -} omapi_message_object_t; - -typedef struct __omapi_remote_auth { - struct __omapi_remote_auth *next; - omapi_handle_t remote_handle; - omapi_object_t *a; -} omapi_remote_auth_t; - -typedef struct __omapi_protocol_object { - OMAPI_OBJECT_PREAMBLE; - u_int32_t header_size; - u_int32_t protocol_version; - u_int32_t next_xid; - - omapi_protocol_state_t state; /* Input state. */ - int reading_message_values; /* True if reading message-specific - values. */ - omapi_message_object_t *message; /* Incoming message. */ - omapi_data_string_t *name; /* Incoming name. */ - omapi_typed_data_t *value; /* Incoming value. */ - isc_result_t verify_result; - omapi_remote_auth_t *default_auth; /* Default authinfo to use. */ - omapi_remote_auth_t *remote_auth_list; /* Authenticators active on - this connection. */ - - isc_boolean_t insecure; /* Set to allow unauthenticated - messages. */ - - isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *); -} omapi_protocol_object_t; - -typedef struct { - OMAPI_OBJECT_PREAMBLE; - - isc_boolean_t insecure; /* Set to allow unauthenticated - messages. */ - - isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *); -} omapi_protocol_listener_object_t; - -#include <omapip/buffer.h> - -typedef struct __omapi_listener_object { - OMAPI_OBJECT_PREAMBLE; - int socket; /* Connection socket. */ - int index; - struct sockaddr_in address; - isc_result_t (*verify_addr) (omapi_object_t *, omapi_addr_t *); -} omapi_listener_object_t; - -typedef struct __omapi_connection_object { - OMAPI_OBJECT_PREAMBLE; - int socket; /* Connection socket. */ - int32_t index; - omapi_connection_state_t state; - struct sockaddr_in remote_addr; - struct sockaddr_in local_addr; - omapi_addr_list_t *connect_list; /* List of addresses to which - to connect. */ - int cptr; /* Current element we are connecting to. */ - u_int32_t bytes_needed; /* Bytes of input needed before wakeup. */ - u_int32_t in_bytes; /* Bytes of input already buffered. */ - omapi_buffer_t *inbufs; - u_int32_t out_bytes; /* Bytes of output in buffers. */ - omapi_buffer_t *outbufs; - omapi_listener_object_t *listener; /* Listener that accepted this - connection, if any. */ - DST_KEY *in_key; /* Authenticator signing incoming - data. */ - void *in_context; /* Input hash context. */ - DST_KEY *out_key; /* Authenticator signing outgoing - data. */ - void *out_context; /* Output hash context. */ -} omapi_connection_object_t; - -typedef struct __omapi_io_object { - OMAPI_OBJECT_PREAMBLE; - struct __omapi_io_object *next; - int (*readfd) (omapi_object_t *); - int (*writefd) (omapi_object_t *); - isc_result_t (*reader) (omapi_object_t *); - isc_result_t (*writer) (omapi_object_t *); - isc_result_t (*reaper) (omapi_object_t *); -} omapi_io_object_t; - -typedef struct __omapi_generic_object { - OMAPI_OBJECT_PREAMBLE; - omapi_value_t **values; - u_int8_t *changed; - int nvalues, va_max; -} omapi_generic_object_t; - -typedef struct __omapi_waiter_object { - OMAPI_OBJECT_PREAMBLE; - int ready; - isc_result_t waitstatus; - struct __omapi_waiter_object *next; -} omapi_waiter_object_t; - -#define OMAPI_HANDLE_TABLE_SIZE 120 - -typedef struct __omapi_handle_table { - omapi_handle_t first, limit; - omapi_handle_t next; - int leafp; - union { - omapi_object_t *object; - struct __omapi_handle_table *table; - } children [OMAPI_HANDLE_TABLE_SIZE]; -} omapi_handle_table_t; - -#include <omapip/alloc.h> - -OMAPI_OBJECT_ALLOC_DECL (omapi_protocol, omapi_protocol_object_t, - omapi_type_protocol) -OMAPI_OBJECT_ALLOC_DECL (omapi_protocol_listener, - omapi_protocol_listener_object_t, - omapi_type_protocol_listener) -OMAPI_OBJECT_ALLOC_DECL (omapi_connection, - omapi_connection_object_t, omapi_type_connection) -OMAPI_OBJECT_ALLOC_DECL (omapi_listener, - omapi_listener_object_t, omapi_type_listener) -OMAPI_OBJECT_ALLOC_DECL (omapi_io, - omapi_io_object_t, omapi_type_io_object) -OMAPI_OBJECT_ALLOC_DECL (omapi_waiter, - omapi_waiter_object_t, omapi_type_waiter) -OMAPI_OBJECT_ALLOC_DECL (omapi_generic, - omapi_generic_object_t, omapi_type_generic) -OMAPI_OBJECT_ALLOC_DECL (omapi_message, - omapi_message_object_t, omapi_type_message) - -isc_result_t omapi_connection_sign_data (int mode, - DST_KEY *key, - void **context, - const unsigned char *data, - const unsigned len, - omapi_typed_data_t **result); -isc_result_t omapi_listener_connect (omapi_connection_object_t **obj, - omapi_listener_object_t *listener, - int socket, - struct sockaddr_in *remote_addr); -void omapi_listener_trace_setup (void); -void omapi_connection_trace_setup (void); -void omapi_buffer_trace_setup (void); -void omapi_connection_register (omapi_connection_object_t *, - const char *, int); -void trace_mr_init (void); - -OMAPI_ARRAY_TYPE_DECL(omapi_listener, omapi_listener_object_t); -OMAPI_ARRAY_TYPE_DECL(omapi_connection, omapi_connection_object_t); - -extern int log_priority; -extern int log_perror; -extern void (*log_cleanup) (void); - -void log_fatal (const char *, ...) - __attribute__((__format__(__printf__,1,2))); -int log_error (const char *, ...) - __attribute__((__format__(__printf__,1,2))); -int log_info (const char *, ...) - __attribute__((__format__(__printf__,1,2))); -int log_debug (const char *, ...) - __attribute__((__format__(__printf__,1,2))); -void do_percentm (char *obuf, const char *ibuf); - -isc_result_t uerr2isc (int); -isc_result_t ns_rcode_to_isc (int); - -extern omapi_message_object_t *omapi_registered_messages; - -#endif /* __OMAPIP_OMAPIP_P_H__ */ diff --git a/contrib/isc-dhcp/includes/omapip/trace.h b/contrib/isc-dhcp/includes/omapip/trace.h deleted file mode 100644 index d48c370..0000000 --- a/contrib/isc-dhcp/includes/omapip/trace.h +++ /dev/null @@ -1,115 +0,0 @@ -/* trace.h - - Definitions for omapi tracing facility... */ - -/* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 2001-2003 by Internet Software Consortium - * - * 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 ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC 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. - * - * Internet Systems Consortium, Inc. - * 950 Charter Street - * Redwood City, CA 94063 - * <info@isc.org> - * http://www.isc.org/ - * - * This software has been written for Internet Systems Consortium - * by Ted Lemon, as part of a project for Nominum, Inc. To learn more - * about Internet Systems Consortium, see http://www.isc.org/. To - * learn more about Nominum, Inc., see ``http://www.nominum.com''. - */ - -#define TRACEFILE_MAGIC 0x64484370UL /* dHCp */ -#define TRACEFILE_VERSION 1 - -/* The first thing in a trace file is the header, which basically just - defines the version of the file. */ -typedef struct { - u_int32_t magic; /* Magic number for trace file. */ - u_int32_t version; /* Version of file. */ - int32_t hlen; /* Length of this header. */ - int32_t phlen; /* Length of packet headers. */ -} tracefile_header_t; - -/* The trace file is composed of a bunch of trace packets. Each such packet - has a type, followed by a length, followed by a timestamp, followed by - the actual contents of the packet. The type indexes are not fixed - - they are allocated either on readback or when writing a trace file. - One index type is reserved - type zero means that this record is a type - name to index mapping. */ -typedef struct { - u_int32_t type_index; /* Index to the type of handler that this - packet needs. */ - u_int32_t length; /* Length of the packet. This includes - everything except the fixed header. */ - u_int32_t when; /* When the packet was written. */ - u_int32_t pad; /* Round this out to a quad boundary. */ -} tracepacket_t; - -#define TRACE_INDEX_MAPPING_SIZE 4 /* trace_index_mapping_t less name. */ -typedef struct { - u_int32_t index; - char name [1]; -} trace_index_mapping_t; - -struct trace_type; /* forward */ -typedef struct trace_type trace_type_t; - -struct trace_type { - trace_type_t *next; - int index; - char *name; - void *baggage; - void (*have_packet) (trace_type_t *, unsigned, char *); - void (*stop_tracing) (trace_type_t *); -}; - -typedef struct trace_iov { - const char *buf; - unsigned len; -} trace_iov_t; - -typedef struct { - u_int16_t addrtype; - u_int16_t addrlen; - u_int8_t address [16]; - u_int16_t port; -} trace_addr_t; - -void trace_free_all (void); -int trace_playback (void); -int trace_record (void); -isc_result_t trace_init (void (*set_time) (u_int32_t), const char *, int); -isc_result_t trace_begin (const char *, const char *, int); -isc_result_t trace_write_packet (trace_type_t *, unsigned, const char *, - const char *, int); -isc_result_t trace_write_packet_iov (trace_type_t *, int, trace_iov_t *, - const char *, int); -void trace_type_stash (trace_type_t *); -trace_type_t *trace_type_register (const char *, void *, - void (*) (trace_type_t *, - unsigned, char *), - void (*) (trace_type_t *), - const char *, int); -void trace_stop (void); -void trace_index_map_input (trace_type_t *, unsigned, char *); -void trace_index_stop_tracing (trace_type_t *); -void trace_replay_init (void); -void trace_file_replay (const char *); -isc_result_t trace_get_next_packet (trace_type_t **, tracepacket_t *, - char **, unsigned *, unsigned *); -isc_result_t trace_get_file (trace_type_t *, - const char *, unsigned *, char **); -isc_result_t trace_get_packet (trace_type_t **, unsigned *, char **); -time_t trace_snoop_time (trace_type_t **); |