Blob


1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include <ndb.h>
5 #include <ip.h>
6 #include "dat.h"
8 extern char *binddir;
9 long now;
10 char *blog = "ipboot";
11 int minlease = MinLease;
13 void
14 main(void)
15 {
16 Dir *all;
17 int i, nall, fd;
18 Binding b;
20 fmtinstall('E', eipfmt);
21 fmtinstall('I', eipfmt);
22 fmtinstall('V', eipfmt);
23 fmtinstall('M', eipfmt);
25 fd = open(binddir, OREAD);
26 if(fd < 0)
27 sysfatal("opening %s: %r", binddir);
28 nall = dirreadall(fd, &all);
29 if(nall < 0)
30 sysfatal("reading %s: %r", binddir);
31 close(fd);
33 b.boundto = 0;
34 b.lease = b.offer = 0;
35 now = time(0);
36 for(i = 0; i < nall; i++){
37 parseip(b.ip, all[i].name);
38 if(syncbinding(&b, 0) < 0)
39 continue;
40 if(b.lease > now)
41 print("%I leased by %s until %s", b.ip, b.boundto, ctime(b.lease));
42 }
43 }