12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #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));
- }
- }
|