rbs 2.0.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +34 -0
  3. data/.github/workflows/ruby.yml +5 -0
  4. data/CHANGELOG.md +82 -0
  5. data/README.md +6 -1
  6. data/Rakefile +56 -21
  7. data/core/array.rbs +2866 -1086
  8. data/core/basic_object.rbs +150 -30
  9. data/core/binding.rbs +33 -0
  10. data/core/builtin.rbs +4 -4
  11. data/core/class.rbs +43 -5
  12. data/core/comparable.rbs +57 -0
  13. data/core/complex.rbs +170 -4
  14. data/core/constants.rbs +51 -0
  15. data/core/deprecated.rbs +7 -0
  16. data/core/dir.rbs +305 -20
  17. data/core/encoding.rbs +1214 -77
  18. data/core/enumerable.rbs +2173 -234
  19. data/core/enumerator.rbs +448 -182
  20. data/core/env.rbs +448 -1
  21. data/core/errno.rbs +1 -10
  22. data/core/errors.rbs +152 -2
  23. data/core/exception.rbs +201 -127
  24. data/core/false_class.rbs +27 -0
  25. data/core/fiber.rbs +118 -37
  26. data/core/fiber_error.rbs +8 -9
  27. data/core/file.rbs +1060 -142
  28. data/core/file_test.rbs +287 -32
  29. data/core/float.rbs +776 -300
  30. data/core/gc.rbs +185 -34
  31. data/core/global_variables.rbs +5 -1
  32. data/core/hash.rbs +1582 -649
  33. data/core/integer.rbs +974 -204
  34. data/core/io/buffer.rbs +710 -0
  35. data/core/io/wait.rbs +29 -8
  36. data/core/io.rbs +2438 -417
  37. data/core/kernel.rbs +2319 -318
  38. data/core/marshal.rbs +37 -2
  39. data/core/match_data.rbs +123 -6
  40. data/core/math.rbs +126 -6
  41. data/core/method.rbs +226 -102
  42. data/core/module.rbs +421 -45
  43. data/core/nil_class.rbs +64 -0
  44. data/core/numeric.rbs +620 -142
  45. data/core/object.rbs +453 -81
  46. data/core/object_space.rbs +92 -2
  47. data/core/proc.rbs +482 -285
  48. data/core/process.rbs +443 -34
  49. data/core/ractor.rbs +232 -9
  50. data/core/random.rbs +151 -52
  51. data/core/range.rbs +885 -160
  52. data/core/rational.rbs +122 -6
  53. data/core/rb_config.rbs +14 -4
  54. data/core/refinement.rbs +44 -0
  55. data/core/regexp.rbs +156 -14
  56. data/core/ruby_vm.rbs +42 -3
  57. data/core/signal.rbs +78 -39
  58. data/core/string.rbs +2123 -567
  59. data/core/string_io.rbs +204 -0
  60. data/core/struct.rbs +283 -28
  61. data/core/symbol.rbs +304 -30
  62. data/core/thread.rbs +1288 -688
  63. data/core/thread_group.rbs +66 -10
  64. data/core/time.rbs +643 -217
  65. data/core/trace_point.rbs +100 -12
  66. data/core/true_class.rbs +24 -0
  67. data/core/unbound_method.rbs +73 -7
  68. data/core/warning.rbs +37 -12
  69. data/docs/CONTRIBUTING.md +40 -34
  70. data/docs/stdlib.md +3 -102
  71. data/docs/syntax.md +54 -11
  72. data/ext/rbs_extension/extconf.rb +1 -0
  73. data/ext/rbs_extension/lexer.h +5 -0
  74. data/ext/rbs_extension/lexstate.c +6 -0
  75. data/ext/rbs_extension/parser.c +85 -10
  76. data/ext/rbs_extension/ruby_objs.c +4 -2
  77. data/ext/rbs_extension/ruby_objs.h +2 -2
  78. data/goodcheck.yml +0 -11
  79. data/lib/rbs/annotate/annotations.rb +197 -0
  80. data/lib/rbs/annotate/formatter.rb +80 -0
  81. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  82. data/lib/rbs/annotate/rdoc_source.rb +120 -0
  83. data/lib/rbs/annotate.rb +6 -0
  84. data/lib/rbs/ast/members.rb +21 -13
  85. data/lib/rbs/buffer.rb +17 -11
  86. data/lib/rbs/cli.rb +48 -1
  87. data/lib/rbs/definition_builder/method_builder.rb +28 -16
  88. data/lib/rbs/definition_builder.rb +6 -2
  89. data/lib/rbs/environment.rb +8 -4
  90. data/lib/rbs/location_aux.rb +12 -0
  91. data/lib/rbs/namespace.rb +1 -1
  92. data/lib/rbs/prototype/rb.rb +12 -0
  93. data/lib/rbs/type_alias_regularity.rb +6 -4
  94. data/lib/rbs/type_name.rb +1 -1
  95. data/lib/rbs/types.rb +1 -1
  96. data/lib/rbs/validator.rb +6 -0
  97. data/lib/rbs/version.rb +1 -1
  98. data/lib/rbs/writer.rb +54 -4
  99. data/lib/rbs.rb +0 -2
  100. data/schema/typeParam.json +3 -3
  101. data/sig/annotate/annotations.rbs +102 -0
  102. data/sig/annotate/formatter.rbs +24 -0
  103. data/sig/annotate/rdoc_annotater.rbs +82 -0
  104. data/sig/annotate/rdoc_source.rbs +30 -0
  105. data/sig/buffer.rbs +6 -2
  106. data/sig/cli.rbs +2 -0
  107. data/sig/collection/{collections.rbs → sources.rbs} +0 -0
  108. data/sig/location.rbs +6 -0
  109. data/sig/members.rbs +24 -18
  110. data/sig/method_builder.rbs +5 -4
  111. data/sig/method_types.rbs +5 -1
  112. data/sig/polyfill.rbs +78 -0
  113. data/sig/validator.rbs +3 -1
  114. data/sig/writer.rbs +79 -2
  115. data/stdlib/abbrev/0/abbrev.rbs +6 -0
  116. data/stdlib/abbrev/0/array.rbs +26 -0
  117. data/stdlib/base64/0/base64.rbs +31 -0
  118. data/stdlib/benchmark/0/benchmark.rbs +74 -3
  119. data/stdlib/bigdecimal/0/big_decimal.rbs +614 -165
  120. data/stdlib/bigdecimal-math/0/big_math.rbs +41 -64
  121. data/stdlib/cgi/0/core.rbs +649 -21
  122. data/stdlib/coverage/0/coverage.rbs +164 -2
  123. data/stdlib/csv/0/csv.rbs +2862 -398
  124. data/stdlib/date/0/date.rbs +483 -25
  125. data/stdlib/date/0/date_time.rbs +187 -12
  126. data/stdlib/dbm/0/dbm.rbs +152 -17
  127. data/stdlib/digest/0/digest.rbs +146 -0
  128. data/stdlib/erb/0/erb.rbs +65 -245
  129. data/stdlib/fiber/0/fiber.rbs +73 -91
  130. data/stdlib/fileutils/0/fileutils.rbs +301 -1
  131. data/stdlib/find/0/find.rbs +9 -0
  132. data/stdlib/forwardable/0/forwardable.rbs +65 -1
  133. data/stdlib/io-console/0/io-console.rbs +227 -15
  134. data/stdlib/ipaddr/0/ipaddr.rbs +161 -0
  135. data/stdlib/json/0/json.rbs +1147 -145
  136. data/stdlib/logger/0/formatter.rbs +24 -0
  137. data/stdlib/logger/0/log_device.rbs +64 -0
  138. data/stdlib/logger/0/logger.rbs +165 -13
  139. data/stdlib/logger/0/period.rbs +10 -0
  140. data/stdlib/logger/0/severity.rbs +26 -0
  141. data/stdlib/monitor/0/monitor.rbs +163 -0
  142. data/stdlib/mutex_m/0/mutex_m.rbs +35 -6
  143. data/stdlib/net-http/0/manifest.yaml +1 -0
  144. data/stdlib/net-http/0/net-http.rbs +1513 -683
  145. data/stdlib/nkf/0/nkf.rbs +372 -0
  146. data/stdlib/objspace/0/objspace.rbs +149 -90
  147. data/stdlib/openssl/0/openssl.rbs +8108 -71
  148. data/stdlib/optparse/0/optparse.rbs +487 -19
  149. data/stdlib/pathname/0/pathname.rbs +425 -124
  150. data/stdlib/prettyprint/0/prettyprint.rbs +120 -99
  151. data/stdlib/prime/0/integer-extension.rbs +20 -2
  152. data/stdlib/prime/0/prime.rbs +88 -21
  153. data/stdlib/pstore/0/pstore.rbs +102 -0
  154. data/stdlib/pty/0/pty.rbs +64 -14
  155. data/stdlib/resolv/0/resolv.rbs +420 -31
  156. data/stdlib/rubygems/0/basic_specification.rbs +4 -1
  157. data/stdlib/rubygems/0/config_file.rbs +33 -1
  158. data/stdlib/rubygems/0/dependency_installer.rbs +4 -3
  159. data/stdlib/rubygems/0/installer.rbs +13 -1
  160. data/stdlib/rubygems/0/path_support.rbs +4 -1
  161. data/stdlib/rubygems/0/platform.rbs +5 -1
  162. data/stdlib/rubygems/0/request_set.rbs +44 -2
  163. data/stdlib/rubygems/0/requirement.rbs +65 -2
  164. data/stdlib/rubygems/0/rubygems.rbs +407 -0
  165. data/stdlib/rubygems/0/source_list.rbs +13 -0
  166. data/stdlib/rubygems/0/specification.rbs +21 -1
  167. data/stdlib/rubygems/0/stream_ui.rbs +3 -1
  168. data/stdlib/rubygems/0/uninstaller.rbs +8 -1
  169. data/stdlib/rubygems/0/version.rbs +60 -157
  170. data/stdlib/securerandom/0/securerandom.rbs +44 -0
  171. data/stdlib/set/0/set.rbs +423 -109
  172. data/stdlib/shellwords/0/shellwords.rbs +55 -77
  173. data/stdlib/singleton/0/singleton.rbs +20 -0
  174. data/stdlib/socket/0/addrinfo.rbs +210 -9
  175. data/stdlib/socket/0/basic_socket.rbs +103 -11
  176. data/stdlib/socket/0/ip_socket.rbs +31 -9
  177. data/stdlib/socket/0/socket.rbs +586 -38
  178. data/stdlib/socket/0/tcp_server.rbs +22 -2
  179. data/stdlib/socket/0/tcp_socket.rbs +12 -1
  180. data/stdlib/socket/0/udp_socket.rbs +25 -2
  181. data/stdlib/socket/0/unix_server.rbs +22 -2
  182. data/stdlib/socket/0/unix_socket.rbs +45 -5
  183. data/stdlib/strscan/0/string_scanner.rbs +210 -9
  184. data/stdlib/tempfile/0/tempfile.rbs +58 -10
  185. data/stdlib/time/0/time.rbs +208 -116
  186. data/stdlib/timeout/0/timeout.rbs +10 -0
  187. data/stdlib/tmpdir/0/tmpdir.rbs +13 -4
  188. data/stdlib/tsort/0/cyclic.rbs +1 -0
  189. data/stdlib/tsort/0/interfaces.rbs +1 -0
  190. data/stdlib/tsort/0/tsort.rbs +42 -0
  191. data/stdlib/uri/0/common.rbs +57 -8
  192. data/stdlib/uri/0/file.rbs +55 -109
  193. data/stdlib/uri/0/ftp.rbs +6 -3
  194. data/stdlib/uri/0/generic.rbs +558 -329
  195. data/stdlib/uri/0/http.rbs +60 -114
  196. data/stdlib/uri/0/https.rbs +8 -102
  197. data/stdlib/uri/0/ldap.rbs +143 -137
  198. data/stdlib/uri/0/ldaps.rbs +8 -102
  199. data/stdlib/uri/0/mailto.rbs +3 -0
  200. data/stdlib/uri/0/rfc2396_parser.rbs +66 -26
  201. data/stdlib/uri/0/ws.rbs +6 -3
  202. data/stdlib/uri/0/wss.rbs +5 -3
  203. data/stdlib/yaml/0/dbm.rbs +151 -87
  204. data/stdlib/yaml/0/store.rbs +6 -0
  205. data/stdlib/zlib/0/zlib.rbs +90 -31
  206. metadata +18 -6
  207. data/lib/rbs/location.rb +0 -221
  208. data/sig/char_scanner.rbs +0 -9
@@ -1,3 +1,4 @@
1
+ # <!-- rdoc-file=ext/socket/socket.c -->
1
2
  # Class `Socket` provides access to the underlying operating system socket
