るりまサーチ

最速Rubyリファレンスマニュアル検索!
66件ヒット [1-66件を表示] (0.043秒)
トップページ > クエリ:-[x] > クエリ:SCM_RIGHTS[x]

別のキーワード

  1. socket scm_rights
  2. socket scm_ucred
  3. socket scm_creds
  4. socket scm_bintime
  5. socket scm_timestamp

ライブラリ

クラス

モジュール

キーワード

検索結果

Socket::Constants::SCM_RIGHTS -> Integer (18201.0)

Access rights.

Access rights.

Socket::AncillaryData の type として利用します。

@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header)

Socket::SCM_RIGHTS -> Integer (18201.0)

Access rights.

Access rights.

Socket::AncillaryData の type として利用します。

@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header)

Socket::AncillaryData#unix_rights -> [IO] | nil (158.0)

Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。

...Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる
ファイルディスクリプタを IO オブジェクトの配列として返します。

得られる IO オブジェクトか IO か Socket です。

この配列は Socket::AncillaryData が初期化されたときに
...
...られます。例えば BasicSocket#recvmsg を :scm_rights => true
オプションを付けて呼びだし、
SCM_RIGHTS
な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメ...
...'

# recvmsg needs :scm_rights=>true for unix_rights
s1, s2 = UNIXSocket.pair
p s1 #=> #<UNIXSocket:fd 3>
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _, ctl = s2.recvmsg(:scm_rights=>true)
p ctl
#=>...

BasicSocket#recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData] (124.0)

recvmsg(2) を用いてメッセージを受け取ります。

...渡します。今のところ :scm_right => bool
というオプションのみ利用できます。このオプションに
真を渡すと、 SCM_RIGHTS 制御メッセージを受け取ったときに、メッセージに含まれる
IO オブジェクトを生成します。詳しくは Socket:...
...たメッセージを表す文字列です。

2番目の要素は connection-less socket の場合には送り元の
アドレスが Addrinfo オブジェクトとして含まれています。
TCP のような connection-oriented socket の場合は
何が含まれているかはプラットフォ...
...す。

require 'socket'

# UnixSocket#recv_io を recvmsg で実装する例
mesg, sender_sockaddr, rflags, *controls = sock.recvmsg(:scm_rights=>true)
controls.each {|ancdata|
if ancdata.cmsg_is?(:SOCKET, :RIGHTS)
return ancdata.unix_rights[0]
end
}

@param maxmesglen 受...

Socket::AncillaryData.unix_rights(*ios) -> Socket::AncillaryData (122.0)

ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。

...ios で指定したファイルのファイルデスクリプタを
データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS
という Socket::AncillaryData オブジェクトを生成して返します。

require 'socket'

p Socket::AncillaryData.unix_rights(STDERR)
#=> #<S...
...ocket::AncillaryData: UNIX SOCKET RIGHTS 2>

@param ios IO オブジェクトの配列
@see Socket::AncillaryData#unix_rights,
Socket::Constants::SCM_RIGHTS...

絞り込み条件を変える

Socket::AncillaryData.new(family, cmsg_level, cmsg_type, cmsg_data) -> Socket::AncillaryData (118.0)

新たな Socket::AncillaryData オブジェクトを生成します。

...トコルによってこの部分の解釈は異なります。
整数、文字列、シンボルを渡します。
* Socket::SCM_RIGHTS, "SCM_RIGHTS", "RIGHTS", :SCM_RIGHTS, :RIGHTS for SOL_SOCKET
* Socket::IP_RECVTTL, "RECVTTL" and :RECVTTL for IPPROTO_IP
* Socket::IPV6_PKTINFO, "PKTINFO" and :...