OSDN Git Service

Update release for LDP 3.67
[linuxjm/LDP_man-pages.git] / release / man7 / ddp.7
1 .\" This man page is Copyright (C) 1998 Alan Cox.
2 .\"
3 .\" %%%LICENSE_START(VERBATIM_ONE_PARA)
4 .\" Permission is granted to distribute possibly modified copies
5 .\" of this page provided the header is included verbatim,
6 .\" and in case of nontrivial modification author and date
7 .\" of the modification is added to the header.
8 .\" %%%LICENSE_END
9 .\"
10 .\" $Id: ddp.7,v 1.3 1999/05/13 11:33:22 freitag Exp $
11 .\"
12 .\"*******************************************************************
13 .\"
14 .\" This file was generated with po4a. Translate the source file.
15 .\"
16 .\"*******************************************************************
17 .\"
18 .\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
19 .\" Translated Mon 6 Dec 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
20 .\"
21 .TH DDP 7 2008\-11\-20 Linux "Linux Programmer's Manual"
22 .SH 名前
23 ddp \- Linux での AppleTalk プロトコルの実装
24 .SH 書式
25 \fB#include <sys/socket.h>\fP
26 .br
27 \fB#include <netatalk/at.h>\fP
28 .sp
29 \fIddp_socket\fP\fB = socket(AF_APPLETALK, SOCK_DGRAM, 0);\fP
30 .br
31 \fIraw_socket\fP\fB = socket(AF_APPLETALK, SOCK_RAW, \fP\fIprotocol\fP\fB);\fP
32 .SH 説明
33 Linux implements the AppleTalk protocols described in \fIInside AppleTalk\fP.
34 Only the DDP layer and AARP are present in the kernel.  They are designed to
35 be used via the \fBnetatalk\fP protocol libraries.  This page documents the
36 interface for those who wish or need to use the DDP layer directly.
37 .PP
38 The communication between AppleTalk and the user program works using a
39 BSD\-compatible socket interface.  For more information on sockets, see
40 \fBsocket\fP(7).
41 .PP
42 An AppleTalk socket is created by calling the \fBsocket\fP(2)  function with a
43 \fBAF_APPLETALK\fP socket family argument.  Valid socket types are
44 \fBSOCK_DGRAM\fP to open a \fBddp\fP socket or \fBSOCK_RAW\fP to open a \fBraw\fP
45 socket.  \fIprotocol\fP is the AppleTalk protocol to be received or sent.  For
46 \fBSOCK_RAW\fP you must specify \fBATPROTO_DDP\fP.
47 .PP
48 raw ソケットは実効ユーザー ID が 0 のプロセスか、 \fBCAT_NEW_RAW\fP 権限を持ったプロセスでないとオープンできない。
49 .SS アドレスのフォーマット
50 An AppleTalk socket address is defined as a combination of a network number,
51 a node number, and a port number.
52 .PP
53 .in +4n
54 .nf
55 struct at_addr {
56     unsigned short s_net;
57     unsigned char  s_node;
58 };
59
60 struct sockaddr_atalk {
61     sa_family_t    sat_family;    /* address family */
62     unsigned char  sat_port;      /* port */
63     struct at_addr sat_addr;      /* net/node */
64 };
65 .fi
66 .in
67 .PP
68 .\" FIXME this doesn't make sense [johnl]
69 \fIsat_family\fP は常に \fBAF_APPLETALK\fP に設定する。 \fIsat_port\fP はポートを与える。ポート番号が 129
70 以下のポートは 「予約ポート (reserved port)」 と呼ばれる。実効ユーザー ID が 0 のプロセスか、
71 \fBCAP_NET_BIND_SERVICE\fP 権限を持つプロセスだけが、このようなソケットを \fBbind\fP(2)  できる。 \fIsat_addr\fP
72 はホストアドレスである。 \fIstruct at_addr\fP のメンバー \fIs_net\fP
73 にはホストのネットワークをネットワークバイトオーダーで与える。値 \fBAT_ANYNET\fP
74 はワイルドカードで、「このネットワーク」も暗黙のうちに含まれる。 \fIstruct at_addr\fP のメンバー \fIs_node\fP
75 にはホストのノード番号を与える。値 \fBAT_ANYNODE\fP はワイルドカードで、「このノード」も暗黙のうちに含まれる。値
76 \fBATADDR_BCAST\fP はローカルなブロードキャストアドレスである。
77 .SS ソケットオプション
78 プロトコル固有のソケットオプションはない。
79 .SS "/proc インタフェース"
80 Appletalk のグローバルパラメータのいくつかは、 \fI/proc\fP インタフェースを通して設定することができる。 これらのパラメータには、
81 \fI/proc/sys/net/atalk/\fP ディレクトリ内のファイルの読み書きでアクセスできる。
82 .TP 
83 \fIaarp\-expiry\-time\fP
84 AARP キャッシュエントリを破棄するまでのタイムインターバル (秒単位)。
85 .TP 
86 \fIaarp\-resolve\-time\fP
87 AARP キャッシュエントリが解決されるまでのタイムインターバル (秒単位)。
88 .TP 
89 \fIaarp\-retransmit\-limit\fP
90 AARP クエリーの最大再送信回数。この回数を越えると、 そのノードは dead であるとみなされる。
91 .TP 
92 \fIaarp\-tick\-time\fP
93 タイマー動作する AARP のタイマーレート (秒単位)
94 .PP
95 デフォルトの値で仕様にマッチしているので、 変更する必要は全くないはずである。
96 .SS ioctl
97 .\" FIXME Add a section about multicasting
98 \fBsocket\fP(7)  に記述されているすべての ioctl が DDP にも適用される。
99 .SH エラー
100 .\" FIXME document all errors. We should really fix the kernels to
101 .\" give more uniform error returns (ENOMEM vs ENOBUFS, EPERM vs
102 .\" EACCES etc.)
103 .TP 
104 \fBEACCES\fP
105 ユーザが行おうとした操作に必要な権限を持っていない。 broadcast フラグをセットせずにブロードキャストアドレスへ送信を行おうとした、
106 実効ユーザー ID が 0 でなく、 \fBCAP_NET_BIND_SERVICE\fP
107 権限のないプロセスで特権ポートをバインドしようとした、などが考えられる。
108 .TP 
109 \fBEADDRINUSE\fP
110 既に使用されているアドレスにバインドしようとした。
111 .TP 
112 \fBEADDRNOTAVAIL\fP
113 存在しないインターフェースが要求された。または 要求されたソースアドレスがローカルでない。
114 .TP 
115 \fBEAGAIN\fP
116 非ブロッキングソケットに対してブロックする操作を行った。
117 .TP 
118 \fBEALREADY\fP
119 非ブロッキングソケットに対する接続操作が既に実行中である。
120 .TP 
121 \fBECONNABORTED\fP
122 \fBaccept\fP(2)  の途中で接続がクローズされた。
123 .TP 
124 \fBEHOSTUNREACH\fP
125 行き先アドレスにマッチするエントリがルーティングテーブルにない。
126 .TP 
127 \fBEINVAL\fP
128 渡した引数が不正。
129 .TP 
130 \fBEISCONN\fP
131 接続済みのソケットに対して \fBconnect\fP(2)  が呼ばれた。
132 .TP 
133 \fBEMSGSIZE\fP
134 データグラムが DDP MTU より大きい。
135 .TP 
136 \fBENODEV\fP
137 ネットワークデバイスがない。あるいは IP を送ることができない。
138 .TP 
139 \fBENOENT\fP
140 パケットが到着していないソケットに対して \fBSIOCGSTAMP\fP が呼ばれた。
141 .TP 
142 \fBENOMEM\fP と \fBENOBUFS\fP
143 メモリが足りない。
144 .TP 
145 \fBENOPKG\fP
146 カーネルサブシステムが設定されていない。
147 .TP 
148 \fBENOPROTOOPT\fP と \fBEOPNOTSUPP\fP
149 無効なソケットオプションが渡された。
150 .TP 
151 \fBENOTCONN\fP
152 接続されていないソケットに対して、 接続状態でしか定義されていない操作を行おうとした。
153 .TP 
154 \fBEPERM\fP
155 高い優先度に設定したり、設定を変更したり、 指定したプロセスやグループにシグナルを送るのに必要な権限を ユーザが持っていない。
156 .TP 
157 \fBEPIPE\fP
158 接続が接続相手によって、予期しないやり方でクローズまたはシャットダウンされた。
159 .TP 
160 \fBESOCKTNOSUPPORT\fP
161 ソケットが設定されていない。または未知のソケットタイプが要求された。
162 .SH バージョン
163 AppleTalk is supported by Linux 2.0 or higher.  The \fI/proc\fP interfaces
164 exist since Linux 2.2.
165 .SH 注意
166 \fBSO_BROADCAST\fP オプションを用いる時には慎重の上にも慎重になってほしい。 Linux ではこれに特権を必要としない。
167 不注意にブロードキャストアドレスに送信を行うと、 ネットワークの状態が簡単に変更されてしまう。
168 .SS 移植性
169 基本的な Appletalk ソケットインターフェースは BSD 由来のシステムにおける \fBnetatalk\fP と互換性がある。多くの BSD
170 システムでは、 ブロードキャストフレームを送信しようとしたときの \fBSO_BROADCAST\fP
171 のチェックに失敗する。これは互換性の問題となるかもしれない。
172 .PP
173 raw ソケットモードは Linux 独特のもので、もう一方の実装である CAP パッケージや、 Appletalk
174 モニタツールをより簡単に実装できるようになる。
175 .SH バグ
176 エラーの値がまったく首尾一貫していない。
177 .PP
178 ルーティングテーブル・デバイス・ AARP テーブル・その他のデバイスを 設定するために用いられる ioctl がまだ記述されていない。
179 .SH 関連項目
180 \fBrecvmsg\fP(2), \fBsendmsg\fP(2), \fBcapabilities\fP(7), \fBsocket\fP(7)
181 .SH この文書について
182 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
183 である。プロジェクトの説明とバグ報告に関する情報は
184 http://www.kernel.org/doc/man\-pages/ に書かれている。