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 matches9 */11 void12 usage(void)13 {14 fprint(2, "usage: ipquery attr value rattribute\n");15 exits("usage");16 }18 void19 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 void31 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 }