oepnIPMI library 를 이용해서 간단한코드작성을 하고있는데요 ㅜ ㅜ 혹시아시는분있으시면 답변좀 ...

psg989의 이미지


#include <ipmi.h>
#include <errno.h>
#include <ipmiif.h>
#include <ipmi_fru.h>
#include <ipmi_posix.h>
#include <ipmi_log.h>
#include <ipmi_smi.h>
#include <ipmi_sdr.h>
#include <ipmi_types.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <internal/ipmi_domain.h>
 
 
#include <stdio.h>
#include <ipmi_conn.h>
 
int main()
{
        os_handler_t            *os;
        ipmi_con_t              *cons;
        ipmi_domain_t           *domain;
        int                     rv, fd;
 
 
        struct ipmi_req         req;
        struct ipmi_recv        recv;
        struct ipmi_ipmb_addr si;
 
unsigned char           data[IPMI_MAX_MSG_LENGTH];
 
        fd = open("/dev/ipmi0", O_RDWR);
 
 
        si.addr_type = IPMI_IPMB_ADDR_TYPE;
        si.channel = 0;
        si.lun = 0;
        si.slave_addr = 0xb2;
 
        req.addr = (void*)&si;
        req.addr_len = sizeof(si);
        req.msgid = 0x1234;
        req.msg.netfn = 0x06;
        req.msg.cmd = 0x01;
        req.msg.data =NULL;
        req.msg.data_len = 0;
 
        rv = ioctl(fd, IPMICTL_SEND_COMMAND, &req);
        if(rv == -1)
        {
                perror("ioctl error ");
                return 1;
        }
        close(fd);
 
fd = open("/dev/ipmi0", O_RDWR);
        recv.msg.data = data;
        recv.msg.data_len = sizeof(data);
 
        recv.addr = (void*)&si;
        recv.addr_len = sizeof(si);
        rv = ioctl(fd, IPMICTL_RECEIVE_MSG, &recv);
        if(rv == -1)
        {
                perror("ioctl error 1 ");
                return 1;
        }
 
        close(fd);
 
 
} 

대충이런코드인데.... ioctl error 1 : Resource temporarily unavailable 이런에러가발생하네여 ㅜ ㅜ
도와주세요 ㅜ 아니면 openipmi API 에 대한 정보가잇는곳 이라도 알고계신분잇으면 헬프여 ㅠ