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

Function device_sysctl_handler

freebsd/kern/subr_bus.c:259–291  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

257};
258
259static int
260device_sysctl_handler(SYSCTL_HANDLER_ARGS)
261{
262 struct sbuf sb;
263 device_t dev = (device_t)arg1;
264 int error;
265
266 sbuf_new_for_sysctl(&sb, NULL, 1024, req);
267 sbuf_clear_flags(&sb, SBUF_INCLUDENUL);
268 switch (arg2) {
269 case DEVICE_SYSCTL_DESC:
270 sbuf_cat(&sb, dev->desc ? dev->desc : "");
271 break;
272 case DEVICE_SYSCTL_DRIVER:
273 sbuf_cat(&sb, dev->driver ? dev->driver->name : "");
274 break;
275 case DEVICE_SYSCTL_LOCATION:
276 bus_child_location_sb(dev, &sb);
277 break;
278 case DEVICE_SYSCTL_PNPINFO:
279 bus_child_pnpinfo_sb(dev, &sb);
280 break;
281 case DEVICE_SYSCTL_PARENT:
282 sbuf_cat(&sb, dev->parent ? dev->parent->nameunit : "");
283 break;
284 default:
285 sbuf_delete(&sb);
286 return (EINVAL);
287 }
288 error = sbuf_finish(&sb);
289 sbuf_delete(&sb);
290 return (error);
291}
292
293static void
294device_sysctl_init(device_t dev)

Callers

nothing calls this directly

Calls 7

sbuf_new_for_sysctlFunction · 0.85
sbuf_clear_flagsFunction · 0.85
sbuf_catFunction · 0.85
bus_child_location_sbFunction · 0.85
bus_child_pnpinfo_sbFunction · 0.85
sbuf_deleteFunction · 0.85
sbuf_finishFunction · 0.85

Tested by

no test coverage detected