Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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 を引数にとり、 nlmsghdrnlmsg_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/ に書かれている。