総合手引 | セクション 4 | English | オプション |
struct sockaddr_un { u_char sun_len; u_char sun_family; char sun_path[104]; };
bind(2) で UNIX ドメインソケットに名前をバインドすることにより、 ファイルシステムにソケットファイルが作成されます。 このファイルはソケットがクローズされても削除されません。削除には unlink(2) を使わなければなりません。
UNIX ドメインプロトコルファミリは、ブロードキャストアドレッシングや 入力メッセージに対するどのような形態の "ワイルドカード" マッチングもサポート しません。全てのアドレスは他の UNIX ドメインソケットの絶対あるいは相対パス名です。 また、パス名を参照するときには、 通常のファイルシステムのアクセスコントロールが適用されます。 例えば connect(2) あるいは sendto(2) の終点は書き込み可能 でなければなりません。
任意の正当な記述子をメッセージ中に含めて送信可能です。 渡されるファイル記述子はインクルードファイル < sys/socket.h> で定義される struct cmsghdr を用いて記述されます。そのメッセージの タイプは SCM_RIGHTS であり、メッセージのデータ部は渡される ファイル記述子を表現する整数の配列です。 渡される記述子の数はメッセージの length フィールドで定義されています。 length フィールドはヘッダのサイズと ファイル記述子の配列のサイズの合計です。
受信された記述子は、 dup(2) の呼び出しによって生成されたかのような、 送信者の記述子の 複製 です。 fcntl(2) でセットされたプロセス毎の記述子フラグは、 受信者には 渡されません。 配送を待っている、あるいは意図的に受け取られない 記述子は、終点ソケットがクローズされたときに システムによって自動的にクローズされます。
PS1, 7, An Introductory 4.3 BSD Interprocess Communication Tutorial,
PS1, 8, An Advanced 4.3 BSD Interprocess Communication Tutorial,
UNIX (4) | June 9, 1993 |
総合手引 | セクション 4 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | When people say "Drive safe!" I'm like no, a safe is for keeping money, I drive car. | ” |
— Artur Bagyants |