Blob


1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include <ndb.h>
5 #include <ip.h>
7 /*
8 * search the database for matches
9 */
11 void
12 usage(void)
13 {
14 fprint(2, "usage: ipquery attr value rattribute\n");
15 exits("usage");
16 }
18 void
19 search(Ndb *db, char *attr, char *val, char **rattr, int nrattr)
20 {
21 Ndbtuple *t;
23 t = ndbipinfo(db, attr, val, rattr, nrattr);
24 for(; t; t = t->entry)
25 print("%s=%s ", t->attr, t->val);
26 print("\n");
27 ndbfree(t);
28 }
30 void
31 main(int argc, char **argv)
32 {
33 Ndb *db;
34 char *dbfile = 0;
36 ARGBEGIN{
37 case 'f':
38 dbfile = ARGF();
39 break;
40 }ARGEND;
42 if(argc < 3)
43 usage();
45 db = ndbopen(dbfile);
46 if(db == 0){
47 fprint(2, "no db files\n");
48 exits("no db");
49 }
50 search(db, argv[0], argv[1], argv+2, argc-2);
51 ndbclose(db);
53 exits(0);
54 }