2
3
  # implementations. It can be used to provide more operating system specific
3
4
  # functionality than the protocol-specific socket classes.
@@ -110,7 +111,12 @@
110
111
  #
111
112
  # Much material in this documentation is taken with permission from *Programming
112
113
  # Ruby* from The Pragmatic Bookshelf.
114
+ #
113
115
  class Socket < BasicSocket
116
+ # <!--
117
+ # rdoc-file=ext/socket/lib/socket.rb
118
+ # - accept_loop(*sockets) { |socket, client_addrinfo| ... }
119
+ # -->
114
120
  # yield socket and client address for each a connection accepted via given
115
121
  # sockets.
116
122
  #
@@ -123,6 +129,10 @@ class Socket < BasicSocket
123
129
  #
124
130
  def self.accept_loop: (*_ToIO sockets) { (Socket) -> void } -> void
125
131
 
132
+ # <!--
133
+ # rdoc-file=ext/socket/socket.c
134
+ # - Socket.getaddrinfo(nodename, servname[, family[, socktype[, protocol[, flags[, reverse_lookup]]]]]) => array
135
+ # -->
126
136
  # Obtains address information for *nodename*:*servname*.
127
137
  #
128
138
  # Note that Addrinfo.getaddrinfo provides the same functionality in an object
@@ -149,13 +159,17 @@ class Socket < BasicSocket
149
159
  # below. If *reverse_lookup* is omitted, the default value is `nil`.
150
160
  #
151
161
  # +true+, +:hostname+: hostname is obtained from numeric address using reverse lookup, which may take a time.
152
- # +false+, +:numeric+: hostname is same as numeric address.
162
+ # +false+, +:numeric+: hostname is the same as numeric address.
153
163
  # +nil+: obey to the current +do_not_reverse_lookup+ flag.
154
164
  #
155
165
  # If Addrinfo object is preferred, use Addrinfo.getaddrinfo.
156
166
  #
157
- def self.getaddrinfo: (String peer, String | Integer | nil protocol, ?(Integer | Symbol | nil) family, ?(Integer | Symbol | nil) socktype, ?(Integer | Symbol | nil) protocol, ?(Integer | nil) flags) -> [String, Integer, String, String, Integer, Integer, Integer]
167
+ def self.getaddrinfo: (String peer, String | Integer | nil protocol, ?Integer | Symbol | nil family, ?Integer | Symbol | nil socktype, ?Integer | Symbol | nil protocol, ?Integer | nil flags) -> [ String, Integer, String, String, Integer, Integer, Integer ]
158
168
 
169
+ # <!--
170
+ # rdoc-file=ext/socket/socket.c
171
+ # - Socket.gethostbyaddr(address_string [, address_family]) => hostent
172
+ # -->
159
173
  # Use Addrinfo#getnameinfo instead. This method is deprecated for the following
160
174
  # reasons:
161
175
  #
@@ -177,8 +191,12 @@ class Socket < BasicSocket
177
191
  # #=> ["localhost", ["ip6-localhost", "ip6-loopback"], 10,
178
192
  # "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"]
179
193
  #
180
- def self.gethostbyaddr: (String ip) -> [String, Array[String], Integer, String]
194
+ def self.gethostbyaddr: (String ip) -> [ String, Array[String], Integer, String ]
181
195
 
196
+ # <!--
197
+ # rdoc-file=ext/socket/socket.c
198
+ # - Socket.gethostbyname(hostname) => [official_hostname, alias_hostnames, address_family, *address_list]
199
+ # -->
182
200
  # Use Addrinfo.getaddrinfo instead. This method is deprecated for the following
183
201
  # reasons:
184
202
  #
@@ -195,8 +213,12 @@ class Socket < BasicSocket
195
213
  #
196
214
  # p Socket.gethostbyname("hal") #=> ["localhost", ["hal"], 2, "\x7F\x00\x00\x01"]
197
215
  #
198
- def self.gethostbyname: (String name) -> [String, Array[String], Integer, String]
216
+ def self.gethostbyname: (String name) -> [ String, Array[String], Integer, String ]
199
217
 
218
+ # <!--
219
+ # rdoc-file=ext/socket/socket.c
220
+ # - Socket.gethostname => hostname
221
+ # -->
200
222
  # Returns the hostname.
201
223
  #
202
224
  # p Socket.gethostname #=> "hal"
@@ -207,6 +229,10 @@ class Socket < BasicSocket
207
229
  #
208
230
  def self.gethostname: () -> String
209
231
 
232
+ # <!--
233
+ # rdoc-file=ext/socket/ifaddr.c
234
+ # - Socket.getifaddrs => [ifaddr1, ...]
235
+ # -->
210
236
  # Returns an array of interface addresses. An element of the array is an
211
237
  # instance of Socket::Ifaddr.
212
238
  #
@@ -243,6 +269,10 @@ class Socket < BasicSocket
243
269
  #
244
270
  def self.getifaddrs: () -> Array[Socket::Ifaddr]
245
271
 
272
+ # <!--
273
+ # rdoc-file=ext/socket/socket.c
274
+ # - Socket.getnameinfo(sockaddr [, flags]) => [hostname, servicename]
275
+ # -->
246
276
  # Obtains name information for *sockaddr*.
247
277
  #
248
278
  # *sockaddr* should be one of follows.
@@ -261,9 +291,15 @@ class Socket < BasicSocket
261
291
  #
262
292
  # If Addrinfo object is preferred, use Addrinfo#getnameinfo.
263
293
  #
264
- def self.getnameinfo: ([String, Integer, String]) -> Array[String]
265
- | ([String, Integer, String, String]) -> Array[String]
294
+ def self.getnameinfo: ([ String, Integer, String ]) -> Array[String]
295
+ | ([ String, Integer, String, String ]) -> Array[String]
266
296
  | (String sockaddr) -> Array[String]
297
+
298
+ # <!--
299
+ # rdoc-file=ext/socket/socket.c
300
+ # - Socket.getservbyname(service_name) => port_number
301
+ # - Socket.getservbyname(service_name, protocol_name) => port_number
302
+ # -->
267
303
  # Obtains the port number for *service_name*.
268
304
  #
269
305
  # If *protocol_name* is not given, "tcp" is assumed.
@@ -272,10 +308,13 @@ class Socket < BasicSocket
272
308
  # Socket.getservbyname("shell") #=> 514
273
309
  # Socket.getservbyname("syslog", "udp") #=> 514
274
310
  #
275
- #
276
311
  def self.getservbyname: (String service_proto) -> Integer
277
312
  | (String service_proto, String layer4_proto) -> Integer
278
313
 
314
+ # <!--
315
+ # rdoc-file=ext/socket/socket.c
316
+ # - Socket.getservbyport(port [, protocol_name]) => service
317
+ # -->
279
318
  # Obtains the port number for *port*.
280
319
  #
281
320
  # If *protocol_name* is not given, "tcp" is assumed.
@@ -287,6 +326,10 @@ class Socket < BasicSocket
287
326
  def self.getservbyport: (Integer service_port) -> String
288
327
  | (Integer service_port, String layer4_proto) -> String
289
328
 
329
+ # <!--
330
+ # rdoc-file=ext/socket/socket.c
331
+ # - Socket.ip_address_list => array
332
+ # -->
290
333
  # Returns local IP addresses as an array.
291
334
  #
292
335
  # The array contains Addrinfo objects.
@@ -299,6 +342,11 @@ class Socket < BasicSocket
299
342
  #
300
343
  def self.ip_address_list: () -> Array[Addrinfo]
301
344
 
345
+ # <!--
346
+ # rdoc-file=ext/socket/socket.c
347
+ # - Socket.sockaddr_in(port, host) => sockaddr
348
+ # - Socket.pack_sockaddr_in(port, host) => sockaddr
349
+ # -->
302
350
  # Packs *port* and *host* as an AF_INET/AF_INET6 sockaddr string.
303
351
  #
304
352
  # Socket.sockaddr_in(80, "127.0.0.1")
@@ -307,16 +355,24 @@ class Socket < BasicSocket
307
355
  # Socket.sockaddr_in(80, "::1")
308
356
  # #=> "\n\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
309
357
  #
310
- #
311
358
  def self.pack_sockaddr_in: (Integer port, String ip) -> String
312
359
 
360
+ # <!--
361
+ # rdoc-file=ext/socket/socket.c
362
+ # - Socket.sockaddr_un(path) => sockaddr
363
+ # - Socket.pack_sockaddr_un(path) => sockaddr
364
+ # -->
313
365
  # Packs *path* as an AF_UNIX sockaddr string.
314
366
  #
315
367
  # Socket.sockaddr_un("/tmp/sock") #=> "\x01\x00/tmp/sock\x00\x00..."
316
368
  #
317
- #
318
369
  def self.pack_sockaddr_un: (String sockpath) -> String
319
370
 
371
+ # <!--
372
+ # rdoc-file=ext/socket/socket.c
373
+ # - Socket.pair(domain, type, protocol) => [socket1, socket2]
374
+ # - Socket.socketpair(domain, type, protocol) => [socket1, socket2]
375
+ # -->
320
376
  # Creates a pair of sockets connected each other.
321
377
  #
322
378
  # *domain* should be a communications domain such as: :INET, :INET6, :UNIX, etc.
@@ -340,9 +396,13 @@ class Socket < BasicSocket
340
396
  # p s2.recv(10) #=> "a"
341
397
  # p s2.recv(10) #=> "b"
342
398
  #
343
- #
344
- def self.pair: (Symbol sockdomain, Symbol socktype, Integer protocol) -> [instance, instance]
399
+ def self.pair: (Symbol sockdomain, Symbol socktype, Integer protocol) -> [ instance, instance ]
345
400
 
401
+ # <!--
402
+ # rdoc-file=ext/socket/socket.c
403
+ # - Socket.sockaddr_in(port, host) => sockaddr
404
+ # - Socket.pack_sockaddr_in(port, host) => sockaddr
405
+ # -->
346
406
  # Packs *port* and *host* as an AF_INET/AF_INET6 sockaddr string.
347
407
  #
348
408
  # Socket.sockaddr_in(80, "127.0.0.1")
@@ -351,16 +411,24 @@ class Socket < BasicSocket
351
411
  # Socket.sockaddr_in(80, "::1")
352
412
  # #=> "\n\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
353
413
  #
354
- #
355
414
  def self.sockaddr_in: (Integer port, String ip) -> String
356
415
 
416
+ # <!--
417
+ # rdoc-file=ext/socket/socket.c
418
+ # - Socket.sockaddr_un(path) => sockaddr
419
+ # - Socket.pack_sockaddr_un(path) => sockaddr
420
+ # -->
357
421
  # Packs *path* as an AF_UNIX sockaddr string.
358
422
  #
359
423
  # Socket.sockaddr_un("/tmp/sock") #=> "\x01\x00/tmp/sock\x00\x00..."
360
424
  #
361
- #
362
425
  def self.sockaddr_un: (String sockpath) -> String
363
426
 
427
+ # <!--
428
+ # rdoc-file=ext/socket/socket.c
429
+ # - Socket.pair(domain, type, protocol) => [socket1, socket2]
430
+ # - Socket.socketpair(domain, type, protocol) => [socket1, socket2]
431
+ # -->
364
432
  # Creates a pair of sockets connected each other.
365
433
  #
366
434
  # *domain* should be a communications domain such as: :INET, :INET6, :UNIX, etc.
@@ -384,9 +452,13 @@ class Socket < BasicSocket
384
452
  # p s2.recv(10) #=> "a"
385
453
  # p s2.recv(10) #=> "b"
386
454
  #
387
- #
388
- def self.socketpair: (Symbol sockdomain, Symbol socktype, Integer protocol) -> [instance, instance]
455
+ def self.socketpair: (Symbol sockdomain, Symbol socktype, Integer protocol) -> [ instance, instance ]
389
456
 
457
+ # <!--
458
+ # rdoc-file=ext/socket/lib/socket.rb
459
+ # - Socket.tcp(host, port, local_host=nil, local_port=nil, [opts]) {|socket| ... }
460
+ # - Socket.tcp(host, port, local_host=nil, local_port=nil, [opts])
461
+ # -->
390
462
  # creates a new socket object connected to host:port using TCP/IP.
391
463
  #
392
464
  # If local_host:local_port is given, the socket is bound to it.
@@ -411,10 +483,13 @@ class Socket < BasicSocket
411
483
  # puts sock.read
412
484
  # }
413
485
  #
414
- #
415
486
  def self.tcp: (String host, Integer port, ?String local_host, ?Integer local_port, ?resolv_timeout: Numeric, ?connect_timeout: Numeric) -> instance
