NETLINK
Section: Linux Programmer's Manual (3)
Updated: 2014-03-20
Index JM Home 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 を返さないからである。 len 引数はメッセージバッファーの残り長さが入った左辺値である。 このマクロはこの引数からメッセージヘッダーの長さ分を差し引く。
- NLMSG_OK
- Netlink メッセージが途切れておらず、かつ解釈可能な形の場合であれば真を返す。
- NLMSG_PAYLOAD
- nlmsghdr に関連づけられた格納領域の長さを返す。
準拠
これらのマクロは非標準で、Linux での拡張である。
注意
通常はカーネルの低レベルインターフェイスよりも、 libnetlink 経由で netlink を用いるほうが良い。
関連項目
libnetlink(3), netlink(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
関連キーワード
NLMSG,
nlmsghdr,
netlink,
int,
マクロ,
struct,
nlh,
格納,
メッセージ,
pages
Linux マニュアル 一覧
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]
Index
- 名前
- 書式
- 説明
- 準拠
- 注意
- 関連項目
- この文書について
This document was created by man2html, using the manual pages.
Time: 12:08:40 GMT, June 11, 2022