names=new
visibility=public
kind=defined

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

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

family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
 * Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
 * Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
 * など

cmsg_level にはメッセージの元となるプロトコルを指定します。
整数、文字列、シンボルを渡します。
 * Socket::SOL_SOCKET, "SOL_SOCKET", "SOCKET", :SOL_SOCKET and :SOCKET
 * Socket::IPPROTO_IP, "IP" and :IP
 * Socket::IPPROTO_IPV6, "IPV6" and :IPV6
 * Socket::IPPROTO_TCP, "TCP" and :TCP
 * など

cmsg_type は補助データの種類を指定します。
cmsg_level で指定したプロトコルによってこの部分の解釈は異なります。
整数、文字列、シンボルを渡します。
 * 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 :PKTINFO for IPPROTO_IPV6
 * など

cmsg_data には補助データの内容となる文字列を渡します

  p Socket::AncillaryData.new(:INET, :TCP, :NODELAY, "")
  #=> #<Socket::AncillaryData: INET TCP NODELAY "">
  
  p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
  #=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO "">

@param family ソケットファミリー
@param cmsg_level プロトコル
@param cmsg_type 補助データの種類
@param cmsg_data データ内容