416
487
  | (String host, Integer port, ?String local_host, ?Integer local_port, ?resolv_timeout: Numeric, ?connect_timeout: Numeric) { (instance) -> void } -> void
417
488
 
489
+ # <!--
490
+ # rdoc-file=ext/socket/lib/socket.rb
491
+ # - tcp_server_loop(host=nil, port) { |socket, client_addrinfo| ... }
492
+ # -->
418
493
  # creates a TCP/IP server on *port* and calls the block for each connection
419
494
  # accepted. The block is called with a socket and a client_address as an
420
495
  # Addrinfo object.
@@ -459,6 +534,10 @@ class Socket < BasicSocket
459
534
  #
460
535
  def self.tcp_server_loop: (?String host, Integer port) { (instance, Addrinfo) -> void } -> void
461
536
 
537
+ # <!--
538
+ # rdoc-file=ext/socket/lib/socket.rb
539
+ # - tcp_server_sockets(host=nil, port) { |sockets| ... }
540
+ # -->
462
541
  # creates TCP/IP server sockets for *host* and *port*. *host* is optional.
463
542
  #
464
543
  # If no block given, it returns an array of listening sockets.
@@ -492,6 +571,11 @@ class Socket < BasicSocket
492
571
  def self.tcp_server_sockets: (?String host, Integer port) -> Array[TCPServer]
493
572
  | (?String host, Integer port) { (Array[TCPServer]) -> void } -> void
494
573
 
574
+ # <!--
575
+ # rdoc-file=ext/socket/lib/socket.rb
576
+ # - Socket.udp_server_loop(port) {|msg, msg_src| ... }
577
+ # - Socket.udp_server_loop(host, port) {|msg, msg_src| ... }
578
+ # -->
495
579
  # creates a UDP/IP server on *port* and calls the block for each message
496
580
  # arrived. The block is called with the message and its source information.
497
581
  #
@@ -507,9 +591,12 @@ class Socket < BasicSocket
507
591
  # msg_src.reply msg
508
592
  # }
509
593
  #
510
- #
511
594
  def self.udp_server_loop: (?String host, Integer port) { (String, Socket::UDPSource) -> void } -> void
512
595
 
596
+ # <!--
597
+ # rdoc-file=ext/socket/lib/socket.rb
598
+ # - Socket.udp_server_loop_on(sockets) {|msg, msg_src| ... }
599
+ # -->
513
600
  # Run UDP/IP server loop on the given sockets.
514
601
  #
515
602
  # The return value of Socket.udp_server_sockets is appropriate for the argument.
@@ -518,6 +605,10 @@ class Socket < BasicSocket
518
605
  #
519
606
  def self.udp_server_loop_on: (UDPSocket sockets) { (String, Socket::UDPSource) -> void } -> void
520
607
 
608
+ # <!--
609
+ # rdoc-file=ext/socket/lib/socket.rb
610
+ # - Socket.udp_server_recv(sockets) {|msg, msg_src| ... }
611
+ # -->
521
612
  # Receive UDP/IP packets from the given *sockets*. For each packet received, the
522
613
  # block is called.
523
614
  #
@@ -536,6 +627,10 @@ class Socket < BasicSocket
536
627
  #
537
628
  def self.udp_server_recv: (Array[UDPSocket] sockets) { (String, Socket::UDPSource) -> void } -> void
538
629
 
630
+ # <!--
631
+ # rdoc-file=ext/socket/lib/socket.rb
632
+ # - Socket.udp_server_sockets([host, ] port)
633
+ # -->
539
634
  # Creates UDP/IP sockets for a UDP server.
540
635
  #
541
636
  # If no block given, it returns an array of sockets.
@@ -556,6 +651,10 @@ class Socket < BasicSocket
556
651
  #
557
652
  def self.udp_server_sockets: (?String host, Integer port) { (UDPSocket) -> void } -> void
558
653
 
654
+ # <!--
655
+ # rdoc-file=ext/socket/lib/socket.rb
656
+ # - unix(path) { |socket| ... }
657
+ # -->
559
658
  # creates a new socket connected to path using UNIX socket socket.
560
659
  #
561
660
  # If a block is given, the block is called with the socket. The value of the
@@ -573,6 +672,10 @@ class Socket < BasicSocket
573
672
  def self.unix: (String path) -> UNIXSocket
574
673
  | (String path) { (UNIXSocket) -> void } -> void
575
674
 
675
+ # <!--
676
+ # rdoc-file=ext/socket/lib/socket.rb
677
+ # - unix_server_loop(path) { |socket, client_addrinfo| ... }
678
+ # -->
576
679
  # creates a UNIX socket server on *path*. It calls the block for each socket
577
680
  # accepted.
578
681
  #
@@ -599,6 +702,10 @@ class Socket < BasicSocket
599
702
  #
600
703
  def self.unix_server_loop: (String path) { (UNIXSocket, Addrinfo) -> void } -> void
601
704
 
705
+ # <!--
706
+ # rdoc-file=ext/socket/lib/socket.rb
707
+ # - unix_server_socket(path) { |s| ... }
708
+ # -->
602
709
  # creates a UNIX server socket on *path*
603
710
  #
604
711
  # If no block given, it returns a listening socket.
@@ -619,6 +726,10 @@ class Socket < BasicSocket
619
726
  def self.unix_server_socket: (String path) -> Socket
620
727
  | (String path) { (Socket) -> void } -> void
621
728
 
729
+ # <!--
730
+ # rdoc-file=ext/socket/socket.c
731
+ # - Socket.unpack_sockaddr_in(sockaddr) => [port, ip_address]
732
+ # -->
622
733
  # Unpacks *sockaddr* into port and ip_address.
623
734
  #
624
735
  # *sockaddr* should be a string or an addrinfo for AF_INET/AF_INET6.
@@ -627,8 +738,12 @@ class Socket < BasicSocket
627
738
  # p sockaddr #=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
628
739
  # p Socket.unpack_sockaddr_in(sockaddr) #=> [80, "127.0.0.1"]
629
740
  #
630
- def self.unpack_sockaddr_in: (String | Addrinfo sockaddr) -> [Integer, String]
741
+ def self.unpack_sockaddr_in: (String | Addrinfo sockaddr) -> [ Integer, String ]
631
742
 
743
+ # <!--
744
+ # rdoc-file=ext/socket/socket.c
745
+ # - Socket.unpack_sockaddr_un(sockaddr) => path
746
+ # -->
632
747
  # Unpacks *sockaddr* into path.
633
748
  #
634
749
  # *sockaddr* should be a string or an addrinfo for AF_UNIX.
@@ -640,6 +755,10 @@ class Socket < BasicSocket
640
755
 
641
756
  public
642
757
 
758
+ # <!--
759
+ # rdoc-file=ext/socket/socket.c
760
+ # - socket.accept => [client_socket, client_addrinfo]
761
+ # -->
643
762
  # Accepts a next connection. Returns a new Socket object and Addrinfo object.
644
763
  #
645
764
  # serv = Socket.new(:INET, :STREAM, 0)
@@ -648,8 +767,12 @@ class Socket < BasicSocket
648
767
  # c.connect(serv.connect_address)
649
768
  # p serv.accept #=> [#<Socket:fd 6>, #<Addrinfo: 127.0.0.1:48555 TCP>]
650
769
  #
651
- def accept: () -> [Socket, Addrinfo]
770
+ def accept: () -> [ Socket, Addrinfo ]
652
771
 
772
+ # <!--
773
+ # rdoc-file=ext/socket/lib/socket.rb
774
+ # - socket.accept_nonblock([options]) => [client_socket, client_addrinfo]
775
+ # -->
653
776
  # Accepts an incoming connection using accept(2) after O_NONBLOCK is set for the
654
777
  # underlying file descriptor. It returns an array containing the accepted socket
655
778
  # for the incoming connection, *client_socket*, and an Addrinfo,
@@ -700,9 +823,12 @@ class Socket < BasicSocket
700
823
  # ### See
701
824
  # * Socket#accept
702
825
  #
703
- #
704
- def accept_nonblock: (?exception: boolish) -> ([Socket, Addrinfo] | :wait_readable)
826
+ def accept_nonblock: (?exception: boolish) -> ([ Socket, Addrinfo ] | :wait_readable)
705
827
 
828
+ # <!--
829
+ # rdoc-file=ext/socket/socket.c
830
+ # - socket.bind(local_sockaddr) => 0
831
+ # -->
706
832
  # Binds to the given local address.
707
833
  #
708
834
  # ### Parameter
@@ -790,9 +916,12 @@ class Socket < BasicSocket
790
916
  # * bind manual pages on unix-based systems
791
917
  # * bind function in Microsoft's Winsock functions reference
792
918
  #
793
- #
794
919
  def bind: (String | Addrinfo local_sockaddr) -> void
795
920
 
921
+ # <!--
922
+ # rdoc-file=ext/socket/socket.c
923
+ # - socket.connect(remote_sockaddr) => 0
924
+ # -->
796
925
  # Requests a connection to be made on the given `remote_sockaddr`. Returns 0 if
797
926
  # successful, otherwise an exception is raised.
798
927
  #
@@ -852,8 +981,8 @@ class Socket < BasicSocket
852
981
  # connected
853
982
  # * Errno::EPROTOTYPE - the *sockaddr* has a different type than the socket
854
983
  # bound to the specified peer address
855
- # * Errno::ETIMEDOUT - the attempt to connect time out before a connection was
856
- # made.
984
+ # * Errno::ETIMEDOUT - the attempt to connect timed out before a connection
985
+ # was made.
857
986
  #
858
987
  #
859
988
  # On unix-based systems if the address family of the calling `socket` is AF_UNIX
@@ -895,8 +1024,8 @@ class Socket < BasicSocket
895
1024
  # * Errno::EHOSTUNREACH - no route to the network is present
896
1025
  # * Errno::ENOBUFS - no buffer space is available
897
1026
  # * Errno::ENOTSOCK - the `socket` argument does not refer to a socket
898
- # * Errno::ETIMEDOUT - the attempt to connect time out before a connection was
899
- # made.
1027
+ # * Errno::ETIMEDOUT - the attempt to connect timed out before a connection
1028
+ # was made.
900
1029
  # * Errno::EWOULDBLOCK - the socket is marked as nonblocking and the
901
1030
  # connection cannot be completed immediately
902
1031
  # * Errno::EACCES - the attempt to connect the datagram socket to the
@@ -907,9 +1036,12 @@ class Socket < BasicSocket
907
1036
  # * connect manual pages on unix-based systems
908
1037
  # * connect function in Microsoft's Winsock functions reference
909
1038
  #
910
- #
911
1039
  def connect: (String | Addrinfo remote_sockaddr) -> Integer
912
1040
 
1041
+ # <!--
1042
+ # rdoc-file=ext/socket/lib/socket.rb
1043
+ # - socket.connect_nonblock(remote_sockaddr, [options]) => 0
1044
+ # -->
913
1045
  # Requests a connection to be made on the given `remote_sockaddr` after
914
1046
  # O_NONBLOCK is set for the underlying file descriptor. Returns 0 if successful,
915
1047
  # otherwise an exception is raised.
@@ -954,10 +1086,18 @@ class Socket < BasicSocket
954
1086
  #
955
1087
  def connect_nonblock: (untyped addr, ?exception: untyped) -> (Integer | :wait_writable)
956
1088
 
1089
+ # <!--
1090
+ # rdoc-file=ext/socket/lib/socket.rb
1091
+ # - ipv6only!()
1092
+ # -->
957
1093
  # enable the socket option IPV6_V6ONLY if IPV6_V6ONLY is available.
958
1094
  #
959
1095
  def ipv6only!: () -> void
960
1096
 
1097
+ # <!--
1098
+ # rdoc-file=ext/socket/socket.c
1099
+ # - socket.listen( int ) => 0
1100
+ # -->
961
1101
  # Listens for connections, using the specified `int` as the backlog. A call to
962
1102
  # *listen* only applies if the `socket` is of type SOCK_STREAM or
963
1103
  # SOCK_SEQPACKET.
@@ -1027,9 +1167,13 @@ class Socket < BasicSocket
1027
1167
  # * listen manual pages on unix-based systems
1028
1168
  # * listen function in Microsoft's Winsock functions reference
1029
1169
  #
1030
- #
1031
1170
  def listen: (Integer backlog_len) -> void
1032
1171
 
1172
+ # <!--
1173
+ # rdoc-file=ext/socket/socket.c
1174
+ # - socket.recvfrom(maxlen) => [mesg, sender_addrinfo]
1175
+ # - socket.recvfrom(maxlen, flags) => [mesg, sender_addrinfo]
1176
+ # -->
1033
1177
  # Receives up to *maxlen* bytes from `socket`. *flags* is zero or more of the
