PERFORCE change 113090 for review
John Baldwin
jhb at freebsd.org
Thu Jan 18 14:37:00 UTC 2007
On Wednesday 17 January 2007 21:43, Jung-uk Kim wrote:
> http://perforce.freebsd.org/chv.cgi?CH=113090
>
> Change 113090 by jkim at jkim_hammer on 2007/01/18 02:43:32
>
> - Add Linux kernel version strings to /proc/sys/kernel.
> - Properly implement OS build date string instead of using fake one.
>
> Affected files ...
>
> .. //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#8 edit
>
> Differences ...
>
> ==== //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#8 (text+ko) ====
>
> @@ -416,6 +416,37 @@
> }
>
> /*
> + * Get OS build date
> + */
> +static void
> +linprocfs_osbuild(struct thread *td, struct sbuf *sb)
> +{
> + char osbuild[256];
> + int kern_ver[2];
> + size_t size;
> + char *cp1, *cp2;
> +
> + cp1 = NULL;
> + kern_ver[0] = CTL_KERN;
> + kern_ver[1] = KERN_VERSION;
> + osbuild[0] = '\0';
> + size = sizeof(osbuild);
> + if (kernel_sysctl(td, kern_ver, 2, &osbuild, &size, 0, 0, 0, 0) == 0) {
> + cp1 = strstr(osbuild, "\n");
> + cp2 = strstr(osbuild, ":");
> + if (cp1 && cp2) {
> + *cp1 = *cp2 = '\0';
> + cp1 = strstr(osbuild, "#");
> + } else
> + cp1 = NULL;
> + }
> + if (cp1)
> + sbuf_printf(sb, "%s%s", cp1, cp2 + 1);
> + else
> + sbuf_printf(sb, "#4 Sun Dec 18 04:30:00 CET 1977");
> +}
You can just reference the 'version' global variable w/o having to bounce
through the sysctl. It's defined in <sys/systm.h>.
--
John Baldwin
More information about the p4-projects
mailing list