.\" This manpage copyright 1998 by Andi Kleen. .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Subject to the GPL. .\" %%%LICENSE_END .\" .\" Based on the original comments from Alexey Kuznetsov .\" $Id: netlink.3,v 1.1 1999/05/14 17:17:24 freitag Exp $ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 1999 Shouichi Saito .\" all rights reserved. .\" Translated Mon Jul 26 12:18:39 JST 1999 .\" by Shouichi Saito .\" Proofed Fri Aug 20 1999 by NAKANO Takeo .\" .TH NETLINK 3 2014\-03\-20 GNU "Linux Programmer's Manual" .SH 名前 netlink \- netlink マクロ .SH 書式 .nf \fB#include \fP .br \fB#include \fP .sp \fBint NLMSG_ALIGN(size_t \fP\fIlen\fP\fB);\fP .br \fBint NLMSG_LENGTH(size_t \fP\fIlen\fP\fB);\fP .br \fBint NLMSG_SPACE(size_t \fP\fIlen\fP\fB);\fP .br \fBvoid *NLMSG_DATA(struct nlmsghdr *\fP\fInlh\fP\fB);\fP .br \fBstruct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP .br \fBint NLMSG_OK(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP .br \fBint NLMSG_PAYLOAD(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP .fi .SH 説明 \fI\fP では、 netlink データグラムにアクセスしたり、これを作成するための 標準マクロがいくつか定義されている。 これらは \fBcmsg\fP(3) で定義されている補助データ (auxiliary data) 用のマクロと、 その精神において似ているものである。 netlink ソケットに対してやりとりされるバッファーには、 必ずこれらのマクロだけを使ってアクセスすべきである。 .TP \fBNLMSG_ALIGN\fP netlink メッセージの長さを丸めて正しく揃える。 .TP \fBNLMSG_LENGTH\fP 格納領域 (payload) の長さ \fIlen\fP を引数にとり、 \fInlmsghdr\fP の \fInlmsg_len\fP フィールドに代入できる 揃えられた長さ (aligned length) を返す。 .TP \fBNLMSG_SPACE\fP ペイロードの長さが \fIlen\fP の netlink メッセージのバイト数を返す。 .TP \fBNLMSG_DATA\fP 与えた \fInlmsghdr\fP に関連づけられた格納領域へのポインターを返す。 .TP .\" this is bizarre, maybe the interface should be fixed. \fBNLMSG_NEXT\fP マルチパートメッセージにおいて、次の \fInlmsghdr\fP を入手する。これを呼び出すときには、 現在の nlmsghdr で NLMSG_DONE がセットされていないことを 確認しなければならない。この関数は終端で NULL を返さないからである。 \fIlen\fP 引数はメッセージバッファーの残り長さが入った左辺値である。 このマクロはこの引数からメッセージヘッダーの長さ分を差し引く。 .TP \fBNLMSG_OK\fP Netlink メッセージが途切れておらず、かつ解釈可能な形の場合であれば真を返す。 .TP \fBNLMSG_PAYLOAD\fP \fInlmsghdr\fP に関連づけられた格納領域の長さを返す。 .SH 準拠 これらのマクロは非標準で、Linux での拡張である。 .SH 注意 通常はカーネルの低レベルインターフェイスよりも、 \fIlibnetlink\fP 経由で netlink を用いるほうが良い。 .SH 関連項目 \fBlibnetlink\fP(3), \fBnetlink\fP(7) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。