libnl
3.2.24-rc1
Main Page
Related Pages
Modules
Data Structures
libnl
rtnl.h
1
/*
2
* netlink/route/rtnl.h Routing Netlink
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation version 2.1
7
* of the License.
8
*
9
* Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
10
*/
11
12
#ifndef NETLINK_RTNL_H_
13
#define NETLINK_RTNL_H_
14
15
#include <netlink/netlink.h>
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
/**
22
* @name Realms
23
* @{
24
*/
25
26
/**
27
* Mask specying the size of each realm part
28
* @ingroup rtnl
29
*/
30
#define RTNL_REALM_MASK (0xFFFF)
31
32
/**
33
* Extract FROM realm from a realms field
34
*/
35
#define RTNL_REALM_FROM(realm) ((realm) >> 16)
36
37
/**
38
* Extract TO realm from a realms field
39
*/
40
#define RTNL_REALM_TO(realm) ((realm) & RTNL_REALM_MASK)
41
42
/**
43
* Build a realms field
44
*/
45
#define RTNL_MAKE_REALM(from, to) \
46
((RTNL_REALM_TO(from) << 16) & RTNL_REALM_TO(to))
47
48
/** @} */
49
50
51
/* General */
52
extern
int
nl_rtgen_request
(
struct
nl_sock *,
int
,
int
,
int
);
53
54
/* Routing Type Translations */
55
extern
char
* nl_rtntype2str(
int
,
char
*,
size_t
);
56
extern
int
nl_str2rtntype(
const
char
*);
57
58
/* Scope Translations */
59
extern
char
* rtnl_scope2str(
int
,
char
*,
size_t
);
60
extern
int
rtnl_str2scope(
const
char
*);
61
62
/* Realms Translations */
63
extern
char
* rtnl_realms2str(uint32_t,
char
*,
size_t
);
64
65
#ifdef __cplusplus
66
}
67
#endif
68
69
#endif
include
netlink
route
rtnl.h
Generated on Tue Jan 21 2014 20:35:46 for libnl by
1.8.3.1