1034
1178
  # `MSG_` options. The first element of the results, *mesg*, is the data
1035
1179
  # received. The second element, *sender_addrinfo*, contains protocol-specific
@@ -1134,10 +1278,12 @@ class Socket < BasicSocket
1134
1278
  # indicates a previous send operation resulted in an ICMP Port Unreachable
1135
1279
  # message.
1136
1280
  #
1137
- #
1138
- #
1139
- def recvfrom: (Integer maxlen, ?Integer flags) -> [String, Addrinfo]
1281
+ def recvfrom: (Integer maxlen, ?Integer flags) -> [ String, Addrinfo ]
1140
1282
 
1283
+ # <!--
1284
+ # rdoc-file=ext/socket/lib/socket.rb
1285
+ # - socket.recvfrom_nonblock(maxlen[, flags[, outbuf[, opts]]]) => [mesg, sender_addrinfo]
1286
+ # -->
1141
1287
  # Receives up to *maxlen* bytes from `socket` using recvfrom(2) after O_NONBLOCK
1142
1288
  # is set for the underlying file descriptor. *flags* is zero or more of the
1143
1289
  # `MSG_` options. The first element of the results, *mesg*, is the data
@@ -1201,9 +1347,12 @@ class Socket < BasicSocket
1201
1347
  # ### See
1202
1348
  # * Socket#recvfrom
1203
1349
  #
1204
- #
1205
- def recvfrom_nonblock: (Integer maxlen, ?Integer flags, ?untyped outbuf, ?exception: boolish) -> ([String, Addrinfo] | :wait_readable)
1350
+ def recvfrom_nonblock: (Integer maxlen, ?Integer flags, ?untyped outbuf, ?exception: boolish) -> ([ String, Addrinfo ] | :wait_readable)
1206
1351
 
1352
+ # <!--
1353
+ # rdoc-file=ext/socket/socket.c
1354
+ # - socket.sysaccept => [client_socket_fd, client_addrinfo]
1355
+ # -->
1207
1356
  # Accepts an incoming connection returning an array containing the (integer)
1208
1357
  # file descriptor for the incoming connection, *client_socket_fd*, and an
1209
1358
  # Addrinfo, *client_addrinfo*.
@@ -1238,8 +1387,7 @@ class Socket < BasicSocket
1238
1387
  # ### See
1239
1388
  # * Socket#accept
1240
1389
  #
1241
- #
1242
- def sysaccept: () -> [Integer, Addrinfo]
1390
+ def sysaccept: () -> [ Integer, Addrinfo ]
1243
1391
 
1244
1392
  private
1245
1393
 
@@ -1249,6 +1397,10 @@ class Socket < BasicSocket
1249
1397
 
1250
1398
  def __recvfrom_nonblock: (untyped, untyped, untyped, untyped) -> untyped
1251
1399
 
1400
+ # <!--
1401
+ # rdoc-file=ext/socket/socket.c
1402
+ # - Socket.new(domain, socktype [, protocol]) => socket
1403
+ # -->
1252
1404
  # Creates a new socket object.
1253
1405
  #
1254
1406
  # *domain* should be a communications domain such as: :INET, :INET6, :UNIX, etc.
@@ -1266,1174 +1418,1496 @@ class Socket < BasicSocket
1266
1418
  def initialize: (Symbol domain, Symbol socktype, ?Integer protocol) -> untyped
1267
1419
  end
1268
1420
 
1421
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1269
1422
  # AppleTalk protocol
1270
1423
  #
1271
1424
  Socket::AF_APPLETALK: Integer
1272
1425
 
1426
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1273
1427
  # CCITT (now ITU-T) protocols
1274
1428
  #
1275
1429
  Socket::AF_CCITT: Integer
1276
1430
 
1431
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1277
1432
  # MIT CHAOS protocols
1278
1433
  #
1279
1434
  Socket::AF_CHAOS: Integer
1280
1435
 
1436
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1281
1437
  # Computer Network Technology
1282
1438
  #
1283
1439
  Socket::AF_CNT: Integer
1284
1440
 
1441
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1285
1442
  # Connection-oriented IP
1286
1443
  #
1287
1444
  Socket::AF_COIP: Integer
1288
1445
 
1446
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1289
1447
  # Datakit protocol
1290
1448
  #
1291
1449
  Socket::AF_DATAKIT: Integer
1292
1450
 
1451
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1293
1452
  # DEC Direct Data Link Interface protocol
1294
1453
  #
1295
1454
  Socket::AF_DLI: Integer
1296
1455
 
1456
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1297
1457
  # CCITT (ITU-T) E.164 recommendation
1298
1458
  #
1299
1459
  Socket::AF_E164: Integer
1300
1460
 
1461
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1301
1462
  # European Computer Manufacturers protocols
1302
1463
  #
1303
1464
  Socket::AF_ECMA: Integer
1304
1465
 
1466
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1305
1467
  # NSC Hyperchannel protocol
1306
1468
  #
1307
1469
  Socket::AF_HYLINK: Integer
1308
1470
 
1471
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1309
1472
  # ARPANET IMP protocol
1310
1473
  #
1311
1474
  Socket::AF_IMPLINK: Integer
1312
1475
 
1476
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1313
1477
  # IPv4 protocol
1314
1478
  #
1315
1479
  Socket::AF_INET: Integer
1316
1480
 
1481
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1317
1482
  # IPv6 protocol
1318
1483
  #
1319
1484
  Socket::AF_INET6: Integer
1320
1485
 
1486
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1321
1487
  # IPX protocol
1322
1488
  #
1323
1489
  Socket::AF_IPX: Integer
1324
1490
 
1491
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1325
1492
  # Integrated Services Digital Network
1326
1493
  #
1327
1494
  Socket::AF_ISDN: Integer
1328
1495
 
1496
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1329
1497
  # ISO Open Systems Interconnection protocols
1330
1498
  #
1331
1499
  Socket::AF_ISO: Integer
1332
1500
 
1501
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1333
1502
  # Local Area Transport protocol
1334
1503
  #
1335
1504
  Socket::AF_LAT: Integer
1336
1505
 
1506
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1337
1507
  # Link layer interface
1338
1508
  #
1339
1509
  Socket::AF_LINK: Integer
1340
1510
 
1511
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1341
1512
  # Host-internal protocols
1342
1513
  #
1343
1514
  Socket::AF_LOCAL: Integer
1344
1515
 
1516
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1345
1517
  # Maximum address family for this platform
1346
1518
  #
1347
1519
  Socket::AF_MAX: Integer
1348
1520
 
1521
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1349
1522
  # Native ATM access
1350
1523
  #
1351
1524
  Socket::AF_NATM: Integer
1352
1525
 
1526
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1353
1527
  # Network driver raw access
1354
1528
  #
1355
1529
  Socket::AF_NDRV: Integer
1356
1530
 
1531
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1357
1532
  # NetBIOS
1358
1533
  #
1359
1534
  Socket::AF_NETBIOS: Integer
1360
1535
 
1536
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1361
1537
  # XEROX NS protocols
1362
1538
  #
1363
1539
  Socket::AF_NS: Integer
1364
1540
 
1541
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1365
1542
  # ISO Open Systems Interconnection protocols
1366
1543
  #
1367
1544
  Socket::AF_OSI: Integer
1368
1545
 
1546
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1369
1547
  # Point-to-Point Protocol
1370
1548
  #
1371
1549
  Socket::AF_PPP: Integer
1372
1550
 
1551
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1373
1552
  # PARC Universal Packet protocol
1374
1553
  #
1375
1554
  Socket::AF_PUP: Integer
1376
1555
 
1556
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1377
1557
  # Internal routing protocol
1378
1558
  #
1379
1559
  Socket::AF_ROUTE: Integer
1380
1560
 
1561
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1381
1562
  # Simple Internet Protocol
1382
1563
  #
1383
1564
  Socket::AF_SIP: Integer
1384
1565
 
1566
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1385
1567
  # IBM SNA protocol
1386
1568
  #
1387
1569
  Socket::AF_SNA: Integer
1388
1570
 
1389
1571
  Socket::AF_SYSTEM: Integer
1390
1572
 
1573
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1391
1574
  # UNIX sockets
1392
1575
  #
1393
1576
  Socket::AF_UNIX: Integer
1394
1577
 
1578
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1395
1579
  # Unspecified protocol, any supported address family
1396
1580
  #
1397
1581
  Socket::AF_UNSPEC: Integer
1398
1582
 
1583
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1399
1584
  # Accept only if any address is assigned
1400
1585
  #
1401
1586
  Socket::AI_ADDRCONFIG: Integer
1402
1587
 
1588
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1403
1589
  # Allow all addresses
1404
1590
  #
1405
1591
  Socket::AI_ALL: Integer
1406
1592
 
1593
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1407
1594
  # Fill in the canonical name
1408
1595
  #
1409
1596
  Socket::AI_CANONNAME: Integer
1410
1597
 
1598
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1411
1599
  # Default flags for getaddrinfo
1412
1600
  #
1413
1601
  Socket::AI_DEFAULT: Integer
1414
1602
 
1603
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1415
1604
  # Valid flag mask for getaddrinfo (not for application use)
1416
1605
  #
1417
1606
  Socket::AI_MASK: Integer
1418
1607
 
1608
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1419
1609
  # Prevent host name resolution
1420
1610
  #
1421
1611
  Socket::AI_NUMERICHOST: Integer
1422
1612
 
1613
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1423
1614
  # Prevent service name resolution
1424
1615
  #
1425
1616
  Socket::AI_NUMERICSERV: Integer
1426
1617
 
1618
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1427
1619
  # Get address to use with bind()
1428
1620
  #
1429
1621
  Socket::AI_PASSIVE: Integer
1430
1622
 
1623
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1431
1624
  # Accept IPv4-mapped IPv6 addresses
1432
1625
  #
1433
1626
  Socket::AI_V4MAPPED: Integer
1434
1627
 
1628
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1435
1629
  # Accept IPv4 mapped addresses if the kernel supports it
1436
1630
  #
1437
1631
  Socket::AI_V4MAPPED_CFG: Integer
1438
1632
 
1633
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1439
1634
  # Address family for hostname not supported
1440
1635
  #
1441
1636
  Socket::EAI_ADDRFAMILY: Integer
1442
1637
 
1638
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1443
1639
  # Temporary failure in name resolution
1444
1640
  #
1445
1641
  Socket::EAI_AGAIN: Integer
1446
1642
 
1643
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1447
1644
  # Invalid flags
1448
1645
  #
1449
1646
  Socket::EAI_BADFLAGS: Integer
1450
1647
 
1648
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1451
1649
  # Invalid value for hints
1452
1650
  #
1453
1651
  Socket::EAI_BADHINTS: Integer
1454
1652
 
1653
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1455
1654
  # Non-recoverable failure in name resolution
1456
1655
  #
1457
1656
  Socket::EAI_FAIL: Integer
1458
1657
 
1658
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1459
1659
  # Address family not supported
1460
1660
  #
1461
1661
  Socket::EAI_FAMILY: Integer
1462
1662
 
1663
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1463
1664
  # Maximum error code from getaddrinfo
1464
1665
  #
1465
1666
  Socket::EAI_MAX: Integer
1466
1667
 
1668
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1467
1669
  # Memory allocation failure
1468
1670
  #
1469
1671
  Socket::EAI_MEMORY: Integer
1470
1672
 
1673
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1471
1674
  # No address associated with hostname
1472
1675
  #
1473
1676
  Socket::EAI_NODATA: Integer
1474
1677
 
1678
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1475
1679
  # Hostname nor servname, or not known
1476
1680
  #
1477
1681
  Socket::EAI_NONAME: Integer
1478
1682
 
1683
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1479
1684
  # Argument buffer overflow
1480
1685
  #
1481
1686
  Socket::EAI_OVERFLOW: Integer
1482
1687
 
1688
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1483
1689
  # Resolved protocol is unknown
1484
1690
  #
1485
1691
  Socket::EAI_PROTOCOL: Integer
1486
1692
 
1693
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1487
1694
  # Servname not supported for socket type
1488
1695
  #
1489
1696
  Socket::EAI_SERVICE: Integer
1490
1697
 
1698
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1491
1699
  # Socket type not supported
1492
1700
  #
1493
1701
  Socket::EAI_SOCKTYPE: Integer
1494
1702
 
1703
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1495
1704
  # System error returned in errno
1496
1705
  #
1497
1706
  Socket::EAI_SYSTEM: Integer
1498
1707
 
1708
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1499
1709
  # receive all multicast packets
1500
1710
  #
1501
1711
  Socket::IFF_ALLMULTI: Integer
