X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fagar%2F_info;fp=ccan%2Fagar%2F_info;h=d62b2e5452199f8d78619391931d608538cb56d7;hb=c2966d1879c825cfaf0e7d6848a5da052ee4a038;hp=0000000000000000000000000000000000000000;hpb=06162212353c882249d7e207756ea81ea645fc30;p=ccan diff --git a/ccan/agar/_info b/ccan/agar/_info new file mode 100644 index 00000000..d62b2e54 --- /dev/null +++ b/ccan/agar/_info @@ -0,0 +1,48 @@ +#include "config.h" +#include +#include + +/** + * agar - Re-entrant Abstract Graph Algorithms + * + * This modules contains re-entrant versions of the graph algorithms + * in the aga module. + * + * The versions in the aga module require some node-local storage. + * This means that the calling code: + * a) Needs to actually allocate memory per node. That may or may + * not be natural depending on its internal representation. + * b) Multiple algorithms can't run at once (easily), since they all + * need to use the aga_node structures. + * + * This module provides versions without those restrictions, by + * allocating per-node storage itself for each run, and associating + * those with the caller's representation of nodes via a hash table. + * + * License: LGPL (v2.1 or any later version) + * Author: David Gibson + */ +int main(int argc, char *argv[]) +{ + /* Expect exactly one argument */ + if (argc != 2) + return 1; + + if (strcmp(argv[1], "depends") == 0) { + printf("ccan/aga\n"); + printf("ccan/container_of\n"); + printf("ccan/hash\n"); + printf("ccan/htable\n"); + printf("ccan/tal"); + return 0; + } + + if (strcmp(argv[1], "testdepends") == 0) { + printf("ccan/array_size\n"); + printf("ccan/container_of\n"); + printf("ccan/ptrint\n"); + return 0; + } + + return 1; +}