ipmi service:
Compatible IPMI interface driver.
Now lets see the manual of ipmi service.
Manual ipmi:NAMEipmi -- OpenIPMI compatible IPMI interface driver
SYNOPSISdevice ipmi
#include <sys/dev/ipmi.h>
int
ioctl(int d, IPMICTL_RECEIVE_MSG_TRUNC, struct ipmi_recv *);
int
ioctl(int d, IPMICTL_RECEIVE_MSG, struct ipmi_recv *);
int
ioctl(int d, IPMICTL_SEND_COMMAND, struct ipmi_req *);
int
ioctl(int d, IPMICTL_REGISTER_FOR_CMD, struct ipmi_cmdspec *);
int
ioctl(int d, IPMICTL_UNREGISTER_FOR_CMD, struct ipmi_cmdspec *);
int
ioctl(int d, IPMICTL_SET_GETS_EVENTS_CMD, int *);
int
ioctl(int d, IPMICTL_SET_MY_ADDRESS_CMD, unsigned int *);
int
ioctl(int d, IPMICTL_GET_MY_ADDRESS_CMD, unsigned int *);
int
ioctl(int d, IPMICTL_SET_MY_LUN_CMD, unsigned int *);
int
ioctl(int d, IPMICTL_GET_MY_LUN_CMD, unsigned int *);
DESCRIPTIONThe IPMI (Intelligent Platform Management Interface) is a standard for monitoring system hardware by permitting generic code
to detect and monitor the sensors in a system. The IPMI standard offers watchdog support, an FRU database, and other support
extensions. It is currently being adopted by the makers of many single board and embedded system manufacturers.
The ipmi driver in FreeBSD is heavily adopted from the standard and driver; however, not all features described in the
standard are supported.
IOCTLSending and receiving messages through the ipmi driver requires the use of IOCTLs. The IOCTLs are used due to the
complexity of data sent to and from the device. Currently the following IOCTLs are defined:
IPMI_IOC_MAGIC The magic IOCTL value for this interface.
IPMICTL_RECEIVE_MSG_TRUNC Like RECEIVE_MSG but if the message can not fit into the buffer, it will truncate the contents
instead of leaving the data in the buffer.
IPMICTL_RECEIVE_MSG Receive a message. Possible error values:
[EAGAIN] No messages are in the process queue.
[EFAULT] An address supplied was invalid.
[EMSGSIZE] The address could not fit in the message buffer and will remain in the buffer.
IPMICTL_SEND_COMMAND Send a message to the interface. Possible error values:
[EFAULT] An address supplied was invalid
[ENOMEM] Buffers could not be allowed for the command, out of memory.
IPMICTL_SET_MY_ADDRESS_CMD Set the slave address for source messages.
IPMICTL_GET_MY_ADDRESS_CMD Get the slave address for source messages.
IPMICTL_SET_MY_LUN_CMD Set the slave LUN for source messages.
IPMICTL_GET_MY_LUN_CMD Get the slave LUN for source messages.
Unimplemented IOCTLS:
IPMICTL_REGISTER_FOR_CMD Register to receive a specfic command Possible error values:
[EFAULT] An supplied address was invalid.
[EBUSY] The network function/command is already in use.
[ENOMEM] Could not allocate memory.
IPMICTL_UNREGISTER_FOR_CMD Unregister to receive a specific command Possible error values:
[EFAULT] An address supplied was invalid.
[ENOENT] The network function/command was not found.
Stub only IOCTL:
IPMICTL_SET_GETS_EVENTS_CMD Set whether this interface receives events. Possible error values:
[EFAULT] An address supplied was invalid.
SEE ALSOioctl(2), watchdog(4), watchdog(8), watchdogd(8), watchdog(9)
HISTORYThe ipmi driver first appeared in FreeBSD 7.0.
AUTHORSThe ipmi driver was written by Doug Ambrisko <ambrisko@FreeBSD.org>. This manual page was written by Tom
Rhodes <trhodes@FreeBSD.org>.
BUGSNot all features of the MontaVista driver are supported.
Currently, IPMB and BT modes are not implemented.