1502
1712
 
1713
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1503
1714
  # use alternate physical connection
1504
1715
  #
1505
1716
  Socket::IFF_ALTPHYS: Integer
1506
1717
 
1718
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1507
1719
  # broadcast address valid
1508
1720
  #
1509
1721
  Socket::IFF_BROADCAST: Integer
1510
1722
 
1723
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1511
1724
  # turn on debugging
1512
1725
  #
1513
1726
  Socket::IFF_DEBUG: Integer
1514
1727
 
1728
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1515
1729
  # per link layer defined bit 0
1516
1730
  #
1517
1731
  Socket::IFF_LINK0: Integer
1518
1732
 
1733
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1519
1734
  # per link layer defined bit 1
1520
1735
  #
1521
1736
  Socket::IFF_LINK1: Integer
1522
1737
 
1738
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1523
1739
  # per link layer defined bit 2
1524
1740
  #
1525
1741
  Socket::IFF_LINK2: Integer
1526
1742
 
1743
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1527
1744
  # loopback net
1528
1745
  #
1529
1746
  Socket::IFF_LOOPBACK: Integer
1530
1747
 
1748
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1531
1749
  # supports multicast
1532
1750
  #
1533
1751
  Socket::IFF_MULTICAST: Integer
1534
1752
 
1753
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1535
1754
  # no address resolution protocol
1536
1755
  #
1537
1756
  Socket::IFF_NOARP: Integer
1538
1757
 
1758
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1539
1759
  # avoid use of trailers
1540
1760
  #
1541
1761
  Socket::IFF_NOTRAILERS: Integer
1542
1762
 
1763
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1543
1764
  # transmission in progress
1544
1765
  #
1545
1766
  Socket::IFF_OACTIVE: Integer
1546
1767
 
1768
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1547
1769
  # point-to-point link
1548
1770
  #
1549
1771
  Socket::IFF_POINTOPOINT: Integer
1550
1772
 
1773
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1551
1774
  # receive all packets
1552
1775
  #
1553
1776
  Socket::IFF_PROMISC: Integer
1554
1777
 
1778
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1555
1779
  # resources allocated
1556
1780
  #
1557
1781
  Socket::IFF_RUNNING: Integer
1558
1782
 
1783
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1559
1784
  # can't hear own transmissions
1560
1785
  #
1561
1786
  Socket::IFF_SIMPLEX: Integer
1562
1787
 
1788
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1563
1789
  # interface is up
1564
1790
  #
1565
1791
  Socket::IFF_UP: Integer
1566
1792
 
1793
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1567
1794
  # Maximum interface name size
1568
1795
  #
1569
1796
  Socket::IFNAMSIZ: Integer
1570
1797
 
1798
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1571
1799
  # Maximum interface name size
1572
1800
  #
1573
1801
  Socket::IF_NAMESIZE: Integer
1574
1802
 
1803
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1575
1804
  # Multicast group for all systems on this subset
1576
1805
  #
1577
1806
  Socket::INADDR_ALLHOSTS_GROUP: Integer
1578
1807
 
1808
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1579
1809
  # A socket bound to INADDR_ANY receives packets from all interfaces and sends
1580
1810
  # from the default IP address
1581
1811
  #
1582
1812
  Socket::INADDR_ANY: Integer
1583
1813
 
1814
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1584
1815
  # The network broadcast address
1585
1816
  #
1586
1817
  Socket::INADDR_BROADCAST: Integer
1587
1818
 
1819
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1588
1820
  # The loopback address
1589
1821
  #
1590
1822
  Socket::INADDR_LOOPBACK: Integer
1591
1823
 
1824
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1592
1825
  # The last local network multicast group
1593
1826
  #
1594
1827
  Socket::INADDR_MAX_LOCAL_GROUP: Integer
1595
1828
 
1829
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1596
1830
  # A bitmask for matching no valid IP address
1597
1831
  #
1598
1832
  Socket::INADDR_NONE: Integer
1599
1833
 
1834
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1600
1835
  # The reserved multicast group
1601
1836
  #
1602
1837
  Socket::INADDR_UNSPEC_GROUP: Integer
1603
1838
 
1839
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1604
1840
  # Maximum length of an IPv6 address string
1605
1841
  #
1606
1842
  Socket::INET6_ADDRSTRLEN: Integer
1607
1843
 
1844
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1608
1845
  # Maximum length of an IPv4 address string
1609
1846
  #
1610
1847
  Socket::INET_ADDRSTRLEN: Integer
1611
1848
 
1849
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1612
1850
  # Default minimum address for bind or connect
1613
1851
  #
1614
1852
  Socket::IPPORT_RESERVED: Integer
1615
1853
 
1854
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1616
1855
  # Default maximum address for bind or connect
1617
1856
  #
1618
1857
  Socket::IPPORT_USERRESERVED: Integer
1619
1858
 
1859
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1620
1860
  # IP6 auth header
1621
1861
  #
1622
1862
  Socket::IPPROTO_AH: Integer
1623
1863
 
1864
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1624
1865
  # IP6 destination option
1625
1866
  #
1626
1867
  Socket::IPPROTO_DSTOPTS: Integer
1627
1868
 
1869
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1628
1870
  # Exterior Gateway Protocol
1629
1871
  #
1630
1872
  Socket::IPPROTO_EGP: Integer
1631
1873
 
1874
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1632
1875
  # ISO cnlp
1633
1876
  #
1634
1877
  Socket::IPPROTO_EON: Integer
1635
1878
 
1879
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1636
1880
  # IP6 Encapsulated Security Payload
1637
1881
  #
1638
1882
  Socket::IPPROTO_ESP: Integer
1639
1883
 
1884
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1640
1885
  # IP6 fragmentation header
1641
1886
  #
1642
1887
  Socket::IPPROTO_FRAGMENT: Integer
1643
1888
 
1889
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1644
1890
  # Gateway to Gateway Protocol
1645
1891
  #
1646
1892
  Socket::IPPROTO_GGP: Integer
1647
1893
 
1894
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1648
1895
  # "hello" routing protocol
1649
1896
  #
1650
1897
  Socket::IPPROTO_HELLO: Integer
1651
1898
 
1899
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1652
1900
  # IP6 hop-by-hop options
1653
1901
  #
1654
1902
  Socket::IPPROTO_HOPOPTS: Integer
1655
1903
 
1904
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1656
1905
  # Control message protocol
1657
1906
  #
1658
1907
  Socket::IPPROTO_ICMP: Integer
1659
1908
 
1909
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1660
1910
  # ICMP6
1661
1911
  #
1662
1912
  Socket::IPPROTO_ICMPV6: Integer
1663
1913
 
1914
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1664
1915
  # XNS IDP
1665
1916
  #
1666
1917
  Socket::IPPROTO_IDP: Integer
1667
1918
 
1919
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1668
1920
  # Group Management Protocol
1669
1921
  #
1670
1922
  Socket::IPPROTO_IGMP: Integer
1671
1923
 
1924
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1672
1925
  # Dummy protocol for IP
1673
1926
  #
1674
1927
  Socket::IPPROTO_IP: Integer
1675
1928
 
1929
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1676
1930
  # IP6 header
1677
1931
  #
1678
1932
  Socket::IPPROTO_IPV6: Integer
1679
1933
 
1934
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1680
1935
  # Maximum IPPROTO constant
1681
1936
  #
1682
1937
  Socket::IPPROTO_MAX: Integer
1683
1938
 
1939
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1684
1940
  # Sun net disk protocol
1685
1941
  #
1686
1942
  Socket::IPPROTO_ND: Integer
1687
1943
 
1944
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1688
1945
  # IP6 no next header
1689
1946
  #
1690
1947
  Socket::IPPROTO_NONE: Integer
1691
1948
 
1949
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1692
1950
  # PARC Universal Packet protocol
1693
1951
  #
1694
1952
  Socket::IPPROTO_PUP: Integer
1695
1953
 
1954
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1696
1955
  # Raw IP packet
1697
1956
  #
1698
1957
  Socket::IPPROTO_RAW: Integer
1699
1958
 
1959
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1700
1960
  # IP6 routing header
1701
1961
  #
1702
1962
  Socket::IPPROTO_ROUTING: Integer
1703
1963
 
1964
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1704
1965
  # TCP
1705
1966
  #
1706
1967
  Socket::IPPROTO_TCP: Integer
1707
1968
 
1969
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1708
1970
  # ISO transport protocol class 4
1709
1971
  #
1710
1972
  Socket::IPPROTO_TP: Integer
1711
1973
 
1974
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1712
1975
  # UDP
1713
1976
  #
1714
1977
  Socket::IPPROTO_UDP: Integer
1715
1978
 
1979
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1716
1980
  # Xpress Transport Protocol
1717
1981
  #
1718
1982
  Socket::IPPROTO_XTP: Integer
1719
1983
 
1984
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1720
1985
  # Checksum offset for raw sockets
1721
1986
  #
1722
1987
  Socket::IPV6_CHECKSUM: Integer
1723
1988
 
1989
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1724
1990
  # Don't fragment packets
1725
1991
  #
1726
1992
  Socket::IPV6_DONTFRAG: Integer
1727
1993
 
1994
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1728
1995
  # Destination option
1729
1996
  #
1730
1997
  Socket::IPV6_DSTOPTS: Integer
1731
1998
 
1999
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1732
2000
  # Hop limit
1733
2001
  #
1734
2002
  Socket::IPV6_HOPLIMIT: Integer
1735
2003
 
2004
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1736
2005
  # Hop-by-hop option
1737
2006
  #
1738
2007
  Socket::IPV6_HOPOPTS: Integer
1739
2008
 
2009
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1740
2010
  # Join a group membership
1741
2011
  #
1742
2012
  Socket::IPV6_JOIN_GROUP: Integer
1743
2013
 
2014
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1744
2015
  # Leave a group membership
1745
2016
  #
1746
2017
  Socket::IPV6_LEAVE_GROUP: Integer
1747
2018
 
2019
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1748
2020
  # IP6 multicast hops
1749
2021
  #
1750
2022
  Socket::IPV6_MULTICAST_HOPS: Integer
1751
2023
 
2024
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1752
2025
  # IP6 multicast interface
1753
2026
  #
1754
2027
  Socket::IPV6_MULTICAST_IF: Integer
1755
2028
 
2029
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1756
2030
  # IP6 multicast loopback
1757
2031
  #
1758
2032
  Socket::IPV6_MULTICAST_LOOP: Integer
1759
2033
 
2034
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1760
2035
  # Next hop address
1761
2036
  #
1762
2037
  Socket::IPV6_NEXTHOP: Integer
1763
2038
 
2039
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1764
2040
  # Retrieve current path MTU
1765
2041
  #
1766
2042
  Socket::IPV6_PATHMTU: Integer
1767
2043
 
2044
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1768
2045
  # Receive packet information with datagram
1769
2046
  #
1770
2047
  Socket::IPV6_PKTINFO: Integer
1771
2048
 
2049
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1772
2050
  # Receive all IP6 options for response
1773
2051
  #
1774
2052
  Socket::IPV6_RECVDSTOPTS: Integer
1775
2053
 
2054
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1776
2055
  # Receive hop limit with datagram
1777
2056
  #
1778
2057
  Socket::IPV6_RECVHOPLIMIT: Integer
1779
2058
 
2059
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1780
2060
  # Receive hop-by-hop options
1781
2061
  #
1782
2062
  Socket::IPV6_RECVHOPOPTS: Integer
1783
2063
 
2064
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1784
2065
  # Receive current path MTU with datagram
1785
2066
  #
1786
2067
  Socket::IPV6_RECVPATHMTU: Integer
1787
2068
 
2069
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1788
2070
  # Receive destination IP address and incoming interface
1789
2071
  #
1790
2072
  Socket::IPV6_RECVPKTINFO: Integer
1791
2073
 
2074
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1792
2075
  # Receive routing header
1793
2076
  #
1794
2077
  Socket::IPV6_RECVRTHDR: Integer
1795
2078
 
2079
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1796
2080
  # Receive traffic class
1797
2081
  #
1798
2082
  Socket::IPV6_RECVTCLASS: Integer
1799
2083
 
2084
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1800
2085
  # Allows removal of sticky routing headers
1801
2086
  #
1802
2087
  Socket::IPV6_RTHDR: Integer
1803
2088
 
2089
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1804
2090
  # Allows removal of sticky destination options header
1805
2091
  #
1806
2092
  Socket::IPV6_RTHDRDSTOPTS: Integer
1807
2093
 
2094
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1808
2095
  # Routing header type 0
1809
2096
  #
1810
2097
  Socket::IPV6_RTHDR_TYPE_0: Integer
1811
2098
 
