Date: Thu, 7 Jun 2007 02:31:35 GMT From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 121118 for review Message-ID: <200706070231.l572VZDD064614@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=121118 Change 121118 by peter@peter_daintree on 2007/06/07 02:30:32 Add sysctl_rename_oid() (to support the device tree nodes that renumber themselves during an attach. eg: sio_pci and sio_puc) Affected files ... .. //depot/projects/hammer/sys/kern/kern_sysctl.c#30 edit .. //depot/projects/hammer/sys/sys/sysctl.h#33 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_sysctl.c#30 (text+ko) ==== @@ -415,6 +415,25 @@ } /* + * Rename an existing oid. + */ +void +sysctl_rename_oid(struct sysctl_oid *oidp, const char *name) +{ + ssize_t len; + char *newname; + void *oldname; + + oldname = (void *)(uintptr_t)(const void *)oidp->oid_name; + len = strlen(name); + newname = malloc(len + 1, M_SYSCTLOID, M_WAITOK); + bcopy(name, newname, len + 1); + newname[len] = '\0'; + oidp->oid_name = newname; + free(oldname, M_SYSCTLOID); +} + +/* * Reparent an existing oid. */ int ==== //depot/projects/hammer/sys/sys/sysctl.h#33 (text+ko) ==== @@ -646,6 +646,7 @@ int kind, void *arg1, int arg2, int (*handler) (SYSCTL_HANDLER_ARGS), const char *fmt, const char *descr); +void sysctl_rename_oid(struct sysctl_oid *oidp, const char *name); int sysctl_move_oid(struct sysctl_oid *oidp, struct sysctl_oid_list *parent); int sysctl_remove_oid(struct sysctl_oid *oidp, int del, int recurse);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706070231.l572VZDD064614>