Lines Matching defs:ihp
34 ipmi_handle_t *ihp;
40 if ((ihp = calloc(sizeof (ipmi_handle_t), 1)) == NULL) {
49 ihp->ih_transport = &ipmi_transport_bmc;
52 ihp->ih_transport = &ipmi_transport_lan;
59 ihp->ih_retries = 3;
61 if ((ihp->ih_tdata = ihp->ih_transport->it_open(ihp, params)) == NULL ||
62 ipmi_sdr_init(ihp) != 0 || ipmi_entity_init(ihp) != 0) {
63 *errp = ihp->ih_errno;
65 (void) strncpy(errmsg, ipmi_errmsg(ihp), 47);
69 ipmi_close(ihp);
73 return (ihp);
77 ipmi_close(ipmi_handle_t *ihp)
79 if (ihp->ih_transport && ihp->ih_tdata)
80 ihp->ih_transport->it_close(ihp->ih_tdata);
81 ipmi_free(ihp, ihp->ih_deviceid);
82 ipmi_free(ihp, ihp->ih_firmware_rev);
83 ipmi_user_clear(ihp);
84 ipmi_sdr_fini(ihp);
85 ipmi_entity_fini(ihp);
86 free(ihp);
126 ipmi_send(ipmi_handle_t *ihp, ipmi_cmd_t *cmd)
130 if (ihp->ih_transport->it_send(ihp->ih_tdata, cmd, &ihp->ih_response,
131 &ihp->ih_completion) != 0)
134 if (ihp->ih_completion != 0) {
136 if (ihp->ih_completion == ipmi_errtable[i].bmc_err) {
137 (void) ipmi_set_error(ihp,
140 ihp->ih_completion);
145 (void) ipmi_set_error(ihp, EIPMI_UNKNOWN,
146 "IPMI completion code 0x%x", ihp->ih_completion);
150 return (&ihp->ih_response);