head 1.1; branch 1.1.1; access ; symbols EV_8_2_2:1.1.1.1 vendor:1.1.1; locks ; strict; comment @ * @; 1.1 date 99.10.20.19.31.13; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 99.10.20.19.31.13; author rse; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @/* * Copyright (c) 1997,1999 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE * CONSORTIUM 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. */ #ifndef _EV_HEAP_H #define _EV_HEAP_H typedef int (*heap_higher_priority_func) (void *, void *); typedef void (*heap_index_func) (void *, int); typedef void (*heap_for_each_func) (void *, void *); typedef struct heap_context { int array_size; int array_size_increment; int heap_size; void **heap; heap_higher_priority_func higher_priority; heap_index_func index; } *heap_context; #define heap_new __heap_new #define heap_free __heap_free #define heap_insert __heap_insert #define heap_delete __heap_delete #define heap_increased __heap_increased #define heap_decreased __heap_decreased #define heap_element __heap_element #define heap_for_each __heap_for_each heap_context heap_new(heap_higher_priority_func, heap_index_func, int); int heap_free(heap_context); int heap_insert(heap_context, void *); int heap_delete(heap_context, int); int heap_increased(heap_context, int); int heap_decreased(heap_context, int); void *heap_element(heap_context, int); int heap_for_each(heap_context, heap_for_each_func, void *); #endif /* _EV_HEAP_H */ @ 1.1.1.1 log @ @ text @@