#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 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)