version 1.16.2.1, 2017/01/09 12:40:40
|
version 1.20, 2019/09/24 15:49:52
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004 - 2017 | Copyright 2004 - 2019 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 50 SUCH DAMAGE.
|
Line 50 SUCH DAMAGE.
|
static char hexlist[] = "0123456789abcdef"; |
static char hexlist[] = "0123456789abcdef"; |
|
|
#ifndef HAVE_LINK_ADDR |
#ifndef HAVE_LINK_ADDR |
|
|
|
/* States*/ |
|
#define NAMING 0 |
|
#define GOTONE 1 |
|
#define GOTTWO 2 |
|
#define RESET 3 |
|
/* Inputs */ |
|
#define DIGIT (4*0) |
|
#define END (4*1) |
|
#define DELIM (4*2) |
|
#define LETTER (4*3) |
|
|
void |
void |
link_addr(const char *addr, struct sockaddr_dl *sdl) |
link_addr(const char *addr, struct sockaddr_dl *sdl) |
{ |
{ |
char *cp = sdl->sdl_data; |
char *cp = sdl->sdl_data; |
char *cplim = sdl->sdl_len + (char *)sdl; |
char *cplim = sdl->sdl_len + (char *)sdl; |
int byte = 0, state = NAMING, new; | int byte = 0, state = NAMING, new = 0; |
|
|
bzero((char *)&sdl->sdl_family, sdl->sdl_len - 1); |
bzero((char *)&sdl->sdl_family, sdl->sdl_len - 1); |
sdl->sdl_family = AF_LINK; |
sdl->sdl_family = AF_LINK; |
Line 486 e_innet(netaddr_t * __restrict net, inaddr_t * __restr
|
Line 498 e_innet(netaddr_t * __restrict net, inaddr_t * __restr
|
case AF_INET: |
case AF_INET: |
for (i = 0; i < sizeof(struct in_addr); i++) { |
for (i = 0; i < sizeof(struct in_addr); i++) { |
ret = ((caddr_t) &net->addr.sin.sin_addr.s_addr)[i] & |
ret = ((caddr_t) &net->addr.sin.sin_addr.s_addr)[i] & |
net->mask.in.s4_addr[i]; | net->mask.in4.s4_addr[i]; |
ret -= addr->in.s4_addr[i] & net->mask.in.s4_addr[i]; | ret -= addr->in4.s4_addr[i] & net->mask.in4.s4_addr[i]; |
if (ret) |
if (ret) |
break; |
break; |
} |
} |
Line 551 e_getnet(const char *net)
|
Line 563 e_getnet(const char *net)
|
#endif |
#endif |
n->addr.sin.sin_family = host->h_addrtype; |
n->addr.sin.sin_family = host->h_addrtype; |
memcpy(&n->addr.sin.sin_addr, host->h_addr, sizeof n->addr.sin.sin_addr); |
memcpy(&n->addr.sin.sin_addr, host->h_addr, sizeof n->addr.sin.sin_addr); |
if (wrk) | if (wrk && strtol(wrk, NULL, 10) != 32) |
n->mask.in.s_addr = E_CIDRMASK(strtol(wrk, NULL, 10)); |
n->mask.in.s_addr = E_CIDRMASK(strtol(wrk, NULL, 10)); |
else |
else |
n->mask.in.s_addr = 0xFFFFFFFF; |
n->mask.in.s_addr = 0xFFFFFFFF; |