#include "config.h" #include #include /** * idtree - id allocation tree * * There are often cases where you want to provide an integer handle for * some data, and easily map it back to another structure. * * idtree is an efficient implementation of an int->void * mapping, with * assignment of the lowest available id number. It is from the Linux kernel * via the Samba project. * * Example: * #include * #include * #include * #include * * // Silly example which puts args in the idtree and retreives them * int main(int argc, char *argv[]) * { * struct idtree *idtree = idtree_new(NULL); * unsigned int i; * * // This will return consecutive id numbers. * for (i = 0; i < argc; i++) { * printf("idtree_add('%s') -> id %i\n", * argv[i], idtree_add(idtree, argv[i], -1)); * } * for (i = 0; i < argc; i++) { * printf("id %i -> '%s'\n", * i, (char *)idtree_lookup(idtree, i)); * } * return 0; * } * * License: GPL (v2 or any later version) * Maintainer: Rusty Russell * Author: Jim Houston */ int main(int argc, char *argv[]) { if (argc != 2) return 1; if (strcmp(argv[1], "depends") == 0) { printf("ccan/tal\n"); return 0; } return 1; }