123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #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++){
- if(parseip(b.ip, all[i].name) == -1 || syncbinding(&b, 0) < 0)
- continue;
- if(b.lease > now)
- print("%I leased by %s until %s", b.ip, b.boundto,
- ctime(b.lease));
- }
- exits(0);
- }
|