summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/man4.prep/nvram.4
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man4/man4.prep/nvram.4')
-rw-r--r--static/netbsd/man4/man4.prep/nvram.4121
1 files changed, 121 insertions, 0 deletions
diff --git a/static/netbsd/man4/man4.prep/nvram.4 b/static/netbsd/man4/man4.prep/nvram.4
new file mode 100644
index 00000000..0de73a3e
--- /dev/null
+++ b/static/netbsd/man4/man4.prep/nvram.4
@@ -0,0 +1,121 @@
+.\" $NetBSD: nvram.4,v 1.5 2009/05/27 19:28:42 wiz Exp $
+.\"
+.\" Copyright (c) 2007 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Tim Rightnour
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd March 1, 2007
+.Dt NVRAM 4 prep
+.Os
+.Sh NAME
+.Nm nvram
+.Nd PReP nvram interface
+.Sh SYNOPSIS
+.In machine/nvram.h
+.Sh DESCRIPTION
+The file
+.Nm /dev/nvram
+is an interface to the PReP NVRAM, including the Global Environment Area.
+This interface is highly stylized;
+ioctls are used for all operations.
+These ioctls refer to individual variables in the
+Global Environment Area and their values.
+.Pp
+The calls that take and/or return a variable
+use a pointer to an
+.Li int
+variable for this purpose;
+others use a pointer to an
+.Li struct pnviocdesc
+descriptor,
+which contains a variable and two counted strings.
+The first string comprises the fields
+.Li pnv_namelen
+(an
+.Li int )
+and
+.Li pnv_name
+(a
+.Li "char *" ) ,
+giving the name of a field.
+The second string comprises the fields
+.Li pnv_buflen
+and
+.Li pnv_buf ,
+used analogously.
+These two counted strings work in a
+.Dq value-result
+fashion.
+At entry to the ioctl,
+the counts are expected to reflect the buffer size;
+on return,
+the counts are updated to reflect the buffer contents.
+.Pp
+The following ioctls are supported:
+.Bl -tag -width PNVIOCGETNEXTNAME
+.It PNVIOCGETNEXTNAME
+Takes a variable name and returns the name of the following variable.
+If a
+.Dv NULL
+is passed as the variable name, the first variable name
+will be returned.
+If the last variable is given as an argument, the ioctl will return
+.Er EINVAL .
+.It Dv PNVIOCGET
+Fills in the value of the named property for the given variable.
+If no such property is associated with that variable,
+the value length is set to \-1.
+If the named property exists but has no value,
+the value length is set to 0.
+.It Dv PNVIOCSET
+Writes the given value under the given name.
+.It Dv PNVIOCGETNUMGE
+Returns the number of variables in the Global Environment Area.
+.El
+.Sh FILES
+.Pa /dev/nvram
+.Sh ERRORS
+The following may result in rejection of an operation:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The given variable name does not exist; or
+the buffer set up to retrieve values from the nvram was not large enough
+to hold the result.
+.El
+.Sh SEE ALSO
+.Xr ioctl 2
+.Pp
+.Pa PowerPC Reference Platform Specification Version 1.1, Section 5.5
+.Sh BUGS
+Due to limitations within the
+.Nm
+itself, these functions run at elevated priority
+and may adversely affect system performance.
+.Pp
+.Dv PNVIOCSET
+is not currently supported, making the
+.Nm
+driver read-only at this time.