OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man3 / rtnetlink.3
index 1dccfc1..5999af4 100644 (file)
@@ -3,94 +3,65 @@
 .\" of this page provided the header is included verbatim,
 .\" and in case of nontrivial modification author and date
 .\" of the modification is added to the header.
-.\" $Id: rtnetlink.3,v 1.3 1999/08/20 04:10:17 nakano Exp $
+.\" $Id: rtnetlink.3,v 1.2 1999/05/18 10:35:10 freitag Exp $
+.\"*******************************************************************
 .\"
-.\" 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>
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.\"WORD:       running length  ¼ÂÆ°»þ¤ÎŤµ
-.\"
-.TH RTNETLINK 3 2010-01-11 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-rtnetlink \- rtnetlink ¥á¥Ã¥»¡¼¥¸¤òÁàºî¤¹¤ë¥Þ¥¯¥í
-.SH ½ñ¼°
-.B #include <asm/types.h>
+.\"*******************************************************************
+.TH RTNETLINK 3 2012\-03\-24 GNU "Linux Programmer's Manual"
+.SH 名前
+rtnetlink \- rtnetlink メッセージを操作するマクロ
+.SH 書式
+\fB#include <asm/types.h>\fP
 .br
-.B #include <linux/netlink.h>
+\fB#include <linux/netlink.h>\fP
 .br
-.B #include <linux/rtnetlink.h>
+\fB#include <linux/rtnetlink.h>\fP
 .br
-.B #include <sys/socket.h>
+\fB#include <sys/socket.h>\fP
 
-.BI "rtnetlink_socket = socket(AF_NETLINK, int " socket_type \
-", NETLINK_ROUTE);"
+\fBrtnetlink_socket = socket(AF_NETLINK, int \fP\fIsocket_type\fP\fB,
+NETLINK_ROUTE);\fP
 .sp
-.BI "int RTA_OK(struct rtattr *" rta ", int " rtabuflen );
+\fBint RTA_OK(struct rtattr *\fP\fIrta\fP\fB, int \fP\fIrtabuflen\fP\fB);\fP
 .sp
-.BI "void *RTA_DATA(struct rtattr *" rta );
+\fBvoid *RTA_DATA(struct rtattr *\fP\fIrta\fP\fB);\fP
 .sp
-.BI "unsigned int RTA_PAYLOAD(struct rtattr *" rta );
+\fBunsigned int RTA_PAYLOAD(struct rtattr *\fP\fIrta\fP\fB);\fP
 .sp
-.BI "struct rtattr *RTA_NEXT(struct rtattr *" rta \
-", unsigned int " rtabuflen );
+\fBstruct rtattr *RTA_NEXT(struct rtattr *\fP\fIrta\fP\fB, unsigned int
+\fP\fIrtabuflen\fP\fB);\fP
 .sp
-.BI "unsigned int RTA_LENGTH(unsigned int " length );
+\fBunsigned int RTA_LENGTH(unsigned int \fP\fIlength\fP\fB);\fP
 .sp
-.BI "unsigned int RTA_SPACE(unsigned int "length );
-.SH ÀâÌÀ
-Á´¤Æ¤Î
-.BR rtnetlink (7)
-¥á¥Ã¥»¡¼¥¸¤Ï
-.BR netlink (7)
-¥á¥Ã¥»¡¼¥¸¥Ø¥Ã¥À¤ÈÄɲðÀ­¤«¤é¤Ê¤ë¡£
-°À­¤ÎÁàºî¤Ï¡¢É¬¤º¤³¤³¤Ëµó¤²¤¿¥Þ¥¯¥í¤òÄ̤·¤Æ¹Ô¤¦¤Ù¤­¤Ç¤¢¤ë¡£
+\fBunsigned int RTA_SPACE(unsigned int \fP\fIlength\fP\fB);\fP
+.SH 説明
+全ての \fBrtnetlink\fP(7)  メッセージは \fBnetlink\fP(7)  メッセージヘッダと追加属性からなる。
+属性の操作は、必ずここに挙げたマクロを通して行うべきである。
 .PP
-.BI RTA_OK( rta ", " attrlen )
-¤Ï
-.I rta
-¤¬Í­¸ú¤Ê¥ë¡¼¥Æ¥£¥ó¥°Â°À­¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ì¤Ð¿¿¤òÊÖ¤¹¡£
-.I attrlen
-¤Ï°À­¥Ð¥Ã¥Õ¥¡¤Î¼ÂƯ»þ¤ÎŤµ (running length) ¤Ç¤¢¤ë¡£
-¿¿¤Ç¤Ê¤±¤ì¤Ð¡¢Î㤨
-.I attrlen
-¤¬¥¼¥í¤Ç¤Ê¤¯¤Æ¤â¡¢
-¥á¥Ã¥»¡¼¥¸Ãæ¤Ë¤Ï¤â¤¦¤½¤ì°Ê¾å°À­¤Ï̵¤¤¤È¹Í¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+\fBRTA_OK(\fP\fIrta\fP\fB, \fP\fIattrlen\fP\fB)\fP は \fIrta\fP が有効なルーティング属性へのポインタであれば真を返す。
+\fIattrlen\fP は属性バッファの実働時の長さ (running length) である。 真でなければ、例え \fIattrlen\fP
+がゼロでなくても、 メッセージ中にはもうそれ以上属性は無いと考えなければならない。
 .PP
