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

Function if_indextoname

tools/compat/if_indextoname.c:21–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19#endif
20
21char *
22if_indextoname(unsigned int ifindex, char *ifname)
23{
24 struct ifaddrs *ifaddrs, *ifa;
25 int error = 0;
26
27 if (ifindex == 0) {
28 errno = ENXIO;
29 return(NULL);
30 }
31
32 if (getifaddrs(&ifaddrs) < 0)
33 return(NULL); /* getifaddrs properly set errno */
34
35 for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
36 if (ifa->ifa_addr &&
37 ifa->ifa_addr->sa_family == AF_LINK &&
38 ifindex == LLINDEX((struct sockaddr_dl*)ifa->ifa_addr))
39 break;
40 }
41
42 if (ifa == NULL) {
43 error = ENXIO;
44 ifname = NULL;
45 }
46 else
47 strncpy(ifname, ifa->ifa_name, IFNAMSIZ);
48
49 freeifaddrs(ifaddrs);
50
51 errno = error;
52 return(ifname);
53}
54

Callers 13

dumpFunction · 0.85
getnbrinfoFunction · 0.85
rtrlistFunction · 0.85
plistFunction · 0.85
getdefifFunction · 0.85
mroute6prFunction · 0.85
ip6_statsFunction · 0.85
searchFunction · 0.85
rte_pcapng_add_interfaceFunction · 0.85
mlx5_get_ifnameFunction · 0.85

Calls 3

getifaddrsFunction · 0.85
strncpyFunction · 0.85
freeifaddrsFunction · 0.85

Tested by

no test coverage detected