| #include <u.h> |
| #include <libc.h> |
| #include <bio.h> |
| #include <ndb.h> |
| #include <ip.h> |
| #include "dat.h" |
| |
| extern char *binddir; |
| long now; |
| char *blog = "ipboot"; |
| int minlease = MinLease; |
| |
| void |
| main(void) |
| { |
| Dir *all; |
| int i, nall, fd; |
| Binding b; |
| |
| fmtinstall('E', eipfmt); |
| fmtinstall('I', eipfmt); |
| fmtinstall('V', eipfmt); |
| fmtinstall('M', eipfmt); |
| |
| fd = open(binddir, OREAD); |
| if(fd < 0) |
| sysfatal("opening %s: %r", binddir); |
| nall = dirreadall(fd, &all); |
| if(nall < 0) |
| sysfatal("reading %s: %r", binddir); |
| close(fd); |
| |
| b.boundto = 0; |
| b.lease = b.offer = 0; |
| now = time(0); |
| for(i = 0; i < nall; i++){ |
| parseip(b.ip, all[i].name); |
| if(syncbinding(&b, 0) < 0) |
| continue; |
| if(b.lease > now) |
| print("%I leased by %s until %s", b.ip, b.boundto, ctime(b.lease)); |
| } |
| } |