targetaddr
struct in_addr targetaddr;
if ((targetaddr.s_addr = inet_addr(targethost)) ==
if (hp->h_length != sizeof (targetaddr)) {
(void) memcpy(&targetaddr.s_addr, hp->h_addr,
sizeof (targetaddr));
targetaddr.s_addr = 0;
(*protofunc)(argv[optind], targetaddr);
(*protofunc)(ifr->ifr_name, targetaddr);
struct targetaddr *current_targetaddr; /* current target IP address to probe */
static struct targetaddr *targetaddr_list; /* list of IP addresses to probe */
static struct targetaddr *build_targetaddr_list(struct addrinfo *,
static struct targetaddr *create_targetaddr_item(struct sockaddr *,
struct targetaddr *target = targetaddr_list;
static struct targetaddr *
struct targetaddr *head = NULL;
struct targetaddr *targetaddr;
struct targetaddr **nextp;
targetaddr = create_targetaddr_item(aip->ai_addr,
targetaddr = create_targetaddr_item(aip->ai_addr,
*nextp = targetaddr;
nextp = &targetaddr->next;
static struct targetaddr *
struct targetaddr *targetaddr;
targetaddr = (struct targetaddr *)malloc(sizeof (struct targetaddr));
if (targetaddr == NULL) {
targetaddr->family = dst_addr->sa_family;
memset(&targetaddr->dst_addr, 0, sizeof (targetaddr->dst_addr));
targetaddr->dst_addr.addr = dst4->sin_addr;
targetaddr->dst_scope = 0;
memset(&targetaddr->dst_addr, 0, sizeof (targetaddr->dst_addr));
targetaddr->dst_addr.addr6 = dst6->sin6_addr;
targetaddr->dst_scope = dst6->sin6_scope_id;
if (if_index != 0 && targetaddr->dst_scope != 0 &&
if_index != targetaddr->dst_scope) {
" %s\n", progname, pr_if(targetaddr->dst_scope));
targetaddr->src_addr = *src_addr;
targetaddr->num_probes = npackets;
targetaddr->num_probes = 1;
targetaddr->num_probes = timeout;
targetaddr->num_sent = 0;
targetaddr->got_reply = _B_FALSE;
targetaddr->probing_done = _B_FALSE;
targetaddr->starting_seq_num = 0; /* actual value will be set later */
targetaddr->next = NULL; /* actual value will be set later */
return (targetaddr);
struct targetaddr *next; /* next targetaddr item in the list */
extern struct targetaddr *current_targetaddr;