좀 광범위한 질문인것 같긴하지만요 ~
Linux에서 보이는 netlink socket의 용도는 주로 어떤건지 궁금해서요 ~ 그리고,,,netlink socket 을 사용해서 message를 주고 받다보니 NLMSG_ERROR라는 error가 발생하는 경우가 있던데 ,,이건 어떤 이유로 발생하는 error인지도 함께 가르쳐주시면 감사하겠습니다..~
Code는 대충 아래와 같습니다.
status = recvmsg(fd, &msg, 0);
h = (struct nlmsghdr *)buf;
if(h->nlmsg_type == NLMSG_ERROR) { struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h);
errno = -err->error; printf("errno = %s \n", strerror(errno)); }
첫번째 궁금함은 recvmsg()로 수신한 후에 h->nlmsg_type이 NLMSG_ERROR로 나오는 이유가 무엇일까 하는 것이고요 ~
두번째 궁금함은 위에서와 같이 errno를 print해 보면 "File Exists"라고 나오는데 이것도 어떤 의미인지 영 감이 잘 안와서요..
여러분의 검토 및 답변 부탁드립니다. ~ ^^
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
다시 정리해서 올리는데요 ,,
Code는 대충 아래와 같습니다.
status = recvmsg(fd, &msg, 0);
h = (struct nlmsghdr *)buf;
if(h->nlmsg_type == NLMSG_ERROR)
{
struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h);
errno = -err->error;
printf("errno = %s \n", strerror(errno));
}
첫번째 궁금함은 recvmsg()로 수신한 후에 h->nlmsg_type이 NLMSG_ERROR로
나오는 이유가 무엇일까 하는 것이고요 ~
두번째 궁금함은 위에서와 같이 errno를 print해 보면 "File Exists"라고 나오는데
이것도 어떤 의미인지 영 감이 잘 안와서요..
여러분의 검토 및 답변 부탁드립니다. ~ ^^
댓글 달기