X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Favl%2Favl.h;h=304de7c2b12266e56194034f6c4e6cd88b3e1938;hp=c78e8df8c21e67d202dad59dca5e566ff77ce938;hb=712dc43d55741bc11490abae8f7edbb8ec982f0d;hpb=700aea923d8fb6cb1c82333d4c11e2bd8bbed3c5 diff --git a/ccan/avl/avl.h b/ccan/avl/avl.h index c78e8df8..304de7c2 100644 --- a/ccan/avl/avl.h +++ b/ccan/avl/avl.h @@ -1,17 +1,23 @@ /* - * Copyright (c) 2010 Joseph Adams - * - * Permission to use, copy, modify, and/or 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. + * Copyright (C) 2010 Joseph Adams + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. */ #ifndef CCAN_AVL_H @@ -20,13 +26,13 @@ #include #include +#include + typedef struct AVL AVL; typedef struct AvlNode AvlNode; typedef struct AvlIter AvlIter; -typedef int (*AvlCompare)(const void *, const void *); - -AVL *avl_new(AvlCompare compare); +AVL *avl_new(total_order_noctx_cb compare); /* Create a new AVL tree sorted with the given comparison function. */ void avl_free(AVL *avl); @@ -100,7 +106,7 @@ void avl_iter_next(AvlIter *iter); /***************** Internal data structures ******************/ struct AVL { - AvlCompare compare; + total_order_noctx_cb compare; AvlNode *root; size_t count; };