netlink(3)





NAME

       netlink - Netlink macros


SYNOPSIS

       #include <asm/types.h>
       #include <linux/netlink.h>
       int NLMSG_ALIGN(size_t len);
       int NLMSG_LENGTH(size_t len);
       int NLMSG_SPACE(size_t len);
       void *NLMSG_DATA(struct nlmsghdr *nlh);
       struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *nlh, int len);
       int NLMSG_OK(struct nlmsghdr *nlh, int len);
       int NLMSG_PAYLOAD(struct nlmsghdr *nlh, int len);


DESCRIPTION

       netlink.h  defines  several  standard  macros to access or
       create a netlink datagram.  They are similar in spirit  to
       the  macros  defined  in  cmsg(3) for auxilliary data. The
       buffer passed to and from a netlink socket should be  only
       accessed using these macros.


       NLMSG_ALIGN
              Round  the  length of a netlink message up to align
              it properly.

       NLMSG_LENGTH
              Gets the payload length as argument and returns the
              aligned  length  to store in the nlmsg_len field of
              the nlmsghdr.


       NLMSG_SPACE
              Return the number of bytes a netlink  message  with
              payload of the passed length would occupy.

       NLMSG_DATA
              Return a pointer to the payload associated with the
              passed nlmsghdr.

       NLMSG_NEXT
              Get the next nlmsghdr in a multipart  message.  The
              caller  must  check  if the current nlmsghdr didn't
              have the NLMSG_DONE set  -  this  function  doesn't
              return  NULL  on  end.  The  length parameter is an
              lvalue containing the remaining length of the  mes­
              sage buffer. This macro decrements it by the length
              of the message header.

       NLMSG_OK
              Return true if the netlink message is not truncated
              and ok to parse.





       NLMSG_PAYLOAD
              Return  the  length  of the payload associated with
              the nlmsghdr.



NOTES

       It is often better to use netlink via libnetlink than  via
       the low level kernel interface.



SEE ALSO

       netlink(7)

       ftp://ftp.inr.ac.ru/ip-routing/iproute2* for libnetlink











































Man(1) output converted with man2html