On Wed, May 16, 2018 at 11:20:24PM +0200, [email protected] wrote: > commit 1fc5cf00166a5dfefa89c3d6abbe92fedaf71e27 > Author: Tobias Tschinkowitz <[email protected]> > AuthorDate: Wed May 16 22:37:43 2018 +0200 > Commit: Aaron Marcher <[email protected]> > CommitDate: Wed May 16 22:52:14 2018 +0200 > > added wifi functionality for openbsd > > display ESSID and signal strength percentage > > diff --git a/components/wifi.c b/components/wifi.c > index 24dca36..edbcc01 100644 > --- a/components/wifi.c > +++ b/components/wifi.c > @@ -93,5 +93,79 @@ > return id; > } > #elif defined(__OpenBSD__) > - /* unimplemented */ > + #include <stdio.h> > + #include <stdlib.h> > + #include <string.h> > + #include <errno.h> > + #include <ifaddrs.h> > + #include <unistd.h> > + #include <sys/ioctl.h> > + #include <sys/types.h> > + #include <sys/socket.h> > + #include <net/if.h> > + #include <net/if_media.h> > + #include <net80211/ieee80211.h> > + #include <net80211/ieee80211_ioctl.h> > + > + #include "../util.h" > + > + static int > + load_ieee80211_nodereq(const char *iface, struct ieee80211_nodereq *nr) > + { > + struct ieee80211_bssid bssid; > + int sockfd; > + memset(&bssid, 0, sizeof(bssid); > + memset(nr, 0, sizeof(struct ieee80211_nodereq)); > + if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { > + fprintf(stderr, "socket 'AF_INET': %s\n", > + strerror(errno)); > + return 0; > + } > + strlcpy(bssid.i_name, iface, sizeof(bssid.i_name)); > + if ((ioctl(sockfd, SIOCG80211BSSID, &bssid)) == -1) { > + fprintf(stderr, "ioctl 'SIOCG80211BSSID': %s\n", > + strerror(errno)); > + close(sockfd); > + return 0; > + } > + strlcpy(nr->nr_ifname, iface, sizeof(nr->nr_ifname)); > + memmove(&nr->nr_macaddr, bssid.i_bssid, sizeof(nr->nr_macaddr));
you dont need memmove for this
