Lines Matching full:intf
89 ipmi_openipmi_open(struct ipmi_intf * intf) in ipmi_openipmi_open() argument
98 devnum = intf->devnum; in ipmi_openipmi_open()
105 intf->fd = open(ipmi_dev, O_RDWR); in ipmi_openipmi_open()
107 if (intf->fd < 0) { in ipmi_openipmi_open()
108 intf->fd = open(ipmi_devfs, O_RDWR); in ipmi_openipmi_open()
109 if (intf->fd < 0) { in ipmi_openipmi_open()
110 intf->fd = open(ipmi_devfs2, O_RDWR); in ipmi_openipmi_open()
112 if (intf->fd < 0) { in ipmi_openipmi_open()
119 if (ioctl(intf->fd, IPMICTL_SET_GETS_EVENTS_CMD, &i) < 0) { in ipmi_openipmi_open()
124 intf->opened = 1; in ipmi_openipmi_open()
127 if (intf->my_addr != 0) { in ipmi_openipmi_open()
128 if (intf->set_my_addr(intf, intf->my_addr) < 0) { in ipmi_openipmi_open()
133 intf->my_addr ); in ipmi_openipmi_open()
136 intf->manufacturer_id = ipmi_get_oem(intf); in ipmi_openipmi_open()
137 return intf->fd; in ipmi_openipmi_open()
140 ipmi_openipmi_set_my_addr(struct ipmi_intf *intf, uint8_t addr) in ipmi_openipmi_set_my_addr() argument
143 if (ioctl(intf->fd, IPMICTL_SET_MY_ADDRESS_CMD, &a) < 0) { in ipmi_openipmi_set_my_addr()
147 intf->my_addr = addr; in ipmi_openipmi_set_my_addr()
152 ipmi_openipmi_close(struct ipmi_intf * intf) in ipmi_openipmi_close() argument
154 if (intf->fd >= 0) { in ipmi_openipmi_close()
155 close(intf->fd); in ipmi_openipmi_close()
156 intf->fd = -1; in ipmi_openipmi_close()
159 intf->opened = 0; in ipmi_openipmi_close()
160 intf->manufacturer_id = IPMI_OEM_UNKNOWN; in ipmi_openipmi_close()
164 ipmi_openipmi_send_cmd(struct ipmi_intf * intf, struct ipmi_rq * req) in ipmi_openipmi_send_cmd() argument
184 if (intf == NULL || req == NULL) in ipmi_openipmi_send_cmd()
187 ipmb_addr.channel = intf->target_channel & 0x0f; in ipmi_openipmi_send_cmd()
189 if (intf->opened == 0 && intf->open != NULL) in ipmi_openipmi_send_cmd()
190 if (intf->open(intf) < 0) in ipmi_openipmi_send_cmd()
208 if (intf->target_addr != 0 && in ipmi_openipmi_send_cmd()
209 intf->target_addr != intf->my_addr) { in ipmi_openipmi_send_cmd()
211 ipmb_addr.slave_addr = intf->target_addr; in ipmi_openipmi_send_cmd()
216 intf->target_addr,intf->target_channel, intf->my_addr); in ipmi_openipmi_send_cmd()
218 if(intf->transit_addr != 0 && intf->transit_addr != intf->my_addr) { in ipmi_openipmi_send_cmd()
223 (0x40 | intf->target_channel), in ipmi_openipmi_send_cmd()
224 intf->target_addr, in ipmi_openipmi_send_cmd()
225 intf->transit_channel, in ipmi_openipmi_send_cmd()
226 intf->transit_addr, in ipmi_openipmi_send_cmd()
227 intf->my_addr in ipmi_openipmi_send_cmd()
245 ipmb_addr.slave_addr = intf->transit_addr; in ipmi_openipmi_send_cmd()
246 ipmb_addr.channel = intf->transit_channel; in ipmi_openipmi_send_cmd()
258 data[index++] = (0x40|intf->target_channel); in ipmi_openipmi_send_cmd()
259 data[index++] = intf->target_addr; in ipmi_openipmi_send_cmd()
307 if (ioctl(intf->fd, IPMICTL_SEND_COMMAND, &_req) < 0) { in ipmi_openipmi_send_cmd()
320 if (intf->noanswer) { in ipmi_openipmi_send_cmd()
329 FD_SET(intf->fd, &rset); in ipmi_openipmi_send_cmd()
331 if (select(intf->fd+1, &rset, NULL, NULL, NULL) < 0) { in ipmi_openipmi_send_cmd()
339 if (FD_ISSET(intf->fd, &rset) == 0) { in ipmi_openipmi_send_cmd()
354 if (ioctl(intf->fd, IPMICTL_RECEIVE_MSG_TRUNC, &recv) < 0) { in ipmi_openipmi_send_cmd()
379 if(intf->transit_addr != 0 && intf->transit_addr != intf->my_addr) { in ipmi_openipmi_send_cmd()
380 /* ipmb_addr.transit_slave_addr = intf->transit_addr; */ in ipmi_openipmi_send_cmd()
382 "IPMB target @ 0x%x", intf->transit_addr); in ipmi_openipmi_send_cmd()
425 int ipmi_openipmi_setup(struct ipmi_intf * intf) in ipmi_openipmi_setup() argument
428 intf->max_request_data_size = IPMI_OPENIPMI_MAX_RQ_DATA_SIZE; in ipmi_openipmi_setup()
429 intf->max_response_data_size = IPMI_OPENIPMI_MAX_RS_DATA_SIZE; in ipmi_openipmi_setup()