Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

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