2099
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1812
2100
  # Specify the traffic class
1813
2101
  #
1814
2102
  Socket::IPV6_TCLASS: Integer
1815
2103
 
2104
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1816
2105
  # IP6 unicast hops
1817
2106
  #
1818
2107
  Socket::IPV6_UNICAST_HOPS: Integer
1819
2108
 
2109
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1820
2110
  # Use the minimum MTU size
1821
2111
  #
1822
2112
  Socket::IPV6_USE_MIN_MTU: Integer
1823
2113
 
2114
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1824
2115
  # Only bind IPv6 with a wildcard bind
1825
2116
  #
1826
2117
  Socket::IPV6_V6ONLY: Integer
1827
2118
 
2119
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1828
2120
  # Add a multicast group membership
1829
2121
  #
1830
2122
  Socket::IP_ADD_MEMBERSHIP: Integer
1831
2123
 
2124
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1832
2125
  # Add a multicast group membership
1833
2126
  #
1834
2127
  Socket::IP_ADD_SOURCE_MEMBERSHIP: Integer
1835
2128
 
2129
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1836
2130
  # Block IPv4 multicast packets with a give source address
1837
2131
  #
1838
2132
  Socket::IP_BLOCK_SOURCE: Integer
1839
2133
 
2134
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1840
2135
  # Default multicast loopback
1841
2136
  #
1842
2137
  Socket::IP_DEFAULT_MULTICAST_LOOP: Integer
1843
2138
 
2139
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1844
2140
  # Default multicast TTL
1845
2141
  #
1846
2142
  Socket::IP_DEFAULT_MULTICAST_TTL: Integer
1847
2143
 
2144
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1848
2145
  # Drop a multicast group membership
1849
2146
  #
1850
2147
  Socket::IP_DROP_MEMBERSHIP: Integer
1851
2148
 
2149
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1852
2150
  # Drop a multicast group membership
1853
2151
  #
1854
2152
  Socket::IP_DROP_SOURCE_MEMBERSHIP: Integer
1855
2153
 
2154
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1856
2155
  # Header is included with data
1857
2156
  #
1858
2157
  Socket::IP_HDRINCL: Integer
1859
2158
 
2159
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1860
2160
  # IPsec security policy
1861
2161
  #
1862
2162
  Socket::IP_IPSEC_POLICY: Integer
1863
2163
 
2164
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1864
2165
  # Maximum number multicast groups a socket can join
1865
2166
  #
1866
2167
  Socket::IP_MAX_MEMBERSHIPS: Integer
1867
2168
 
2169
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1868
2170
  # Multicast source filtering
1869
2171
  #
1870
2172
  Socket::IP_MSFILTER: Integer
1871
2173
 
2174
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1872
2175
  # IP multicast interface
1873
2176
  #
1874
2177
  Socket::IP_MULTICAST_IF: Integer
1875
2178
 
2179
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1876
2180
  # IP multicast loopback
1877
2181
  #
1878
2182
  Socket::IP_MULTICAST_LOOP: Integer
1879
2183
 
2184
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1880
2185
  # IP multicast TTL
1881
2186
  #
1882
2187
  Socket::IP_MULTICAST_TTL: Integer
1883
2188
 
2189
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1884
2190
  # IP options to be included in packets
1885
2191
  #
1886
2192
  Socket::IP_OPTIONS: Integer
1887
2193
 
2194
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1888
2195
  # Receive packet information with datagrams
1889
2196
  #
1890
2197
  Socket::IP_PKTINFO: Integer
1891
2198
 
2199
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1892
2200
  # Set the port range for sockets with unspecified port numbers
1893
2201
  #
1894
2202
  Socket::IP_PORTRANGE: Integer
1895
2203
 
2204
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1896
2205
  # Receive IP destination address with datagram
1897
2206
  #
1898
2207
  Socket::IP_RECVDSTADDR: Integer
1899
2208
 
2209
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1900
2210
  # Receive interface information with datagrams
1901
2211
  #
1902
2212
  Socket::IP_RECVIF: Integer
1903
2213
 
2214
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1904
2215
  # Receive all IP options with datagram
1905
2216
  #
1906
2217
  Socket::IP_RECVOPTS: Integer
1907
2218
 
2219
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1908
2220
  # Receive all IP options for response
1909
2221
  #
1910
2222
  Socket::IP_RECVRETOPTS: Integer
1911
2223
 
2224
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1912
2225
  # Receive TOS with incoming packets
1913
2226
  #
1914
2227
  Socket::IP_RECVTOS: Integer
1915
2228
 
2229
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1916
2230
  # Receive IP TTL with datagrams
1917
2231
  #
1918
2232
  Socket::IP_RECVTTL: Integer
1919
2233
 
2234
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1920
2235
  # IP options to be included in datagrams
1921
2236
  #
1922
2237
  Socket::IP_RETOPTS: Integer
1923
2238
 
2239
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1924
2240
  # IP type-of-service
1925
2241
  #
1926
2242
  Socket::IP_TOS: Integer
1927
2243
 
2244
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1928
2245
  # IP time-to-live
1929
2246
  #
1930
2247
  Socket::IP_TTL: Integer
1931
2248
 
2249
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1932
2250
  # Unblock IPv4 multicast packets with a give source address
1933
2251
  #
1934
2252
  Socket::IP_UNBLOCK_SOURCE: Integer
1935
2253
 
2254
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1936
2255
  # Retrieve peer credentials
1937
2256
  #
1938
2257
  Socket::LOCAL_PEERCRED: Integer
1939
2258
 
2259
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1940
2260
  # Block multicast packets from this source
1941
2261
  #
1942
2262
  Socket::MCAST_BLOCK_SOURCE: Integer
1943
2263
 
2264
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1944
2265
  # Exclusive multicast source filter
1945
2266
  #
1946
2267
  Socket::MCAST_EXCLUDE: Integer
1947
2268
 
2269
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1948
2270
  # Inclusive multicast source filter
1949
2271
  #
1950
2272
  Socket::MCAST_INCLUDE: Integer
1951
2273
 
2274
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1952
2275
  # Join a multicast group
1953
2276
  #
1954
2277
  Socket::MCAST_JOIN_GROUP: Integer
1955
2278
 
2279
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1956
2280
  # Join a multicast source group
1957
2281
  #
1958
2282
  Socket::MCAST_JOIN_SOURCE_GROUP: Integer
1959
2283
 
2284
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1960
2285
  # Leave a multicast group
1961
2286
  #
1962
2287
  Socket::MCAST_LEAVE_GROUP: Integer
1963
2288
 
2289
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1964
2290
  # Leave a multicast source group
1965
2291
  #
1966
2292
  Socket::MCAST_LEAVE_SOURCE_GROUP: Integer
1967
2293
 
2294
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1968
2295
  # Unblock multicast packets from this source
1969
2296
  #
1970
2297
  Socket::MCAST_UNBLOCK_SOURCE: Integer
1971
2298
 
2299
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1972
2300
  # Control data lost before delivery
1973
2301
  #
1974
2302
  Socket::MSG_CTRUNC: Integer
1975
2303
 
2304
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1976
2305
  # Send without using the routing tables
1977
2306
  #
1978
2307
  Socket::MSG_DONTROUTE: Integer
1979
2308
 
2309
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1980
2310
  # This message should be non-blocking
1981
2311
  #
1982
2312
  Socket::MSG_DONTWAIT: Integer
1983
2313
 
2314
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1984
2315
  # Data completes connection
1985
2316
  #
1986
2317
  Socket::MSG_EOF: Integer
1987
2318
 
2319
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1988
2320
  # Data completes record
1989
2321
  #
1990
2322
  Socket::MSG_EOR: Integer
1991
2323
 
2324
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1992
2325
  # Start of a hold sequence. Dumps to so_temp
1993
2326
  #
1994
2327
  Socket::MSG_FLUSH: Integer
1995
2328
 
2329
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
1996
2330
  # Data ready to be read
1997
2331
  #
1998
2332
  Socket::MSG_HAVEMORE: Integer
1999
2333
 
2334
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2000
2335
  # Hold fragment in so_temp
2001
2336
  #
2002
2337
  Socket::MSG_HOLD: Integer
2003
2338
 
2339
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2004
2340
  # Process out-of-band data
2005
2341
  #
2006
2342
  Socket::MSG_OOB: Integer
2007
2343
 
2344
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2008
2345
  # Peek at incoming message
2009
2346
  #
2010
2347
  Socket::MSG_PEEK: Integer
2011
2348
 
2349
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2012
2350
  # Data remains in the current packet
2013
2351
  #
2014
2352
  Socket::MSG_RCVMORE: Integer
2015
2353
 
2354
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2016
2355
  # Send the packet in so_temp
2017
2356
  #
2018
2357
  Socket::MSG_SEND: Integer
2019
2358
 
2359
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2020
2360
  # Data discarded before delivery
2021
2361
  #
2022
2362
  Socket::MSG_TRUNC: Integer
2023
2363
 
2364
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2024
2365
  # Wait for full request or error
2025
2366
  #
2026
2367
  Socket::MSG_WAITALL: Integer
2027
2368
 
2369
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2028
2370
  # The service specified is a datagram service (looks up UDP ports)
2029
2371
  #
2030
2372
  Socket::NI_DGRAM: Integer
2031
2373
 
2374
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2032
2375
  # Maximum length of a hostname
2033
2376
  #
2034
2377
  Socket::NI_MAXHOST: Integer
2035
2378
 
2379
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2036
2380
  # Maximum length of a service name
2037
2381
  #
2038
2382
  Socket::NI_MAXSERV: Integer
2039
2383
 
2384
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2040
2385
  # A name is required
2041
2386
  #
2042
2387
  Socket::NI_NAMEREQD: Integer
2043
2388
 
2389
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2044
2390
  # An FQDN is not required for local hosts, return only the local part
2045
2391
  #
2046
2392
  Socket::NI_NOFQDN: Integer
2047
2393
 
2394
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2048
2395
  # Return a numeric address
2049
2396
  #
2050
2397
  Socket::NI_NUMERICHOST: Integer
2051
2398
 
2399
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2052
2400
  # Return the service name as a digit string
2053
2401
  #
2054
2402
  Socket::NI_NUMERICSERV: Integer
2055
2403
 
2404
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2056
2405
  # AppleTalk protocol
2057
2406
  #
2058
2407
  Socket::PF_APPLETALK: Integer
2059
2408
 
2409
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2060
2410
  # CCITT (now ITU-T) protocols
2061
2411
  #
2062
2412
  Socket::PF_CCITT: Integer
2063
2413
 
2414
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2064
2415
  # MIT CHAOS protocols
2065
2416
  #
2066
2417
  Socket::PF_CHAOS: Integer
2067
2418
 
2419
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2068
2420
  # Computer Network Technology
2069
2421
  #
2070
2422
  Socket::PF_CNT: Integer
2071
2423
 
2424
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2072
2425
  # Connection-oriented IP
2073
2426
  #
2074
2427
  Socket::PF_COIP: Integer
2075
2428
 
2429
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2076
2430
  # Datakit protocol
2077
2431
  #
2078
2432
  Socket::PF_DATAKIT: Integer
2079
2433
 
2434
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2080
2435
  # DEC Direct Data Link Interface protocol
2081
2436
  #
2082
2437
  Socket::PF_DLI: Integer
2083
2438
 
2439
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2084
2440
  # European Computer Manufacturers protocols
2085
2441
  #
2086
2442
  Socket::PF_ECMA: Integer
2087
2443
 
2444
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2088
2445
  # NSC Hyperchannel protocol
2089
2446
  #
2090
2447
  Socket::PF_HYLINK: Integer
2091
2448
 
2449
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2092
2450
  # ARPANET IMP protocol
2093
2451
  #
2094
2452
  Socket::PF_IMPLINK: Integer
2095
2453
 
2454
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2096
2455
  # IPv4 protocol
2097
2456
  #
2098
2457
  Socket::PF_INET: Integer
2099
2458
 
2459
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2100
2460
  # IPv6 protocol
2101
2461
  #
2102
2462
  Socket::PF_INET6: Integer
2103
2463
 
2464
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2104
2465
  # IPX protocol
2105
2466
  #
2106
2467
  Socket::PF_IPX: Integer
2107
2468
 
2469
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2108
2470
  # Integrated Services Digital Network
2109
2471
  #
2110
2472
  Socket::PF_ISDN: Integer
2111
2473
 
2474
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2112
2475
  # ISO Open Systems Interconnection protocols
2113
2476
  #
2114
2477
  Socket::PF_ISO: Integer
2115
2478
 
2479
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2480
+ # Key management protocol, originally developed for usage with IPsec
2481
+ #
2116
2482
  Socket::PF_KEY: Integer
