netlink.hxx File Reference

#include <cstring>
#include <asm/types.h>
#include <sys/socket.h>
#include <linux/rtnetlink.h>
#include <linux/pkt_sched.h>
#include <stdexcept>
#include <cerrno>
#include "netlink.hh"

Go to the source code of this file.

Namespaces

namespace  olsr
namespace  olsr::sys
namespace  olsr::sys::netlink

Defines

#define QOLYESTER_SYS_LINUX_NETLINK_HXX   1
#define PREPARE_MESSAGE(Payload, Name)
#define PREPARE_MESSAGE_GET(Payload, Name)
#define PREPARE_MESSAGE_NEW(Payload, Name)
#define PREPARE_MESSAGE_DEL(Payload, Name)
#define SHIPOUT_MESSAGE


Define Documentation

#define PREPARE_MESSAGE ( Payload,
Name   ) 

Value:

nlmsghdr*       nh;                                             \
      Payload * Name ;                                          \
      int       len = NLMSG_SPACE(sizeof ( Payload ));          \
      char*     r = new char[len];                              \
      memset(r, 0, len);                                        \
                                                                \
      nh = reinterpret_cast<nlmsghdr*>(r);                      \
      Name = reinterpret_cast< Payload *>(NLMSG_DATA(nh));      \
                                                                \
      nh->nlmsg_len = NLMSG_LENGTH(sizeof ( Payload ));         \
      nh->nlmsg_seq = RequestVisitor::seqnum++;                 \
      nh->nlmsg_pid = 0;

#define PREPARE_MESSAGE_DEL ( Payload,
Name   ) 

Value:

PREPARE_MESSAGE(Payload, Name);                 \
      nh->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK

#define PREPARE_MESSAGE_GET ( Payload,
Name   ) 

Value:

PREPARE_MESSAGE(Payload, Name);                 \
      nh->nlmsg_flags = NLM_F_ROOT | NLM_F_REQUEST

#define PREPARE_MESSAGE_NEW ( Payload,
Name   ) 

Value:

PREPARE_MESSAGE(Payload, Name);                 \
      nh->nlmsg_flags = NLM_F_CREATE | NLM_F_EXCL |     \
                        NLM_F_REQUEST | NLM_F_ACK

#define QOLYESTER_SYS_LINUX_NETLINK_HXX   1

#define SHIPOUT_MESSAGE

Value:

iovec   i = { r, len };                 \
      _buffers.push_back(i)


Generated on Mon Sep 10 17:02:13 2007 for Qolyester daemon by  doxygen 1.5.1