Changeset View
Changeset View
Standalone View
Standalone View
lib/libcasper/services/cap_sysctl/cap_sysctl.c
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | |||||
cap_sysctlbyname(cap_channel_t *chan, const char *name, void *oldp, | cap_sysctlbyname(cap_channel_t *chan, const char *name, void *oldp, | ||||
size_t *oldlenp, const void *newp, size_t newlen) | size_t *oldlenp, const void *newp, size_t newlen) | ||||
{ | { | ||||
nvlist_t *nvl; | nvlist_t *nvl; | ||||
const uint8_t *retoldp; | const uint8_t *retoldp; | ||||
uint8_t operation; | uint8_t operation; | ||||
size_t oldlen; | size_t oldlen; | ||||
if (!cap_enable(chan)) | |||||
return (sysctlbyname(name, oldp, oldlenp, newp, newlen)); | |||||
operation = 0; | operation = 0; | ||||
if (oldp != NULL) | if (oldp != NULL) | ||||
operation |= CAP_SYSCTL_READ; | operation |= CAP_SYSCTL_READ; | ||||
if (newp != NULL) | if (newp != NULL) | ||||
operation |= CAP_SYSCTL_WRITE; | operation |= CAP_SYSCTL_WRITE; | ||||
nvl = nvlist_create(0); | nvl = nvlist_create(0); | ||||
nvlist_add_string(nvl, "cmd", "sysctl"); | nvlist_add_string(nvl, "cmd", "sysctl"); | ||||
▲ Show 20 Lines • Show All 230 Lines • Show Last 20 Lines |