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/ に書かれている。

関連キーワード

netlink   マクロ   nlmsghdr   メッセージ   struct   size   格納   領域   バッファー   関連   types   データグラム   補助   auxiliary   精神   ソケット   payload   代入   aligned   length   ペイロード   バイト   ポインター   マルチ   パート

Linux マニュアル 一覧

関連するコマンド・関数

netlink.7   catgets.3   recv.2   recvfrom.2   recvmsg.2   rtnetlink.3
 

Index

名前
書式
説明
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:05 GMT, October 11, 2026