2117
2483
 
2484
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2118
2485
  # Local Area Transport protocol
2119
2486
  #
2120
2487
  Socket::PF_LAT: Integer
2121
2488
 
2489
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2122
2490
  # Link layer interface
2123
2491
  #
2124
2492
  Socket::PF_LINK: Integer
2125
2493
 
2494
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2126
2495
  # Host-internal protocols
2127
2496
  #
2128
2497
  Socket::PF_LOCAL: Integer
2129
2498
 
2499
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2130
2500
  # Maximum address family for this platform
2131
2501
  #
2132
2502
  Socket::PF_MAX: Integer
2133
2503
 
2504
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2134
2505
  # Native ATM access
2135
2506
  #
2136
2507
  Socket::PF_NATM: Integer
2137
2508
 
2509
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2138
2510
  # Network driver raw access
2139
2511
  #
2140
2512
  Socket::PF_NDRV: Integer
2141
2513
 
2514
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2142
2515
  # NetBIOS
2143
2516
  #
2144
2517
  Socket::PF_NETBIOS: Integer
2145
2518
 
2519
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2146
2520
  # XEROX NS protocols
2147
2521
  #
2148
2522
  Socket::PF_NS: Integer
2149
2523
 
2524
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2150
2525
  # ISO Open Systems Interconnection protocols
2151
2526
  #
2152
2527
  Socket::PF_OSI: Integer
2153
2528
 
2154
2529
  Socket::PF_PIP: Integer
2155
2530
 
2531
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2156
2532
  # Point-to-Point Protocol
2157
2533
  #
2158
2534
  Socket::PF_PPP: Integer
2159
2535
 
2536
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2160
2537
  # PARC Universal Packet protocol
2161
2538
  #
2162
2539
  Socket::PF_PUP: Integer
2163
2540
 
2541
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2164
2542
  # Internal routing protocol
2165
2543
  #
2166
2544
  Socket::PF_ROUTE: Integer
2167
2545
 
2168
2546
  Socket::PF_RTIP: Integer
2169
2547
 
2548
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2170
2549
  # Simple Internet Protocol
2171
2550
  #
2172
2551
  Socket::PF_SIP: Integer
2173
2552
 
2553
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2174
2554
  # IBM SNA protocol
2175
2555
  #
2176
2556
  Socket::PF_SNA: Integer
2177
2557
 
2178
2558
  Socket::PF_SYSTEM: Integer
2179
2559
 
2560
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2180
2561
  # UNIX sockets
2181
2562
  #
2182
2563
  Socket::PF_UNIX: Integer
2183
2564
 
2565
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2184
2566
  # Unspecified protocol, any supported address family
2185
2567
  #
2186
2568
  Socket::PF_UNSPEC: Integer
2187
2569
 
2570
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2188
2571
  # eXpress Transfer Protocol
2189
2572
  #
2190
2573
  Socket::PF_XTP: Integer
2191
2574
 
2575
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2192
2576
  # Process credentials
2193
2577
  #
2194
2578
  Socket::SCM_CREDS: Integer
2195
2579
 
2580
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2196
2581
  # Access rights
2197
2582
  #
2198
2583
  Socket::SCM_RIGHTS: Integer
2199
2584
 
2585
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2200
2586
  # Timestamp (timeval)
2201
2587
  #
2202
2588
  Socket::SCM_TIMESTAMP: Integer
2203
2589
 
2590
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2204
2591
  # Shut down the reading side of the socket
2205
2592
  #
2206
2593
  Socket::SHUT_RD: Integer
2207
2594
 
2595
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2208
2596
  # Shut down the both sides of the socket
2209
2597
  #
2210
2598
  Socket::SHUT_RDWR: Integer
2211
2599
 
2600
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2212
2601
  # Shut down the writing side of the socket
2213
2602
  #
2214
2603
  Socket::SHUT_WR: Integer
2215
2604
 
2605
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2216
2606
  # A datagram socket provides connectionless, unreliable messaging
2217
2607
  #
2218
2608
  Socket::SOCK_DGRAM: Integer
2219
2609
 
2610
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2220
2611
  # A raw socket provides low-level access for direct access or implementing
2221
2612
  # network protocols
2222
2613
  #
2223
2614
  Socket::SOCK_RAW: Integer
2224
2615
 
2616
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2225
2617
  # A reliable datagram socket provides reliable delivery of messages
2226
2618
  #
2227
2619
  Socket::SOCK_RDM: Integer
2228
2620
 
2621
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2229
2622
  # A sequential packet socket provides sequenced, reliable two-way connection for
2230
2623
  # datagrams
2231
2624
  #
2232
2625
  Socket::SOCK_SEQPACKET: Integer
2233
2626
 
2627
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2234
2628
  # A stream socket provides a sequenced, reliable two-way connection for a byte
2235
2629
  # stream
2236
2630
  #
2237
2631
  Socket::SOCK_STREAM: Integer
2238
2632
 
2633
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2239
2634
  # Socket-level options
2240
2635
  #
2241
2636
  Socket::SOL_SOCKET: Integer
2242
2637
 
2638
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2243
2639
  # Maximum connection requests that may be queued for a socket
2244
2640
  #
2245
2641
  Socket::SOMAXCONN: Integer
2246
2642
 
2643
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2247
2644
  # Socket has had listen() called on it
2248
2645
  #
2249
2646
  Socket::SO_ACCEPTCONN: Integer
2250
2647
 
2648
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2251
2649
  # Permit sending of broadcast messages
2252
2650
  #
2253
2651
  Socket::SO_BROADCAST: Integer
2254
2652
 
2653
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2255
2654
  # Debug info recording
2256
2655
  #
2257
2656
  Socket::SO_DEBUG: Integer
2258
2657
 
2658
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2259
2659
  # Use interface addresses
2260
2660
  #
2261
2661
  Socket::SO_DONTROUTE: Integer
2262
2662
 
2663
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2263
2664
  # Retain unread data
2264
2665
  #
2265
2666
  Socket::SO_DONTTRUNC: Integer
2266
2667
 
2668
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2267
2669
  # Get and clear the error status
2268
2670
  #
2269
2671
  Socket::SO_ERROR: Integer
2270
2672
 
2673
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2271
2674
  # Keep connections alive
2272
2675
  #
2273
2676
  Socket::SO_KEEPALIVE: Integer
2274
2677
 
2678
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2275
2679
  # Linger on close if data is present
2276
2680
  #
2277
2681
  Socket::SO_LINGER: Integer
2278
2682
 
2683
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2279
2684
  # Install socket-level Network Kernel Extension
2280
2685
  #
2281
2686
  Socket::SO_NKE: Integer
2282
2687
 
2688
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2283
2689
  # Don't SIGPIPE on EPIPE
2284
2690
  #
2285
2691
  Socket::SO_NOSIGPIPE: Integer
2286
2692
 
2693
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2287
2694
  # Get first packet byte count
2288
2695
  #
2289
2696
  Socket::SO_NREAD: Integer
2290
2697
 
2698
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2291
2699
  # Leave received out-of-band data in-line
2292
2700
  #
2293
2701
  Socket::SO_OOBINLINE: Integer
2294
2702
 
2703
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2295
2704
  # Receive buffer size
2296
2705
  #
2297
2706
  Socket::SO_RCVBUF: Integer
2298
2707
 
2708
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2299
2709
  # Receive low-water mark
2300
2710
  #
2301
2711
  Socket::SO_RCVLOWAT: Integer
2302
2712
 
2713
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2303
2714
  # Receive timeout
2304
2715
  #
2305
2716
  Socket::SO_RCVTIMEO: Integer
2306
2717
 
2718
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2307
2719
  # Allow local address reuse
2308
2720
  #
2309
2721
  Socket::SO_REUSEADDR: Integer
2310
2722
 
2723
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2311
2724
  # Allow local address and port reuse
2312
2725
  #
2313
2726
  Socket::SO_REUSEPORT: Integer
2314
2727
 
2728
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2315
2729
  # Send buffer size
2316
2730
  #
2317
2731
  Socket::SO_SNDBUF: Integer
2318
2732
 
2733
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2319
2734
  # Send low-water mark
2320
2735
  #
2321
2736
  Socket::SO_SNDLOWAT: Integer
2322
2737
 
2738
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2323
2739
  # Send timeout
2324
2740
  #
2325
2741
  Socket::SO_SNDTIMEO: Integer
2326
2742
 
2743
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2327
2744
  # Receive timestamp with datagrams (timeval)
2328
2745
  #
2329
2746
  Socket::SO_TIMESTAMP: Integer
2330
2747
 
2748
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2331
2749
  # Get the socket type
2332
2750
  #
2333
2751
  Socket::SO_TYPE: Integer
2334
2752
 
2753
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2335
2754
  # Bypass hardware when possible
2336
2755
  #
2337
2756
  Socket::SO_USELOOPBACK: Integer
2338
2757
 
2758
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2339
2759
  # Give a hint when more data is ready
2340
2760
  #
2341
2761
  Socket::SO_WANTMORE: Integer
2342
2762
 
2763
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2343
2764
  # OOB data is wanted in MSG_FLAG on receive
2344
2765
  #
2345
2766
  Socket::SO_WANTOOBFLAG: Integer
2346
2767
 
2768
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2347
2769
  # Reduce step of the handshake process (Linux 3.7, glibc 2.18)
2348
2770
  #
2349
2771
  Socket::TCP_FASTOPEN: Integer
2350
2772
 
2773
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2351
2774
  # Maximum number of keepalive probes allowed before dropping a connection (Linux
2352
2775
  # 2.4, glibc 2.2)
2353
2776
  #
2354
2777
  Socket::TCP_KEEPCNT: Integer
2355
2778
 
2779
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2356
2780
  # Time between keepalive probes (Linux 2.4, glibc 2.2)
2357
2781
  #
2358
2782
  Socket::TCP_KEEPINTVL: Integer
2359
2783
 
2784
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2360
2785
  # Set maximum segment size
2361
2786
  #
2362
2787
  Socket::TCP_MAXSEG: Integer
2363
2788
 
2789
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2364
2790
  # Don't delay sending to coalesce packets
2365
2791
  #
2366
2792
  Socket::TCP_NODELAY: Integer
2367
2793
 
2794
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2368
2795
  # Don't use TCP options
2369
2796
  #
2370
2797
  Socket::TCP_NOOPT: Integer
2371
2798
 
2799
+ # <!-- rdoc-file=ext/socket/constdefs.c -->
2372
2800
  # Don't push the last block of write
2373
2801
  #
2374
2802
  Socket::TCP_NOPUSH: Integer
2375
2803
 
2804
+ # <!-- rdoc-file=ext/socket/ifaddr.c -->
2376
2805
  # Socket::Ifaddr represents a result of getifaddrs() function.
2806
+ #
2377
2807
  class Socket::Ifaddr
2378
2808
  public
2379
2809
 
2810
+ # <!--
2811
+ # rdoc-file=ext/socket/ifaddr.c
2812
+ # - ifaddr.addr => addrinfo
2813
+ # -->
2380
2814
  # Returns the address of *ifaddr*. nil is returned if address is not available
2381
2815
  # in *ifaddr*.
2382
2816
  #
2383
2817
  def addr: () -> Addrinfo?
2384
2818
 
2819
+ # <!--
2820
+ # rdoc-file=ext/socket/ifaddr.c
2821
+ # - ifaddr.broadaddr => addrinfo
2822
+ # -->
2385
2823
  # Returns the broadcast address of *ifaddr*. nil is returned if the flags
2386
2824
  # doesn't have IFF_BROADCAST.
2387
2825
  #
2388
2826
  def broadaddr: () -> Addrinfo?
2389
2827
 
2828
+ # <!--
2829
+ # rdoc-file=ext/socket/ifaddr.c
2830
+ # - ifaddr.dstaddr => addrinfo
2831
+ # -->
2390
2832
  # Returns the destination address of *ifaddr*. nil is returned if the flags
2391
2833
  # doesn't have IFF_POINTOPOINT.
2392
2834
  #
2393
2835
  def dstaddr: () -> Addrinfo?
2394
2836
 
2837
+ # <!--
2838
+ # rdoc-file=ext/socket/ifaddr.c
2839
+ # - ifaddr.flags => integer
2840
+ # -->
2395
2841
  # Returns the flags of *ifaddr*.
2396
2842
  #
2397
2843
  def flags: () -> Integer
2398
2844
 
2845
+ # <!--
2846
+ # rdoc-file=ext/socket/ifaddr.c
2847
+ # - ifaddr.ifindex => integer
2848
+ # -->
2399
2849
  # Returns the interface index of *ifaddr*.
2400
2850
  #
2401
2851
  def ifindex: () -> Integer
