12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #include "all.h"
- #include "../ip/ip.h"
- int
- chartoea(uchar *ea, char *cp)
- {
- int i, h, c;
- h = 0;
- for(i=0; i<Easize*2; i++) {
- c = *cp++;
- if(c >= '0' && c <= '9')
- c = c - '0';
- else
- if(c >= 'a' && c <= 'f')
- c = c - 'a' + 10;
- else
- if(c >= 'A' && c <= 'F')
- c = c - 'A' + 10;
- else
- return 1;
- h = (h*16) + c;
- if(i & 1) {
- *ea++ = h;
- h = 0;
- }
- }
- if(*cp != 0)
- return 1;
- return 0;
- }
- int
- chartoip(uchar *pa, char *cp)
- {
- int i, c, h;
- for(i=0;;) {
- h = 0;
- for(;;) {
- c = *cp++;
- if(c < '0' || c > '9')
- break;
- h = (h*10) + (c-'0');
- }
- *pa++ = h;
- i++;
- if(i == Pasize) {
- if(c != 0)
- return 1;
- return 0;
- }
- if(c != '.')
- return 1;
- }
- }
- void
- getipa(Ifc *ifc, int a)
- {
- memmove(ifc->ipa, ipaddr[a].sysip, Pasize);
- memmove(ifc->netgate, ipaddr[a].defgwip, Pasize);
- ifc->ipaddr = nhgetl(ifc->ipa);
- ifc->mask = nhgetl(ipaddr[a].defmask);
- ifc->cmask = ipclassmask(ifc->ipa);
- }
- int
- isvalidip(uchar ip[Pasize])
- {
- if(ip[0] || ip[1] || ip[2] || ip[3])
- return 1;
- return 0;
- }
|