1 '\"
   2 .\" CDDL HEADER START
   3 .\"
   4 .\" The contents of this file are subject to the terms of the
   5 .\" Common Development and Distribution License (the "License").
   6 .\" You may not use this file except in compliance with the License.
   7 .\"
   8 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 .\" or http://www.opensolaris.org/os/licensing.
  10 .\" See the License for the specific language governing permissions
  11 .\" and limitations under the License.
  12 .\"
  13 .\" When distributing Covered Code, include this CDDL HEADER in each
  14 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 .\" If applicable, add the following below this CDDL HEADER, with the
  16 .\" fields enclosed by brackets "[]" replaced with your own identifying
  17 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  18 .\"
  19 .\" CDDL HEADER END
  20 .\"
  21 .\" Copyright (c) 2012, Joyent, Inc. All Rights Reserved
  22 .\" Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
  23 .\"
  24 .TH IPMI 7D "Oct 31, 2013"
  25 .SH NAME
  26 ipmi \- OpenIPMI compatible IPMI interface driver
  27 .SH SYNOPSIS
  28 .LP
  29 .nf
  30 \fB/dev/ipmi0\fR
  31 .fi
  32 
  33 .SH DESCRIPTION
  34 .sp
  35 .LP
  36 The \fBipmi\fR device is a character special file that provides access to the
  37 Intelligent Platform Management Interface for the system.  For more
  38 information on \fBIPMI\fR and to obtain a copy of the \fBIPMI\fR
  39 specification and implementation guidelines, refer to
  40 http://www.intel.com/design/servers/ipmi/.
  41 The driver is adapted from the FreeBSD driver which is in turn adapted from
  42 the Linux driver, however, not all features described in the standard are
  43 supported. The current implementation depends on the \fBsmbios\fR(7d) to
  44 discover the existence of an IPMI device.
  45 .sp
  46 .LP
  47 
  48 .SH IOCTLS
  49 .sp
  50 .LP
  51 Sending and receiving messages through the IPMI drivers requires the use of
  52 \fBioctl\fR(2).
  53 
  54 The ioctl command codes below are defined in \fBsys/ipmi.h\fR.
  55 The third argument to ioctl should be a pointer to the type indicated.
  56 Currently the following ioctls are supported:
  57 .RS +4
  58 .TP
  59 .ie t \(bu
  60 .el o
  61 IPMICTL_RECEIVE_MSG "struct ipmi_recv"
  62 .br
  63 Receive a message.
  64 .br
  65 Possible error values:
  66 .RS +8
  67 EAGAIN No messages are in the process queue.
  68 .br
  69 EFAULT An address supplied was invalid.
  70 .br
  71 EMSGSIZE The address could not fit in the message buffer and
  72 will remain in the buffer.
  73 .RE
  74 .RE
  75 
  76 .RS +4
  77 .TP
  78 .ie t \(bu
  79 .el o
  80 IPMICTL_RECEIVE_MSG_TRUNC "struct ipmi_recv"
  81 .br
  82 Like IPMICTL_RECEIVE_MSG but if the message cannot fit into the buffer, it
  83 will truncate the contents instead of leaving the data in the buffer.
  84 .RE
  85 
  86 .RS +4
  87 .TP
  88 .ie t \(bu
  89 .el o
  90 IPMICTL_SEND_COMMAND "struct ipmi_req"
  91 .br
  92 Send a message to the interface.
  93 .br
  94 Possible error values:
  95 .RS +8
  96 EFAULT An address supplied was invalid
  97 .br
  98 ENOMEM Buffers could not be allowed for the command, out of memory.
  99 .RE
 100 .RE
 101 
 102 .RS +4
 103 .TP
 104 .ie t \(bu
 105 .el o
 106 IPMICTL_SET_MY_ADDRESS_CMD "unsigned int"
 107 .br
 108 Set the slave address for source messages.
 109 .RE
 110 
 111 .RS +4
 112 .TP
 113 .ie t \(bu
 114 .el o
 115 IPMICTL_GET_MY_ADDRESS_CMD "unsigned int"
 116 .br
 117 Get the slave address for source messages.
 118 .RE
 119 
 120 .RS +4
 121 .TP
 122 .ie t \(bu
 123 .el o
 124 IPMICTL_SET_MY_LUN_CMD "unsigned int"
 125 .br
 126 Set the slave LUN for source messages.
 127 .RE
 128 
 129 .RS +4
 130 .TP
 131 .ie t \(bu
 132 .el o
 133 IPMICTL_GET_MY_LUN_CMD "unsigned int"
 134 .br
 135 Get the slave LUN for source messages.
 136 .RE
 137 
 138 Stub Only Ioctl
 139 
 140 .RS +4
 141 .TP
 142 .ie t \(bu
 143 .el o
 144 IPMICTL_SET_GETS_EVENTS_CMD int
 145 .br
 146 Set whether this interface receives events.
 147 .RE
 148 
 149 Unimplemented Ioctls
 150 
 151 .RS +4
 152 .TP
 153 .ie t \(bu
 154 .el o
 155 IPMICTL_REGISTER_FOR_CMD
 156 .br
 157 Register to receive a specific command
 158 .RE
 159 
 160 .RS +4
 161 .TP
 162 .ie t \(bu
 163 .el o
 164 IPMICTL_UNREGISTER_FOR_CMD
 165 .br
 166 Unregister to receive a specific command
 167 .RE
 168 
 169 .SH SEE ALSO
 170 .sp
 171 .LP
 172 \fBipmitool\fR(1), \fBioctl\fR(2), \fBsmbios\fR(7d)
 173 .sp
 174 .LP
 175 \fIIntelligent Platform Management Interface Specification Second
 176 Generation\fR, v2.0 \(em
 177 June 12, 2009 Markup
 178 .SH NOTES
 179 .sp
 180 .LP
 181 Not all systems include an \fBIPMI\fR.