Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all 

名前
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 を返さない からである。 len 引数はメッセージバッファの残り長さが入った左辺値である。 このマクロはこの引数から メッセージヘッダの長さ分を差し引く。 NLMSG_OK Netlink メッセージが途切れておらず、かつ解釈可能な形の場合であれば真を返す。 NLMSG_PAYLOAD nlmsghdr に関連づけられた格納領域の長さを返す。
準拠
これらのマクロは非標準で、Linux での拡張である。
注意
通常はカーネルの低レベルインターフェイスよりも、 libnetlink 経由で netlink を用いるほうが良い。
関連項目
netlink(7) libnetlink に関しては ⟨ftp://ftp.inr.ac.ru/ip-routing/iproute2*⟩
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクトの説明とバグ報告 に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。