aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man4/unix.4
blob: 968b9f25f1d3de93792d97ae3c8bff01a90db061 (plain) (tree)































                                                                              
             



























































































































                                                                      
.\" Copyright (c) 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)unix.4	8.1 (Berkeley) 6/9/93
.\" $FreeBSD$
.\"	%Id: unix.4,v 1.2 1997/03/07 02:49:37 jmg Exp %
.\"
.Dd June 9, 1993
.Dt UNIX 4
.Os
.Sh 名称
.Nm unix
.Nd UNIX ドメインプロトコルファミリ
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/un.h>
.Sh 解説
.Tn UNIX
ドメインプロトコルファミリは、通常の
.Xr socket 2
メカニズムを用いる
ローカルな (マシン上の) プロセス間通信を提供するプロトコル群です。
.Tn UNIX
ドメインファミリは
.Dv SOCK_STREAM
および
.Dv SOCK_DGRAM
ソケットタイプをサポートし、
アドレッシングにファイルシステムのパス名を使います。
.Sh アドレッシング
.Tn UNIX
ドメインのアドレスは、
最大 104 文字の可変長のファイルシステムパス名です。
インクルードファイル
.Aq Pa sys/un.h
がこのアドレスを定義しています:
.Bd -literal -offset indent
struct sockaddr_un {
u_char	sun_len;
u_char	sun_family;
char	sun_path[104];
};
.Ed
.Pp
.Xr bind 2
で
.Tn UNIX
ドメインソケットに名前をバインドすることにより、
ファイルシステムにソケットファイルが作成されます。
このファイルはソケットがクローズされても削除されません。削除には
.Xr unlink 2
を使わなければなりません。
.Pp
.Tn UNIX
ドメインプロトコルファミリは、ブロードキャストアドレッシングや
入力メッセージに対するどのような形態の
.Dq ワイルドカード
マッチングもサポート
しません。全てのアドレスは他の
.Tn UNIX
ドメインソケットの絶対あるいは相対パス名です。
また、パス名を参照するときには、
通常のファイルシステムのアクセスコントロールが適用されます。
例えば
.Xr connect 2
あるいは
.Xr sendto 2
の終点は書き込み可能
でなければなりません。
.Sh プロトコル
.Tn UNIX
ドメインプロトコルファミリは
.Dv SOCK_STREAM
および
.Dv SOCK_DGRAM
アブストラクション
をサポートするシンプルなトランスポートプロトコルから成ります。
また、
.Dv SOCK_STREAM
ソケットは、
.Xr sendmsg 2
および
.Xr recvmsg 2
へ与える引数の中の
.Ar msg_control
フィールドの使用を通じて
.Tn UNIX
ファイル記述子の通信をサポートします。
.Pp
任意の正当な記述子をメッセージ中に含めて送信可能です。
渡されるファイル記述子はインクルードファイル
.Aq Pa sys/socket.h
で定義される
.Ar struct cmsghdr
を用いて記述されます。そのメッセージの
タイプは
.Dv SCM_RIGHTS
であり、メッセージのデータ部は渡される
ファイル記述子を表現する整数の配列です。
渡される記述子の数はメッセージの length フィールドで定義されています。
length フィールドはヘッダのサイズと
ファイル記述子の配列のサイズの合計です。
.Pp
受信された記述子は、
.Xr dup 2
の呼び出しによって生成されたかのような、
送信者の記述子の
.Em 複製
です。
.Xr fcntl 2
でセットされたプロセス毎の記述子フラグは、
受信者には
.Em 渡されません。
配送を待っている、あるいは意図的に受け取られない
記述子は、終点ソケットがクローズされたときに
システムによって自動的にクローズされます。
.Sh 関連項目
.Xr socket 2 ,
.Xr intro 4
.Rs
.%T "An Introductory 4.3 BSD Interprocess Communication Tutorial"
.%B PS1
.%N 7
.Re
.Rs
.%T "An Advanced 4.3 BSD Interprocess Communication Tutorial"
.%B PS1
.%N 8
.Re