diff options
author | jhb <jhb@FreeBSD.org> | 2001-01-05 07:00:45 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-01-05 07:00:45 +0000 |
commit | c89c5ac184c8121ba8c76a673fa9099c1540dcdf (patch) | |
tree | 4b0558e2b6fe45e6228e04fc2007881ac7c6e426 /sys | |
parent | 1f45c7f8de614b14e53b43eb44d9cefb822c3868 (diff) | |
download | FreeBSD-src-c89c5ac184c8121ba8c76a673fa9099c1540dcdf.zip FreeBSD-src-c89c5ac184c8121ba8c76a673fa9099c1540dcdf.tar.gz |
- For dynamic sysctl's added at runtime, don't assume that the name passed
to the SYSCTL_ADD_FOO() macros is a constant that should be turned into
a string via the pre-processor. Instead, require it to be an explicit
string so that names can be generated on the fly.
- Make some of the char * arguments to sysctl_add_oid() const to quiet
warnings.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_sysctl.c | 4 | ||||
-rw-r--r-- | sys/sys/sysctl.h | 24 |
2 files changed, 14 insertions, 14 deletions
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index e9aeff5..e9e9cd8 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -315,8 +315,8 @@ sysctl_remove_oid(struct sysctl_oid *oidp, int del, int recurse) */ struct sysctl_oid * sysctl_add_oid(struct sysctl_ctx_list *clist, struct sysctl_oid_list *parent, - int number, char *name, int kind, void *arg1, int arg2, - int (*handler)(SYSCTL_HANDLER_ARGS), char *fmt, char *descr) + int number, const char *name, int kind, void *arg1, int arg2, + int (*handler)(SYSCTL_HANDLER_ARGS), const char *fmt, const char *descr) { struct sysctl_oid *oidp; ssize_t len; diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index e2afc47..3be280c 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -175,7 +175,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); DATA_SET(sysctl_set, sysctl__##parent##_##name); #define SYSCTL_ADD_OID(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, kind, a1, a2, handler, fmt, descr); + sysctl_add_oid(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, descr); /* This constructs a node from which other oids can hang. */ #define SYSCTL_NODE(parent, nbr, name, access, handler, descr) \ @@ -185,7 +185,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); "N", descr); #define SYSCTL_ADD_NODE(ctx, parent, nbr, name, access, handler, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_NODE|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_NODE|access, \ 0, 0, handler, "N", descr); /* Oid for a string. len can be 0 to indicate '\0' termination. */ @@ -194,7 +194,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); arg, len, sysctl_handle_string, "A", descr) #define SYSCTL_ADD_STRING(ctx, parent, nbr, name, access, arg, len, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_STRING|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_STRING|access, \ arg, len, sysctl_handle_string, "A", descr); /* Oid for an int. If ptr is NULL, val is returned. */ @@ -203,7 +203,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); ptr, val, sysctl_handle_int, "I", descr) #define SYSCTL_ADD_INT(ctx, parent, nbr, name, access, ptr, val, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_INT|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_INT|access, \ ptr, val, sysctl_handle_int, "I", descr); /* Oid for an unsigned int. If ptr is NULL, val is returned. */ @@ -212,7 +212,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); ptr, val, sysctl_handle_int, "IU", descr) #define SYSCTL_ADD_UINT(ctx, parent, nbr, name, access, ptr, val, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_INT|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_INT|access, \ ptr, val, sysctl_handle_int, "IU", descr); /* Oid for a long. The pointer must be non NULL. */ @@ -221,7 +221,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); ptr, val, sysctl_handle_long, "L", descr) #define SYSCTL_ADD_LONG(ctx, parent, nbr, name, access, ptr, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_INT|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_INT|access, \ ptr, 0, sysctl_handle_long, "L", descr); /* Oid for a long. The pointer must be non NULL. */ @@ -230,7 +230,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); ptr, val, sysctl_handle_long, "LU", descr) #define SYSCTL_ADD_ULONG(ctx, parent, nbr, name, access, ptr, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_INT|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_INT|access, \ ptr, 0, sysctl_handle_long, "LU", descr); /* Oid for an opaque object. Specified by a pointer and a length. */ @@ -239,7 +239,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); ptr, len, sysctl_handle_opaque, fmt, descr) #define SYSCTL_ADD_OPAQUE(ctx, parent, nbr, name, access, ptr, len, fmt, descr)\ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_OPAQUE|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_OPAQUE|access, \ ptr, len, sysctl_handle_opaque, fmt, descr); /* Oid for a struct. Specified by a pointer and a type. */ @@ -249,7 +249,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); "S," #type, descr) #define SYSCTL_ADD_STRUCT(ctx, parent, nbr, name, access, ptr, type, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, CTLTYPE_OPAQUE|access, \ + sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_OPAQUE|access, \ ptr, sizeof(struct type), sysctl_handle_opaque, "S," #type, descr); /* Oid for a procedure. Specified by a pointer and an arg. */ @@ -258,7 +258,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); ptr, arg, handler, fmt, descr) #define SYSCTL_ADD_PROC(ctx, parent, nbr, name, access, ptr, arg, handler, fmt, descr) \ - sysctl_add_oid(ctx, parent, nbr, #name, access, \ + sysctl_add_oid(ctx, parent, nbr, name, access, \ ptr, arg, handler, fmt, descr); #endif /* _KERNEL */ @@ -561,10 +561,10 @@ struct linker_set; /* Dynamic oid handling */ struct sysctl_oid *sysctl_add_oid(struct sysctl_ctx_list *clist, - struct sysctl_oid_list *parent, int nbr, char *name, + struct sysctl_oid_list *parent, int nbr, const char *name, int kind, void *arg1, int arg2, int (*handler) (SYSCTL_HANDLER_ARGS), - char *fmt, char *descr); + const char *fmt, const char *descr); int sysctl_remove_oid(struct sysctl_oid *oidp, int del, int recurse); int sysctl_ctx_init(struct sysctl_ctx_list *clist); int sysctl_ctx_free(struct sysctl_ctx_list *clist); |