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

Function netisr_load_sysctl_proto

tools/netstat/netisr.c:271–292  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

269#endif
270
271static void
272netisr_load_sysctl_proto(void)
273{
274 size_t len;
275
276 if (sysctlbyname("net.isr.proto", NULL, &len, NULL, 0) < 0)
277 xo_err(-1, "net.isr.proto: query len");
278 if (len % sizeof(*proto_array) != 0)
279 xo_errx(-1, "net.isr.proto: invalid len");
280 proto_array = malloc(len);
281 if (proto_array == NULL)
282 xo_err(-1, "malloc");
283 if (sysctlbyname("net.isr.proto", proto_array, &len, NULL, 0) < 0)
284 xo_err(-1, "net.isr.proto: query data");
285 if (len % sizeof(*proto_array) != 0)
286 xo_errx(-1, "net.isr.proto: invalid len");
287 proto_array_len = len / sizeof(*proto_array);
288 if (proto_array_len < 1)
289 xo_errx(-1, "net.isr.proto: no data");
290 if (proto_array[0].snp_version != sizeof(proto_array[0]))
291 xo_errx(-1, "net.isr.proto: invalid version");
292}
293
294#ifndef FSTACK
295static void

Callers 1

netisr_statsFunction · 0.85

Calls 4

sysctlbynameFunction · 0.85
xo_errFunction · 0.85
xo_errxFunction · 0.85
mallocFunction · 0.85

Tested by

no test coverage detected