summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/man4.sparc/openprom.4
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man4/man4.sparc/openprom.4')
-rw-r--r--static/netbsd/man4/man4.sparc/openprom.4161
1 files changed, 161 insertions, 0 deletions
diff --git a/static/netbsd/man4/man4.sparc/openprom.4 b/static/netbsd/man4/man4.sparc/openprom.4
new file mode 100644
index 00000000..a7474dd7
--- /dev/null
+++ b/static/netbsd/man4/man4.sparc/openprom.4
@@ -0,0 +1,161 @@
+.\" $NetBSD: openprom.4,v 1.9 2012/03/13 19:25:43 njoly Exp $
+.\"
+.\" Copyright (c) 1992, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This software was developed by the Computer Systems Engineering group
+.\" at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
+.\" contributed to Berkeley.
+.\"
+.\" 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.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
+.\"
+.\" from: @(#)openprom.4 8.1 (Berkeley) 6/5/93
+.\"
+.Dd June 5, 1993
+.Dt OPENPROM 4 sparc
+.Os
+.Sh NAME
+.Nm openprom
+.Nd Sun OPENPROM and EEPROM interface
+.Sh SYNOPSIS
+.In machine/openpromio.h
+.Sh DESCRIPTION
+The file
+.Nm /dev/openprom
+is an interface to the SPARC OPENPROM,
+including the EEPROM area.
+This interface is highly stylized;
+ioctls are used for all operations.
+These ioctls refer to
+.Dq nodes ,
+which are simply
+.Dq magic
+integer values describing data areas.
+Occasionally the number 0 may be used or returned instead,
+as described below.
+A special distinguished
+.Dq options
+node holds the EEPROM settings.
+.Pp
+The calls that take and/or return a node
+use a pointer to an
+.Li int
+variable for this purpose;
+others use a pointer to an
+.Li struct opiocdesc
+descriptor,
+which contains a node and two counted strings.
+The first string comprises the fields
+.Li op_namelen
+(an
+.Li int )
+and
+.Li op_name
+(a
+.Li "char *" ) ,
+giving the name of a field.
+The second string comprises the fields
+.Li op_buflen
+and
+.Li op_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 OPIOCGETOPTNODE
+.It Dv OPIOCGETOPTNODE
+Takes nothing, and fills in the options node number.
+.It OPIOCGETNEXT
+Takes a node number and returns the number of the following node.
+The node following the last node is number 0;
+the node following number 0 is the first node.
+.It Dv OPIOCGETCHILD
+Takes a node number and returns the number of the first
+.Dq child
+of that node.
+This child may have siblings; these can be discovered by using
+.Dv OPIOCGETNEXT .
+.It Dv OPIOCGET
+Fills in the value of the named property for the given node.
+If no such property is associated with that node,
+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 OPIOCSET
+Writes the given value under the given name.
+The OPENPROM may refuse this operation;
+in this case
+.Dv EINVAL
+is returned.
+.It Dv OPIOCNEXTPROP
+Finds the property whose name follows the given name
+in OPENPROM internal order.
+The resulting name is returned in the value field.
+If the named property is the last, the
+.Dq next
+name is the empty string.
+As with
+.Dv OPIOCGETNEXT ,
+the next name after the empty string is the first name.
+.El
+.Sh FILES
+.Pa /dev/openprom
+.Sh ERRORS
+The following may result in rejection of an operation:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The given node number
+is not zero
+and does not correspond to any valid node,
+or is zero where zero is not allowed.
+.It Bq Er EBADF
+The requested operation requires permissions not specified at the call to
+.Fn open .
+.It Bq Er ENAMETOOLONG
+The given name or value field
+exceeds the maximum allowed length (8191 bytes).
+.El
+.Sh SEE ALSO
+.Xr ioctl 2
+.Pp
+.Lk http://www.openfirmware.org/1275/ "IEEE 1275 Open Firmware"
+.Sh BUGS
+Due to limitations within the
+.Nm
+itself, these functions run at elevated priority
+and may adversely affect system performance.
+.Pp
+The
+.Tn Sun
+.Nm
+is what became the Open Firmware
+.Pq Tn IEEE 1275
+standard for processor and system independent boot firmware.