Logo Search packages:      
Sourcecode: libnl version File versions

test-genl.c

#include "../src/utils.h"

int main(int argc, char *argv[])
{
      struct nl_handle *h;
      struct nl_msg *msg;
      void *hdr;

      if (nltool_init(argc, argv) < 0)
            return -1;

      h = nltool_alloc_handle();
      if (!h) {
            nl_perror("nl_handle_alloc");
            return -1;
      }

      if (genl_connect(h) < 0) {
            nl_perror("genl_connect");
            return -1;
      }

      msg = nlmsg_alloc();
      if (msg == NULL) {
            nl_perror("nlmsg_alloc");
            return -1;
      }

      hdr = genlmsg_put(msg, NL_AUTO_PID, NL_AUTO_SEQ, GENL_ID_CTRL,
                    0, 0, CTRL_CMD_GETFAMILY, 1);
      if (hdr == NULL) {
            nl_perror("genlmsg_put");
            return -1;
      }

      if (nla_put_u32(msg, CTRL_ATTR_FAMILY_ID, GENL_ID_CTRL) < 0) {
            nl_perror("nla_put_u32(CTRL_ATTR_FAMILY_ID)");
            return -1;
      }

      if (nl_send_auto_complete(h, msg) < 0) {
            nl_perror("nl_send_auto_complete");
            return -1;
      }

      if (nl_recvmsgs_default(h) < 0) {
            nl_perror("nl_recvmsgs_def");
            return -1;
      }

      nlmsg_free(msg);

      nl_close(h);

      return 0;
}

Generated by  Doxygen 1.6.0   Back to index