I'm trying to add two sysctls using the following peice of code:
But only "smhf-var" is registered!
What is the problem?
C:
static unsigned int inform = 0;
static struct sysctl_ctx_list inform_sctl_ctx;
static int inform_oid_handler(SYSCTL_HANDLER_ARGS)
{
//DO STH
return (0);
}
static void inform_sysctls_create()
{
struct sysctl_oid *oidp;
struct sysctl_oid_list *child;
sysctl_ctx_init(&inform_sctl_ctx);
oidp = SYSCTL_ADD_NODE(&inform_sctl_ctx, SYSCTL_STATIC_CHILDREN(), OID_AUTO, "zeone", CTLFLAG_RW, 0, "some desc");
child = SYSCTL_CHILDREN(oidp);
SYSCTL_ADD_UINT(&inform_sctl_ctx, child, OID_AUTO, "smhf-var", CTLFLAG_RW, &inform, 0, "new leaf");
SYSCTL_ADD_PROC(&inform_sctl_ctx, child, OID_AUTO, "smhf-proc", CTLTYPE_UINT|CTLFLAG_RW, NULL, 0, wp_inform_oid_handler, "IU", "some desc")
}
But only "smhf-var" is registered!
smhf@devsys# sysctl -a | grep zeone
zeone.smhf-var: 0
What is the problem?