from small one page howto to huge articles all in one place

search text in:




Other .linuxhowtos.org sites:gentoo.linuxhowtos.org



Last additions:
using iotop to find disk usage hogs

using iotop to find disk usage hogs

words:

887

views:

209584

userrating:


May 25th. 2007:
Words

486

Views

258591

why adblockers are bad


Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

words:

161

views:

149881

userrating:


April, 26th. 2006:

Druckversion
You are here: manpages





rtnetlink

Section: C Library Functions (3)
Updated: 202-0-08
Index Return to Main Contents
 

NAME

rtnetlink - macros to manipulate rtnetlink messages  

LIBRARY

Standard C library (libc,~-lc)  

SYNOPSIS

#include <asm/types.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <sys/socket.h>
rtnetlink_socket = socket(AF_NETLINK, int socket_type, NETLINK_ROUTE);
int RTA_OK(struct rtattr *rta, int size);
void *RTA_DATA(struct rtattr *rta);
unsigned int RTA_PAYLOAD(struct rtattr *rta);
struct rtattr *RTA_NEXT(struct rtattr *rta, unsigned int size);
unsigned int RTA_LENGTH(unsigned int size);
unsigned int RTA_SPACE(unsigned int size);
 

DESCRIPTION

All rtnetlink(7) messages consist of a netlink(7) message header and appended attributes. The attributes should be manipulated only using the macros provided here. RTA_OK(rta, size) returns true if rta points to a valid routing attribute; size is the running size of the attribute buffer. When not true then you must assume there are no more attributes in the message, even if size is nonzero. RTA_DATA(rta) returns a pointer to the start of this attribute's data. RTA_PAYLOAD(rta) returns the size of this attribute's data. RTA_NEXT(rta, size) gets the next attribute after rta. Calling this macro will update size. You should use RTA_OK to check the validity of the returned pointer. RTA_LENGTH(size) returns the size which is required for size bytes of data plus the header. RTA_SPACE(size) returns the amount of space which will be needed in a message with size bytes of data.  

STANDARDS

Linux.  

BUGS

This manual page is incomplete.  

EXAMPLES

Creating a rtnetlink message to set the MTU of a device: #include <linux/rtnetlink.h> ... struct {
    struct nlmsghdr  nh;
    struct ifinfomsg if;
    char             attrbuf[512]; } req; struct rtattr *rta; unsigned int mtu = 1000; int rtnetlink_sk = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE); memset(&req, 0, sizeof(req)); req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(req.if)); req.nh.nlmsg_flags = NLM_F_REQUEST; req.nh.nlmsg_type = RTM_NEWLINK; req.if.ifi_family = AF_UNSPEC; req.if.ifi_index = INTERFACE_INDEX; req.if.ifi_change = 0xffffffff; /* ??? */ rta = (struct rtattr *) ((char *) &req +
                         NLMSG_ALIGN(req.nh.nlmsg_len)); rta->rta_type = IFLA_MTU; rta->rta_len = RTA_LENGTH(sizeof(mtu)); req.nh.nlmsg_len = NLMSG_ALIGN(req.nh.nlmsg_len) +
                              RTA_LENGTH(sizeof(mtu)); memcpy(RTA_DATA(rta), &mtu, sizeof(mtu)); send(rtnetlink_sk, &req, req.nh.nlmsg_len, 0);  

SEE ALSO

netlink(3), netlink(7), rtnetlink(7)


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
STANDARDS
BUGS
EXAMPLES
SEE ALSO





Support us on Content Nation
rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004-2025 Sascha Nitsch Unternehmensberatung GmbH
Valid XHTML1.1 : Valid CSS
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 14.3 ms