URI:
       tdat.h - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tdat.h (2520B)
       ---
            1 #include "../dhcp.h"
            2 
            3 enum
            4 {
            5         Maxstr=        256
            6 };
            7 
            8 typedef struct Binding Binding;
            9 struct Binding
           10 {
           11         Binding *next;
           12         uchar        ip[IPaddrlen];
           13 
           14         char        *boundto;        /* id last bound to */
           15         char        *offeredto;        /* id we've offered this to */
           16 
           17         long        lease;                /* absolute time at which binding expires */
           18         long        expoffer;        /* absolute time at which offer times out */
           19         long        offer;                /* lease offered */
           20         long        lasttouched;        /* time this entry last assigned/unassigned */
           21         long        lastcomplained;        /* last time we complained about a used but not leased */
           22         long        tried;                /* last time we tried this entry */
           23 
           24         Qid        q;                /* qid at the last syncbinding */
           25 };
           26 
           27 typedef struct Info        Info;
           28 struct Info
           29 {
           30         int        indb;                        /* true if found in database */
           31         char        domain[Maxstr];        /* system domain name */
           32         char        bootf[Maxstr];                /* boot file */
           33         char        bootf2[Maxstr];        /* alternative boot file */
           34         uchar        tftp[NDB_IPlen];        /* ip addr of tftp server */
           35         uchar        tftp2[NDB_IPlen];        /* ip addr of alternate server */
           36         uchar        ipaddr[NDB_IPlen];        /* ip address of system */
           37         uchar        ipmask[NDB_IPlen];        /* ip network mask */
           38         uchar        ipnet[NDB_IPlen];        /* ip network address (ipaddr & ipmask) */
           39         uchar        etheraddr[6];                /* ethernet address */
           40         uchar        gwip[NDB_IPlen];        /* gateway ip address */
           41         uchar        fsip[NDB_IPlen];        /* file system ip address */
           42         uchar        auip[NDB_IPlen];        /* authentication server ip address */
           43         char        rootpath[Maxstr];        /* rootfs for diskless nfs clients */
           44         char        dhcpgroup[Maxstr];
           45         char        vendor[Maxstr];        /* vendor info */
           46 };
           47 
           48 
           49 /* from dhcp.c */
           50 extern int        validip(uchar*);
           51 extern void        warning(int, char*, ...);
           52 extern int        minlease;
           53 
           54 /* from db.c */
           55 extern char*        tohex(char*, uchar*, int);
           56 extern char*        toid(uchar*, int);
           57 extern void        initbinding(uchar*, int);
           58 extern Binding*        iptobinding(uchar*, int);
           59 extern Binding*        idtobinding(char*, Info*, int);
           60 extern Binding*        idtooffer(char*, Info*);
           61 extern int        commitbinding(Binding*);
           62 extern int        releasebinding(Binding*, char*);
           63 extern int        samenet(uchar *ip, Info *iip);
           64 extern void        mkoffer(Binding*, char*, long);
           65 extern int        syncbinding(Binding*, int);
           66 
           67 /* from ndb.c */
           68 extern int        lookup(Bootp*, Info*, Info*);
           69 extern int        lookupip(uchar*, Info*, int);
           70 extern void        lookupname(char*, Ndbtuple*);
           71 extern Iplifc*        findlifc(uchar*);
           72 extern int        forme(uchar*);
           73 extern int        lookupserver(char*, uchar**, Ndbtuple *t);
           74 extern Ndbtuple* lookupinfo(uchar *ipaddr, char **attr, int n);
           75 
           76 /* from icmp.c */
           77 extern int        icmpecho(uchar*);
           78 
           79 extern char        *binddir;
           80 extern int        debug;
           81 extern char        *blog;
           82 extern Ipifc        *ipifcs;
           83 extern long        now;
           84 extern char        *ndbfile;