MCPcopy Create free account
hub / github.com/F-Stack/f-stack / set80211bssid

Function set80211bssid

tools/ifconfig/ifieee80211.c:1173–1199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1171}
1172
1173static void
1174set80211bssid(const char *val, int d, int s, const struct afswtch *rafp)
1175{
1176
1177 if (!isanyarg(val)) {
1178 char *temp;
1179 struct sockaddr_dl sdl;
1180
1181 temp = malloc(strlen(val) + 2); /* ':' and '\0' */
1182 if (temp == NULL)
1183 errx(1, "malloc failed");
1184 temp[0] = ':';
1185 strcpy(temp + 1, val);
1186 sdl.sdl_len = sizeof(sdl);
1187 link_addr(temp, &sdl);
1188 free(temp);
1189 if (sdl.sdl_alen != IEEE80211_ADDR_LEN)
1190 errx(1, "malformed link-level address");
1191 set80211(s, IEEE80211_IOC_BSSID, 0,
1192 IEEE80211_ADDR_LEN, LLADDR(&sdl));
1193 } else {
1194 uint8_t zerobssid[IEEE80211_ADDR_LEN];
1195 memset(zerobssid, 0, sizeof(zerobssid));
1196 set80211(s, IEEE80211_IOC_BSSID, 0,
1197 IEEE80211_ADDR_LEN, zerobssid);
1198 }
1199}
1200
1201static int
1202getac(const char *ac)

Callers

nothing calls this directly

Calls 6

isanyargFunction · 0.85
mallocFunction · 0.85
link_addrFunction · 0.85
set80211Function · 0.85
memsetFunction · 0.85
freeFunction · 0.50

Tested by

no test coverage detected