1168498Spjd/*-
2168498Spjd * Copyright (c) 2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>
3168498Spjd * All rights reserved.
4168498Spjd *
5168498Spjd * Redistribution and use in source and binary forms, with or without
6168498Spjd * modification, are permitted provided that the following conditions
7168498Spjd * are met:
8168498Spjd * 1. Redistributions of source code must retain the above copyright
9168498Spjd *    notice, this list of conditions and the following disclaimer.
10168498Spjd * 2. Redistributions in binary form must reproduce the above copyright
11168498Spjd *    notice, this list of conditions and the following disclaimer in the
12168498Spjd *    documentation and/or other materials provided with the distribution.
13168498Spjd *
14168498Spjd * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
15168498Spjd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16168498Spjd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17168498Spjd * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
18168498Spjd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19168498Spjd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20168498Spjd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21168498Spjd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22168498Spjd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23168498Spjd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24168498Spjd * SUCH DAMAGE.
25168498Spjd */
26168498Spjd
27168498Spjd#include <sys/cdefs.h>
28168498Spjd__FBSDID("$FreeBSD$");
29168498Spjd
30168498Spjd#include <sys/param.h>
31193066Sjamie#include <sys/jail.h>
32168498Spjd#include <sys/kernel.h>
33168498Spjd#include <sys/libkern.h>
34185029Spjd#include <sys/limits.h>
35168498Spjd#include <sys/misc.h>
36219089Spjd#include <sys/sysctl.h>
37168498Spjd
38168498Spjdchar hw_serial[11] = "0";
39168498Spjd
40168498Spjdstruct opensolaris_utsname utsname = {
41219089Spjd	.machine = MACHINE
42168498Spjd};
43168498Spjd
44219089Spjdstatic void
45219089Spjdopensolaris_utsname_init(void *arg)
46185029Spjd{
47185029Spjd
48219089Spjd	utsname.sysname = ostype;
49219089Spjd	utsname.nodename = prison0.pr_hostname;
50219089Spjd	utsname.release = osrelease;
51219089Spjd	snprintf(utsname.version, sizeof(utsname.version), "%d", osreldate);
52185029Spjd}
53219089SpjdSYSINIT(opensolaris_utsname_init, SI_SUB_TUNABLES, SI_ORDER_ANY,
54219089Spjd    opensolaris_utsname_init, NULL);
55