PageRenderTime 48ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/php-bartlett-PHP-CompatInfo-2.5.0/PHP_CompatInfo-2.5.0/PHP/CompatInfo/Reference/sockets.php

#
PHP | 391 lines | 297 code | 14 blank | 80 comment | 32 complexity | b1b30432c887c17ca3c5c2c483292ea1 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. /**
  3. * Version informations about sockets extension
  4. *
  5. * PHP version 5
  6. *
  7. * @category PHP
  8. * @package PHP_CompatInfo
  9. * @author Laurent Laville <pear@laurent-laville.org>
  10. * @license http://www.opensource.org/licenses/bsd-license.php BSD License
  11. * @version SVN: $Id$
  12. * @link http://php5.laurent-laville.org/compatinfo/
  13. */
  14. /**
  15. * All interfaces, classes, functions, constants about sockets extension
  16. *
  17. * @category PHP
  18. * @package PHP_CompatInfo
  19. * @author Laurent Laville <pear@laurent-laville.org>
  20. * @license http://www.opensource.org/licenses/bsd-license.php BSD License
  21. * @version Release: 2.5.0
  22. * @link http://php5.laurent-laville.org/compatinfo/
  23. * @link http://www.php.net/manual/en/book.sockets.php
  24. */
  25. class PHP_CompatInfo_Reference_Sockets implements PHP_CompatInfo_Reference
  26. {
  27. /**
  28. * Gets all informations at once about:
  29. * extensions, interfaces, classes, functions, constants
  30. *
  31. * @param string $extension OPTIONAL
  32. * @param string $version OPTIONAL PHP version
  33. * (4 => only PHP4, 5 or null => PHP4 + PHP5)
  34. *
  35. * @return array
  36. */
  37. public function getAll($extension = null, $version = null)
  38. {
  39. $references = array(
  40. 'extensions' => $this->getExtensions($extension, $version),
  41. 'interfaces' => $this->getInterfaces($extension, $version),
  42. 'classes' => $this->getClasses($extension, $version),
  43. 'functions' => $this->getFunctions($extension, $version),
  44. 'constants' => $this->getConstants($extension, $version),
  45. );
  46. return $references;
  47. }
  48. /**
  49. * Gets informations about extensions
  50. *
  51. * @param string $extension OPTIONAL
  52. * @param string $version OPTIONAL PHP version
  53. * (4 => only PHP4, 5 or null => PHP4 + PHP5)
  54. *
  55. * @return array
  56. */
  57. public function getExtensions($extension = null, $version = null)
  58. {
  59. $extensions = array(
  60. 'sockets' => array('4.1.0', '', '')
  61. );
  62. return $extensions;
  63. }
  64. /**
  65. * Gets informations about interfaces
  66. *
  67. * @param string $extension OPTIONAL
  68. * @param string $version OPTIONAL PHP version
  69. * (4 => only PHP4, 5 or null => PHP4 + PHP5)
  70. *
  71. * @return array
  72. */
  73. public function getInterfaces($extension = null, $version = null)
  74. {
  75. $interfaces = array();
  76. if ((null == $version ) || ('4' == $version)) {
  77. $version4 = array(
  78. );
  79. $interfaces = array_merge(
  80. $interfaces,
  81. $version4
  82. );
  83. }
  84. if ((null == $version ) || ('5' == $version)) {
  85. $version5 = array(
  86. );
  87. $interfaces = array_merge(
  88. $interfaces,
  89. $version5
  90. );
  91. }
  92. return $interfaces;
  93. }
  94. /**
  95. * Gets informations about classes
  96. *
  97. * @param string $extension OPTIONAL
  98. * @param string $version OPTIONAL PHP version
  99. * (4 => only PHP4, 5 or null => PHP4 + PHP5)
  100. *
  101. * @return array
  102. */
  103. public function getClasses($extension = null, $version = null)
  104. {
  105. $classes = array();
  106. if ((null == $version ) || ('4' == $version)) {
  107. $version4 = array(
  108. );
  109. $classes = array_merge(
  110. $classes,
  111. $version4
  112. );
  113. }
  114. if ((null == $version ) || ('5' == $version)) {
  115. $version5 = array(
  116. );
  117. $classes = array_merge(
  118. $classes,
  119. $version5
  120. );
  121. }
  122. return $classes;
  123. }
  124. /**
  125. * Gets informations about functions
  126. *
  127. * @param string $extension OPTIONAL
  128. * @param string $version OPTIONAL PHP version
  129. * (4 => only PHP4, 5 or null => PHP4 + PHP5)
  130. *
  131. * @return array
  132. * @link http://www.php.net/manual/en/ref.sockets.php
  133. */
  134. public function getFunctions($extension = null, $version = null)
  135. {
  136. $functions = array();
  137. if ((null == $version ) || ('4' == $version)) {
  138. $version4 = array(
  139. 'socket_accept' => array('4.1.0', ''),
  140. 'socket_bind' => array('4.1.0', ''),
  141. 'socket_clear_error' => array('4.2.0', ''),
  142. 'socket_close' => array('4.1.0', ''),
  143. 'socket_connect' => array('4.1.0', ''),
  144. 'socket_create_listen' => array('4.1.0', ''),
  145. 'socket_create_pair' => array('4.1.0', ''),
  146. 'socket_create' => array('4.1.0', ''),
  147. 'socket_get_option' => array('4.3.0', ''),
  148. 'socket_getopt' => array('4.1.0', ''),
  149. 'socket_getpeername' => array('4.1.0', ''),
  150. 'socket_getsockname' => array('4.1.0', ''),
  151. 'socket_last_error' => array('4.1.0', ''),
  152. 'socket_listen' => array('4.1.0', ''),
  153. 'socket_read' => array('4.1.0', ''),
  154. 'socket_recv' => array('4.1.0', ''),
  155. 'socket_recvfrom' => array('4.1.0', ''),
  156. 'socket_select' => array('4.1.0', ''),
  157. 'socket_send' => array('4.1.0', ''),
  158. 'socket_sendto' => array('4.1.0', ''),
  159. 'socket_set_block' => array('4.2.0', ''),
  160. 'socket_set_nonblock' => array('4.1.0', ''),
  161. 'socket_set_option' => array('4.3.0', ''),
  162. 'socket_setopt' => array('4.1.0', ''),
  163. 'socket_shutdown' => array('4.1.0', ''),
  164. 'socket_strerror' => array('4.1.0', ''),
  165. 'socket_write' => array('4.1.0', ''),
  166. );
  167. $functions = array_merge(
  168. $functions,
  169. $version4
  170. );
  171. }
  172. if ((null == $version ) || ('5' == $version)) {
  173. $version5 = array(
  174. 'socket_import_stream' => array('5.4.0', ''),
  175. );
  176. $functions = array_merge(
  177. $functions,
  178. $version5
  179. );
  180. }
  181. return $functions;
  182. }
  183. /**
  184. * Gets informations about constants
  185. *
  186. * @param string $extension OPTIONAL
  187. * @param string $version OPTIONAL PHP version
  188. * (4 => only PHP4, 5 or null => PHP4 + PHP5)
  189. *
  190. * @return array
  191. * @link http://www.php.net/manual/en/sockets.constants.php
  192. */
  193. public function getConstants($extension = null, $version = null)
  194. {
  195. $constants = array();
  196. if ((null == $version ) || ('4' == $version)) {
  197. $version4 = array(
  198. 'AF_UNIX' => array('4.1.0', ''),
  199. 'AF_INET' => array('4.1.0', ''),
  200. 'AF_INET6' => array('4.1.0', ''),
  201. 'SOCK_STREAM' => array('4.1.0', ''),
  202. 'SOCK_DGRAM' => array('4.1.0', ''),
  203. 'SOCK_RAW' => array('4.1.0', ''),
  204. 'SOCK_SEQPACKET' => array('4.1.0', ''),
  205. 'SOCK_RDM' => array('4.1.0', ''),
  206. 'MSG_OOB' => array('4.1.0', ''),
  207. 'MSG_WAITALL' => array('4.1.0', ''),
  208. 'MSG_PEEK' => array('4.1.0', ''),
  209. 'MSG_DONTROUTE' => array('4.1.0', ''),
  210. 'SO_DEBUG' => array('4.1.0', ''),
  211. 'SO_REUSEADDR' => array('4.1.0', ''),
  212. 'SO_KEEPALIVE' => array('4.1.0', ''),
  213. 'SO_DONTROUTE' => array('4.1.0', ''),
  214. 'SO_LINGER' => array('4.1.0', ''),
  215. 'SO_BROADCAST' => array('4.1.0', ''),
  216. 'SO_OOBINLINE' => array('4.1.0', ''),
  217. 'SO_SNDBUF' => array('4.1.0', ''),
  218. 'SO_RCVBUF' => array('4.1.0', ''),
  219. 'SO_SNDLOWAT' => array('4.1.0', ''),
  220. 'SO_RCVLOWAT' => array('4.1.0', ''),
  221. 'SO_SNDTIMEO' => array('4.1.0', ''),
  222. 'SO_RCVTIMEO' => array('4.1.0', ''),
  223. 'SO_TYPE' => array('4.1.0', ''),
  224. 'SO_ERROR' => array('4.1.0', ''),
  225. 'SOL_SOCKET' => array('4.1.0', ''),
  226. 'SOL_TCP' => array('4.1.0', ''),
  227. 'SOL_UDP' => array('4.1.0', ''),
  228. 'SOMAXCONN' => array('4.1.0', ''),
  229. 'PHP_NORMAL_READ' => array('4.1.0', ''),
  230. 'PHP_BINARY_READ' => array('4.1.0', ''),
  231. 'SOCKET_E2BIG' => array('4.3.0', ''),
  232. 'SOCKET_EACCES' => array('4.1.0', ''),
  233. 'SOCKET_EADDRINUSE' => array('4.1.0', ''),
  234. 'SOCKET_EADDRNOTAVAIL' => array('4.1.0', ''),
  235. 'SOCKET_EADV' => array('4.3.0', ''),
  236. 'SOCKET_EAFNOSUPPORT' => array('4.1.0', ''),
  237. 'SOCKET_EAGAIN' => array('4.3.0', ''),
  238. 'SOCKET_EALREADY' => array('4.1.0', ''),
  239. 'SOCKET_EBADE' => array('4.3.0', ''),
  240. 'SOCKET_EBADF' => array('4.1.0', ''),
  241. 'SOCKET_EBADFD' => array('4.3.0', ''),
  242. 'SOCKET_EBADMSG' => array('4.3.0', ''),
  243. 'SOCKET_EBADR' => array('4.3.0', ''),
  244. 'SOCKET_EBADRQC' => array('4.3.0', ''),
  245. 'SOCKET_EBADSLT' => array('4.3.0', ''),
  246. 'SOCKET_EBUSY' => array('4.3.0', ''),
  247. 'SOCKET_ECHRNG' => array('4.3.0', ''),
  248. 'SOCKET_ECOMM' => array('4.3.0', ''),
  249. 'SOCKET_ECONNABORTED' => array('4.1.0', ''),
  250. 'SOCKET_ECONNREFUSED' => array('4.1.0', ''),
  251. 'SOCKET_ECONNRESET' => array('4.1.0', ''),
  252. 'SOCKET_EDESTADDRREQ' => array('4.1.0', ''),
  253. 'SOCKET_EDISCON' => array('4.1.0', ''),
  254. 'SOCKET_EDQUOT' => array('4.1.0', ''),
  255. 'SOCKET_EEXIST' => array('4.3.0', ''),
  256. 'SOCKET_EFAULT' => array('4.1.0', ''),
  257. 'SOCKET_EHOSTDOWN' => array('4.1.0', ''),
  258. 'SOCKET_EHOSTUNREACH' => array('4.1.0', ''),
  259. 'SOCKET_EIDRM' => array('4.3.0', ''),
  260. 'SOCKET_EINPROGRESS' => array('4.1.0', ''),
  261. 'SOCKET_EINTR' => array('4.1.0', ''),
  262. 'SOCKET_EINVAL' => array('4.1.0', ''),
  263. 'SOCKET_EIO' => array('4.3.0', ''),
  264. 'SOCKET_EISCONN' => array('4.1.0', ''),
  265. 'SOCKET_EISDIR' => array('4.3.0', ''),
  266. 'SOCKET_EISNAM' => array('4.3.0', ''),
  267. 'SOCKET_EL2HLT' => array('4.3.0', ''),
  268. 'SOCKET_EL2NSYNC' => array('4.3.0', ''),
  269. 'SOCKET_EL3HLT' => array('4.3.0', ''),
  270. 'SOCKET_EL3RST' => array('4.3.0', ''),
  271. 'SOCKET_ELNRNG' => array('4.3.0', ''),
  272. 'SOCKET_ELOOP' => array('4.1.0', ''),
  273. 'SOCKET_EMEDIUMTYPE' => array('4.3.0', ''),
  274. 'SOCKET_EMFILE' => array('4.1.0', ''),
  275. 'SOCKET_EMLINK' => array('4.3.0', ''),
  276. 'SOCKET_EMSGSIZE' => array('4.1.0', ''),
  277. 'SOCKET_EMULTIHOP' => array('4.3.0', ''),
  278. 'SOCKET_ENAMETOOLONG' => array('4.1.0', ''),
  279. 'SOCKET_ENETDOWN' => array('4.1.0', ''),
  280. 'SOCKET_ENETRESET' => array('4.1.0', ''),
  281. 'SOCKET_ENETUNREACH' => array('4.1.0', ''),
  282. 'SOCKET_ENFILE' => array('4.3.0', ''),
  283. 'SOCKET_ENOANO' => array('4.3.0', ''),
  284. 'SOCKET_ENOBUFS' => array('4.1.0', ''),
  285. 'SOCKET_ENOCSI' => array('4.3.0', ''),
  286. 'SOCKET_ENODATA' => array('4.3.0', ''),
  287. 'SOCKET_ENODEV' => array('4.3.0', ''),
  288. 'SOCKET_ENOENT' => array('4.3.0', ''),
  289. 'SOCKET_ENOLCK' => array('4.3.0', ''),
  290. 'SOCKET_ENOLINK' => array('4.3.0', ''),
  291. 'SOCKET_ENOMEDIUM' => array('4.3.0', ''),
  292. 'SOCKET_ENOMEM' => array('4.3.0', ''),
  293. 'SOCKET_ENOMSG' => array('4.3.0', ''),
  294. 'SOCKET_ENONET' => array('4.3.0', ''),
  295. 'SOCKET_ENOPROTOOPT' => array('4.1.0', ''),
  296. 'SOCKET_ENOSPC' => array('4.3.0', ''),
  297. 'SOCKET_ENOSR' => array('4.3.0', ''),
  298. 'SOCKET_ENOSTR' => array('4.3.0', ''),
  299. 'SOCKET_ENOSYS' => array('4.3.0', ''),
  300. 'SOCKET_ENOTBLK' => array('4.3.0', ''),
  301. 'SOCKET_ENOTEMPTY' => array('4.1.0', ''),
  302. 'SOCKET_ENOTCONN' => array('4.1.0', ''),
  303. 'SOCKET_ENOTDIR' => array('4.3.0', ''),
  304. 'SOCKET_ENOTSOCK' => array('4.1.0', ''),
  305. 'SOCKET_ENOTTY' => array('4.3.0', ''),
  306. 'SOCKET_ENOTUNIQ' => array('4.3.0', ''),
  307. 'SOCKET_ENXIO' => array('4.3.0', ''),
  308. 'SOCKET_EOPNOTSUPP' => array('4.1.0', ''),
  309. 'SOCKET_EPERM' => array('4.3.0', ''),
  310. 'SOCKET_EPFNOSUPPORT' => array('4.1.0', ''),
  311. 'SOCKET_EPIPE' => array('4.3.0', ''),
  312. 'SOCKET_EPROTO' => array('4.3.0', ''),
  313. 'SOCKET_EPROCLIM' => array('4.1.0', ''),
  314. 'SOCKET_EPROTONOSUPPORT' => array('4.1.0', ''),
  315. 'SOCKET_EPROTOTYPE' => array('4.1.0', ''),
  316. 'SOCKET_EREMCHG' => array('4.3.0', ''),
  317. 'SOCKET_EREMOTE' => array('4.1.0', ''),
  318. 'SOCKET_EREMOTEIO' => array('4.3.0', ''),
  319. 'SOCKET_ERESTART' => array('4.3.0', ''),
  320. 'SOCKET_EROFS' => array('4.3.0', ''),
  321. 'SOCKET_ESHUTDOWN' => array('4.1.0', ''),
  322. 'SOCKET_ESOCKTNOSUPPORT' => array('4.1.0', ''),
  323. 'SOCKET_ESPIPE' => array('4.3.0', ''),
  324. 'SOCKET_ESRMNT' => array('4.3.0', ''),
  325. 'SOCKET_ESTALE' => array('4.1.0', ''),
  326. 'SOCKET_ESTRPIPE' => array('4.3.0', ''),
  327. 'SOCKET_ETIME' => array('4.3.0', ''),
  328. 'SOCKET_ETIMEDOUT' => array('4.1.0', ''),
  329. 'SOCKET_ETOOMANYREFS' => array('4.1.0', ''),
  330. 'SOCKET_EUSERS' => array('4.1.0', ''),
  331. 'SOCKET_EUNATCH' => array('4.3.0', ''),
  332. 'SOCKET_EWOULDBLOCK' => array('4.1.0', ''),
  333. 'SOCKET_EXDEV' => array('4.3.0', ''),
  334. 'SOCKET_EXFULL' => array('4.3.0', ''),
  335. 'SOCKET_HOST_NOT_FOUND' => array('4.1.0', ''),
  336. 'SOCKET_NO_RECOVERY' => array('4.1.0', ''),
  337. 'SOCKET_NO_DATA' => array('4.1.0', ''),
  338. 'SOCKET_NO_ADDRESS' => array('4.1.0', ''),
  339. 'SOCKET_NOTINITIALISED' => array('4.1.0', ''),
  340. 'SOCKET_SYSNOTREADY' => array('4.1.0', ''),
  341. 'SOCKET_TRY_AGAIN' => array('4.1.0', ''),
  342. 'SOCKET_VERNOTSUPPORTED' => array('4.1.0', ''),
  343. );
  344. $constants = array_merge(
  345. $constants,
  346. $version4
  347. );
  348. }
  349. if ((null == $version ) || ('5' == $version)) {
  350. $version5 = array(
  351. 'IP_MULTICAST_IF' => array('5.4.0', ''),
  352. 'IP_MULTICAST_LOOP' => array('5.4.0', ''),
  353. 'IP_MULTICAST_TTL' => array('5.4.0', ''),
  354. 'IPPROTO_IP' => array('5.4.0', ''),
  355. 'IPPROTO_IPV6' => array('5.4.0', ''),
  356. 'IPV6_MULTICAST_HOPS' => array('5.4.0', ''),
  357. 'IPV6_MULTICAST_IF' => array('5.4.0', ''),
  358. 'IPV6_MULTICAST_LOOP' => array('5.4.0', ''),
  359. 'MCAST_BLOCK_SOURCE' => array('5.4.0', ''),
  360. 'MCAST_JOIN_GROUP' => array('5.4.0', ''),
  361. 'MCAST_JOIN_SOURCE_GROUP' => array('5.4.0', ''),
  362. 'MCAST_LEAVE_GROUP' => array('5.4.0', ''),
  363. 'MCAST_LEAVE_SOURCE_GROUP' => array('5.4.0', ''),
  364. 'MCAST_UNBLOCK_SOURCE' => array('5.4.0', ''),
  365. 'MSG_DONTWAIT' => array('5.2.10', ''),
  366. 'MSG_EOR' => array('5.2.4', ''),
  367. 'MSG_EOF' => array('5.2.4', ''),
  368. 'TCP_NODELAY' => array('5.2.7', ''),
  369. );
  370. $constants = array_merge(
  371. $constants,
  372. $version5
  373. );
  374. }
  375. return $constants;
  376. }
  377. }