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 .nf
  29 \fB/dev/ipmi0\fR
  30 .fi
  31 
  32 .SH DESCRIPTION
  33 The \fBipmi\fR device is a character special file that provides access to the
  34 Intelligent Platform Management Interface for the system.  For more
  35 information on \fBIPMI\fR and to obtain a copy of the \fBIPMI\fR
  36 specification and implementation guidelines, refer to
  37 http://www.intel.com/design/servers/ipmi/.
  38 The driver is adapted from the FreeBSD driver which is in turn adapted from
  39 the Linux driver, however, not all features described in the standard are
  40 supported. The current implementation depends on the \fBsmbios\fR(7d) to
  41 discover the existence of an IPMI device.
  42 
  43 .SH IOCTLS
  44 Sending and receiving messages through the IPMI drivers requires the use of
  45 \fBioctl\fR(2).
  46 
  47 The ioctl command codes below are defined in \fBsys/ipmi.h\fR.
  48 The third argument to ioctl should be a pointer to the type indicated.
  49 Currently the following ioctls are supported:
  50 .RS +4
  51 .TP
  52 .ie t \(bu
  53 .el o
  54 IPMICTL_RECEIVE_MSG "struct ipmi_recv"
  55 .br
  56 Receive a message.
  57 .br
  58 Possible error values:
  59 .RS +8
  60 EAGAIN No messages are in the process queue.
  61 .br
  62 EFAULT An address supplied was invalid.
  63 .br
  64 EMSGSIZE The address could not fit in the message buffer and
  65 will remain in the buffer.
  66 .RE
  67 .RE
  68 
  69 .RS +4
  70 .TP
  71 .ie t \(bu
  72 .el o
  73 IPMICTL_RECEIVE_MSG_TRUNC "struct ipmi_recv"
  74 .br
  75 Like IPMICTL_RECEIVE_MSG but if the message cannot fit into the buffer, it
  76 will truncate the contents instead of leaving the data in the buffer.
  77 .RE
  78 
  79 .RS +4
  80 .TP
  81 .ie t \(bu
  82 .el o
  83 IPMICTL_SEND_COMMAND "struct ipmi_req"
  84 .br
  85 Send a message to the interface.
  86 .br
  87 Possible error values:
  88 .RS +8
  89 EFAULT An address supplied was invalid
  90 .br
  91 ENOMEM Buffers could not be allowed for the command, out of memory.
  92 .RE
  93 .RE
  94 
  95 .RS +4
  96 .TP
  97 .ie t \(bu
  98 .el o
  99 IPMICTL_SET_MY_ADDRESS_CMD "unsigned int"
 100 .br
 101 Set the slave address for source messages.
 102 .RE
 103 
 104 .RS +4
 105 .TP
 106 .ie t \(bu
 107 .el o
 108 IPMICTL_GET_MY_ADDRESS_CMD "unsigned int"
 109 .br
 110 Get the slave address for source messages.
 111 .RE
 112 
 113 .RS +4
 114 .TP
 115 .ie t \(bu
 116 .el o
 117 IPMICTL_SET_MY_LUN_CMD "unsigned int"
 118 .br
 119 Set the slave LUN for source messages.
 120 .RE
 121 
 122 .RS +4
 123 .TP
 124 .ie t \(bu
 125 .el o
 126 IPMICTL_GET_MY_LUN_CMD "unsigned int"
 127 .br
 128 Get the slave LUN for source messages.
 129 .RE
 130 
 131 Stub Only Ioctl
 132 
 133 .RS +4
 134 .TP
 135 .ie t \(bu
 136 .el o
 137 IPMICTL_SET_GETS_EVENTS_CMD int
 138 .br
 139 Set whether this interface receives events.
 140 .RE
 141 
 142 Unimplemented Ioctls
 143 
 144 .RS +4
 145 .TP
 146 .ie t \(bu
 147 .el o
 148 IPMICTL_REGISTER_FOR_CMD
 149 .br
 150 Register to receive a specific command
 151 .RE
 152 
 153 .RS +4
 154 .TP
 155 .ie t \(bu
 156 .el o
 157 IPMICTL_UNREGISTER_FOR_CMD
 158 .br
 159 Unregister to receive a specific command
 160 .RE
 161 
 162 .SH SEE ALSO
 163 \fBipmitool\fR(1), \fBioctl\fR(2), \fBsmbios\fR(7d)
 164 .sp
 165 .LP
 166 \fIIntelligent Platform Management Interface Specification Second
 167 Generation\fR, v2.0 \(em
 168 June 12, 2009 Markup
 169 .SH NOTES
 170 Not all systems include an \fBIPMI\fR.