NETLINK
Section: Linux Programmer's Manual (3)
Updated: 1999-05-14
Index
JM Home Page
roff page
名前
netlink - netlink マクロ
書式
#include <asm/types.h>
#include <linux/netlink.h>
int NLMSG_ALIGN(size_t len);
int NLMSG_LENGTH(size_t len);
int NLMSG_SPACE(size_t len);
void *NLMSG_DATA(struct nlmsghdr *nlh);
struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *nlh, int len);
int NLMSG_OK(struct nlmsghdr *nlh, int len);
int NLMSG_PAYLOAD(struct nlmsghdr *nlh, int len);
説明
<linux/netlink.h>
では、 netlink データグラムにアクセスしたり、これを作成するための
標準マクロがいくつか定義されている。
これらは
cmsg(3)
で定義されている補助データ (auxiliary data) 用のマクロと、
その精神において似ているものである。
netlink ソケットに対してやりとりされるバッファには、
必ずこれらのマクロを使ってアクセスすべきである。
- NLMSG_ALIGN
-
netlink メッセージの長さを丸めて正しく揃える。
- NLMSG_LENGTH
-
格納領域 (payload) の長さ
len
を引数にとり、
nlmsghdr
の
nlmsg_len
フィールドに代入できる
揃えられた長さ (aligned length) を返す。
- NLMSG_SPACE
-
ペイロードの長さが
len
の netlink メッセージのバイト数を返す。
- NLMSG_DATA
-
与えた
nlmsghdr
に関連づけられた格納領域へのポインタを返す。
-
-
NLMSG_NEXT
マルチパートメッセージにおいて、次の
nlmsghdr
を入手する。これを呼び出すときには、
現在の nlmsghdr で NLMSG_DONE がセットされていないことを
確認しなければならない。この関数は終端で NULL を返さないからである。
length 引数はメッセージバッファの残り長さが入った左辺値である。
このマクロはこの引数からメッセージヘッダの長さ分を差し引く。
- NLMSG_OK
-
Netlink メッセージが途切れておらず、パーズ可能であれば真を返す。
- NLMSG_PAYLOAD
-
nlmsghdr
に関連づけられた格納領域の長さを返す。
準拠
これらのマクロは非標準で Linux での拡張である。
注意
通常はカーネルの低レベルインターフェイスよりも、
libnetlink
経由で netlink を用いるほうが良い。
関連項目
netlink(7)
および libnetlink に関しては ftp://ftp.inr.ac.ru/ip-routing/iproute2*
Index
- 名前
-
- 書式
-
- 説明
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:54 GMT, November 19, 2007