-.BI RTA_DATA( rta )
-¤Ï¤³¤Î°À­¥Ç¡¼¥¿¤ÎÀèƬ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£
+\fBRTA_DATA(\fP\fIrta\fP\fB)\fP はこの属性データの先頭へのポインタを返す。
 .PP
-.BI RTA_PAYLOAD( rta )
-¤Ï¤³¤Î°À­¥Ç¡¼¥¿¤ÎŤµ¤òÊÖ¤¹¡£
+\fBRTA_PAYLOAD(\fP\fIrta\fP\fB)\fP はこの属性データの長さを返す。
 .PP
-.BI RTA_NEXT( rta ", " attrlen )
-¤Ï
-.I rta
-¤Î¼¡¤Ë¤¢¤ë°À­¤ò¼èÆÀ¤¹¤ë¡£
-¤³¤Î¥Þ¥¯¥í¤ò¸Æ¤Ö¤È
-.I attrlen
-¤¬¹¹¿·¤µ¤ì¤ë¡£
-.B RTA_OK
-¤ò»È¤Ã¤Æ¡¢ÊÖ¤µ¤ì¤¿¥Ý¥¤¥ó¥¿¤¬Àµ¤·¤¤¤«¤ò¥Á¥§¥Ã¥¯¤¹¤Ù¤­¤Ç¤¢¤ë¡£
+\fBRTA_NEXT(\fP\fIrta\fP\fB, \fP\fIattrlen\fP\fB)\fP は \fIrta\fP の次にある属性を取得する。 このマクロを呼ぶと
+\fIattrlen\fP が更新される。 \fBRTA_OK\fP を使って、返されたポインタが正しいかをチェックすべきである。
 .PP
-.BI RTA_LENGTH( len )
-¤Ï
-.I len
-¥Ð¥¤¥È¤Î¥Ç¡¼¥¿ + ¥Ø¥Ã¥À¤ËɬÍפÊŤµ¤òÊÖ¤¹¡£
+\fBRTA_LENGTH(\fP\fIlen\fP\fB)\fP は \fIlen\fP バイトのデータ + ヘッダに必要な長さを返す。
 .PP
-.BI RTA_SPACE( len )
-¤Ï
-.I len
-¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ò»ý¤Ä¥á¥Ã¥»¡¼¥¸¤ËɬÍפȤµ¤ì¤ëÍÆÎ̤òÊÖ¤¹¡£
-.SH ½àµò
-¤³¤ì¤é¤Î¥Þ¥¯¥í¤ÏÈóɸ½à¤Ç¡¢Linux ¤Ç¤Î³ÈÄ¥¤Ç¤¢¤ë¡£
-.SH ¥Ð¥°
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï´°Á´¤Ç¤Ï¤Ê¤¤¡£
-.SH Îã
+\fBRTA_SPACE(\fP\fIlen\fP\fB)\fP は \fIlen\fP バイトのデータを持つメッセージに必要とされる容量を返す。
+.SH 準拠
+これらのマクロは非標準で、Linux での拡張である。
+.SH バグ
+このマニュアルは完全ではない。
+.SH 例
+
 .\" FIXME ? would be better to use libnetlink in the EXAMPLE code here
-¥Ç¥Ð¥¤¥¹¤Î MTU ¤ò¥»¥Ã¥È¤¹¤ë rtnetlink ¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤ë
+デバイスの MTU をセットする rtnetlink メッセージを生成する
 .nf
     #include <linux/rtnetlink.h>
 
@@ -113,17 +84,15 @@ rtnetlink \- rtnetlink 
     req.nh.nlmsg_type = RTM_NEWLINK;
     req.if.ifi_family = AF_UNSPEC;
     req.if.ifi_index = INTERFACE_INDEX;
-    req.if.ifi_change = 0xffffffff; /* ???*/
+    req.if.ifi_change = 0xffffffff; /* ??? */
     rta = (struct rtattr *)(((char *) &req) +
-                                  NLMSG_ALIGN(req.nh.nlmsg_len));
+                             NLMSG_ALIGN(req.nh.nlmsg_len));
     rta\->rta_type = IFLA_MTU;
-    rta\->rta_len = sizeof(unsigned int);
+    rta\->rta_len = RTA_LENGTH(sizeof(unsigned int));
     req.n.nlmsg_len = NLMSG_ALIGN(req.nh.nlmsg_len) +
                                   RTA_LENGTH(sizeof(mtu));
     memcpy(RTA_DATA(rta), &mtu, sizeof(mtu));
     send(rtnetlink_sk, &req, req.nh.nlmsg_len);
 .fi
-.SH ´ØÏ¢¹àÌÜ
-.BR netlink (3),
-.BR netlink (7),
-.BR rtnetlink (7)
+.SH 関連項目
+\fBnetlink\fP(3), \fBnetlink\fP(7), \fBrtnetlink\fP(7)