2402
2852
 
2853
+ # <!--
2854
+ # rdoc-file=ext/socket/ifaddr.c
2855
+ # - ifaddr.inspect => string
2856
+ # -->
2403
2857
  # Returns a string to show contents of *ifaddr*.
2404
2858
  #
2405
2859
  def inspect: () -> String
2406
2860
 
2861
+ # <!--
2862
+ # rdoc-file=ext/socket/ifaddr.c
2863
+ # - ifaddr.name => string
2864
+ # -->
2407
2865
  # Returns the interface name of *ifaddr*.
2408
2866
  #
2409
2867
  def name: () -> String
2410
2868
 
2869
+ # <!--
2870
+ # rdoc-file=ext/socket/ifaddr.c
2871
+ # - ifaddr.netmask => addrinfo
2872
+ # -->
2411
2873
  # Returns the netmask address of *ifaddr*. nil is returned if netmask is not
2412
2874
  # available in *ifaddr*.
2413
2875
  #
2414
2876
  def netmask: () -> Addrinfo?
2415
2877
  end
2416
2878
 
2879
+ # <!-- rdoc-file=ext/socket/lib/socket.rb -->
2417
2880
  # UDP/IP address information used by Socket.udp_server_loop.
2881
+ #
2418
2882
  class Socket::UDPSource
2419
2883
  public
2420
2884
 
2421
2885
  def inspect: () -> String
2422
2886
 
2887
+ # <!-- rdoc-file=ext/socket/lib/socket.rb -->
2423
2888
  # Local address
2424
2889
  #
2425
2890
  def local_address: () -> Addrinfo
2426
2891
 
2892
+ # <!-- rdoc-file=ext/socket/lib/socket.rb -->
2427
2893
  # Address of the source
2428
2894
  #
2429
2895
  def remote_address: () -> Addrinfo
2430
2896
 
2897
+ # <!--
2898
+ # rdoc-file=ext/socket/lib/socket.rb
2899
+ # - reply(msg)
2900
+ # -->
2431
2901
  # Sends the String `msg` to the source
2432
2902
  #
2433
2903
  def reply: (String msg) -> void
2434
2904
 
2435
2905
  private
2436
2906
 
2907
+ # <!--
2908
+ # rdoc-file=ext/socket/lib/socket.rb
2909
+ # - new(remote_address, local_address, &reply_proc)
2910
+ # -->
2437
2911
  # `remote_address` is an Addrinfo object.
2438
2912
  #
2439
2913
  # `local_address` is an Addrinfo object.
@@ -2443,10 +2917,16 @@ class Socket::UDPSource
2443
2917
  def initialize: (Addrinfo remote_address, Addrinfo local_address) { (String) -> void } -> void
2444
2918
  end
2445
2919
 
2920
+ # <!-- rdoc-file=ext/socket/ancdata.c -->
2446
2921
  # Socket::AncillaryData represents the ancillary data (control information) used
2447
2922
  # by sendmsg and recvmsg system call. It contains socket #family, control
2448
2923
  # message (cmsg) #level, cmsg #type and cmsg #data.
2924
+ #
2449
2925
  class Socket::AncillaryData
2926
+ # <!--
2927
+ # rdoc-file=ext/socket/ancdata.c
2928
+ # - Socket::AncillaryData.int(family, cmsg_level, cmsg_type, integer) => ancillarydata
2929
+ # -->
2450
2930
  # Creates a new Socket::AncillaryData object which contains a int as data.
2451
2931
  #
2452
2932
  # The size and endian is dependent on the host.
@@ -2458,6 +2938,11 @@ class Socket::AncillaryData
2458
2938
  #
2459
2939
  def self.int: (Symbol, Symbol, Symbol, Symbol) -> instance
2460
2940
 
2941
+ # <!--
2942
+ # rdoc-file=ext/socket/ancdata.c
2943
+ # - Socket::AncillaryData.ip_pktinfo(addr, ifindex) => ancdata
2944
+ # - Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dst) => ancdata
2945
+ # -->
2461
2946
  # Returns new ancillary data for IP_PKTINFO.
2462
2947
  #
2463
2948
  # If spec_dst is not given, addr is used.
@@ -2474,6 +2959,10 @@ class Socket::AncillaryData
2474
2959
  #
2475
2960
  def self.ip_pktinfo: (Addrinfo addr, Integer ifindex, ?Addrinfo spec_dst) -> instance
2476
2961
 
2962
+ # <!--
2963
+ # rdoc-file=ext/socket/ancdata.c
2964
+ # - Socket::AncillaryData.ipv6_pktinfo(addr, ifindex) => ancdata
2965
+ # -->
2477
2966
  # Returns new ancillary data for IPV6_PKTINFO.
2478
2967
  #
2479
2968
  # IPV6_PKTINFO is defined by RFC 3542.
@@ -2485,6 +2974,10 @@ class Socket::AncillaryData
2485
2974
  #
2486
2975
  def self.ipv6_pktinfo: (Addrinfo addr, Integer ifindex) -> instance
2487
2976
 
2977
+ # <!--
2978
+ # rdoc-file=ext/socket/ancdata.c
2979
+ # - Socket::AncillaryData.unix_rights(io1, io2, ...) => ancillarydata
2980
+ # -->
2488
2981
  # Creates a new Socket::AncillaryData object which contains file descriptors as
2489
2982
  # data.
2490
2983
  #
@@ -2495,6 +2988,10 @@ class Socket::AncillaryData
2495
2988
 
2496
2989
  public
2497
2990
 
2991
+ # <!--
2992
+ # rdoc-file=ext/socket/ancdata.c
2993
+ # - ancillarydata.cmsg_is?(level, type) => true or false
2994
+ # -->
2498
2995
  # tests the level and type of *ancillarydata*.
2499
2996
  #
2500
2997
  # ancdata = Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
@@ -2505,6 +3002,10 @@ class Socket::AncillaryData
2505
3002
  #
2506
3003
  def cmsg_is?: (Integer level, Integer ancillary_type) -> bool
2507
3004
 
3005
+ # <!--
3006
+ # rdoc-file=ext/socket/ancdata.c
3007
+ # - ancillarydata.data => string
3008
+ # -->
2508
3009
  # returns the cmsg data as a string.
2509
3010
  #
2510
3011
  # p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").data
@@ -2512,6 +3013,10 @@ class Socket::AncillaryData
2512
3013
  #
2513
3014
  def data: () -> String
2514
3015
 
3016
+ # <!--
3017
+ # rdoc-file=ext/socket/ancdata.c
3018
+ # - ancillarydata.family => integer
3019
+ # -->
2515
3020
  # returns the socket family as an integer.
2516
3021
  #
2517
3022
  # p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").family
@@ -2519,6 +3024,10 @@ class Socket::AncillaryData
2519
3024
  #
2520
3025
  def family: () -> Integer
2521
3026
 
3027
+ # <!--
3028
+ # rdoc-file=ext/socket/ancdata.c
3029
+ # - ancillarydata.inspect => string
3030
+ # -->
2522
3031
  # returns a string which shows ancillarydata in human-readable form.
2523
3032
  #
2524
3033
  # p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").inspect
@@ -2526,6 +3035,10 @@ class Socket::AncillaryData
2526
3035
  #
2527
3036
  def inspect: () -> String
2528
3037
 
3038
+ # <!--
3039
+ # rdoc-file=ext/socket/ancdata.c
3040
+ # - ancillarydata.int => integer
3041
+ # -->
2529
3042
  # Returns the data in *ancillarydata* as an int.
2530
3043
  #
2531
3044
  # The size and endian is dependent on the host.
@@ -2535,6 +3048,10 @@ class Socket::AncillaryData
2535
3048
  #
2536
3049
  def int: () -> Integer
2537
3050
 
3051
+ # <!--
3052
+ # rdoc-file=ext/socket/ancdata.c
3053
+ # - ancdata.ip_pktinfo => [addr, ifindex, spec_dst]
3054
+ # -->
2538
3055
  # Extracts addr, ifindex and spec_dst from IP_PKTINFO ancillary data.
2539
3056
  #
2540
3057
  # IP_PKTINFO is not standard.
@@ -2548,8 +3065,12 @@ class Socket::AncillaryData
2548
3065
  # p ancdata.ip_pktinfo
2549
3066
  # #=> [#<Addrinfo: 127.0.0.1>, 0, #<Addrinfo: 127.0.0.1>]
2550
3067
  #
2551
- def ip_pktinfo: () -> [Addrinfo, Integer, Addrinfo]
3068
+ def ip_pktinfo: () -> [ Addrinfo, Integer, Addrinfo ]
2552
3069
 
3070
+ # <!--
3071
+ # rdoc-file=ext/socket/ancdata.c
3072
+ # - ancdata.ipv6_pktinfo => [addr, ifindex]
3073
+ # -->
2553
3074
  # Extracts addr and ifindex from IPV6_PKTINFO ancillary data.
2554
3075
  #
2555
3076
  # IPV6_PKTINFO is defined by RFC 3542.
@@ -2559,8 +3080,12 @@ class Socket::AncillaryData
2559
3080
  # ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
2560
3081
  # p ancdata.ipv6_pktinfo #=> [#<Addrinfo: ::1>, 0]
2561
3082
  #
2562
- def ipv6_pktinfo: () -> [Addrinfo, Integer]
3083
+ def ipv6_pktinfo: () -> [ Addrinfo, Integer ]
2563
3084
 
3085
+ # <!--
3086
+ # rdoc-file=ext/socket/ancdata.c
3087
+ # - ancdata.ipv6_pktinfo_addr => addr
3088
+ # -->
2564
3089
  # Extracts addr from IPV6_PKTINFO ancillary data.
2565
3090
  #
2566
3091
  # IPV6_PKTINFO is defined by RFC 3542.
@@ -2572,6 +3097,10 @@ class Socket::AncillaryData
2572
3097
  #
2573
3098
  def ipv6_pktinfo_addr: () -> Addrinfo
2574
3099
 
3100
+ # <!--
3101
+ # rdoc-file=ext/socket/ancdata.c
3102
+ # - ancdata.ipv6_pktinfo_ifindex => addr
3103
+ # -->
2575
3104
  # Extracts ifindex from IPV6_PKTINFO ancillary data.
2576
3105
  #
2577
3106
  # IPV6_PKTINFO is defined by RFC 3542.
@@ -2583,6 +3112,10 @@ class Socket::AncillaryData
2583
3112
  #
2584
3113
  def ipv6_pktinfo_ifindex: () -> Integer
2585
3114
 
3115
+ # <!--
3116
+ # rdoc-file=ext/socket/ancdata.c
3117
+ # - ancillarydata.level => integer
3118
+ # -->
2586
3119
  # returns the cmsg level as an integer.
2587
3120
  #
2588
3121
  # p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").level
@@ -2590,6 +3123,10 @@ class Socket::AncillaryData
2590
3123
  #
2591
3124
  def level: () -> Integer
2592
3125
 
3126
+ # <!--
3127
+ # rdoc-file=ext/socket/ancdata.c
3128
+ # - ancillarydata.timestamp => time
3129
+ # -->
2593
3130
  # returns the timestamp as a time object.
2594
3131
  #
2595
3132
  # *ancillarydata* should be one of following type:
@@ -2612,9 +3149,12 @@ class Socket::AncillaryData
2612
3149
  #
2613
3150
  # }
2614
3151
  #
2615
- #
2616
3152
  def timestamp: () -> Time
2617
3153
 
3154
+ # <!--
3155
+ # rdoc-file=ext/socket/ancdata.c
3156
+ # - ancillarydata.type => integer
3157
+ # -->
2618
3158
  # returns the cmsg type as an integer.
2619
3159
  #
2620
3160
  # p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
@@ -2622,6 +3162,10 @@ class Socket::AncillaryData
2622
3162
  #
2623
3163
  def type: () -> Integer
2624
3164
 
3165
+ # <!--
3166
+ # rdoc-file=ext/socket/ancdata.c
3167
+ # - ancillarydata.unix_rights => array-of-IOs or nil
3168
+ # -->
2625
3169
  # returns the array of IO objects for SCM_RIGHTS control message in UNIX domain
2626
3170
  # socket.
2627
3171
  #
@@ -2652,6 +3196,10 @@ class Socket::AncillaryData
2652
3196
 
2653
3197
  private
2654
3198
 
3199
+ # <!--
3200
+ # rdoc-file=ext/socket/ancdata.c
3201
+ # - Socket::AncillaryData.new(family, cmsg_level, cmsg_type, cmsg_data) -> ancillarydata
3202
+ # -->
2655
3203
  # *family* should be an integer, a string or a symbol.
2656
3204
  # * Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
2657
3205
  # * Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX