1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
.\" 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 <ss236rx@ymg.urban.ne.jp>
.\" Proofed Fri Aug 20 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\"
.TH NETLINK 3 2014\-03\-20 GNU "Linux Programmer's Manual"
.SH 名前
netlink \- netlink マクロ
.SH 書式
.nf
\fB#include <asm/types.h>\fP
.br
\fB#include <linux/netlink.h>\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<linux/netlink.h>\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/ に書かれている。
|