]> git.ozlabs.org Git - ccan/blob - ccan/agar/_info
d62b2e5452199f8d78619391931d608538cb56d7
[ccan] / ccan / agar / _info
1 #include "config.h"
2 #include <stdio.h>
3 #include <string.h>
4
5 /**
6  * agar - Re-entrant Abstract Graph Algorithms
7  *
8  * This modules contains re-entrant versions of the graph algorithms
9  * in the aga module.
10  *
11  * The versions in the aga module require some node-local storage.
12  * This means that the calling code:
13  *   a) Needs to actually allocate memory per node.  That may or may
14  *      not be natural depending on its internal representation.
15  *   b) Multiple algorithms can't run at once (easily), since they all
16  *      need to use the aga_node structures.
17  *
18  * This module provides versions without those restrictions, by
19  * allocating per-node storage itself for each run, and associating
20  * those with the caller's representation of nodes via a hash table.
21  *
22  * License: LGPL (v2.1 or any later version)
23  * Author: David Gibson <david@gibson.dropbear.id.au>
24  */
25 int main(int argc, char *argv[])
26 {
27         /* Expect exactly one argument */
28         if (argc != 2)
29                 return 1;
30
31         if (strcmp(argv[1], "depends") == 0) {
32                 printf("ccan/aga\n");
33                 printf("ccan/container_of\n");
34                 printf("ccan/hash\n");
35                 printf("ccan/htable\n");
36                 printf("ccan/tal");
37                 return 0;
38         }
39
40         if (strcmp(argv[1], "testdepends") == 0) {
41                 printf("ccan/array_size\n");
42                 printf("ccan/container_of\n");
43                 printf("ccan/ptrint\n");
44                 return 0;
45         }
46
47         return 1;
48 }