Lines Matching +full:host +full:- +full:wake

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
63 static int wake(int bpf, const char *host);
69 (void)fprintf(stderr, "usage: wake [interface] lladdr [lladdr ...]\n"); in usage()
74 wake(int bpf, const char *host) in wake() function
78 if (get_ether(host, &macaddr) == -1) in wake()
79 return (-1); in wake()
92 return (-1); in bind_if_to_bpf()
94 if (ioctl(bpf, BIOCSETIF, &ifr) == -1) in bind_if_to_bpf()
95 return (-1); in bind_if_to_bpf()
97 if (ioctl(bpf, BIOCGDLT, &dlt) == -1) in bind_if_to_bpf()
98 return (-1); in bind_if_to_bpf()
101 return (-1); in bind_if_to_bpf()
117 return (-1); in find_ether()
120 for (nifs = 0, ifa = ifap; ifa; ifa = ifa->ifa_next) in find_ether()
121 if (ifa->ifa_addr->sa_family == AF_LINK && in find_ether()
122 ifa->ifa_flags & IFF_UP && ifa->ifa_flags & IFF_RUNNING) { in find_ether()
123 sdl = (struct sockaddr_dl *)ifa->ifa_addr; in find_ether()
124 if (sdl->sdl_type == IFT_ETHER) { in find_ether()
125 strlcpy(dst, ifa->ifa_name, len); in find_ether()
131 return (nifs == 1 ? 0 : -1); in find_ether()
145 warnx("no match for host %s found", text); in get_ether()
146 return (-1); in get_ether()
168 bcopy(addr->octet, p, ETHER_ADDR_LEN); in send_wakeup()
173 if ((bw = write(bpf, p, len)) == -1) { in send_wakeup()
175 return (-1); in send_wakeup()
177 len -= bw; in send_wakeup()
192 if ((bpf = open(_PATH_BPF, O_RDWR)) == -1) in main()
196 if (bind_if_to_bpf(argv[1], bpf) == -1) { in main()
199 if (bind_if_to_bpf(ifname, bpf) == -1) in main()
201 --n; in main()
209 if (wake(bpf, argv[n]) != 0) { in main()
211 warn("Cannot send Wake on LAN frame over `%s' to `%s'", in main()