ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
ÿØÿà JFIF ÿÛ „
(
%!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ
ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ
ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ
? ¼QxJQaÍuò¸Zö
Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
????????????????????????????????????
????????????????????????????????????
ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
ÿØÿà JFIF ÿÛ „
(
%!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ
ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ
ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ
? ¼QxJQaÍuò¸Zö
Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
????????????????????????????????????
????????????????????????????????????
U:RDoc::NormalClass[iI"Socket:ET@I"BasicSocket;To:RDoc::Markup::Document:@parts[ o;;[ :
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0o;;[ ; I"ext/socket/lib/socket.rb;T;
0o;;[4o:RDoc::Markup::Paragraph;[I"GClass +Socket+ provides access to the underlying operating system ;TI"Nsocket implementations. It can be used to provide more operating system ;TI"Fspecific functionality than the protocol-specific socket classes.;To:RDoc::Markup::BlankLine o;;[ I"JThe constants defined under Socket::Constants are also defined under ;TI"@Socket. For example, Socket::AF_INET is usable as well as ;TI"HSocket::Constants::AF_INET. See Socket::Constants for the list of ;TI"constants.;T@S:RDoc::Markup::Heading:
leveli: textI"What's a socket?;T@o;;[ I"ESockets are endpoints of a bidirectional communication channel. ;TI"MSockets can communicate within a process, between processes on the same ;TI"Mmachine or between different machines. There are many types of socket: ;TI"4TCPSocket, UDPSocket or UNIXSocket for example.;T@o;;[I"'Sockets have their own vocabulary:;T@o;;[I"*domain:* ;TI"The family of protocols:;To:RDoc::Markup::List:
@type:BULLET:@items[ o:RDoc::Markup::ListItem:@label0;[o;;[I"Socket::PF_INET;To;;0;[o;;[I"Socket::PF_INET6;To;;0;[o;;[I"Socket::PF_UNIX;To;;0;[o;;[I" etc.;T@o;;[I"
*type:* ;TI"DThe type of communications between the two endpoints, typically;To;;;;[o;;0;[o;;[I"Socket::SOCK_STREAM;To;;0;[o;;[I"Socket::SOCK_DGRAM.;T@o;;[I"*protocol:* ;TI"Typically _zero_. ;TI":This may be used to identify a variant of a protocol.;T@o;;[I"*hostname:* ;TI"+The identifier of a network interface:;To;;;;[o;;0;[o;;[I"=a string (hostname, IPv4 or IPv6 address or +broadcast+ ;TI")which specifies a broadcast address);To;;0;[o;;[I"4a zero-length string which specifies INADDR_ANY;To;;0;[o;;[I"Can integer (interpreted as binary address in host byte order).;T@S;
;i;I"Quick start;T@o;;[I"FMany of the classes, such as TCPSocket, UDPSocket or UNIXSocket, ;TI"Uease the use of sockets comparatively to the equivalent C programming interface.;T@o;;[I"PLet's create an internet socket using the IPv4 protocol in a C-like manner:;T@o:RDoc::Markup::Verbatim;[ I"require 'socket'
;TI"
;TI"9s = Socket.new Socket::AF_INET, Socket::SOCK_STREAM
;TI":s.connect Socket.pack_sockaddr_in(80, 'example.com')
;T:@format0o;;[I",You could also use the TCPSocket class:;T@o;;[I")s = TCPSocket.new 'example.com', 80
;T;0o;;[I"*A simple server might look like this:;T@o;;[I"require 'socket'
;TI"
;TI"=server = TCPServer.new 2000 # Server bound to port 2000
;TI"
;TI"
loop do
;TI"@ client = server.accept # Wait for a client to connect
;TI" client.puts "Hello !"
;TI") client.puts "Time is #{Time.now}"
;TI" client.close
;TI" end
;T;0o;;[I"(A simple client may look like this:;T@o;;[I"require 'socket'
;TI"
;TI")s = TCPSocket.new 'localhost', 2000
;TI"
;TI"2while line = s.gets # Read lines from socket
;TI"* puts line # and print them
;TI" end
;TI"
;TI"2s.close # close socket when done
;T;0S;
;i;I"Exception Handling;T@o;;[I"GRuby's Socket implementation raises exceptions based on the error ;TI"Hgenerated by the system dependent implementation. This is why the ;TI"Dmethods are documented in a way that isolate Unix-based system ;TI"Hexceptions from Windows based exceptions. If more information on a ;TI"Nparticular exception is needed, please refer to the Unix manual pages or ;TI"#the Windows WinSock reference.;T@S;
;i;I"Convenience methods;T@o;;[I">Although the general way to create socket is Socket.new, ;TI"Athere are several methods of socket creation for most cases.;T@o;;: NOTE;[ o;;[I"TCP client socket;T;[o;;[I"Socket.tcp, TCPSocket.open;To;;[I"TCP server socket;T;[o;;[I"+Socket.tcp_server_loop, TCPServer.open;To;;[I"UNIX client socket;T;[o;;[I"!Socket.unix, UNIXSocket.open;To;;[I"UNIX server socket;T;[o;;[I"-Socket.unix_server_loop, UNIXServer.open;T@S;
;i;I"Documentation by;T@o;;;;[o;;0;[o;;[I"Zach Dennis;To;;0;[o;;[I"Sam Roberts;To;;0;[o;;[I"<Programming Ruby from The Pragmatic Bookshelf.;T@o;;[I"GMuch material in this documentation is taken with permission from ;TI"<Programming Ruby from The Pragmatic Bookshelf.;T; I"ext/socket/socket.c;T;
0o;;[ ; I"lib/ipaddr.rb;T;
0; 0;
0[ [U:RDoc::Constant[i I"SOCK_STREAM;TI"Socket::SOCK_STREAM;T:public0o;;[o;;[I"XA stream socket provides a sequenced, reliable two-way connection for a byte stream;T@; I"ext/socket/constdefs.c;T;
0@@cRDoc::NormalClass0U;[i I"SOCK_DGRAM;TI"Socket::SOCK_DGRAM;T;0o;;[o;;[I"DA datagram socket provides connectionless, unreliable messaging;T@; @;
0@@@0U;[i I"
SOCK_RAW;TI"Socket::SOCK_RAW;T;0o;;[o;;[I"_A raw socket provides low-level access for direct access or implementing network protocols;T@; @;
0@@@0U;[i I"
SOCK_RDM;TI"Socket::SOCK_RDM;T;0o;;[o;;[I"FA reliable datagram socket provides reliable delivery of messages;T@; @;
0@@@0U;[i I"SOCK_SEQPACKET;TI"Socket::SOCK_SEQPACKET;T;0o;;[o;;[I"]A sequential packet socket provides sequenced, reliable two-way connection for datagrams;T@; @;
0@@@0U;[i I"SOCK_PACKET;TI"Socket::SOCK_PACKET;T;0o;;[o;;[I"Device-level packet access;T@; @;
0@@@0U;[i I"SOCK_NONBLOCK;TI"Socket::SOCK_NONBLOCK;T;0o;;[o;;[I"|\Set the O_NONBLOCK file status flag on the open file description (see open(2)) referred to by the new file descriptor.;T@; @;
0@@@0U;[i I"SOCK_CLOEXEC;TI"Socket::SOCK_CLOEXEC;T;0o;;[o;;[I"J\Set the close-on-exec (FD_CLOEXEC) flag on the new file descriptor.;T@; @;
0@@@0U;[i I"AF_UNSPEC;TI"Socket::AF_UNSPEC;T;0o;;[o;;[I"7Unspecified protocol, any supported address family;T@; @;
0@@@0U;[i I"PF_UNSPEC;TI"Socket::PF_UNSPEC;T;0o;;[o;;[I"7Unspecified protocol, any supported address family;T@; @;
0@@@0U;[i I"AF_INET;TI"Socket::AF_INET;T;0o;;[o;;[I"IPv4 protocol;T@; @;
0@@@0U;[i I"PF_INET;TI"Socket::PF_INET;T;0o;;[o;;[I"IPv4 protocol;T@; @;
0@@@0U;[i I"
AF_INET6;TI"Socket::AF_INET6;T;0o;;[o;;[I"IPv6 protocol;T@; @;
0@@@0U;[i I"
PF_INET6;TI"Socket::PF_INET6;T;0o;;[o;;[I"IPv6 protocol;T@; @;
0@@@0U;[i I"AF_UNIX;TI"Socket::AF_UNIX;T;0o;;[o;;[I"UNIX sockets;T@; @;
0@@@0U;[i I"PF_UNIX;TI"Socket::PF_UNIX;T;0o;;[o;;[I"UNIX sockets;T@; @;
0@@@0U;[i I"AF_AX25;TI"Socket::AF_AX25;T;0o;;[o;;[I"AX.25 protocol;T@; @;
0@@@0U;[i I"PF_AX25;TI"Socket::PF_AX25;T;0o;;[o;;[I"AX.25 protocol;T@; @;
0@@@0U;[i I"AF_IPX;TI"Socket::AF_IPX;T;0o;;[o;;[I"IPX protocol;T@; @;
0@@@0U;[i I"PF_IPX;TI"Socket::PF_IPX;T;0o;;[o;;[I"IPX protocol;T@; @;
0@@@0U;[i I"AF_APPLETALK;TI"Socket::AF_APPLETALK;T;0o;;[o;;[I"AppleTalk protocol;T@; @;
0@@@0U;[i I"PF_APPLETALK;TI"Socket::PF_APPLETALK;T;0o;;[o;;[I"AppleTalk protocol;T@; @;
0@@@0U;[i I"
AF_LOCAL;TI"Socket::AF_LOCAL;T;0o;;[o;;[I"Host-internal protocols;T@; @;
0@@@0U;[i I"
PF_LOCAL;TI"Socket::PF_LOCAL;T;0o;;[o;;[I"Host-internal protocols;T@; @;
0@@@0U;[i I"AF_IMPLINK;TI"Socket::AF_IMPLINK;T;0o;;[o;;[I"ARPANET IMP protocol;T@; @;
0@@@0U;[i I"PF_IMPLINK;TI"Socket::PF_IMPLINK;T;0o;;[o;;[I"ARPANET IMP protocol;T@; @;
0@@@0U;[i I"AF_PUP;TI"Socket::AF_PUP;T;0o;;[o;;[I"#PARC Universal Packet protocol;T@; @;
0@@@0U;[i I"PF_PUP;TI"Socket::PF_PUP;T;0o;;[o;;[I"#PARC Universal Packet protocol;T@; @;
0@@@0U;[i I"
AF_CHAOS;TI"Socket::AF_CHAOS;T;0o;;[o;;[I"MIT CHAOS protocols;T@; @;
0@@@0U;[i I"
PF_CHAOS;TI"Socket::PF_CHAOS;T;0o;;[o;;[I"MIT CHAOS protocols;T@; @;
0@@@0U;[i I"
AF_NS;TI"Socket::AF_NS;T;0o;;[o;;[I"XEROX NS protocols;T@; @;
0@@@0U;[i I"
PF_NS;TI"Socket::PF_NS;T;0o;;[o;;[I"XEROX NS protocols;T@; @;
0@@@0U;[i I"AF_ISO;TI"Socket::AF_ISO;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@; @;
0@@@0U;[i I"PF_ISO;TI"Socket::PF_ISO;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@; @;
0@@@0U;[i I"AF_OSI;TI"Socket::AF_OSI;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@; @;
0@@@0U;[i I"PF_OSI;TI"Socket::PF_OSI;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@; @;
0@@@0U;[i I"AF_ECMA;TI"Socket::AF_ECMA;T;0o;;[o;;[I".European Computer Manufacturers protocols;T@; @;
0@@@0U;[i I"PF_ECMA;TI"Socket::PF_ECMA;T;0o;;[o;;[I".European Computer Manufacturers protocols;T@; @;
0@@@0U;[i I"AF_DATAKIT;TI"Socket::AF_DATAKIT;T;0o;;[o;;[I"Datakit protocol;T@; @;
0@@@0U;[i I"PF_DATAKIT;TI"Socket::PF_DATAKIT;T;0o;;[o;;[I"Datakit protocol;T@; @;
0@@@0U;[i I"
AF_CCITT;TI"Socket::AF_CCITT;T;0o;;[o;;[I" CCITT (now ITU-T) protocols;T@; @;
0@@@0U;[i I"
PF_CCITT;TI"Socket::PF_CCITT;T;0o;;[o;;[I" CCITT (now ITU-T) protocols;T@; @;
0@@@0U;[i I"AF_SNA;TI"Socket::AF_SNA;T;0o;;[o;;[I"IBM SNA protocol;T@; @;
0@@@0U;[i I"PF_SNA;TI"Socket::PF_SNA;T;0o;;[o;;[I"IBM SNA protocol;T@; @;
0@@@0U;[i I"AF_DEC;TI"Socket::AF_DEC;T;0o;;[o;;[I"DECnet protocol;T@; @;
0@@@0U;[i I"PF_DEC;TI"Socket::PF_DEC;T;0o;;[o;;[I"DECnet protocol;T@; @;
0@@@0U;[i I"AF_DECnet;TI"Socket::AF_DECnet;T;0o;;[o;;[I"DECnet protocol;T@; @;
0@@@0U;[i I"PF_DECnet;TI"Socket::PF_DECnet;T;0o;;[o;;[I"DECnet protocol;T@; @;
0@@@0U;[i I"AF_DLI;TI"Socket::AF_DLI;T;0o;;[o;;[I"-DEC Direct \Data Link Interface protocol;T@; @;
0@@@0U;[i I"PF_DLI;TI"Socket::PF_DLI;T;0o;;[o;;[I"-DEC Direct \Data Link Interface protocol;T@; @;
0@@@0U;[i I"AF_LAT;TI"Socket::AF_LAT;T;0o;;[o;;[I""Local Area Transport protocol;T@; @;
0@@@0U;[i I"PF_LAT;TI"Socket::PF_LAT;T;0o;;[o;;[I""Local Area Transport protocol;T@; @;
0@@@0U;[i I"AF_HYLINK;TI"Socket::AF_HYLINK;T;0o;;[o;;[I"NSC Hyperchannel protocol;T@; @;
0@@@0U;[i I"PF_HYLINK;TI"Socket::PF_HYLINK;T;0o;;[o;;[I"NSC Hyperchannel protocol;T@; @;
0@@@0U;[i I"
AF_ROUTE;TI"Socket::AF_ROUTE;T;0o;;[o;;[I"Internal routing protocol;T@; @;
0@@@0U;[i I"
PF_ROUTE;TI"Socket::PF_ROUTE;T;0o;;[o;;[I"Internal routing protocol;T@; @;
0@@@0U;[i I"AF_LINK;TI"Socket::AF_LINK;T;0o;;[o;;[I"Link layer interface;T@; @;
0@@@0U;[i I"PF_LINK;TI"Socket::PF_LINK;T;0o;;[o;;[I"Link layer interface;T@; @;
0@@@0U;[i I"AF_COIP;TI"Socket::AF_COIP;T;0o;;[o;;[I"Connection-oriented IP;T@; @;
0@@@0U;[i I"PF_COIP;TI"Socket::PF_COIP;T;0o;;[o;;[I"Connection-oriented IP;T@; @;
0@@@0U;[i I"AF_CNT;TI"Socket::AF_CNT;T;0o;;[o;;[I" Computer Network Technology;T@; @;
0@@@0U;[i I"PF_CNT;TI"Socket::PF_CNT;T;0o;;[o;;[I" Computer Network Technology;T@; @;
0@@@0U;[i I"AF_SIP;TI"Socket::AF_SIP;T;0o;;[o;;[I"Simple Internet Protocol;T@; @;
0@@@0U;[i I"PF_SIP;TI"Socket::PF_SIP;T;0o;;[o;;[I"Simple Internet Protocol;T@; @;
0@@@0U;[i I"AF_NDRV;TI"Socket::AF_NDRV;T;0o;;[o;;[I"Network driver raw access;T@; @;
0@@@0U;[i I"PF_NDRV;TI"Socket::PF_NDRV;T;0o;;[o;;[I"Network driver raw access;T@; @;
0@@@0U;[i I"AF_ISDN;TI"Socket::AF_ISDN;T;0o;;[o;;[I"(Integrated Services Digital Network;T@; @;
0@@@0U;[i I"PF_ISDN;TI"Socket::PF_ISDN;T;0o;;[o;;[I"(Integrated Services Digital Network;T@; @;
0@@@0U;[i I"AF_NATM;TI"Socket::AF_NATM;T;0o;;[o;;[I"Native ATM access;T@; @;
0@@@0U;[i I"PF_NATM;TI"Socket::PF_NATM;T;0o;;[o;;[I"Native ATM access;T@; @;
0@@@0U;[i I"AF_SYSTEM;TI"Socket::AF_SYSTEM;T;0o;;[o;;[I"\Kernel event messages;T@; @;
0@@@0U;[i I"PF_SYSTEM;TI"Socket::PF_SYSTEM;T;0o;;[o;;[I"\Kernel event messages;T@; @;
0@@@0U;[i I"AF_NETBIOS;TI"Socket::AF_NETBIOS;T;0o;;[o;;[I"NetBIOS;T@; @;
0@@@0U;[i I"PF_NETBIOS;TI"Socket::PF_NETBIOS;T;0o;;[o;;[I"NetBIOS;T@; @;
0@@@0U;[i I"AF_PPP;TI"Socket::AF_PPP;T;0o;;[o;;[I"Point-to-Point Protocol;T@; @;
0@@@0U;[i I"PF_PPP;TI"Socket::PF_PPP;T;0o;;[o;;[I"Point-to-Point Protocol;T@; @;
0@@@0U;[i I"AF_ATM;TI"Socket::AF_ATM;T;0o;;[o;;[I"Asynchronous Transfer Mode;T@; @;
0@@@0U;[i I"PF_ATM;TI"Socket::PF_ATM;T;0o;;[o;;[I"Asynchronous Transfer Mode;T@; @;
0@@@0U;[i I"AF_NETGRAPH;TI"Socket::AF_NETGRAPH;T;0o;;[o;;[I"Netgraph sockets;T@; @;
0@@@0U;[i I"PF_NETGRAPH;TI"Socket::PF_NETGRAPH;T;0o;;[o;;[I"Netgraph sockets;T@; @;
0@@@0U;[i I"AF_MAX;TI"Socket::AF_MAX;T;0o;;[o;;[I"-Maximum address family for this platform;T@; @;
0@@@0U;[i I"PF_MAX;TI"Socket::PF_MAX;T;0o;;[o;;[I"-Maximum address family for this platform;T@; @;
0@@@0U;[i I"AF_PACKET;TI"Socket::AF_PACKET;T;0o;;[o;;[I"Direct link-layer access;T@; @;
0@@@0U;[i I"PF_PACKET;TI"Socket::PF_PACKET;T;0o;;[o;;[I"Direct link-layer access;T@; @;
0@@@0U;[i I"AF_E164;TI"Socket::AF_E164;T;0o;;[o;;[I"'CCITT (ITU-T) E.164 recommendation;T@; @;
0@@@0U;[i I"PF_XTP;TI"Socket::PF_XTP;T;0o;;[o;;[I"eXpress Transfer Protocol;T@; @;
0@@@0U;[i I"PF_RTIP;TI"Socket::PF_RTIP;T;0o;;[o;;[I"Help Identify RTIP packets;T@; @;
0@@@0U;[i I"PF_PIP;TI"Socket::PF_PIP;T;0o;;[o;;[I"Help Identify PIP packets;T@; @;
0@@@0U;[i I"AF_KEY;TI"Socket::AF_KEY;T;0o;;[o;;[I"GKey management protocol, originally developed for usage with IPsec;T@; @;
0@@@0U;[i I"PF_KEY;TI"Socket::PF_KEY;T;0o;;[o;;[I"GKey management protocol, originally developed for usage with IPsec;T@; @;
0@@@0U;[i I"AF_NETLINK;TI"Socket::AF_NETLINK;T;0o;;[o;;[I""\Kernel user interface device;T@; @;
0@@@0U;[i I"PF_NETLINK;TI"Socket::PF_NETLINK;T;0o;;[o;;[I""\Kernel user interface device;T@; @;
0@@@0U;[i I"AF_RDS;TI"Socket::AF_RDS;T;0o;;[o;;[I"-Reliable Datagram Sockets (RDS) protocol;T@; @;
0@@@0U;[i I"PF_RDS;TI"Socket::PF_RDS;T;0o;;[o;;[I"-Reliable Datagram Sockets (RDS) protocol;T@; @;
0@@@0U;[i I"
AF_PPPOX;TI"Socket::AF_PPPOX;T;0o;;[o;;[I"LGeneric PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE);T@; @;
0@@@0U;[i I"
PF_PPPOX;TI"Socket::PF_PPPOX;T;0o;;[o;;[I"LGeneric PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE);T@; @;
0@@@0U;[i I"AF_LLC;TI"Socket::AF_LLC;T;0o;;[o;;[I"4Logical link control (IEEE 802.2 LLC) protocol;T@; @;
0@@@0U;[i I"PF_LLC;TI"Socket::PF_LLC;T;0o;;[o;;[I"4Logical link control (IEEE 802.2 LLC) protocol;T@; @;
0@@@0U;[i I"
AF_IB;TI"Socket::AF_IB;T;0o;;[o;;[I"!InfiniBand native addressing;T@; @;
0@@@0U;[i I"
PF_IB;TI"Socket::PF_IB;T;0o;;[o;;[I"!InfiniBand native addressing;T@; @;
0@@@0U;[i I"AF_MPLS;TI"Socket::AF_MPLS;T;0o;;[o;;[I""Multiprotocol Label Switching;T@; @;
0@@@0U;[i I"PF_MPLS;TI"Socket::PF_MPLS;T;0o;;[o;;[I""Multiprotocol Label Switching;T@; @;
0@@@0U;[i I"AF_CAN;TI"Socket::AF_CAN;T;0o;;[o;;[I"4Controller Area Network automotive bus protocol;T@; @;
0@@@0U;[i I"PF_CAN;TI"Socket::PF_CAN;T;0o;;[o;;[I"4Controller Area Network automotive bus protocol;T@; @;
0@@@0U;[i I"AF_TIPC;TI"Socket::AF_TIPC;T;0o;;[o;;[I",TIPC, "cluster domain sockets" protocol;T@; @;
0@@@0U;[i I"PF_TIPC;TI"Socket::PF_TIPC;T;0o;;[o;;[I",TIPC, "cluster domain sockets" protocol;T@; @;
0@@@0U;[i I"AF_BLUETOOTH;TI"Socket::AF_BLUETOOTH;T;0o;;[o;;[I"(Bluetooth low-level socket protocol;T@; @;
0@@@0U;[i I"PF_BLUETOOTH;TI"Socket::PF_BLUETOOTH;T;0o;;[o;;[I"(Bluetooth low-level socket protocol;T@; @;
0@@@0U;[i I"AF_ALG;TI"Socket::AF_ALG;T;0o;;[o;;[I"#Interface to kernel crypto API;T@; @;
0@@@0U;[i I"PF_ALG;TI"Socket::PF_ALG;T;0o;;[o;;[I"#Interface to kernel crypto API;T@; @;
0@@@0U;[i I"
AF_VSOCK;TI"Socket::AF_VSOCK;T;0o;;[o;;[I"UVSOCK (originally "VMWare VSockets") protocol for hypervisor-guest communication;T@; @;
0@@@0U;[i I"
PF_VSOCK;TI"Socket::PF_VSOCK;T;0o;;[o;;[I"UVSOCK (originally "VMWare VSockets") protocol for hypervisor-guest communication;T@; @;
0@@@0U;[i I"AF_KCM;TI"Socket::AF_KCM;T;0o;;[o;;[I"2KCM (kernel connection multiplexor) interface;T@; @;
0@@@0U;[i I"PF_KCM;TI"Socket::PF_KCM;T;0o;;[o;;[I"2KCM (kernel connection multiplexor) interface;T@; @;
0@@@0U;[i I"AF_XDP;TI"Socket::AF_XDP;T;0o;;[o;;[I"&XDP (express data path) interface;T@; @;
0@@@0U;[i I"PF_XDP;TI"Socket::PF_XDP;T;0o;;[o;;[I"&XDP (express data path) interface;T@; @;
0@@@0U;[i I"MSG_OOB;TI"Socket::MSG_OOB;T;0o;;[o;;[I"\Process out-of-band data;T@; @;
0@@@0U;[i I"
MSG_PEEK;TI"Socket::MSG_PEEK;T;0o;;[o;;[I"Peek at incoming message;T@; @;
0@@@0U;[i I"MSG_DONTROUTE;TI"Socket::MSG_DONTROUTE;T;0o;;[o;;[I"*Send without using the routing tables;T@; @;
0@@@0U;[i I"MSG_EOR;TI"Socket::MSG_EOR;T;0o;;[o;;[I"\Data completes record;T@; @;
0@@@0U;[i I"MSG_TRUNC;TI"Socket::MSG_TRUNC;T;0o;;[o;;[I"$\Data discarded before delivery;T@; @;
0@@@0U;[i I"MSG_CTRUNC;TI"Socket::MSG_CTRUNC;T;0o;;[o;;[I"&Control data lost before delivery;T@; @;
0@@@0U;[i I"MSG_WAITALL;TI"Socket::MSG_WAITALL;T;0o;;[o;;[I"#Wait for full request or error;T@; @;
0@@@0U;[i I"MSG_DONTWAIT;TI"Socket::MSG_DONTWAIT;T;0o;;[o;;[I"(This message should be non-blocking;T@; @;
0@@@0U;[i I"MSG_EOF;TI"Socket::MSG_EOF;T;0o;;[o;;[I"\Data completes connection;T@; @;
0@@@0U;[i I"MSG_FLUSH;TI"Socket::MSG_FLUSH;T;0o;;[o;;[I"0Start of a hold sequence. Dumps to so_temp;T@; @;
0@@@0U;[i I"
MSG_HOLD;TI"Socket::MSG_HOLD;T;0o;;[o;;[I"Hold fragment in so_temp;T@; @;
0@@@0U;[i I"
MSG_SEND;TI"Socket::MSG_SEND;T;0o;;[o;;[I"Send the packet in so_temp;T@; @;
0@@@0U;[i I"MSG_HAVEMORE;TI"Socket::MSG_HAVEMORE;T;0o;;[o;;[I"\Data ready to be read;T@; @;
0@@@0U;[i I"MSG_RCVMORE;TI"Socket::MSG_RCVMORE;T;0o;;[o;;[I"(\Data remains in the current packet;T@; @;
0@@@0U;[i I"MSG_COMPAT;TI"Socket::MSG_COMPAT;T;0o;;[o;;[I"End of record;T@; @;
0@@@0U;[i I"MSG_PROXY;TI"Socket::MSG_PROXY;T;0o;;[o;;[I"Wait for full request;T@; @;
0@@@0U;[i I"MSG_FIN;TI"Socket::MSG_FIN;T;0o;;[o;;[I"MSG_FIN;T@; @;
0@@@0U;[i I"MSG_SYN;TI"Socket::MSG_SYN;T;0o;;[o;;[I"MSG_SYN;T@; @;
0@@@0U;[i I"MSG_CONFIRM;TI"Socket::MSG_CONFIRM;T;0o;;[o;;[I"Confirm path validity;T@; @;
0@@@0U;[i I"MSG_RST;TI"Socket::MSG_RST;T;0o;;[o;;[I"MSG_RST;T@; @;
0@@@0U;[i I"MSG_ERRQUEUE;TI"Socket::MSG_ERRQUEUE;T;0o;;[o;;[I"#Fetch message from error queue;T@; @;
0@@@0U;[i I"MSG_NOSIGNAL;TI"Socket::MSG_NOSIGNAL;T;0o;;[o;;[I"Do not generate SIGPIPE;T@; @;
0@@@0U;[i I"
MSG_MORE;TI"Socket::MSG_MORE;T;0o;;[o;;[I"Sender will send more;T@; @;
0@@@0U;[i I"MSG_FASTOPEN;TI"Socket::MSG_FASTOPEN;T;0o;;[o;;[I")Reduce step of the handshake process;T@; @;
0@@@0U;[i I"SOL_SOCKET;TI"Socket::SOL_SOCKET;T;0o;;[o;;[I"\Socket-level options;T@; @;
0@@@0U;[i I"SOL_IP;TI"Socket::SOL_IP;T;0o;;[o;;[I"IP socket options;T@; @;
0@@@0U;[i I"SOL_IPX;TI"Socket::SOL_IPX;T;0o;;[o;;[I"IPX socket options;T@; @;
0@@@0U;[i I"
SOL_AX25;TI"Socket::SOL_AX25;T;0o;;[o;;[I"AX.25 socket options;T@; @;
0@@@0U;[i I"SOL_ATALK;TI"Socket::SOL_ATALK;T;0o;;[o;;[I"AppleTalk socket options;T@; @;
0@@@0U;[i I"SOL_TCP;TI"Socket::SOL_TCP;T;0o;;[o;;[I"TCP socket options;T@; @;
0@@@0U;[i I"SOL_UDP;TI"Socket::SOL_UDP;T;0o;;[o;;[I"UDP socket options;T@; @;
0@@@0U;[i I"IPPROTO_IP;TI"Socket::IPPROTO_IP;T;0o;;[o;;[I"Dummy protocol for IP;T@; @;
0@@@0U;[i I"IPPROTO_ICMP;TI"Socket::IPPROTO_ICMP;T;0o;;[o;;[I"Control message protocol;T@; @;
0@@@0U;[i I"IPPROTO_IGMP;TI"Socket::IPPROTO_IGMP;T;0o;;[o;;[I"Group Management Protocol;T@; @;
0@@@0U;[i I"IPPROTO_GGP;TI"Socket::IPPROTO_GGP;T;0o;;[o;;[I" Gateway to Gateway Protocol;T@; @;
0@@@0U;[i I"IPPROTO_TCP;TI"Socket::IPPROTO_TCP;T;0o;;[o;;[I"TCP;T@; @;
0@@@0U;[i I"IPPROTO_EGP;TI"Socket::IPPROTO_EGP;T;0o;;[o;;[I"Exterior Gateway Protocol;T@; @;
0@@@0U;[i I"IPPROTO_PUP;TI"Socket::IPPROTO_PUP;T;0o;;[o;;[I"#PARC Universal Packet protocol;T@; @;
0@@@0U;[i I"IPPROTO_UDP;TI"Socket::IPPROTO_UDP;T;0o;;[o;;[I"UDP;T@; @;
0@@@0U;[i I"IPPROTO_IDP;TI"Socket::IPPROTO_IDP;T;0o;;[o;;[I"XNS IDP;T@; @;
0@@@0U;[i I"IPPROTO_HELLO;TI"Socket::IPPROTO_HELLO;T;0o;;[o;;[I""hello" routing protocol;T@; @;
0@@@0U;[i I"IPPROTO_ND;TI"Socket::IPPROTO_ND;T;0o;;[o;;[I"Sun net disk protocol;T@; @;
0@@@0U;[i I"IPPROTO_TP;TI"Socket::IPPROTO_TP;T;0o;;[o;;[I"#ISO transport protocol class 4;T@; @;
0@@@0U;[i I"IPPROTO_XTP;TI"Socket::IPPROTO_XTP;T;0o;;[o;;[I"Xpress Transport Protocol;T@; @;
0@@@0U;[i I"IPPROTO_EON;TI"Socket::IPPROTO_EON;T;0o;;[o;;[I"
ISO cnlp;T@; @;
0@@@0U;[i I"IPPROTO_BIP;TI"Socket::IPPROTO_BIP;T;0o;;[o;;[I"IPPROTO_BIP;T@; @;
0@@@0U;[i I"IPPROTO_AH;TI"Socket::IPPROTO_AH;T;0o;;[o;;[I"IP6 auth header;T@; @;
0@@@0U;[i I"IPPROTO_DSTOPTS;TI"Socket::IPPROTO_DSTOPTS;T;0o;;[o;;[I"IP6 destination option;T@; @;
0@@@0U;[i I"IPPROTO_ESP;TI"Socket::IPPROTO_ESP;T;0o;;[o;;[I"&IP6 Encapsulated Security Payload;T@; @;
0@@@0U;[i I"IPPROTO_FRAGMENT;TI"Socket::IPPROTO_FRAGMENT;T;0o;;[o;;[I"IP6 fragmentation header;T@; @;
0@@@0U;[i I"IPPROTO_HOPOPTS;TI"Socket::IPPROTO_HOPOPTS;T;0o;;[o;;[I"IP6 hop-by-hop options;T@; @;
0@@@0U;[i I"IPPROTO_ICMPV6;TI"Socket::IPPROTO_ICMPV6;T;0o;;[o;;[I"
ICMP6;T@; @;
0@@@0U;[i I"IPPROTO_IPV6;TI"Socket::IPPROTO_IPV6;T;0o;;[o;;[I"IP6 header;T@; @;
0@@@0U;[i I"IPPROTO_NONE;TI"Socket::IPPROTO_NONE;T;0o;;[o;;[I"IP6 no next header;T@; @;
0@@@0U;[i I"IPPROTO_ROUTING;TI"Socket::IPPROTO_ROUTING;T;0o;;[o;;[I"IP6 routing header;T@; @;
0@@@0U;[i I"IPPROTO_RAW;TI"Socket::IPPROTO_RAW;T;0o;;[o;;[I"Raw IP packet;T@; @;
0@@@0U;[i I"IPPROTO_MAX;TI"Socket::IPPROTO_MAX;T;0o;;[o;;[I"Maximum IPPROTO constant;T@; @;
0@@@0U;[i I"IPPORT_RESERVED;TI"Socket::IPPORT_RESERVED;T;0o;;[o;;[I"0Default minimum address for bind or connect;T@; @;
0@@@0U;[i I"IPPORT_USERRESERVED;TI" Socket::IPPORT_USERRESERVED;T;0o;;[o;;[I"0Default maximum address for bind or connect;T@; @;
0@@@0U;[i I"INADDR_ANY;TI"Socket::INADDR_ANY;T;0o;;[o;;[I"lA socket bound to INADDR_ANY receives packets from all interfaces and sends from the default IP address;T@; @;
0@@@0U;[i I"INADDR_BROADCAST;TI"Socket::INADDR_BROADCAST;T;0o;;[o;;[I""The network broadcast address;T@; @;
0@@@0U;[i I"INADDR_LOOPBACK;TI"Socket::INADDR_LOOPBACK;T;0o;;[o;;[I"The loopback address;T@; @;
0@@@0U;[i I"INADDR_UNSPEC_GROUP;TI" Socket::INADDR_UNSPEC_GROUP;T;0o;;[o;;[I"!The reserved multicast group;T@; @;
0@@@0U;[i I"INADDR_ALLHOSTS_GROUP;TI""Socket::INADDR_ALLHOSTS_GROUP;T;0o;;[o;;[I"3Multicast group for all systems on this subset;T@; @;
0@@@0U;[i I"INADDR_MAX_LOCAL_GROUP;TI"#Socket::INADDR_MAX_LOCAL_GROUP;T;0o;;[o;;[I"+The last local network multicast group;T@; @;
0@@@0U;[i I"INADDR_NONE;TI"Socket::INADDR_NONE;T;0o;;[o;;[I"/A bitmask for matching no valid IP address;T@; @;
0@@@0U;[i I"IP_OPTIONS;TI"Socket::IP_OPTIONS;T;0o;;[o;;[I")IP options to be included in packets;T@; @;
0@@@0U;[i I"IP_HDRINCL;TI"Socket::IP_HDRINCL;T;0o;;[o;;[I"!Header is included with data;T@; @;
0@@@0U;[i I"IP_TOS;TI"Socket::IP_TOS;T;0o;;[o;;[I"IP type-of-service;T@; @;
0@@@0U;[i I"IP_TTL;TI"Socket::IP_TTL;T;0o;;[o;;[I"IP time-to-live;T@; @;
0@@@0U;[i I"IP_RECVOPTS;TI"Socket::IP_RECVOPTS;T;0o;;[o;;[I")Receive all IP options with datagram;T@; @;
0@@@0U;[i I"IP_RECVRETOPTS;TI"Socket::IP_RECVRETOPTS;T;0o;;[o;;[I"(Receive all IP options for response;T@; @;
0@@@0U;[i I"IP_RECVDSTADDR;TI"Socket::IP_RECVDSTADDR;T;0o;;[o;;[I"1Receive IP destination address with datagram;T@; @;
0@@@0U;[i I"IP_RETOPTS;TI"Socket::IP_RETOPTS;T;0o;;[o;;[I"+IP options to be included in datagrams;T@; @;
0@@@0U;[i I"IP_MINTTL;TI"Socket::IP_MINTTL;T;0o;;[o;;[I"-Minimum TTL allowed for received packets;T@; @;
0@@@0U;[i I"IP_DONTFRAG;TI"Socket::IP_DONTFRAG;T;0o;;[o;;[I"Don't fragment packets;T@; @;
0@@@0U;[i I"IP_SENDSRCADDR;TI"Socket::IP_SENDSRCADDR;T;0o;;[o;;[I".Source address for outgoing UDP datagrams;T@; @;
0@@@0U;[i I"IP_ONESBCAST;TI"Socket::IP_ONESBCAST;T;0o;;[o;;[I"PForce outgoing broadcast datagrams to have the undirected broadcast address;T@; @;
0@@@0U;[i I"IP_RECVTTL;TI"Socket::IP_RECVTTL;T;0o;;[o;;[I""Receive IP TTL with datagrams;T@; @;
0@@@0U;[i I"IP_RECVIF;TI"Socket::IP_RECVIF;T;0o;;[o;;[I"1Receive interface information with datagrams;T@; @;
0@@@0U;[i I"IP_RECVSLLA;TI"Socket::IP_RECVSLLA;T;0o;;[o;;[I".Receive link-layer address with datagrams;T@; @;
0@@@0U;[i I"IP_PORTRANGE;TI"Socket::IP_PORTRANGE;T;0o;;[o;;[I"B\Set the port range for sockets with unspecified port numbers;T@; @;
0@@@0U;[i I"IP_MULTICAST_IF;TI"Socket::IP_MULTICAST_IF;T;0o;;[o;;[I"IP multicast interface;T@; @;
0@@@0U;[i I"IP_MULTICAST_TTL;TI"Socket::IP_MULTICAST_TTL;T;0o;;[o;;[I"IP multicast TTL;T@; @;
0@@@0U;[i I"IP_MULTICAST_LOOP;TI"Socket::IP_MULTICAST_LOOP;T;0o;;[o;;[I"IP multicast loopback;T@; @;
0@@@0U;[i I"IP_ADD_MEMBERSHIP;TI"Socket::IP_ADD_MEMBERSHIP;T;0o;;[o;;[I"%Add a multicast group membership;T@; @;
0@@@0U;[i I"IP_DROP_MEMBERSHIP;TI"Socket::IP_DROP_MEMBERSHIP;T;0o;;[o;;[I"&Drop a multicast group membership;T@; @;
0@@@0U;[i I"IP_DEFAULT_MULTICAST_TTL;TI"%Socket::IP_DEFAULT_MULTICAST_TTL;T;0o;;[o;;[I"Default multicast TTL;T@; @;
0@@@0U;[i I"IP_DEFAULT_MULTICAST_LOOP;TI"&Socket::IP_DEFAULT_MULTICAST_LOOP;T;0o;;[o;;[I"Default multicast loopback;T@; @;
0@@@0U;[i I"IP_MAX_MEMBERSHIPS;TI"Socket::IP_MAX_MEMBERSHIPS;T;0o;;[o;;[I"6Maximum number multicast groups a socket can join;T@; @;
0@@@0U;[i I"IP_ROUTER_ALERT;TI"Socket::IP_ROUTER_ALERT;T;0o;;[o;;[I"PNotify transit routers to more closely examine the contents of an IP packet;T@; @;
0@@@0U;[i I"IP_PKTINFO;TI"Socket::IP_PKTINFO;T;0o;;[o;;[I".Receive packet information with datagrams;T@; @;
0@@@0U;[i I"IP_PKTOPTIONS;TI"Socket::IP_PKTOPTIONS;T;0o;;[o;;[I"*Receive packet options with datagrams;T@; @;
0@@@0U;[i I"IP_MTU_DISCOVER;TI"Socket::IP_MTU_DISCOVER;T;0o;;[o;;[I"Path MTU discovery;T@; @;
0@@@0U;[i I"IP_RECVERR;TI"Socket::IP_RECVERR;T;0o;;[o;;[I"3Enable extended reliable error message passing;T@; @;
0@@@0U;[i I"IP_RECVTOS;TI"Socket::IP_RECVTOS;T;0o;;[o;;[I"&Receive TOS with incoming packets;T@; @;
0@@@0U;[i I"IP_MTU;TI"Socket::IP_MTU;T;0o;;[o;;[I"0The Maximum Transmission Unit of the socket;T@; @;
0@@@0U;[i I"IP_FREEBIND;TI"Socket::IP_FREEBIND;T;0o;;[o;;[I".Allow binding to nonexistent IP addresses;T@; @;
0@@@0U;[i I"IP_IPSEC_POLICY;TI"Socket::IP_IPSEC_POLICY;T;0o;;[o;;[I"IPsec security policy;T@; @;
0@@@0U;[i I"IP_XFRM_POLICY;TI"Socket::IP_XFRM_POLICY;T;0o;;[o;;[I"IP_XFRM_POLICY;T@; @;
0@@@0U;[i I"IP_PASSSEC;TI"Socket::IP_PASSSEC;T;0o;;[o;;[I",Retrieve security context with datagram;T@; @;
0@@@0U;[i I"IP_TRANSPARENT;TI"Socket::IP_TRANSPARENT;T;0o;;[o;;[I"Transparent proxy;T@; @;
0@@@0U;[i I"IP_PMTUDISC_DONT;TI"Socket::IP_PMTUDISC_DONT;T;0o;;[o;;[I"Never send DF frames;T@; @;
0@@@0U;[i I"IP_PMTUDISC_WANT;TI"Socket::IP_PMTUDISC_WANT;T;0o;;[o;;[I"Use per-route hints;T@; @;
0@@@0U;[i I"IP_PMTUDISC_DO;TI"Socket::IP_PMTUDISC_DO;T;0o;;[o;;[I"Always send DF frames;T@; @;
0@@@0U;[i I"IP_UNBLOCK_SOURCE;TI"Socket::IP_UNBLOCK_SOURCE;T;0o;;[o;;[I">Unblock IPv4 multicast packets with a give source address;T@; @;
0@@@0U;[i I"IP_BLOCK_SOURCE;TI"Socket::IP_BLOCK_SOURCE;T;0o;;[o;;[I"