xref: /PHP-8.2/ext/sockets/sockets.stub.php (revision 4767b099)
1<?php
2
3/** @generate-class-entries */
4
5/**
6 * @var int
7 * @cvalue AF_UNIX
8 */
9const AF_UNIX = UNKNOWN;
10/**
11 * @var int
12 * @cvalue AF_INET
13 */
14const AF_INET = UNKNOWN;
15#if HAVE_IPV6
16/**
17 * @var int
18 * @cvalue AF_INET6
19 */
20const AF_INET6 = UNKNOWN;
21#endif
22/**
23 * @var int
24 * @cvalue SOCK_STREAM
25 */
26const SOCK_STREAM = UNKNOWN;
27/**
28 * @var int
29 * @cvalue SOCK_DGRAM
30 */
31const SOCK_DGRAM = UNKNOWN;
32/**
33 * @var int
34 * @cvalue SOCK_RAW
35 */
36const SOCK_RAW = UNKNOWN;
37/**
38 * @var int
39 * @cvalue SOCK_SEQPACKET
40 */
41const SOCK_SEQPACKET = UNKNOWN;
42#ifdef SOCK_RDM
43/**
44 * @var int
45 * @cvalue SOCK_RDM
46 */
47const SOCK_RDM = UNKNOWN;
48#endif
49
50/**
51 * @var int
52 * @cvalue MSG_OOB
53 */
54const MSG_OOB = UNKNOWN;
55/**
56 * @var int
57 * @cvalue MSG_WAITALL
58 */
59const MSG_WAITALL = UNKNOWN;
60/**
61 * @var int
62 * @cvalue MSG_CTRUNC
63 */
64const MSG_CTRUNC = UNKNOWN;
65/**
66 * @var int
67 * @cvalue MSG_TRUNC
68 */
69const MSG_TRUNC = UNKNOWN;
70/**
71 * @var int
72 * @cvalue MSG_PEEK
73 */
74const MSG_PEEK = UNKNOWN;
75/**
76 * @var int
77 * @cvalue MSG_DONTROUTE
78 */
79const MSG_DONTROUTE = UNKNOWN;
80#ifdef MSG_EOR
81/**
82 * @var int
83 * @cvalue MSG_EOR
84 */
85const MSG_EOR = UNKNOWN;
86#endif
87#ifdef MSG_EOF
88/**
89 * @var int
90 * @cvalue MSG_EOF
91 */
92const MSG_EOF = UNKNOWN;
93#endif
94
95#ifdef MSG_CONFIRM
96/**
97 * @var int
98 * @cvalue MSG_CONFIRM
99 */
100const MSG_CONFIRM = UNKNOWN;
101#endif
102#ifdef MSG_ERRQUEUE
103/**
104 * @var int
105 * @cvalue MSG_ERRQUEUE
106 */
107const MSG_ERRQUEUE = UNKNOWN;
108#endif
109#ifdef MSG_NOSIGNAL
110/**
111 * @var int
112 * @cvalue MSG_NOSIGNAL
113 */
114const MSG_NOSIGNAL = UNKNOWN;
115#endif
116#ifdef MSG_DONTWAIT
117/**
118 * @var int
119 * @cvalue MSG_DONTWAIT
120 */
121const MSG_DONTWAIT = UNKNOWN;
122#endif
123#ifdef MSG_MORE
124/**
125 * @var int
126 * @cvalue MSG_MORE
127 */
128const MSG_MORE = UNKNOWN;
129#endif
130#ifdef MSG_WAITFORONE
131/**
132 * @var int
133 * @cvalue MSG_WAITFORONE
134 */
135const MSG_WAITFORONE = UNKNOWN;
136#endif
137#ifdef MSG_CMSG_CLOEXEC
138/**
139 * @var int
140 * @cvalue MSG_CMSG_CLOEXEC
141 */
142const MSG_CMSG_CLOEXEC = UNKNOWN;
143#endif
144#ifdef MSG_ZEROCOPY
145/**
146 * @var int
147 * @cvalue MSG_ZEROCOPY
148 */
149const MSG_ZEROCOPY = UNKNOWN;
150#endif
151
152/**
153 * @var int
154 * @cvalue SO_DEBUG
155 */
156const SO_DEBUG = UNKNOWN;
157/**
158 * @var int
159 * @cvalue SO_REUSEADDR
160 */
161const SO_REUSEADDR = UNKNOWN;
162#ifdef SO_REUSEPORT
163/**
164 * @var int
165 * @cvalue SO_REUSEPORT
166 */
167const SO_REUSEPORT = UNKNOWN;
168#endif
169/**
170 * @var int
171 * @cvalue SO_KEEPALIVE
172 */
173const SO_KEEPALIVE = UNKNOWN;
174/**
175 * @var int
176 * @cvalue SO_DONTROUTE
177 */
178const SO_DONTROUTE = UNKNOWN;
179/**
180 * @var int
181 * @cvalue SO_LINGER
182 */
183const SO_LINGER = UNKNOWN;
184/**
185 * @var int
186 * @cvalue SO_BROADCAST
187 */
188const SO_BROADCAST = UNKNOWN;
189/**
190 * @var int
191 * @cvalue SO_OOBINLINE
192 */
193const SO_OOBINLINE = UNKNOWN;
194/**
195 * @var int
196 * @cvalue SO_SNDBUF
197 */
198const SO_SNDBUF = UNKNOWN;
199/**
200 * @var int
201 * @cvalue SO_RCVBUF
202 */
203const SO_RCVBUF = UNKNOWN;
204/**
205 * @var int
206 * @cvalue SO_SNDLOWAT
207 */
208const SO_SNDLOWAT = UNKNOWN;
209/**
210 * @var int
211 * @cvalue SO_RCVLOWAT
212 */
213const SO_RCVLOWAT = UNKNOWN;
214/**
215 * @var int
216 * @cvalue SO_SNDTIMEO
217 */
218const SO_SNDTIMEO = UNKNOWN;
219/**
220 * @var int
221 * @cvalue SO_RCVTIMEO
222 */
223const SO_RCVTIMEO = UNKNOWN;
224/**
225 * @var int
226 * @cvalue SO_TYPE
227 */
228const SO_TYPE = UNKNOWN;
229#ifdef SO_FAMILY
230/**
231 * @var int
232 * @cvalue SO_FAMILY
233 */
234const SO_FAMILY = UNKNOWN;
235#endif
236/**
237 * @var int
238 * @cvalue SO_ERROR
239 */
240const SO_ERROR = UNKNOWN;
241#ifdef SO_BINDTODEVICE
242/**
243 * @var int
244 * @cvalue SO_BINDTODEVICE
245 */
246const SO_BINDTODEVICE = UNKNOWN;
247#endif
248#ifdef SO_USER_COOKIE
249/**
250 * @var int
251 * @cvalue SO_LABEL
252 */
253const SO_LABEL = UNKNOWN;
254/**
255 * @var int
256 * @cvalue SO_PEERLABEL
257 */
258const SO_PEERLABEL = UNKNOWN;
259/**
260 * @var int
261 * @cvalue SO_LISTENQLIMIT
262 */
263const SO_LISTENQLIMIT = UNKNOWN;
264/**
265 * @var int
266 * @cvalue SO_LISTENQLEN
267 */
268const SO_LISTENQLEN = UNKNOWN;
269/**
270 * @var int
271 * @cvalue SO_USER_COOKIE
272 */
273const SO_USER_COOKIE = UNKNOWN;
274#endif
275#ifdef SO_SETFIB
276/**
277 * @var int
278 * @cvalue SO_SETFIB
279 */
280const SO_SETFIB = UNKNOWN;
281#endif
282#ifdef SO_ACCEPTFILTER
283/**
284 * @var int
285 * @cvalue SO_ACCEPTFILTER
286 */
287const SO_ACCEPTFILTER = UNKNOWN;
288#endif
289#ifdef SOL_FILTER
290/**
291 * @var int
292 * @cvalue SOL_FILTER
293 */
294const SOL_FILTER = UNKNOWN;
295/**
296 * @var int
297 * @cvalue FIL_ATTACH
298 */
299const FIL_ATTACH = UNKNOWN;
300/**
301 * @var int
302 * @cvalue FIL_DETACH
303 */
304const FIL_DETACH = UNKNOWN;
305#endif
306#ifdef SO_DONTTRUNC
307/**
308 * @var int
309 * @cvalue SO_DONTTRUNC
310 */
311const SO_DONTTRUNC = UNKNOWN;
312#endif
313#ifdef SO_WANTMORE
314/**
315 * @var int
316 * @cvalue SO_WANTMORE
317 */
318const SO_WANTMORE = UNKNOWN;
319#endif
320/**
321 * @var int
322 * @cvalue SOL_SOCKET
323 */
324const SOL_SOCKET = UNKNOWN;
325/**
326 * @var int
327 * @cvalue SOMAXCONN
328 */
329const SOMAXCONN = UNKNOWN;
330#ifdef SO_MARK
331/**
332 * @var int
333 * @cvalue SO_MARK
334 */
335const SO_MARK = UNKNOWN;
336#endif
337#ifdef SO_RTABLE
338/**
339 * @var int
340 * @cvalue SO_RTABLE
341 */
342const SO_RTABLE = UNKNOWN;
343#endif
344#ifdef SO_INCOMING_CPU
345/**
346 * @var int
347 * @cvalue SO_INCOMING_CPU
348 */
349const SO_INCOMING_CPU = UNKNOWN;
350#endif
351#ifdef SO_MEMINFO
352/**
353 * @var int
354 * @cvalue SO_MEMINFO
355 */
356const SO_MEMINFO = UNKNOWN;
357#endif
358#ifdef SO_BPF_EXTENSIONS
359/**
360 * @var int
361 * @cvalue SO_BPF_EXTENSIONS
362 */
363const SO_BPF_EXTENSIONS = UNKNOWN;
364#endif
365#ifdef SKF_AD_OFF
366/**
367 * @var int
368 * @cvalue SKF_AD_OFF
369 */
370const SKF_AD_OFF = UNKNOWN;
371#endif
372#ifdef SKF_AD_PROTOCOL
373/**
374 * @var int
375 * @cvalue SKF_AD_PROTOCOL
376 */
377const SKF_AD_PROTOCOL = UNKNOWN;
378#endif
379#ifdef SKF_AD_PKTTYPE
380/**
381 * @var int
382 * @cvalue SKF_AD_PKTTYPE
383 */
384const SKF_AD_PKTTYPE = UNKNOWN;
385#endif
386#ifdef SKF_AD_IFINDEX
387/**
388 * @var int
389 * @cvalue SKF_AD_IFINDEX
390 */
391const SKF_AD_IFINDEX = UNKNOWN;
392#endif
393#ifdef SKF_AD_NLATTR
394/**
395 * @var int
396 * @cvalue SKF_AD_NLATTR
397 */
398const SKF_AD_NLATTR = UNKNOWN;
399#endif
400#ifdef SKF_AD_NLATTR_NEST
401/**
402 * @var int
403 * @cvalue SKF_AD_NLATTR_NEST
404 */
405const SKF_AD_NLATTR_NEST = UNKNOWN;
406#endif
407#ifdef SKF_AD_MARK
408/**
409 * @var int
410 * @cvalue SKF_AD_MARK
411 */
412const SKF_AD_MARK = UNKNOWN;
413#endif
414#ifdef SKF_AD_QUEUE
415/**
416 * @var int
417 * @cvalue SKF_AD_QUEUE
418 */
419const SKF_AD_QUEUE = UNKNOWN;
420#endif
421#ifdef SKF_AD_HATYPE
422/**
423 * @var int
424 * @cvalue SKF_AD_HATYPE
425 */
426const SKF_AD_HATYPE = UNKNOWN;
427#endif
428#ifdef SKF_AD_RXHASH
429/**
430 * @var int
431 * @cvalue SKF_AD_RXHASH
432 */
433const SKF_AD_RXHASH = UNKNOWN;
434#endif
435#ifdef SKF_AD_CPU
436/**
437 * @var int
438 * @cvalue SKF_AD_CPU
439 */
440const SKF_AD_CPU = UNKNOWN;
441#endif
442#ifdef SKF_AD_ALU_XOR_X
443/**
444 * @var int
445 * @cvalue SKF_AD_ALU_XOR_X
446 */
447const SKF_AD_ALU_XOR_X = UNKNOWN;
448#endif
449#ifdef SKF_AD_VLAN_TAG
450/**
451 * @var int
452 * @cvalue SKF_AD_VLAN_TAG
453 */
454const SKF_AD_VLAN_TAG = UNKNOWN;
455#endif
456#ifdef SKF_AD_VLAN_TAG_PRESENT
457/**
458 * @var int
459 * @cvalue SKF_AD_VLAN_TAG_PRESENT
460 */
461const SKF_AD_VLAN_TAG_PRESENT = UNKNOWN;
462#endif
463#ifdef SKF_AD_PAY_OFFSET
464/**
465 * @var int
466 * @cvalue SKF_AD_PAY_OFFSET
467 */
468const SKF_AD_PAY_OFFSET = UNKNOWN;
469#endif
470#ifdef SKF_AD_RANDOM
471/**
472 * @var int
473 * @cvalue SKF_AD_RANDOM
474 */
475const SKF_AD_RANDOM = UNKNOWN;
476#endif
477#ifdef SKF_AD_VLAN_TPID
478/**
479 * @var int
480 * @cvalue SKF_AD_VLAN_TPID
481 */
482const SKF_AD_VLAN_TPID = UNKNOWN;
483#endif
484#ifdef SKF_AD_MAX
485/**
486 * @var int
487 * @cvalue SKF_AD_MAX
488 */
489const SKF_AD_MAX = UNKNOWN;
490#endif
491
492#ifdef TCP_CONGESTION
493/**
494 * @var int
495 * @cvalue TCP_CONGESTION
496 */
497const TCP_CONGESTION = UNKNOWN;
498#endif
499#ifdef SO_ZEROCOPY
500/**
501 * @var int
502 * @cvalue SO_ZEROCOPY
503 */
504const SO_ZEROCOPY = UNKNOWN;
505#endif
506#ifdef TCP_NODELAY
507/**
508 * @var int
509 * @cvalue TCP_NODELAY
510 */
511const TCP_NODELAY = UNKNOWN;
512#endif
513#ifdef TCP_NOTSENT_LOWAT
514/**
515 * @var int
516 * @cvalue TCP_NOTSENT_LOWAT
517 */
518const TCP_NOTSENT_LOWAT = UNKNOWN;
519#endif
520#ifdef TCP_DEFER_ACCEPT
521/**
522 * @var int
523 * @cvalue TCP_DEFER_ACCEPT
524 */
525const TCP_DEFER_ACCEPT = UNKNOWN;
526#endif
527#ifdef TCP_KEEPALIVE
528/**
529 * @var int
530 * @cvalue TCP_KEEPALIVE
531 */
532const TCP_KEEPALIVE = UNKNOWN;
533#endif
534#ifdef TCP_KEEPIDLE
535/**
536 * @var int
537 * @cvalue TCP_KEEPIDLE
538 */
539const TCP_KEEPIDLE = UNKNOWN;
540/**
541 * @var int
542 * @cvalue TCP_KEEPINTVL
543 */
544const TCP_KEEPINTVL = UNKNOWN;
545/**
546 * @var int
547 * @cvalue TCP_KEEPCNT
548 */
549const TCP_KEEPCNT = UNKNOWN;
550#endif
551/**
552 * @var int
553 * @cvalue PHP_NORMAL_READ
554 */
555const PHP_NORMAL_READ = UNKNOWN;
556/**
557 * @var int
558 * @cvalue PHP_BINARY_READ
559 */
560const PHP_BINARY_READ = UNKNOWN;
561
562/**
563 * @var int
564 * @cvalue PHP_MCAST_JOIN_GROUP
565 */
566const MCAST_JOIN_GROUP = UNKNOWN;
567/**
568 * @var int
569 * @cvalue PHP_MCAST_LEAVE_GROUP
570 */
571const MCAST_LEAVE_GROUP = UNKNOWN;
572#ifdef HAS_MCAST_EXT
573/**
574 * @var int
575 * @cvalue PHP_MCAST_BLOCK_SOURCE
576 */
577const MCAST_BLOCK_SOURCE = UNKNOWN;
578/**
579 * @var int
580 * @cvalue PHP_MCAST_UNBLOCK_SOURCE
581 */
582const MCAST_UNBLOCK_SOURCE = UNKNOWN;
583/**
584 * @var int
585 * @cvalue PHP_MCAST_JOIN_SOURCE_GROUP
586 */
587const MCAST_JOIN_SOURCE_GROUP = UNKNOWN;
588/**
589 * @var int
590 * @cvalue PHP_MCAST_LEAVE_SOURCE_GROUP
591 */
592const MCAST_LEAVE_SOURCE_GROUP = UNKNOWN;
593#endif
594
595/**
596 * @var int
597 * @cvalue IP_MULTICAST_IF
598 */
599const IP_MULTICAST_IF = UNKNOWN;
600/**
601 * @var int
602 * @cvalue IP_MULTICAST_TTL
603 */
604const IP_MULTICAST_TTL = UNKNOWN;
605/**
606 * @var int
607 * @cvalue IP_MULTICAST_LOOP
608 */
609const IP_MULTICAST_LOOP = UNKNOWN;
610#if HAVE_IPV6
611/**
612 * @var int
613 * @cvalue IPV6_MULTICAST_IF
614 */
615const IPV6_MULTICAST_IF = UNKNOWN;
616/**
617 * @var int
618 * @cvalue IPV6_MULTICAST_HOPS
619 */
620const IPV6_MULTICAST_HOPS = UNKNOWN;
621/**
622 * @var int
623 * @cvalue IPV6_MULTICAST_LOOP
624 */
625const IPV6_MULTICAST_LOOP = UNKNOWN;
626#endif
627
628#ifdef IPV6_V6ONLY
629/**
630 * @var int
631 * @cvalue IPV6_V6ONLY
632 */
633const IPV6_V6ONLY = UNKNOWN;
634#endif
635
636#ifdef EPERM
637/**
638 * Operation not permitted
639 * @var int
640 * @cvalue EPERM
641 */
642const SOCKET_EPERM = UNKNOWN;
643#endif
644#ifdef ENOENT
645/**
646 * No such file or directory
647 * @var int
648 * @cvalue ENOENT
649 */
650const SOCKET_ENOENT = UNKNOWN;
651#endif
652#ifdef PHP_SOCKET_EINTR
653/**
654 * Interrupted system call
655 * @var int
656 * @cvalue PHP_SOCKET_EINTR
657 */
658const SOCKET_EINTR = UNKNOWN;
659#endif
660#ifdef EIO
661/**
662 * I/O error
663 * @var int
664 * @cvalue EIO
665 */
666const SOCKET_EIO = UNKNOWN;
667#endif
668#ifdef ENXIO
669/**
670 * No such device or address
671 * @var int
672 * @cvalue ENXIO
673 */
674const SOCKET_ENXIO = UNKNOWN;
675#endif
676#ifdef E2BIG
677/**
678 * Arg list too long
679 * @var int
680 * @cvalue E2BIG
681 */
682const SOCKET_E2BIG = UNKNOWN;
683#endif
684#ifdef PHP_SOCKET_EBADF
685/**
686 * Bad file number
687 * @var int
688 * @cvalue PHP_SOCKET_EBADF
689 */
690const SOCKET_EBADF = UNKNOWN;
691#endif
692#ifdef EAGAIN
693/**
694 * Try again
695 * @var int
696 * @cvalue EAGAIN
697 */
698const SOCKET_EAGAIN = UNKNOWN;
699#endif
700#ifdef ENOMEM
701/**
702 * Out of memory
703 * @var int
704 * @cvalue ENOMEM
705 */
706const SOCKET_ENOMEM = UNKNOWN;
707#endif
708#ifdef PHP_SOCKET_EACCES
709/**
710 * Permission denied
711 * @var int
712 * @cvalue PHP_SOCKET_EACCES
713 */
714const SOCKET_EACCES = UNKNOWN;
715#endif
716#ifdef PHP_SOCKET_EFAULT
717/**
718 * Bad address
719 * @var int
720 * @cvalue PHP_SOCKET_EFAULT
721 */
722const SOCKET_EFAULT = UNKNOWN;
723#endif
724#ifdef ENOTBLK
725/**
726 * Block device required
727 * @var int
728 * @cvalue ENOTBLK
729 */
730const SOCKET_ENOTBLK = UNKNOWN;
731#endif
732#ifdef EBUSY
733/**
734 * Device or resource busy
735 * @var int
736 * @cvalue EBUSY
737 */
738const SOCKET_EBUSY = UNKNOWN;
739#endif
740#ifdef EEXIST
741/**
742 * File exists
743 * @var int
744 * @cvalue EEXIST
745 */
746const SOCKET_EEXIST = UNKNOWN;
747#endif
748#ifdef EXDEV
749/**
750 * Cross-device link
751 * @var int
752 * @cvalue EXDEV
753 */
754const SOCKET_EXDEV = UNKNOWN;
755#endif
756#ifdef ENODEV
757/**
758 * No such device
759 * @var int
760 * @cvalue ENODEV
761 */
762const SOCKET_ENODEV = UNKNOWN;
763#endif
764#ifdef ENOTDIR
765/**
766 * Not a directory
767 * @var int
768 * @cvalue ENOTDIR
769 */
770const SOCKET_ENOTDIR = UNKNOWN;
771#endif
772#ifdef EISDIR
773/**
774 * Is a directory
775 * @var int
776 * @cvalue EISDIR
777 */
778const SOCKET_EISDIR = UNKNOWN;
779#endif
780#ifdef PHP_SOCKET_EINVAL
781/**
782 * Invalid argument
783 * @var int
784 * @cvalue PHP_SOCKET_EINVAL
785 */
786const SOCKET_EINVAL = UNKNOWN;
787#endif
788#ifdef PHP_SOCKET_ENFILE
789/**
790 * File table overflow
791 * @var int
792 * @cvalue PHP_SOCKET_ENFILE
793 */
794const SOCKET_ENFILE = UNKNOWN;
795#endif
796#ifdef PHP_SOCKET_EMFILE
797/**
798 * Too many open files
799 * @var int
800 * @cvalue PHP_SOCKET_EMFILE
801 */
802const SOCKET_EMFILE = UNKNOWN;
803#endif
804#ifdef ENOTTY
805/**
806 * Not a typewriter
807 * @var int
808 * @cvalue ENOTTY
809 */
810const SOCKET_ENOTTY = UNKNOWN;
811#endif
812#ifdef ENOSPC
813/**
814 * No space left on device
815 * @var int
816 * @cvalue ENOSPC
817 */
818const SOCKET_ENOSPC = UNKNOWN;
819#endif
820#ifdef ESPIPE
821/**
822 * Illegal seek
823 * @var int
824 * @cvalue ESPIPE
825 */
826const SOCKET_ESPIPE = UNKNOWN;
827#endif
828#ifdef EROFS
829/**
830 * Read-only file system
831 * @var int
832 * @cvalue EROFS
833 */
834const SOCKET_EROFS = UNKNOWN;
835#endif
836#ifdef EMLINK
837/**
838 * Too many links
839 * @var int
840 * @cvalue EMLINK
841 */
842const SOCKET_EMLINK = UNKNOWN;
843#endif
844#ifdef EPIPE
845/**
846 * Broken pipe
847 * @var int
848 * @cvalue EPIPE
849 */
850const SOCKET_EPIPE = UNKNOWN;
851#endif
852#ifdef PHP_SOCKET_ENAMETOOLONG
853/**
854 * File name too long
855 * @var int
856 * @cvalue PHP_SOCKET_ENAMETOOLONG
857 */
858const SOCKET_ENAMETOOLONG = UNKNOWN;
859#endif
860#ifdef ENOLCK
861/**
862 * No record locks available
863 * @var int
864 * @cvalue ENOLCK
865 */
866const SOCKET_ENOLCK = UNKNOWN;
867#endif
868#ifdef ENOSYS
869/**
870 * Function not implemented
871 * @var int
872 * @cvalue ENOSYS
873 */
874const SOCKET_ENOSYS = UNKNOWN;
875#endif
876#ifdef PHP_SOCKET_ENOTEMPTY
877/**
878 * Directory not empty
879 * @var int
880 * @cvalue PHP_SOCKET_ENOTEMPTY
881 */
882const SOCKET_ENOTEMPTY = UNKNOWN;
883#endif
884#ifdef PHP_SOCKET_ELOOP
885/**
886 * Too many symbolic links encountered
887 * @var int
888 * @cvalue PHP_SOCKET_ELOOP
889 */
890const SOCKET_ELOOP = UNKNOWN;
891#endif
892#ifdef PHP_SOCKET_EWOULDBLOCK
893/**
894 * Operation would block
895 * @var int
896 * @cvalue PHP_SOCKET_EWOULDBLOCK
897 */
898const SOCKET_EWOULDBLOCK = UNKNOWN;
899#endif
900#ifdef ENOMSG
901/**
902 * No message of desired type
903 * @var int
904 * @cvalue ENOMSG
905 */
906const SOCKET_ENOMSG = UNKNOWN;
907#endif
908#ifdef EIDRM
909/**
910 * Identifier removed
911 * @var int
912 * @cvalue EIDRM
913 */
914const SOCKET_EIDRM = UNKNOWN;
915#endif
916#ifdef ECHRNG
917/**
918 * Channel number out of range
919 * @var int
920 * @cvalue ECHRNG
921 */
922const SOCKET_ECHRNG = UNKNOWN;
923#endif
924#ifdef EL2NSYNC
925/**
926 * Level 2 not synchronized
927 * @var int
928 * @cvalue EL2NSYNC
929 */
930const SOCKET_EL2NSYNC = UNKNOWN;
931#endif
932#ifdef EL3HLT
933/**
934 * Level 3 halted
935 * @var int
936 * @cvalue EL3HLT
937 */
938const SOCKET_EL3HLT = UNKNOWN;
939#endif
940#ifdef EL3RST
941/**
942 * Level 3 reset
943 * @var int
944 * @cvalue EL3RST
945 */
946const SOCKET_EL3RST = UNKNOWN;
947#endif
948#ifdef ELNRNG
949/**
950 * Link number out of range
951 * @var int
952 * @cvalue ELNRNG
953 */
954const SOCKET_ELNRNG = UNKNOWN;
955#endif
956#ifdef EUNATCH
957/**
958 * Protocol driver not attached
959 * @var int
960 * @cvalue EUNATCH
961 */
962const SOCKET_EUNATCH = UNKNOWN;
963#endif
964#ifdef ENOCSI
965/**
966 * No CSI structure available
967 * @var int
968 * @cvalue ENOCSI
969 */
970const SOCKET_ENOCSI = UNKNOWN;
971#endif
972#ifdef EL2HLT
973/**
974 * Level 2 halted
975 * @var int
976 * @cvalue EL2HLT
977 */
978const SOCKET_EL2HLT = UNKNOWN;
979#endif
980#ifdef EBADE
981/**
982 * Invalid exchange
983 * @var int
984 * @cvalue EBADE
985 */
986const SOCKET_EBADE = UNKNOWN;
987#endif
988#ifdef EBADR
989/**
990 * Invalid request descriptor
991 * @var int
992 * @cvalue EBADR
993 */
994const SOCKET_EBADR = UNKNOWN;
995#endif
996#ifdef EXFULL
997/**
998 * Exchange full
999 * @var int
1000 * @cvalue EXFULL
1001 */
1002const SOCKET_EXFULL = UNKNOWN;
1003#endif
1004#ifdef ENOANO
1005/**
1006 * No anode
1007 * @var int
1008 * @cvalue ENOANO
1009 */
1010const SOCKET_ENOANO = UNKNOWN;
1011#endif
1012#ifdef EBADRQC
1013/**
1014 * Invalid request code
1015 * @var int
1016 * @cvalue EBADRQC
1017 */
1018const SOCKET_EBADRQC = UNKNOWN;
1019#endif
1020#ifdef EBADSLT
1021/**
1022 * Invalid slot
1023 * @var int
1024 * @cvalue EBADSLT
1025 */
1026const SOCKET_EBADSLT = UNKNOWN;
1027#endif
1028#ifdef ENOSTR
1029/**
1030 * Device not a stream
1031 * @var int
1032 * @cvalue ENOSTR
1033 */
1034const SOCKET_ENOSTR = UNKNOWN;
1035#endif
1036#ifdef ENODATA
1037/**
1038 * No data available
1039 * @var int
1040 * @cvalue ENODATA
1041 */
1042const SOCKET_ENODATA = UNKNOWN;
1043#endif
1044#ifdef ETIME
1045/**
1046 * Timer expired
1047 * @var int
1048 * @cvalue ETIME
1049 */
1050const SOCKET_ETIME = UNKNOWN;
1051#endif
1052#ifdef ENOSR
1053/**
1054 * Out of streams resources
1055 * @var int
1056 * @cvalue ENOSR
1057 */
1058const SOCKET_ENOSR = UNKNOWN;
1059#endif
1060#ifdef ENONET
1061/**
1062 * Machine is not on the network
1063 * @var int
1064 * @cvalue ENONET
1065 */
1066const SOCKET_ENONET = UNKNOWN;
1067#endif
1068#ifdef PHP_SOCKET_EREMOTE
1069/**
1070 * Object is remote
1071 * @var int
1072 * @cvalue PHP_SOCKET_EREMOTE
1073 */
1074const SOCKET_EREMOTE = UNKNOWN;
1075#endif
1076#ifdef ENOLINK
1077/**
1078 * Link has been severed
1079 * @var int
1080 * @cvalue ENOLINK
1081 */
1082const SOCKET_ENOLINK = UNKNOWN;
1083#endif
1084#ifdef EADV
1085/**
1086 * Advertise error
1087 * @var int
1088 * @cvalue EADV
1089 */
1090const SOCKET_EADV = UNKNOWN;
1091#endif
1092#ifdef ESRMNT
1093/**
1094 * Srmount error
1095 * @var int
1096 * @cvalue ESRMNT
1097 */
1098const SOCKET_ESRMNT = UNKNOWN;
1099#endif
1100#ifdef ECOMM
1101/**
1102 * Communication error on send
1103 * @var int
1104 * @cvalue ECOMM
1105 */
1106const SOCKET_ECOMM = UNKNOWN;
1107#endif
1108#ifdef EPROTO
1109/**
1110 * Protocol error
1111 * @var int
1112 * @cvalue EPROTO
1113 */
1114const SOCKET_EPROTO = UNKNOWN;
1115#endif
1116#ifdef EMULTIHOP
1117/**
1118 * Multihop attempted
1119 * @var int
1120 * @cvalue EMULTIHOP
1121 */
1122const SOCKET_EMULTIHOP = UNKNOWN;
1123#endif
1124#ifdef EBADMSG
1125/**
1126 * Not a data message
1127 * @var int
1128 * @cvalue EBADMSG
1129 */
1130const SOCKET_EBADMSG = UNKNOWN;
1131#endif
1132#ifdef ENOTUNIQ
1133/**
1134 * Name not unique on network
1135 * @var int
1136 * @cvalue ENOTUNIQ
1137 */
1138const SOCKET_ENOTUNIQ = UNKNOWN;
1139#endif
1140#ifdef EBADFD
1141/**
1142 * File descriptor in bad state
1143 * @var int
1144 * @cvalue EBADFD
1145 */
1146const SOCKET_EBADFD = UNKNOWN;
1147#endif
1148#ifdef EREMCHG
1149/**
1150 * Remote address changed
1151 * @var int
1152 * @cvalue EREMCHG
1153 */
1154const SOCKET_EREMCHG = UNKNOWN;
1155#endif
1156#ifdef ERESTART
1157/**
1158 * Interrupted system call should be restarted
1159 * @var int
1160 * @cvalue ERESTART
1161 */
1162const SOCKET_ERESTART = UNKNOWN;
1163#endif
1164#ifdef ESTRPIPE
1165/**
1166 * Streams pipe error
1167 * @var int
1168 * @cvalue ESTRPIPE
1169 */
1170const SOCKET_ESTRPIPE = UNKNOWN;
1171#endif
1172#ifdef PHP_SOCKET_EUSERS
1173/**
1174 * Too many users
1175 * @var int
1176 * @cvalue PHP_SOCKET_EUSERS
1177 */
1178const SOCKET_EUSERS = UNKNOWN;
1179#endif
1180#ifdef PHP_SOCKET_ENOTSOCK
1181/**
1182 * Socket operation on non-socket
1183 * @var int
1184 * @cvalue PHP_SOCKET_ENOTSOCK
1185 */
1186const SOCKET_ENOTSOCK = UNKNOWN;
1187#endif
1188#ifdef PHP_SOCKET_EDESTADDRREQ
1189/**
1190 * Destination address required
1191 * @var int
1192 * @cvalue PHP_SOCKET_EDESTADDRREQ
1193 */
1194const SOCKET_EDESTADDRREQ = UNKNOWN;
1195#endif
1196#ifdef PHP_SOCKET_EMSGSIZE
1197/**
1198 * Message too long
1199 * @var int
1200 * @cvalue PHP_SOCKET_EMSGSIZE
1201 */
1202const SOCKET_EMSGSIZE = UNKNOWN;
1203#endif
1204#ifdef PHP_SOCKET_EPROTOTYPE
1205/**
1206 * Protocol wrong type for socket
1207 * @var int
1208 * @cvalue PHP_SOCKET_EPROTOTYPE
1209 */
1210const SOCKET_EPROTOTYPE = UNKNOWN;
1211#endif
1212#ifdef PHP_SOCKET_ENOPROTOOPT
1213/**
1214 * Protocol not available
1215 * @var int
1216 * @cvalue PHP_SOCKET_ENOPROTOOPT
1217 */
1218const SOCKET_ENOPROTOOPT = UNKNOWN;
1219#endif
1220#ifdef PHP_SOCKET_EPROTONOSUPPORT
1221/**
1222 * Protocol not supported
1223 * @var int
1224 * @cvalue PHP_SOCKET_EPROTONOSUPPORT
1225 */
1226const SOCKET_EPROTONOSUPPORT = UNKNOWN;
1227#endif
1228#ifdef PHP_SOCKET_ESOCKTNOSUPPORT
1229/**
1230 * Socket type not supported
1231 * @var int
1232 * @cvalue PHP_SOCKET_ESOCKTNOSUPPORT
1233 */
1234const SOCKET_ESOCKTNOSUPPORT = UNKNOWN;
1235#endif
1236#ifdef PHP_SOCKET_EOPNOTSUPP
1237/**
1238 * Operation not supported on transport endpoint
1239 * @var int
1240 * @cvalue PHP_SOCKET_EOPNOTSUPP
1241 */
1242const SOCKET_EOPNOTSUPP = UNKNOWN;
1243#endif
1244#ifdef PHP_SOCKET_EPFNOSUPPORT
1245/**
1246 * Protocol family not supported
1247 * @var int
1248 * @cvalue PHP_SOCKET_EPFNOSUPPORT
1249 */
1250const SOCKET_EPFNOSUPPORT = UNKNOWN;
1251#endif
1252#ifdef PHP_SOCKET_EAFNOSUPPORT
1253/**
1254 * Address family not supported by protocol
1255 * @var int
1256 * @cvalue PHP_SOCKET_EAFNOSUPPORT
1257 */
1258const SOCKET_EAFNOSUPPORT = UNKNOWN;
1259#endif
1260#ifdef PHP_SOCKET_EADDRINUSE
1261/**
1262 * Address already in use
1263 * @var int
1264 * @cvalue PHP_SOCKET_EADDRINUSE
1265 */
1266const SOCKET_EADDRINUSE = UNKNOWN;
1267#endif
1268#ifdef PHP_SOCKET_EADDRNOTAVAIL
1269/**
1270 * Cannot assign requested address
1271 * @var int
1272 * @cvalue PHP_SOCKET_EADDRNOTAVAIL
1273 */
1274const SOCKET_EADDRNOTAVAIL = UNKNOWN;
1275#endif
1276#ifdef PHP_SOCKET_ENETDOWN
1277/**
1278 * Network is down
1279 * @var int
1280 * @cvalue PHP_SOCKET_ENETDOWN
1281 */
1282const SOCKET_ENETDOWN = UNKNOWN;
1283#endif
1284#ifdef PHP_SOCKET_ENETUNREACH
1285/**
1286 * Network is unreachable
1287 * @var int
1288 * @cvalue PHP_SOCKET_ENETUNREACH
1289 */
1290const SOCKET_ENETUNREACH = UNKNOWN;
1291#endif
1292#ifdef PHP_SOCKET_ENETRESET
1293/**
1294 * Network dropped connection because of reset
1295 * @var int
1296 * @cvalue PHP_SOCKET_ENETRESET
1297 */
1298const SOCKET_ENETRESET = UNKNOWN;
1299#endif
1300#ifdef PHP_SOCKET_ECONNABORTED
1301/**
1302 * Software caused connection abort
1303 * @var int
1304 * @cvalue PHP_SOCKET_ECONNABORTED
1305 */
1306const SOCKET_ECONNABORTED = UNKNOWN;
1307#endif
1308#ifdef PHP_SOCKET_ECONNRESET
1309/**
1310 * Connection reset by peer
1311 * @var int
1312 * @cvalue PHP_SOCKET_ECONNRESET
1313 */
1314const SOCKET_ECONNRESET = UNKNOWN;
1315#endif
1316#ifdef PHP_SOCKET_ENOBUFS
1317/**
1318 * No buffer space available
1319 * @var int
1320 * @cvalue PHP_SOCKET_ENOBUFS
1321 */
1322const SOCKET_ENOBUFS = UNKNOWN;
1323#endif
1324#ifdef PHP_SOCKET_EISCONN
1325/**
1326 * Transport endpoint is already connected
1327 * @var int
1328 * @cvalue PHP_SOCKET_EISCONN
1329 */
1330const SOCKET_EISCONN = UNKNOWN;
1331#endif
1332#ifdef PHP_SOCKET_ENOTCONN
1333/**
1334 * Transport endpoint is not connected
1335 * @var int
1336 * @cvalue PHP_SOCKET_ENOTCONN
1337 */
1338const SOCKET_ENOTCONN = UNKNOWN;
1339#endif
1340#ifdef PHP_SOCKET_ESHUTDOWN
1341/**
1342 * Cannot send after transport endpoint shutdown
1343 * @var int
1344 * @cvalue PHP_SOCKET_ESHUTDOWN
1345 */
1346const SOCKET_ESHUTDOWN = UNKNOWN;
1347#endif
1348#ifdef PHP_SOCKET_ETOOMANYREFS
1349/**
1350 * Too many references: cannot splice
1351 * @var int
1352 * @cvalue PHP_SOCKET_ETOOMANYREFS
1353 */
1354const SOCKET_ETOOMANYREFS = UNKNOWN;
1355#endif
1356#ifdef PHP_SOCKET_ETIMEDOUT
1357/**
1358 * Connection timed out
1359 * @var int
1360 * @cvalue PHP_SOCKET_ETIMEDOUT
1361 */
1362const SOCKET_ETIMEDOUT = UNKNOWN;
1363#endif
1364#ifdef PHP_SOCKET_ECONNREFUSED
1365/**
1366 * Connection refused
1367 * @var int
1368 * @cvalue PHP_SOCKET_ECONNREFUSED
1369 */
1370const SOCKET_ECONNREFUSED = UNKNOWN;
1371#endif
1372#ifdef PHP_SOCKET_EHOSTDOWN
1373/**
1374 * Host is down
1375 * @var int
1376 * @cvalue PHP_SOCKET_EHOSTDOWN
1377 */
1378const SOCKET_EHOSTDOWN = UNKNOWN;
1379#endif
1380#ifdef PHP_SOCKET_EHOSTUNREACH
1381/**
1382 * No route to host
1383 * @var int
1384 * @cvalue PHP_SOCKET_EHOSTUNREACH
1385 */
1386const SOCKET_EHOSTUNREACH = UNKNOWN;
1387#endif
1388#ifdef PHP_SOCKET_EALREADY
1389/**
1390 * Operation already in progress
1391 * @var int
1392 * @cvalue PHP_SOCKET_EALREADY
1393 */
1394const SOCKET_EALREADY = UNKNOWN;
1395#endif
1396#ifdef PHP_SOCKET_EINPROGRESS
1397/**
1398 * Operation now in progress
1399 * @var int
1400 * @cvalue PHP_SOCKET_EINPROGRESS
1401 */
1402const SOCKET_EINPROGRESS = UNKNOWN;
1403#endif
1404#ifdef EISNAM
1405/**
1406 * Is a named type file
1407 * @var int
1408 * @cvalue EISNAM
1409 */
1410const SOCKET_EISNAM = UNKNOWN;
1411#endif
1412#ifdef EREMOTEIO
1413/**
1414 * Remote I/O error
1415 * @var int
1416 * @cvalue EREMOTEIO
1417 */
1418const SOCKET_EREMOTEIO = UNKNOWN;
1419#endif
1420#ifdef PHP_SOCKET_EDQUOT
1421/**
1422 * Quota exceeded
1423 * @var int
1424 * @cvalue PHP_SOCKET_EDQUOT
1425 */
1426const SOCKET_EDQUOT = UNKNOWN;
1427#endif
1428#ifdef ENOMEDIUM
1429/**
1430 * No medium found
1431 * @var int
1432 * @cvalue ENOMEDIUM
1433 */
1434const SOCKET_ENOMEDIUM = UNKNOWN;
1435#endif
1436#ifdef EMEDIUMTYPE
1437/**
1438 * Wrong medium type
1439 * @var int
1440 * @cvalue EMEDIUMTYPE
1441 */
1442const SOCKET_EMEDIUMTYPE = UNKNOWN;
1443#endif
1444
1445#ifdef WIN32
1446/**
1447 * @var int
1448 * @cvalue WSAESTALE
1449 */
1450const SOCKET_ESTALE = UNKNOWN;
1451/**
1452 * @var int
1453 * @cvalue WSAEDISCON
1454 */
1455const SOCKET_EDISCON = UNKNOWN;
1456/**
1457 * @var int
1458 * @cvalue WSASYSNOTREADY
1459 */
1460const SOCKET_SYSNOTREADY = UNKNOWN;
1461/**
1462 * @var int
1463 * @cvalue WSAVERNOTSUPPORTED
1464 */
1465const SOCKET_VERNOTSUPPORTED = UNKNOWN;
1466/**
1467 * @var int
1468 * @cvalue WSANOTINITIALISED
1469 */
1470const SOCKET_NOTINITIALISED = UNKNOWN;
1471/**
1472 * @var int
1473 * @cvalue WSAHOST_NOT_FOUND
1474 */
1475const SOCKET_HOST_NOT_FOUND = UNKNOWN;
1476/**
1477 * @var int
1478 * @cvalue WSATRY_AGAIN
1479 */
1480const SOCKET_TRY_AGAIN = UNKNOWN;
1481/**
1482 * @var int
1483 * @cvalue WSANO_RECOVERY
1484 */
1485const SOCKET_NO_RECOVERY = UNKNOWN;
1486/**
1487 * @var int
1488 * @cvalue WSANO_DATA
1489 */
1490const SOCKET_NO_DATA = UNKNOWN;
1491/**
1492 * @var int
1493 * @cvalue WSANO_ADDRESS
1494 */
1495const SOCKET_NO_ADDRESS = UNKNOWN;
1496#endif
1497
1498/**
1499 * @var int
1500 * @cvalue IPPROTO_IP
1501 */
1502const IPPROTO_IP = UNKNOWN;
1503#if HAVE_IPV6
1504/**
1505 * @var int
1506 * @cvalue IPPROTO_IPV6
1507 */
1508const IPPROTO_IPV6 = UNKNOWN;
1509#endif
1510
1511/**
1512 * @var int
1513 * @cvalue IPPROTO_TCP
1514 */
1515const SOL_TCP = UNKNOWN;
1516/**
1517 * @var int
1518 * @cvalue IPPROTO_UDP
1519 */
1520const SOL_UDP = UNKNOWN;
1521
1522#if HAVE_IPV6
1523/**
1524 * @var int
1525 * @cvalue IPV6_UNICAST_HOPS
1526 */
1527const IPV6_UNICAST_HOPS = UNKNOWN;
1528#endif
1529
1530/**
1531 * @var int
1532 * @cvalue AI_PASSIVE
1533 */
1534const AI_PASSIVE = UNKNOWN;
1535/**
1536 * @var int
1537 * @cvalue AI_CANONNAME
1538 */
1539const AI_CANONNAME = UNKNOWN;
1540/**
1541 * @var int
1542 * @cvalue AI_NUMERICHOST
1543 */
1544const AI_NUMERICHOST = UNKNOWN;
1545#if HAVE_AI_V4MAPPED
1546/**
1547 * @var int
1548 * @cvalue AI_V4MAPPED
1549 */
1550const AI_V4MAPPED = UNKNOWN;
1551#endif
1552#if HAVE_AI_ALL
1553/**
1554 * @var int
1555 * @cvalue AI_ALL
1556 */
1557const AI_ALL = UNKNOWN;
1558#endif
1559/**
1560 * @var int
1561 * @cvalue AI_ADDRCONFIG
1562 */
1563const AI_ADDRCONFIG = UNKNOWN;
1564#if HAVE_AI_IDN
1565/**
1566 * @var int
1567 * @cvalue AI_IDN
1568 */
1569const AI_IDN = UNKNOWN;
1570/**
1571 * @var int
1572 * @cvalue AI_CANONIDN
1573 */
1574const AI_CANONIDN = UNKNOWN;
1575#endif
1576#ifdef AI_NUMERICSERV
1577/**
1578 * @var int
1579 * @cvalue AI_NUMERICSERV
1580 */
1581const AI_NUMERICSERV = UNKNOWN;
1582#endif
1583#ifdef SOL_LOCAL
1584/**
1585 * @var int
1586 * @cvalue SOL_LOCAL
1587 */
1588const SOL_LOCAL = UNKNOWN;
1589#endif
1590
1591#if (defined(IPV6_RECVPKTINFO) && HAVE_IPV6)
1592/**
1593 * IPv6 ancillary data
1594 * @var int
1595 * @cvalue IPV6_RECVPKTINFO
1596 */
1597const IPV6_RECVPKTINFO = UNKNOWN;
1598/**
1599 * @var int
1600 * @cvalue IPV6_PKTINFO
1601 */
1602const IPV6_PKTINFO = UNKNOWN;
1603#endif
1604#if (defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6)
1605/**
1606 * @var int
1607 * @cvalue IPV6_RECVHOPLIMIT
1608 */
1609const IPV6_RECVHOPLIMIT = UNKNOWN;
1610/**
1611 * @var int
1612 * @cvalue IPV6_HOPLIMIT
1613 */
1614const IPV6_HOPLIMIT = UNKNOWN;
1615#endif
1616
1617#if (defined(IPV6_RECVTCLASS) && HAVE_IPV6)
1618/**
1619 * @var int
1620 * @cvalue IPV6_RECVTCLASS
1621 */
1622const IPV6_RECVTCLASS = UNKNOWN;
1623/**
1624 * @var int
1625 * @cvalue IPV6_TCLASS
1626 */
1627const IPV6_TCLASS = UNKNOWN;
1628#endif
1629
1630#ifdef SCM_RIGHTS
1631/**
1632 * @var int
1633 * @cvalue SCM_RIGHTS
1634 */
1635const SCM_RIGHTS = UNKNOWN;
1636#endif
1637#ifdef SO_PASSCRED
1638#ifdef SCM_CREDENTIALS
1639/**
1640 * @var int
1641 * @cvalue SCM_CREDENTIALS
1642 */
1643const SCM_CREDENTIALS = UNKNOWN;
1644#else
1645/**
1646 * @var int
1647 * @cvalue SCM_CREDS
1648 */
1649const SCM_CREDS = UNKNOWN;
1650#endif
1651/**
1652 * @var int
1653 * @cvalue SO_PASSCRED
1654 */
1655const SO_PASSCRED = UNKNOWN;
1656#endif
1657#if defined(LOCAL_CREDS_PERSISTENT)
1658/**
1659 * @var int
1660 * @cvalue SCM_CREDS2
1661 */
1662const SCM_CREDS2 = UNKNOWN;
1663/**
1664 * @var int
1665 * @cvalue LOCAL_CREDS_PERSISTENT
1666 */
1667const LOCAL_CREDS_PERSISTENT = UNKNOWN;
1668#endif
1669#if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS))
1670/**
1671 * @var int
1672 * @cvalue SCM_CREDS
1673 */
1674const SCM_CREDS = UNKNOWN;
1675/**
1676 * @var int
1677 * @cvalue LOCAL_CREDS
1678 */
1679const LOCAL_CREDS = UNKNOWN;
1680#endif
1681
1682/**
1683 * @strict-properties
1684 * @not-serializable
1685 */
1686final class Socket
1687{
1688}
1689
1690/**
1691 * @strict-properties
1692 * @not-serializable
1693 */
1694final class AddressInfo
1695{
1696}
1697
1698function socket_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, int $microseconds = 0): int|false {}
1699
1700function socket_create_listen(int $port, int $backlog = 128): Socket|false {}
1701
1702function socket_accept(Socket $socket): Socket|false {}
1703
1704function socket_set_nonblock(Socket $socket): bool {}
1705
1706function socket_set_block(Socket $socket): bool {}
1707
1708function socket_listen(Socket $socket, int $backlog = 0): bool {}
1709
1710function socket_close(Socket $socket): void {}
1711
1712function socket_write(Socket $socket, string $data, ?int $length = null): int|false {}
1713
1714function socket_read(Socket $socket, int $length, int $mode = PHP_BINARY_READ): string|false {}
1715
1716/**
1717 * @param string $address
1718 * @param int $port
1719 */
1720function socket_getsockname(Socket $socket, &$address, &$port = null): bool {}
1721
1722/**
1723 * @param string $address
1724 * @param int $port
1725 */
1726function socket_getpeername(Socket $socket, &$address, &$port = null): bool {}
1727
1728function socket_create(int $domain, int $type, int $protocol): Socket|false {}
1729
1730function socket_connect(Socket $socket, string $address, ?int $port = null): bool {}
1731
1732function socket_strerror(int $error_code): string {}
1733
1734function socket_bind(Socket $socket, string $address, int $port = 0): bool {}
1735
1736/** @param string|null $data */
1737function socket_recv(Socket $socket, &$data, int $length, int $flags): int|false {}
1738
1739function socket_send(Socket $socket, string $data, int $length, int $flags): int|false {}
1740
1741/**
1742 * @param string $data
1743 * @param string $address
1744 * @param int $port
1745 */
1746function socket_recvfrom(Socket $socket, &$data, int $length, int $flags, &$address, &$port = null): int|false {}
1747
1748function socket_sendto(Socket $socket, string $data, int $length, int $flags, string $address, ?int $port = null): int|false {}
1749
1750/**
1751 * @return array<string, mixed>|int|false
1752 * @refcount 1
1753 */
1754function socket_get_option(Socket $socket, int $level, int $option): array|int|false {}
1755
1756/**
1757 * @return array<string, mixed>|int|false
1758 * @alias socket_get_option
1759 */
1760function socket_getopt(Socket $socket, int $level, int $option): array|int|false {}
1761
1762/** @param array|string|int $value */
1763function socket_set_option(Socket $socket, int $level, int $option, $value): bool {}
1764
1765/**
1766 * @param array|string|int $value
1767 * @alias socket_set_option
1768 */
1769function socket_setopt(Socket $socket, int $level, int $option, $value): bool {}
1770
1771#ifdef HAVE_SOCKETPAIR
1772/** @param array $pair */
1773function socket_create_pair(int $domain, int $type, int $protocol, &$pair): bool {}
1774#endif
1775
1776#ifdef HAVE_SHUTDOWN
1777function socket_shutdown(Socket $socket, int $mode = 2): bool {}
1778#endif
1779
1780function socket_last_error(?Socket $socket = null): int {}
1781
1782function socket_clear_error(?Socket $socket = null): void {}
1783
1784/** @param resource $stream */
1785function socket_import_stream($stream): Socket|false {}
1786
1787/** @return resource|false */
1788function socket_export_stream(Socket $socket) {}
1789
1790function socket_sendmsg(Socket $socket, array $message, int $flags = 0): int|false {}
1791
1792function socket_recvmsg(Socket $socket, array &$message, int $flags = 0): int|false {}
1793
1794function socket_cmsg_space(int $level, int $type, int $num = 0): ?int {}
1795
1796/**
1797 * @return array<int, AddressInfo>|false
1798 * @refcount 1
1799 */
1800function socket_addrinfo_lookup(string $host, ?string $service = null, array $hints = []): array|false {}
1801
1802function socket_addrinfo_connect(AddressInfo $address): Socket|false {}
1803
1804function socket_addrinfo_bind(AddressInfo $address): Socket|false {}
1805
1806/**
1807 * @return array<string, int|string|array>
1808 * @refcount 1
1809 */
1810function socket_addrinfo_explain(AddressInfo $address): array {}
1811
1812#ifdef PHP_WIN32
1813function socket_wsaprotocol_info_export(Socket $socket, int $process_id): string|false {}
1814
1815function socket_wsaprotocol_info_import(string $info_id): Socket|false {}
1816
1817function socket_wsaprotocol_info_release(string $info_id): bool {}
1818#endif
1819