1 /* This is a generated file, edit the .stub.php file instead. 2 * Stub hash: 90c3c470833947859433a2668d328fddfff94ae9 */ 3 4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_select, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) 5 ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1) 6 ZEND_ARG_TYPE_INFO(1, write, IS_ARRAY, 1) 7 ZEND_ARG_TYPE_INFO(1, except, IS_ARRAY, 1) 8 ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 1) 9 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microseconds, IS_LONG, 0, "0") 10 ZEND_END_ARG_INFO() 11 12 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_create_listen, 0, 1, Socket, MAY_BE_FALSE) 13 ZEND_ARG_TYPE_INFO(0, port, IS_LONG, 0) 14 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, backlog, IS_LONG, 0, "128") 15 ZEND_END_ARG_INFO() 16 17 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_accept, 0, 1, Socket, MAY_BE_FALSE) 18 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 19 ZEND_END_ARG_INFO() 20 21 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_set_nonblock, 0, 1, _IS_BOOL, 0) 22 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 23 ZEND_END_ARG_INFO() 24 25 #define arginfo_socket_set_block arginfo_socket_set_nonblock 26 27 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_listen, 0, 1, _IS_BOOL, 0) 28 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 29 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, backlog, IS_LONG, 0, "0") 30 ZEND_END_ARG_INFO() 31 32 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_close, 0, 1, IS_VOID, 0) 33 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 34 ZEND_END_ARG_INFO() 35 36 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_write, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) 37 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 38 ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) 39 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 1, "null") 40 ZEND_END_ARG_INFO() 41 42 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_read, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) 43 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 44 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 45 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "PHP_BINARY_READ") 46 ZEND_END_ARG_INFO() 47 48 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_getsockname, 0, 2, _IS_BOOL, 0) 49 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 50 ZEND_ARG_INFO(1, address) 51 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, port, "null") 52 ZEND_END_ARG_INFO() 53 54 #define arginfo_socket_getpeername arginfo_socket_getsockname 55 56 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_create, 0, 3, Socket, MAY_BE_FALSE) 57 ZEND_ARG_TYPE_INFO(0, domain, IS_LONG, 0) 58 ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0) 59 ZEND_ARG_TYPE_INFO(0, protocol, IS_LONG, 0) 60 ZEND_END_ARG_INFO() 61 62 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_connect, 0, 2, _IS_BOOL, 0) 63 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 64 ZEND_ARG_TYPE_INFO(0, address, IS_STRING, 0) 65 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null") 66 ZEND_END_ARG_INFO() 67 68 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_strerror, 0, 1, IS_STRING, 0) 69 ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0) 70 ZEND_END_ARG_INFO() 71 72 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_bind, 0, 2, _IS_BOOL, 0) 73 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 74 ZEND_ARG_TYPE_INFO(0, address, IS_STRING, 0) 75 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 0, "0") 76 ZEND_END_ARG_INFO() 77 78 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_recv, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) 79 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 80 ZEND_ARG_INFO(1, data) 81 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 82 ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) 83 ZEND_END_ARG_INFO() 84 85 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_send, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) 86 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 87 ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) 88 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 89 ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) 90 ZEND_END_ARG_INFO() 91 92 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_recvfrom, 0, 5, MAY_BE_LONG|MAY_BE_FALSE) 93 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 94 ZEND_ARG_INFO(1, data) 95 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 96 ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) 97 ZEND_ARG_INFO(1, address) 98 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, port, "null") 99 ZEND_END_ARG_INFO() 100 101 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_sendto, 0, 5, MAY_BE_LONG|MAY_BE_FALSE) 102 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 103 ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) 104 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 105 ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) 106 ZEND_ARG_TYPE_INFO(0, address, IS_STRING, 0) 107 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null") 108 ZEND_END_ARG_INFO() 109 110 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_get_option, 0, 3, MAY_BE_ARRAY|MAY_BE_LONG|MAY_BE_FALSE) 111 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 112 ZEND_ARG_TYPE_INFO(0, level, IS_LONG, 0) 113 ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) 114 ZEND_END_ARG_INFO() 115 116 #define arginfo_socket_getopt arginfo_socket_get_option 117 118 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_set_option, 0, 4, _IS_BOOL, 0) 119 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 120 ZEND_ARG_TYPE_INFO(0, level, IS_LONG, 0) 121 ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) 122 ZEND_ARG_INFO(0, value) 123 ZEND_END_ARG_INFO() 124 125 #define arginfo_socket_setopt arginfo_socket_set_option 126 127 #if defined(HAVE_SOCKETPAIR) 128 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_create_pair, 0, 4, _IS_BOOL, 0) 129 ZEND_ARG_TYPE_INFO(0, domain, IS_LONG, 0) 130 ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0) 131 ZEND_ARG_TYPE_INFO(0, protocol, IS_LONG, 0) 132 ZEND_ARG_INFO(1, pair) 133 ZEND_END_ARG_INFO() 134 #endif 135 136 #if defined(HAVE_SHUTDOWN) 137 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_shutdown, 0, 1, _IS_BOOL, 0) 138 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 139 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "2") 140 ZEND_END_ARG_INFO() 141 #endif 142 143 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_last_error, 0, 0, IS_LONG, 0) 144 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, socket, Socket, 1, "null") 145 ZEND_END_ARG_INFO() 146 147 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_clear_error, 0, 0, IS_VOID, 0) 148 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, socket, Socket, 1, "null") 149 ZEND_END_ARG_INFO() 150 151 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_import_stream, 0, 1, Socket, MAY_BE_FALSE) 152 ZEND_ARG_INFO(0, stream) 153 ZEND_END_ARG_INFO() 154 155 ZEND_BEGIN_ARG_INFO_EX(arginfo_socket_export_stream, 0, 0, 1) 156 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 157 ZEND_END_ARG_INFO() 158 159 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_sendmsg, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) 160 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 161 ZEND_ARG_TYPE_INFO(0, message, IS_ARRAY, 0) 162 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0") 163 ZEND_END_ARG_INFO() 164 165 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_recvmsg, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) 166 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 167 ZEND_ARG_TYPE_INFO(1, message, IS_ARRAY, 0) 168 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0") 169 ZEND_END_ARG_INFO() 170 171 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_cmsg_space, 0, 2, IS_LONG, 1) 172 ZEND_ARG_TYPE_INFO(0, level, IS_LONG, 0) 173 ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0) 174 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, num, IS_LONG, 0, "0") 175 ZEND_END_ARG_INFO() 176 177 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_addrinfo_lookup, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) 178 ZEND_ARG_TYPE_INFO(0, host, IS_STRING, 0) 179 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, service, IS_STRING, 1, "null") 180 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hints, IS_ARRAY, 0, "[]") 181 ZEND_END_ARG_INFO() 182 183 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_addrinfo_connect, 0, 1, Socket, MAY_BE_FALSE) 184 ZEND_ARG_OBJ_INFO(0, address, AddressInfo, 0) 185 ZEND_END_ARG_INFO() 186 187 #define arginfo_socket_addrinfo_bind arginfo_socket_addrinfo_connect 188 189 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_addrinfo_explain, 0, 1, IS_ARRAY, 0) 190 ZEND_ARG_OBJ_INFO(0, address, AddressInfo, 0) 191 ZEND_END_ARG_INFO() 192 193 #if defined(PHP_WIN32) 194 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_wsaprotocol_info_export, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) 195 ZEND_ARG_OBJ_INFO(0, socket, Socket, 0) 196 ZEND_ARG_TYPE_INFO(0, process_id, IS_LONG, 0) 197 ZEND_END_ARG_INFO() 198 #endif 199 200 #if defined(PHP_WIN32) 201 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_wsaprotocol_info_import, 0, 1, Socket, MAY_BE_FALSE) 202 ZEND_ARG_TYPE_INFO(0, info_id, IS_STRING, 0) 203 ZEND_END_ARG_INFO() 204 #endif 205 206 #if defined(PHP_WIN32) 207 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_socket_wsaprotocol_info_release, 0, 1, _IS_BOOL, 0) 208 ZEND_ARG_TYPE_INFO(0, info_id, IS_STRING, 0) 209 ZEND_END_ARG_INFO() 210 #endif 211 212 213 ZEND_FUNCTION(socket_select); 214 ZEND_FUNCTION(socket_create_listen); 215 ZEND_FUNCTION(socket_accept); 216 ZEND_FUNCTION(socket_set_nonblock); 217 ZEND_FUNCTION(socket_set_block); 218 ZEND_FUNCTION(socket_listen); 219 ZEND_FUNCTION(socket_close); 220 ZEND_FUNCTION(socket_write); 221 ZEND_FUNCTION(socket_read); 222 ZEND_FUNCTION(socket_getsockname); 223 ZEND_FUNCTION(socket_getpeername); 224 ZEND_FUNCTION(socket_create); 225 ZEND_FUNCTION(socket_connect); 226 ZEND_FUNCTION(socket_strerror); 227 ZEND_FUNCTION(socket_bind); 228 ZEND_FUNCTION(socket_recv); 229 ZEND_FUNCTION(socket_send); 230 ZEND_FUNCTION(socket_recvfrom); 231 ZEND_FUNCTION(socket_sendto); 232 ZEND_FUNCTION(socket_get_option); 233 ZEND_FUNCTION(socket_set_option); 234 #if defined(HAVE_SOCKETPAIR) 235 ZEND_FUNCTION(socket_create_pair); 236 #endif 237 #if defined(HAVE_SHUTDOWN) 238 ZEND_FUNCTION(socket_shutdown); 239 #endif 240 ZEND_FUNCTION(socket_last_error); 241 ZEND_FUNCTION(socket_clear_error); 242 ZEND_FUNCTION(socket_import_stream); 243 ZEND_FUNCTION(socket_export_stream); 244 ZEND_FUNCTION(socket_sendmsg); 245 ZEND_FUNCTION(socket_recvmsg); 246 ZEND_FUNCTION(socket_cmsg_space); 247 ZEND_FUNCTION(socket_addrinfo_lookup); 248 ZEND_FUNCTION(socket_addrinfo_connect); 249 ZEND_FUNCTION(socket_addrinfo_bind); 250 ZEND_FUNCTION(socket_addrinfo_explain); 251 #if defined(PHP_WIN32) 252 ZEND_FUNCTION(socket_wsaprotocol_info_export); 253 #endif 254 #if defined(PHP_WIN32) 255 ZEND_FUNCTION(socket_wsaprotocol_info_import); 256 #endif 257 #if defined(PHP_WIN32) 258 ZEND_FUNCTION(socket_wsaprotocol_info_release); 259 #endif 260 261 262 static const zend_function_entry ext_functions[] = { 263 ZEND_FE(socket_select, arginfo_socket_select) 264 ZEND_FE(socket_create_listen, arginfo_socket_create_listen) 265 ZEND_FE(socket_accept, arginfo_socket_accept) 266 ZEND_FE(socket_set_nonblock, arginfo_socket_set_nonblock) 267 ZEND_FE(socket_set_block, arginfo_socket_set_block) 268 ZEND_FE(socket_listen, arginfo_socket_listen) 269 ZEND_FE(socket_close, arginfo_socket_close) 270 ZEND_FE(socket_write, arginfo_socket_write) 271 ZEND_FE(socket_read, arginfo_socket_read) 272 ZEND_FE(socket_getsockname, arginfo_socket_getsockname) 273 ZEND_FE(socket_getpeername, arginfo_socket_getpeername) 274 ZEND_FE(socket_create, arginfo_socket_create) 275 ZEND_FE(socket_connect, arginfo_socket_connect) 276 ZEND_FE(socket_strerror, arginfo_socket_strerror) 277 ZEND_FE(socket_bind, arginfo_socket_bind) 278 ZEND_FE(socket_recv, arginfo_socket_recv) 279 ZEND_FE(socket_send, arginfo_socket_send) 280 ZEND_FE(socket_recvfrom, arginfo_socket_recvfrom) 281 ZEND_FE(socket_sendto, arginfo_socket_sendto) 282 ZEND_FE(socket_get_option, arginfo_socket_get_option) 283 ZEND_FALIAS(socket_getopt, socket_get_option, arginfo_socket_getopt) 284 ZEND_FE(socket_set_option, arginfo_socket_set_option) 285 ZEND_FALIAS(socket_setopt, socket_set_option, arginfo_socket_setopt) 286 #if defined(HAVE_SOCKETPAIR) 287 ZEND_FE(socket_create_pair, arginfo_socket_create_pair) 288 #endif 289 #if defined(HAVE_SHUTDOWN) 290 ZEND_FE(socket_shutdown, arginfo_socket_shutdown) 291 #endif 292 ZEND_FE(socket_last_error, arginfo_socket_last_error) 293 ZEND_FE(socket_clear_error, arginfo_socket_clear_error) 294 ZEND_FE(socket_import_stream, arginfo_socket_import_stream) 295 ZEND_FE(socket_export_stream, arginfo_socket_export_stream) 296 ZEND_FE(socket_sendmsg, arginfo_socket_sendmsg) 297 ZEND_FE(socket_recvmsg, arginfo_socket_recvmsg) 298 ZEND_FE(socket_cmsg_space, arginfo_socket_cmsg_space) 299 ZEND_FE(socket_addrinfo_lookup, arginfo_socket_addrinfo_lookup) 300 ZEND_FE(socket_addrinfo_connect, arginfo_socket_addrinfo_connect) 301 ZEND_FE(socket_addrinfo_bind, arginfo_socket_addrinfo_bind) 302 ZEND_FE(socket_addrinfo_explain, arginfo_socket_addrinfo_explain) 303 #if defined(PHP_WIN32) 304 ZEND_FE(socket_wsaprotocol_info_export, arginfo_socket_wsaprotocol_info_export) 305 #endif 306 #if defined(PHP_WIN32) 307 ZEND_FE(socket_wsaprotocol_info_import, arginfo_socket_wsaprotocol_info_import) 308 #endif 309 #if defined(PHP_WIN32) 310 ZEND_FE(socket_wsaprotocol_info_release, arginfo_socket_wsaprotocol_info_release) 311 #endif 312 ZEND_FE_END 313 }; 314 315 316 static const zend_function_entry class_Socket_methods[] = { 317 ZEND_FE_END 318 }; 319 320 321 static const zend_function_entry class_AddressInfo_methods[] = { 322 ZEND_FE_END 323 }; 324