April 2012
Intermediate to advanced
352 pages
8h
English
As mentioned previously, sysctl contexts manage dynamically created sysctls. A sysctl context is initialized via the sysctl_ctx_init function.
#include <sys/types.h> #include <sys/sysctl.h> int sysctl_ctx_init(struct sysctl_ctx_list *clist);
After a sysctl context is initialized, it can be passed to the various SYSCTL_ADD_* macros. These macros will update the sysctl context with pointers to the newly created sysctls.
Conversely, the sysctl_ctx_free function takes a sysctl context and destroys every sysctl that it has a pointer to.
#include <sys/types.h> #include <sys/sysctl.h> int sysctl_ctx_free(struct sysctl_ctx_list *clist);
If a sysctl cannot be destroyed, all the sysctls that were associated with the sysctl ...