From: Akihiro MOTOKI Date: Sat, 7 Jun 2014 15:31:59 +0000 (+0900) Subject: Update drafts for LDP 3.67 X-Git-Tag: LDP-3.67-final~4 X-Git-Url: http://git.osdn.net/view?p=linuxjm%2FLDP_man-pages.git;a=commitdiff_plain;h=f73535511ff23549f8fba381139f7bae7666d801 Update drafts for LDP 3.67 --- diff --git a/draft/man2/connect.2 b/draft/man2/connect.2 index 1259f92d..5a40b44a 100644 --- a/draft/man2/connect.2 +++ b/draft/man2/connect.2 @@ -121,17 +121,15 @@ UNIX ドメインソケットはパス名で識別される。 ソケット・ ローカルアドレスが既に使用されている。 .TP \fBEADDRNOTAVAIL\fP -(Internet domain sockets) The socket referred to by \fIsockfd\fP had not -previously been bound to an address and, upon attempting to bind it to an -ephemeral port, it was determined that all port numbers in the ephemeral -port range are currently in use. See the discussion of -\fI/proc/sys/net/ipv4/ip_local_port_range\fP in \fBip\fP(7). +(インターネットドメインソケットの場合) \fIsockfd\fP が参照するソケットがそれ以前にアドレスにバインドされておらず、 +そのソケットに一時ポートをバインドしようとした際に、 一時ポートとして使用する範囲のポート番号がすべて使用中であった。 \fBip\fP(7) の +\fI/proc/sys/net/ipv4/ip_local_port_range\fP の議論を参照のこと。 .TP \fBEAFNOSUPPORT\fP 渡されたアドレスの \fIsa_family\fP フィールドが正しいアドレス・ファミリーではない。 .TP \fBEAGAIN\fP -Insufficient entries in the routing cache. +ルーティングキャッシュにエントリーが十分にない。 .TP \fBEALREADY\fP ソケットが非停止 (nonblocking) に設定されており、 前の接続が完了していない。 diff --git a/draft/man2/fallocate.2 b/draft/man2/fallocate.2 index 0af3036f..7c270c80 100644 --- a/draft/man2/fallocate.2 +++ b/draft/man2/fallocate.2 @@ -123,12 +123,11 @@ behavior of the call is similar, but the file size will not be changed even if \fIoffset\fP+\fIlen\fP is greater than the file size. This behaviour is the same as when preallocating space with \fBFALLOC_FL_KEEP_SIZE\fP specified. -Not all filesystems support \fBFALLOC_FL_ZERO_RANGE\fP; if a filesystem doesn't -support the operation, an error is returned. The operation is supported on -at least the following filesystems: +すべてのファイルシステムで \fBFALLOC_FL_ZERO_RANGE\fP がサポートされているわけではない。 +ファイルシステムがこの操作をサポートしていない場合は、 エラーが返る。 この操作は少なくとも以下のファイルシステムでサポートされている。 .IP * 3 .\" commit 376ba313147b4172f3e8cf620b9fb591f3e8cdfa -XFS (since Linux 3.14) +XFS (Linux 3.14 以降) .IP * .\" commit b8a8684502a0fc852afa0056c6bb2a9273f6fcc0 ext4, for extent\-based files (since Linux 3.14) @@ -174,8 +173,8 @@ ext4, for extent\-based files (since Linux 3.14) .\" Subject: Re: [PATCH v5 10/10] manpage: update FALLOC_FL_COLLAPSE_RANGE flag in fallocate .\" Newsgroups: gmane.linux.man, gmane.linux.file-systems .\" Date: 2014-04-17 13:40:05 GMT -\fImode\fP is \fBFALLOC_FL_COLLAPSE_RANGE\fP or \fBFALLOC_FL_ZERO_RANGE\fP, but the -file referred to by \fIfd\fP is not a regular file. +\fImode\fP が \fBFALLOC_FL_COLLAPSE_RANGE\fP か \fBFALLOC_FL_ZERO_RANGE\fP だが、 \fIfd\fP +が参照しているファイルが通常のファイルではない。 .TP \fBEIO\fP ファイルシステムとの読み書き中に入出力エラーが発生した。 diff --git a/draft/man2/listen.2 b/draft/man2/listen.2 index 35f180f0..275b92ad 100644 --- a/draft/man2/listen.2 +++ b/draft/man2/listen.2 @@ -86,11 +86,9 @@ listen \- ソケット(socket)上の接続を待つ 別のソケットが既に同じポートを listen している。 .TP \fBEADDRINUSE\fP -(Internet domain sockets) The socket referred to by \fIsockfd\fP had not -previously been bound to an address and, upon attempting to bind it to an -ephemeral port, it was determined that all port numbers in the ephemeral -port range are currently in use. See the discussion of -\fI/proc/sys/net/ipv4/ip_local_port_range\fP in \fBip\fP(7). +(インターネットドメインソケットの場合) \fIsockfd\fP が参照するソケットがそれ以前にアドレスにバインドされておらず、 +そのソケットに一時ポートをバインドしようとした際に、 一時ポートとして使用する範囲のポート番号がすべて使用中であった。 \fBip\fP(7) の +\fI/proc/sys/net/ipv4/ip_local_port_range\fP の議論を参照のこと。 .TP \fBEBADF\fP 引き数 \fIsockfd\fP は有効なディスクリプターでない。 diff --git a/draft/man2/recv.2 b/draft/man2/recv.2 index 0f309b33..39a10499 100644 --- a/draft/man2/recv.2 +++ b/draft/man2/recv.2 @@ -227,12 +227,10 @@ struct msghdr { .fi .in .PP -The \fImsg_name\fP field points to a caller\-allocated buffer that is used to -return the source address if the socket is unconnected. The caller should -set \fImsg_namelen\fP to the size of this buffer before this call; upon return -from a successful call, \fImsg_name\fP will contain the length of the returned -address. If the application does not need to know the source address, -\fImsg_name\fP can be specified as NULL. +フィールド \fImsg_name\fP は、 ソケットが接続されていない場合に送信元アドレスを返すのに使用されるバッファを指す。 +このバッファは呼び出し元が確保する。 呼び出し元は呼び出し前に \fImsg_namelen\fP にこのバッファの大きさを設定しなければならない。 +呼び出しが成功した場合、呼び出しから返って来た際には \fImsg_namelen\fP には返されるアドレスの長さが入っている。 +アプリケーションが送信元アドレスを知る必要がない場合には、 \fImsg_name\fP に NULL を指定することができる。 \fImsg_iov\fP と \fImsg_iovlen\fP フィールドは scatter\-gather 用の場所を指定する。 \fBreadv\fP(2) に説明がある。 diff --git a/draft/man2/recvmmsg.2 b/draft/man2/recvmmsg.2 index 3b6716bf..c34e489a 100644 --- a/draft/man2/recvmmsg.2 +++ b/draft/man2/recvmmsg.2 @@ -196,10 +196,9 @@ main(void) .SH バグ .\" FIXME https://bugzilla.kernel.org/show_bug.cgi?id=75371 .\" http://thread.gmane.org/gmane.linux.man/5677 -The \fItimeout\fP argument does not work as intended. The timeout is checked -only after the receipt of each datagram, so that if up to \fIvlen\-1\fP -datagrams are received before the timeout expires, but then no further -datagrams are received, the call will block forever. +\fItimeout\fP 引き数は意図した通りには動作しない。 タイムアウトは各データグラムの受信後にのみチェックされる。 そのため、 +タイムアウトが満了する前に \fIvlen\-1\fP 個のデータグラムを受信し、 その後全くデータグラムを受信しなかった場合、 +呼び出しはずっと停止し続けてしまう。 .SH 関連項目 \fBclock_gettime\fP(2), \fBrecvmsg\fP(2), \fBsendmmsg\fP(2), \fBsendmsg\fP(2), \fBsocket\fP(2), \fBsocket\fP(7) diff --git a/draft/man2/send.2 b/draft/man2/send.2 index f5834f64..b98ee76a 100644 --- a/draft/man2/send.2 +++ b/draft/man2/send.2 @@ -160,10 +160,9 @@ struct msghdr { .fi .in .PP -The \fImsg_name\fP field is used on an unconnected socket to specify the target -address for a datagram. It points to a buffer containing the address; the -\fImsg_name\fP field should be set to the size of the address. For a connected -socket, these fields should be specified as NULL and 0, respectively. +フィールド \fImsg_name\fP は、 未接続のソケットでデータグラムの宛先アドレスを指定するのに使用される。 +このフィールドはアドレスを格納したバッファを指す。 \fImsg_namelen\fP フィールドにはアドレスの大きさを設定しなければならない。 +接続済のソケットについては、これらのフィールドにはそれぞれ NULL と 0 を指定しなければならない。 フィールド \fBmsg_iov\fP と \fImsg_iovlen\fP は scatter\-gather 用の場所を指定する。 \fBwritev\fP(2) と同じ。 @@ -198,11 +197,9 @@ socket, these fields should be specified as NULL and 0, respectively. 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。 .TP \fBEAGAIN\fP -(Internet domain datagram sockets) The socket referred to by \fIsockfd\fP had -not previously been bound to an address and, upon attempting to bind it to -an ephemeral port, it was determined that all port numbers in the ephemeral -port range are currently in use. See the discussion of -\fI/proc/sys/net/ipv4/ip_local_port_range\fP in \fBip\fP(7). +(インターネットドメインデータグラムソケットの場合) \fIsockfd\fP が参照するソケットがそれ以前にアドレスにバインドされておらず、 +そのソケットに一時ポートをバインドしようとした際に、 一時ポートとして使用する範囲のポート番号がすべて使用中であった。 \fBip\fP(7) の +\fI/proc/sys/net/ipv4/ip_local_port_range\fP の議論を参照のこと。 .TP \fBEBADF\fP 無効なディスクリプターが指定された。 diff --git a/draft/man2/shmget.2 b/draft/man2/shmget.2 index 7f5b90c0..3516d6f2 100644 --- a/draft/man2/shmget.2 +++ b/draft/man2/shmget.2 @@ -158,7 +158,7 @@ exists, but \fIsize\fP is greater than the size of that segment. .\" SVr4 documents an additional error condition EEXIST. SVr4, POSIX.1\-2001. -\fBSHM_HUGETLB\fP and \fBSHM_NORESERVE\fP are Linux extensions. +\fBSHM_HUGETLB\fP と \fBSHM_NORESERVE\fP は Linux での拡張である。 .SH 注意 .\" Like Linux, the FreeBSD man pages still document .\" the inclusion of these header files. @@ -167,15 +167,13 @@ Linux や POSIX の全てのバージョンでは、 \fI\fP と \fI でもこれらのインクルードをするように記載されている。このような古いシステムへの移植性を意図したアプリケーションではこれらのファイルをインクルードする必要があるかもしれない。 .\" -\fBIPC_PRIVATE\fP isn't a flag field but a \fIkey_t\fP type. If this special -value is used for \fIkey\fP, the system call ignores all but the least -significant 9 bits of \fIshmflg\fP and creates a new shared memory segment. +\fBIPC_PRIVATE\fP はフラグではなく \fIkey_t\fP 型である。 この特別な値が \fIkey\fP に使用された場合は、 \fBshmget\fP() +は \fIshmflg\fP の下位 9 ビットを除いた全てを無視し、 新しい共有メモリ・セグメントを作成する。 .SS "Shared memory limits" \fBshmget\fP() コールに影響する共有メモリ・セグメント資源の制限は以下の通りである: .TP \fBSHMALL\fP -System\-wide limit on the number of shared memory pages. Since Linux 2.4, -the default value for this limit is +システム全体の共有メモリ・ページ数の上限値。 Linux 2.2 以降では、この上限値のデフォルトは以下である。 SHMMAX / PAGE_SIZE * (SHMMNI / 16) @@ -195,9 +193,8 @@ Linux では、この上限値は \fI/proc/sys/kernel/shmmax\fP 経由で参照 共有メモリ・セグメントのバイト単位の大きさの下限: 実装依存 (現在は 1 バイトだが、実質的な最小サイズは \fBPAGE_SIZE\fP である)。 .TP \fBSHMMNI\fP -System\-wide limit on the number of shared memory segments. In Linux 2.2, -the default value for this limit was 128; since Linux 2.4, the default value -is 4096. +システム全体の共有メモリ・セグメント数の上限値。 この上限値のデフォルトは、 Linux 2.2 以降では 128、 Linux 2.4 以降で +4096 である。 .\" Kernels between 2.4.x and 2.6.8 had an off-by-one error that meant .\" that we could create one more segment than SHMMNI -- MTK diff --git a/draft/man2/shmop.2 b/draft/man2/shmop.2 index 935fc2d4..113f76d6 100644 --- a/draft/man2/shmop.2 +++ b/draft/man2/shmop.2 @@ -83,7 +83,7 @@ shmat, shmdt \- System V 共有メモリ (shared memory) の操作 In addition to \fBSHM_RND\fP, the following flags may be specified in the \fIshmflg\fP bit\-mask argument: .TP -\fBSHM_EXEC\fP (Linux\-specific; since Linux 2.6.9) +\fBSHM_EXEC\fP (Linux 固有; Linux 2.6.9 以降) Allow the contents of the segment to be executed. The caller must have execute permission on the segment. .TP @@ -94,7 +94,7 @@ attached for read and write access, and the process must have read and write permission for the segment. There is no notion of a write\-only shared memory segment. .TP -\fBSHM_REMAP\fP (Linux\-specific) +\fBSHM_REMAP\fP (Linux 固有) This flag specifies that the mapping of the segment should replace any existing mapping in the range starting at \fIshmaddr\fP and continuing for the size of the segment. (Normally, an \fBEINVAL\fP error would result if a @@ -184,8 +184,7 @@ POSIX.1\-2001 ではこのような動作を指定しておらず、 他の多 .\" -- MTK, Nov 04 セグメントの境界アドレスの最小倍数。ページ境界に合ってなければならない。 現在の実装では \fBSHMLBA\fP の値は \fBPAGE_SIZE\fP である。 .PP -The implementation places no intrinsic per\-process limit on the number of -shared memory segments (\fBSHMSEG\fP). +現在の実装では、プロセスごとの 共有メモリ・セグメントの最大数 (\fBSHMSEG\fP) に関する実装依存の制限はない。 .SH 関連項目 \fBbrk\fP(2), \fBmmap\fP(2), \fBshmctl\fP(2), \fBshmget\fP(2), \fBcapabilities\fP(7), \fBshm_overview\fP(7), \fBsvipc\fP(7) diff --git a/draft/man5/proc.5 b/draft/man5/proc.5 index 4452be38..d60f3b4f 100644 --- a/draft/man5/proc.5 +++ b/draft/man5/proc.5 @@ -1495,8 +1495,7 @@ data structures. Among many other things, it is where everything from ユーザー空間ページテーブルにマッピングされているファイルと関連付けられていないページ。 .TP \fIMapped\fP %lu -Files which have been mapped into memory (with \fBmmap\fP(2)), such as -libraries. +(\fBmmap\fP(2) で) メモリにマッピングされているファイル。 ライブラリなど。 .TP \fIShmem\fP %lu (Linux 2.6.32 以降) [後で記載する] @@ -2324,11 +2323,11 @@ real\-time (queued) signal の 最大数を調整するのに使用される。 \fI/proc/sys/kernel/sched_rr_timeslice_ms\fP (Linux 3.9 以降) \fBsched_rr_get_interval\fP(2) 参照。 .TP -\fI/proc/sys/kernel/sched_rt_period_us\fP (Since Linux 2.6.25) -See \fBsched\fP(7). +\fI/proc/sys/kernel/sched_rt_period_us\fP (Linux 2.6.25 以降) +\fBsched\fP(7) 参照。 .TP -\fI/proc/sys/kernel/sched_rt_runtime_us\fP (Since Linux 2.6.25) -See \fBsched\fP(7). +\fI/proc/sys/kernel/sched_rt_runtime_us\fP (Linux 2.6.25 以降) +\fBsched\fP(7) 参照。 .TP \fI/proc/sys/kernel/sem\fP (Linux 2.4 以降) このファイルには System V IPC セマフォを制限する 4 つの値が書かれている。 これらのフィールドは次の順番に並んでいる: @@ -2592,13 +2591,13 @@ kill されるだけかもしれない。 この場合には、カーネルパ 1 個の IPC オブジェクトの形式で) フォーマットされている。 \fBsvipc\fP(7) にはこれらのファイルから分かる情報の詳細な背景が書かれている。 .TP -\fI/proc/timer_list\fP (since Linux 2.6.21) +\fI/proc/timer_list\fP (Linux 2.6.21 以降) .\" commit 289f480af87e45f7a6de6ba9b4c061c2e259fe98 This read\-only file exposes a list of all currently pending (high\-resolution) timers, all clock\-event sources, and their parameters in a human\-readable form. .TP -\fI/proc/timer_stats\fP (since Linux 2.6.21) +\fI/proc/timer_stats\fP (Linux 2.6.21 以降) .\" commit 82f67cd9fca8c8762c15ba7ed0d5747588c1e221 .\" Date: Fri Feb 16 01:28:13 2007 -0800 .\" Text largely derived from Documentation/timers/timer_stats.txt diff --git a/draft/man7/ip.7 b/draft/man7/ip.7 index efd2d622..1856fe61 100644 --- a/draft/man7/ip.7 +++ b/draft/man7/ip.7 @@ -522,14 +522,12 @@ raw ソケットに対して \fBIP_RECVERR\fP を指定すると、受信した .\" will make the IPv4 routing omit the non-local source address check on .\" output. Setting IP_TRANSPARENT requires NET_ADMIN capability. .\" http://lwn.net/Articles/252545/ -Setting this boolean option enables transparent proxying on this socket. -This socket option allows the calling application to bind to a nonlocal IP -address and operate both as a client and a server with the foreign address -as the local endpoint. NOTE: this requires that routing be set up in a way -that packets going to the foreign address are routed through the TProxy box -(i.e., the system hosting the application that employs the \fBIP_TRANSPARENT\fP -socket option). Enabling this socket option requires superuser privileges -(the \fBCAP_NET_ADMIN\fP capability). +このブール値のオプションを有効にすると、 このソケットで透過プロキシ (transparent proxy) ができるようになる。 +このソケットオプションを使うと、呼び出したアプリケーションは、 ローカルではない IP アドレスをバインドして、ローカルの端点として自分以外のアドレス +(foreign address) を持つクライアントやサーバの両方として動作できるようになる。 \fB注意\fP: +この機能が動作するためには、自分以外のアドレス宛のパケットが透過プロキシが動作するマシン (すなわちソケットオプション +\fBIP_TRANSPARENT\fP を利用するアプリケーションが動作しているシステム) 経由で転送されるように、 ルーティングが設定される必要がある。 +このソケットオプションを有効にするには、スーパーユーザ特権 (\fBCAP_NET_ADMIN\fP ケーパビリティ) が必要である。 .IP iptables の TPROXY ターゲットで透過プロキシリダイレクション (TProxy redirection) を行うには、リダイレクトされるソケットに対して @@ -607,18 +605,14 @@ the port number in a socket address is specified as 0 when calling バインドされていないデータグラムソケットに対して \fBsendto\fP(2) が呼ばれた。 .RE .IP -Allocation of ephemeral ports starts with the first number in -\fIip_local_port_range\fP and ends with the second number. If the range of -ephemeral ports is exhausted, then the relevant system call returns an error -(but see BUGS) +一時ポート (ephemeral port) に割り当てられるポート番号の範囲は、 \fIip_local_port_range\fP +の最初の数字から始まり、 2 番目の数字で終わる。 一時ポートの範囲を使い切った場合、 関連するシステムコールはエラーを返す (バグの節を参照)。 .IP .\" -Note that the port range in \fIip_local_port_range\fP should not conflict with -the ports used by masquerading (although the case is handled). Also, -arbitrary choices may cause problems with some firewall packet filters that -make assumptions about the local ports in use. The first number should be -at least greater than 1024, or better, greater than 4096, to avoid clashes -with well known ports and to minimize firewall problems. +\fIip_local_port_range\fP で指定するポート番号の範囲は、 マスカレードで用いられているポートと重なってはならない +(その場合も取り扱われるが)。 ファイアウォールのパケットフィルターが「利用中のローカルポート」 について何らかの仮定をしている場合には、 +番号を勝手に決めてしまうと問題が起きるかもしれない。 1 番目の番号は少なくとも 1024 より大きくすべきである。 +良く使われるポートとの衝突を避けたり、ファイアウォールの問題を 回避したければ、 4096 よりも大きくするほうが良いだろう。 .TP \fIip_no_pmtu_disc\fP (ブール値; デフォルト: 無効; Linux 2.2 以降) .\" Precisely: 2.1.15 diff --git a/draft/man7/packet.7 b/draft/man7/packet.7 index 8cdd5275..a0efab62 100644 --- a/draft/man7/packet.7 +++ b/draft/man7/packet.7 @@ -202,26 +202,19 @@ continued. この整数オプションを設定すると、パケットの前に追加で領域が予約される。 .TP \fBPACKET_RX_RING\fP -Create a memory\-mapped ring buffer for asynchronous packet reception. The -packet socket reserves a contiguous region of application address space, -lays it out into an array of packet slots and copies packets (up to -\fItp_snaplen\fP) into subsequent slots. Each packet is preceded by a -metadata structure similar to \fItpacket_auxdata\fP. The protocol fields -encode the offset to the data from the start of the metadata header. -\fItp_net\fP stores the offset to the network layer. If the packet socket is -of type \fBSOCK_DGRAM\fP, then \fItp_mac\fP is the same. If it is of type -\fBSOCK_RAW\fP, then that field stores the offset to the link\-layer frame. -Packet socket and application communicate the head and tail of the ring -through the \fItp_status\fP field. The packet socket owns all slots with -\fItp_status\fP equal to \fBTP_STATUS_KERNEL\fP. After filling a slot, it changes -the status of the slot to transfer ownership to the application. During -normal operation, the new \fItp_status\fP value has at least the -\fBTP_STATUS_USER\fP bit set to signal that a received packet has been stored. -When the application has finished processing a packet, it transfers -ownership of the slot back to the socket by setting \fItp_status\fP equal to -\fBTP_STATUS_KERNEL\fP. Packet sockets implement multiple variants of the -packet ring. The implementation details are described in -\fIDocumentation/networking/packet_mmap.txt\fP in the Linux kernel source tree. +非同期でのパケット受信用のメモリマップされたリングバッファを作成する。 パケットソケットはアプリケーションのアドレス空間に連続する領域を確保し、 +そこにパケットスロットの配列を構成し、 (最大 \fItp_snaplen\fP 個の) パケットを順にスロットにコピーする。 各パケットの前には +\fItpacket_auxdata\fP に似たメタデータ構造体が置かれる。 +プロトコルフィールドには、データの、メタデータヘッダーの先頭からのオフセットが入る。 \fItp_net\fP にはネットワーク層へのオフセットが格納される。 +パケットソケットが \fBSOCK_DGRAM\fP 型の場合、 \fItp_mac\fP も同じである。 \fBSOCK_RAW\fP 型の場合、 \fItp_net\fP +にはリンク層のフレームへのオフセットが入る。 パケットソケットとアプリケーションは \fItp_status\fP フィールドを通してリングの先頭 +(head) と末尾 (tail) の情報を受け渡す。 パケットソケットは \fItp_status\fP が \fBTP_STATUS_KERNEL\fP +のすべてのスロットを所有しており、 スロットにデータが入ると、 +パケットソケットはそのスロットのステータスをアプリケーションに所有権を渡す状態に変更する。 通常の動作では、 新しい \fItp_status\fP +で少なくとも \fBTP_STATUS_USER\fP ビットがセットされていれば、 受信されたパケットが格納されたことを示している。 +アプリケーションがパケットの処理を終えると、アプリケーションはそのスロットの \fBtp_status\fP を \fBTP_STATUS_KERNEL\fP +に設定し、そのスロットの所有権をソケットに返す。 パケットソケットは、複数バージョンのパケットリングを実装している。 実装の詳細は Linux +カーネルソースツリーの \fIDocumentation/networking/packet_mmap.txt\fP で説明されている。 .TP \fBPACKET_STATISTICS\fP パケットソケットの統計情報を次の構造体形式で取得する。 @@ -247,16 +240,14 @@ struct tpacket_stats { .TP \fBPACKET_TX_RING\fP (Linux 2.6.31 以降) .\" commit 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 -Create a memory\-mapped ring buffer for packet transmission. This option is -similar to \fBPACKET_RX_RING\fP and takes the same arguments. The application -writes packets into slots with \fItp_status\fP equal to \fBTP_STATUS_AVAILABLE\fP -and schedules them for transmission by changing \fItp_status\fP to -\fBTP_STATUS_SEND_REQUEST\fP. When packets are ready to be transmitted, the -application calls \fBsend\fP(2) or a variant thereof. The \fIbuf\fP and \fIlen\fP -fields of this call are ignored. If an address is passed using \fBsendto\fP(2) -or \fBsendmsg\fP(2), then that overrides the socket default. On successful -transmission, the socket resets \fItp_status\fP to \fBTP_STATUS_AVAILABLE\fP. It -immediately aborts the transmission on error unless \fBPACKET_LOSS\fP is set. +パケット送信用のメモリマップされたリングバッファを作成する。 このオプションは \fBPACKET_RX_RING\fP と同様で、同じ引き数を取る。 +アプリケーションは \fItp_status\fP が \fBTP_STATUS_AVAILABLE\fP のスロットにパケットを書き込み、 +\fItp_status\fP を \fBTP_STATUS_SEND_REQUEST\fP に変更することでそのパケットの送信を予約する。 +パケットの送信準備ができたら、アプリケーションは続けて \fBsend\fP(2) 系のシステムコールを呼び出す。 システムコールの引き数 \fIbuf\fP と +\fIlen\fP は無視される。 \fBsendto\fP(2) や \fBsendmsg\fP(2) を使ってアドレスが渡された場合、 +ソケットのデフォルト値ではなくそのアドレスが使用される。 送信に成功すると、ソケットはそのスロットの \fItp_status\fP を +\fBTP_STATUS_AVAILABLE\fP に戻す。 エラーの場合、 \fBPACKET_LOSS\fP がセットされていなければ、 +直ちに送信を中断しエラーを上げる。 .TP \fBPACKET_VERSION\fP (\fBPACKET_RX_RING\fP で使用; Linux 2.6.27 以降) .\" commit bbd6ef87c544d88c30e4b762b1b61ef267a7d279