FreeBSD Manual Pages
IPMI(4) FreeBSD Kernel Interfaces Manual IPMI(4) NAME ipmi -- OpenIPMI compatible IPMI interface driver SYNOPSIS device 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 *); DESCRIPTION The IPMI (Intelligent Platform Management Interface) is a standard for monitoring system hardware by permitting generic code to detect and moni- tor 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 manufac- turers. The ipmi driver in FreeBSD is heavily adopted from the standard and driver; however, not all features described in the standard are sup- ported. IOCTL Sending 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 Pos- sible 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 ALSO ioctl(2), watchdog(4), watchdog(8), watchdogd(8), watchdog(9) HISTORY The ipmi driver first appeared in FreeBSD 7.0. AUTHORS The ipmi driver was written by Doug Ambrisko <ambrisko@FreeBSD.org>. This manual page was written by Tom Rhodes <trhodes@FreeBSD.org>. BUGS Not all features of the MontaVista driver are supported. Currently, IPMB and BT modes are not implemented. FreeBSD 6.2 April 20, 2006 FreeBSD 6.2
NAME | SYNOPSIS | DESCRIPTION | IOCTL | SEE ALSO | HISTORY | AUTHORS | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ipmi&sektion=4&manpath=FreeBSD+6.2-RELEASE>