tdat.h - plan9port - [fork] Plan 9 from user space | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
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 bind… | |
18 long expoffer; /* absolute time at which offer tim… | |
19 long offer; /* lease offered */ | |
20 long lasttouched; /* time this entry last assigned… | |
21 long lastcomplained; /* last time we complained ab… | |
22 long tried; /* last time we tried this ent… | |
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 data… | |
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 se… | |
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 (ipa… | |
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… | |
43 char rootpath[Maxstr]; /* rootfs for diskless nfs … | |
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; |