diff options
Diffstat (limited to 'static/netbsd/man4/man4.sparc/openprom.4')
| -rw-r--r-- | static/netbsd/man4/man4.sparc/openprom.4 | 161 |
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. |
