1<?php
2
3/** @generate-class-entries */
4
5/* array.c */
6
7/**
8 * @var int
9 * @cvalue PHP_EXTR_OVERWRITE
10 */
11const EXTR_OVERWRITE = UNKNOWN;
12/**
13 * @var int
14 * @cvalue PHP_EXTR_SKIP
15 */
16const EXTR_SKIP = UNKNOWN;
17/**
18 * @var int
19 * @cvalue PHP_EXTR_PREFIX_SAME
20 */
21const EXTR_PREFIX_SAME = UNKNOWN;
22/**
23 * @var int
24 * @cvalue PHP_EXTR_PREFIX_ALL
25 */
26const EXTR_PREFIX_ALL = UNKNOWN;
27/**
28 * @var int
29 * @cvalue PHP_EXTR_PREFIX_INVALID
30 */
31const EXTR_PREFIX_INVALID = UNKNOWN;
32/**
33 * @var int
34 * @cvalue PHP_EXTR_PREFIX_IF_EXISTS
35 */
36const EXTR_PREFIX_IF_EXISTS = UNKNOWN;
37/**
38 * @var int
39 * @cvalue PHP_EXTR_IF_EXISTS
40 */
41const EXTR_IF_EXISTS = UNKNOWN;
42/**
43 * @var int
44 * @cvalue PHP_EXTR_REFS
45 */
46const EXTR_REFS = UNKNOWN;
47
48/**
49 * @var int
50 * @cvalue PHP_SORT_ASC
51 */
52const SORT_ASC = UNKNOWN;
53/**
54 * @var int
55 * @cvalue PHP_SORT_DESC
56 */
57const SORT_DESC = UNKNOWN;
58
59/**
60 * @var int
61 * @cvalue PHP_SORT_REGULAR
62 */
63const SORT_REGULAR = UNKNOWN;
64/**
65 * @var int
66 * @cvalue PHP_SORT_NUMERIC
67 */
68const SORT_NUMERIC = UNKNOWN;
69/**
70 * @var int
71 * @cvalue PHP_SORT_STRING
72 */
73const SORT_STRING = UNKNOWN;
74/**
75 * @var int
76 * @cvalue PHP_SORT_LOCALE_STRING
77 */
78const SORT_LOCALE_STRING = UNKNOWN;
79/**
80 * @var int
81 * @cvalue PHP_SORT_NATURAL
82 */
83const SORT_NATURAL = UNKNOWN;
84/**
85 * @var int
86 * @cvalue PHP_SORT_FLAG_CASE
87 */
88const SORT_FLAG_CASE = UNKNOWN;
89
90/**
91 * @var int
92 * @cvalue PHP_CASE_LOWER
93 */
94const CASE_LOWER = UNKNOWN;
95/**
96 * @var int
97 * @cvalue PHP_CASE_UPPER
98 */
99const CASE_UPPER = UNKNOWN;
100
101/**
102 * @var int
103 * @cvalue PHP_COUNT_NORMAL
104 */
105const COUNT_NORMAL = UNKNOWN;
106/**
107 * @var int
108 * @cvalue PHP_COUNT_RECURSIVE
109 */
110const COUNT_RECURSIVE = UNKNOWN;
111
112/**
113 * @var int
114 * @cvalue ARRAY_FILTER_USE_BOTH
115 */
116const ARRAY_FILTER_USE_BOTH = UNKNOWN;
117/**
118 * @var int
119 * @cvalue ARRAY_FILTER_USE_KEY
120 */
121const ARRAY_FILTER_USE_KEY = UNKNOWN;
122
123/* basic_functions.h */
124
125/**
126 * @var int
127 * @cvalue PHP_CONNECTION_ABORTED
128 */
129const CONNECTION_ABORTED = UNKNOWN;
130/**
131 * @var int
132 * @cvalue PHP_CONNECTION_NORMAL
133 */
134const CONNECTION_NORMAL = UNKNOWN;
135/**
136 * @var int
137 * @cvalue PHP_CONNECTION_TIMEOUT
138 */
139const CONNECTION_TIMEOUT = UNKNOWN;
140
141/**
142 * @var int
143 * @cvalue ZEND_INI_USER
144 */
145const INI_USER = UNKNOWN;
146/**
147 * @var int
148 * @cvalue ZEND_INI_PERDIR
149 */
150const INI_PERDIR = UNKNOWN;
151/**
152 * @var int
153 * @cvalue ZEND_INI_SYSTEM
154 */
155const INI_SYSTEM = UNKNOWN;
156/**
157 * @var int
158 * @cvalue ZEND_INI_ALL
159 */
160const INI_ALL = UNKNOWN;
161
162/**
163 * @var int
164 * @cvalue ZEND_INI_SCANNER_NORMAL
165 */
166const INI_SCANNER_NORMAL = UNKNOWN;
167/**
168 * @var int
169 * @cvalue ZEND_INI_SCANNER_RAW
170 */
171const INI_SCANNER_RAW = UNKNOWN;
172/**
173 * @var int
174 * @cvalue ZEND_INI_SCANNER_TYPED
175 */
176const INI_SCANNER_TYPED = UNKNOWN;
177
178/**
179 * @var int
180 * @cvalue PHP_URL_SCHEME
181 */
182const PHP_URL_SCHEME = UNKNOWN;
183/**
184 * @var int
185 * @cvalue PHP_URL_HOST
186 */
187const PHP_URL_HOST = UNKNOWN;
188/**
189 * @var int
190 * @cvalue PHP_URL_PORT
191 */
192const PHP_URL_PORT = UNKNOWN;
193/**
194 * @var int
195 * @cvalue PHP_URL_USER
196 */
197const PHP_URL_USER = UNKNOWN;
198/**
199 * @var int
200 * @cvalue PHP_URL_PASS
201 */
202const PHP_URL_PASS = UNKNOWN;
203/**
204 * @var int
205 * @cvalue PHP_URL_PATH
206 */
207const PHP_URL_PATH = UNKNOWN;
208/**
209 * @var int
210 * @cvalue PHP_URL_QUERY
211 */
212const PHP_URL_QUERY = UNKNOWN;
213/**
214 * @var int
215 * @cvalue PHP_URL_FRAGMENT
216 */
217const PHP_URL_FRAGMENT = UNKNOWN;
218/**
219 * @var int
220 * @cvalue PHP_QUERY_RFC1738
221 */
222const PHP_QUERY_RFC1738 = UNKNOWN;
223/**
224 * @var int
225 * @cvalue PHP_QUERY_RFC3986
226 */
227const PHP_QUERY_RFC3986 = UNKNOWN;
228
229/**
230 * @var float
231 * @cvalue M_E
232 */
233const M_E = 2.718281828459045;
234/**
235 * @var float
236 * @cvalue M_LOG2E
237 */
238const M_LOG2E = 1.4426950408889634074;
239/**
240 * @var float
241 * @cvalue M_LOG10E
242 */
243const M_LOG10E = 0.43429448190325182765;
244/**
245 * @var float
246 * @cvalue M_LN2
247 */
248const M_LN2 = 0.69314718055994530942;
249/**
250 * @var float
251 * @cvalue M_LN10
252 */
253const M_LN10 = 2.30258509299404568402;
254/**
255 * @var float
256 * @cvalue M_PI
257 */
258const M_PI = 3.14159265358979323846;
259/**
260 * @var float
261 * @cvalue M_PI_2
262 */
263const M_PI_2 = 1.57079632679489661923;
264/**
265 * @var float
266 * @cvalue M_PI_4
267 */
268const M_PI_4 = 0.78539816339744830962;
269/**
270 * @var float
271 * @cvalue M_1_PI
272 */
273const M_1_PI = 0.31830988618379067154;
274/**
275 * @var float
276 * @cvalue M_2_PI
277 */
278const M_2_PI = 0.63661977236758134308;
279/**
280 * @var float
281 * @cvalue M_SQRTPI
282 */
283const M_SQRTPI = 1.77245385090551602729;
284/**
285 * @var float
286 * @cvalue M_2_SQRTPI
287 */
288const M_2_SQRTPI = 1.12837916709551257390;
289/**
290 * @var float
291 * @cvalue M_LNPI
292 */
293const M_LNPI = 1.14472988584940017414;
294/**
295 * @var float
296 * @cvalue M_EULER
297 */
298const M_EULER = 0.57721566490153286061;
299/**
300 * @var float
301 * @cvalue M_SQRT2
302 */
303const M_SQRT2 = 1.41421356237309504880;
304/**
305 * @var float
306 * @cvalue M_SQRT1_2
307 */
308const M_SQRT1_2 = 0.70710678118654752440;
309/**
310 * @var float
311 * @cvalue M_SQRT3
312 */
313const M_SQRT3 = 1.73205080756887729352;
314/**
315 * @var float
316 * @cvalue ZEND_INFINITY
317 */
318const INF = UNKNOWN;
319/**
320 * @var float
321 * @cvalue ZEND_NAN
322 */
323const NAN = UNKNOWN;
324
325/**
326 * @var int
327 * @cvalue PHP_ROUND_HALF_UP
328 */
329const PHP_ROUND_HALF_UP = UNKNOWN;
330/**
331 * @var int
332 * @cvalue PHP_ROUND_HALF_DOWN
333 */
334const PHP_ROUND_HALF_DOWN = UNKNOWN;
335/**
336 * @var int
337 * @cvalue PHP_ROUND_HALF_EVEN
338 */
339const PHP_ROUND_HALF_EVEN = UNKNOWN;
340/**
341 * @var int
342 * @cvalue PHP_ROUND_HALF_ODD
343 */
344const PHP_ROUND_HALF_ODD = UNKNOWN;
345
346/* dns.c */
347
348#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS)))
349/**
350 * @var int
351 * @cvalue PHP_DNS_A
352 */
353const DNS_A = UNKNOWN;
354/**
355 * @var int
356 * @cvalue PHP_DNS_NS
357 */
358const DNS_NS = UNKNOWN;
359/**
360 * @var int
361 * @cvalue PHP_DNS_CNAME
362 */
363const DNS_CNAME = UNKNOWN;
364/**
365 * @var int
366 * @cvalue PHP_DNS_SOA
367 */
368const DNS_SOA = UNKNOWN;
369/**
370 * @var int
371 * @cvalue PHP_DNS_PTR
372 */
373const DNS_PTR = UNKNOWN;
374/**
375 * @var int
376 * @cvalue PHP_DNS_HINFO
377 */
378const DNS_HINFO = UNKNOWN;
379#if (!defined(PHP_WIN32))
380/**
381 * @var int
382 * @cvalue PHP_DNS_CAA
383 */
384const DNS_CAA = UNKNOWN;
385#endif
386/**
387 * @var int
388 * @cvalue PHP_DNS_MX
389 */
390const DNS_MX = UNKNOWN;
391/**
392 * @var int
393 * @cvalue PHP_DNS_TXT
394 */
395const DNS_TXT = UNKNOWN;
396/**
397 * @var int
398 * @cvalue PHP_DNS_SRV
399 */
400const DNS_SRV = UNKNOWN;
401/**
402 * @var int
403 * @cvalue PHP_DNS_NAPTR
404 */
405const DNS_NAPTR = UNKNOWN;
406/**
407 * @var int
408 * @cvalue PHP_DNS_AAAA
409 */
410const DNS_AAAA = UNKNOWN;
411/**
412 * @var int
413 * @cvalue PHP_DNS_A6
414 */
415const DNS_A6 = UNKNOWN;
416/**
417 * @var int
418 * @cvalue PHP_DNS_ANY
419 */
420const DNS_ANY = UNKNOWN;
421/**
422 * @var int
423 * @cvalue PHP_DNS_ALL
424 */
425const DNS_ALL = UNKNOWN;
426#endif
427
428/* image.c */
429
430/**
431 * @var int
432 * @cvalue IMAGE_FILETYPE_GIF
433 */
434const IMAGETYPE_GIF = UNKNOWN;
435/**
436 * @var int
437 * @cvalue IMAGE_FILETYPE_JPEG
438 */
439const IMAGETYPE_JPEG = UNKNOWN;
440/**
441 * @var int
442 * @cvalue IMAGE_FILETYPE_PNG
443 */
444const IMAGETYPE_PNG = UNKNOWN;
445/**
446 * @var int
447 * @cvalue IMAGE_FILETYPE_SWF
448 */
449const IMAGETYPE_SWF = UNKNOWN;
450/**
451 * @var int
452 * @cvalue IMAGE_FILETYPE_PSD
453 */
454const IMAGETYPE_PSD = UNKNOWN;
455/**
456 * @var int
457 * @cvalue IMAGE_FILETYPE_BMP
458 */
459const IMAGETYPE_BMP = UNKNOWN;
460/**
461 * @var int
462 * @cvalue IMAGE_FILETYPE_TIFF_II
463 */
464const IMAGETYPE_TIFF_II = UNKNOWN;
465/**
466 * @var int
467 * @cvalue IMAGE_FILETYPE_TIFF_MM
468 */
469const IMAGETYPE_TIFF_MM = UNKNOWN;
470/**
471 * @var int
472 * @cvalue IMAGE_FILETYPE_JPC
473 */
474const IMAGETYPE_JPC = UNKNOWN;
475/**
476 * @var int
477 * @cvalue IMAGE_FILETYPE_JP2
478 */
479const IMAGETYPE_JP2 = UNKNOWN;
480/**
481 * @var int
482 * @cvalue IMAGE_FILETYPE_JPX
483 */
484const IMAGETYPE_JPX = UNKNOWN;
485/**
486 * @var int
487 * @cvalue IMAGE_FILETYPE_JB2
488 */
489const IMAGETYPE_JB2 = UNKNOWN;
490#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB))
491/**
492 * @var int
493 * @cvalue IMAGE_FILETYPE_SWC
494 */
495const IMAGETYPE_SWC = UNKNOWN;
496#endif
497/**
498 * @var int
499 * @cvalue IMAGE_FILETYPE_IFF
500 */
501const IMAGETYPE_IFF = UNKNOWN;
502/**
503 * @var int
504 * @cvalue IMAGE_FILETYPE_WBMP
505 */
506const IMAGETYPE_WBMP = UNKNOWN;
507/* keep alias */
508/**
509 * @var int
510 * @cvalue IMAGE_FILETYPE_JPC
511 */
512const IMAGETYPE_JPEG2000 = UNKNOWN;
513/**
514 * @var int
515 * @cvalue IMAGE_FILETYPE_XBM
516 */
517const IMAGETYPE_XBM = UNKNOWN;
518/**
519 * @var int
520 * @cvalue IMAGE_FILETYPE_ICO
521 */
522const IMAGETYPE_ICO = UNKNOWN;
523/**
524 * @var int
525 * @cvalue IMAGE_FILETYPE_WEBP
526 */
527const IMAGETYPE_WEBP = UNKNOWN;
528/**
529 * @var int
530 * @cvalue IMAGE_FILETYPE_AVIF
531 */
532const IMAGETYPE_AVIF = UNKNOWN;
533/**
534 * @var int
535 * @cvalue IMAGE_FILETYPE_UNKNOWN
536 */
537const IMAGETYPE_UNKNOWN = UNKNOWN;
538/**
539 * @var int
540 * @cvalue IMAGE_FILETYPE_COUNT
541 */
542const IMAGETYPE_COUNT = UNKNOWN;
543
544/* syslog.c */
545
546/* error levels */
547
548/**
549 * system unusable
550 * @var int
551 * @cvalue LOG_EMERG
552 */
553const LOG_EMERG = UNKNOWN;
554/**
555 * immediate action required
556 * @var int
557 * @cvalue LOG_ALERT
558 */
559const LOG_ALERT = UNKNOWN;
560/**
561 * critical conditions
562 * @var int
563 * @cvalue LOG_CRIT
564 */
565const LOG_CRIT = UNKNOWN;
566/**
567 * @var int
568 * @cvalue LOG_ERR
569 */
570const LOG_ERR = UNKNOWN;
571/**
572 * @var int
573 * @cvalue LOG_WARNING
574 */
575const LOG_WARNING = UNKNOWN;
576/**
577 * @var int
578 * @cvalue LOG_NOTICE
579 */
580const LOG_NOTICE = UNKNOWN;
581/**
582 * @var int
583 * @cvalue LOG_INFO
584 */
585const LOG_INFO = UNKNOWN;
586/**
587 * @var int
588 * @cvalue LOG_DEBUG
589 */
590const LOG_DEBUG = UNKNOWN;
591/* facility: type of program logging the message */
592/**
593 * @var int
594 * @cvalue LOG_KERN
595 */
596const LOG_KERN = UNKNOWN;
597/**
598 * generic user level
599 * @var int
600 * @cvalue LOG_USER
601 */
602const LOG_USER = UNKNOWN;
603/**
604 * log to email
605 * @var int
606 * @cvalue LOG_MAIL
607 */
608const LOG_MAIL = UNKNOWN;
609/**
610 * other system daemons
611 * @var int
612 * @cvalue LOG_DAEMON
613 */
614const LOG_DAEMON = UNKNOWN;
615/**
616 * @var int
617 * @cvalue LOG_AUTH
618 */
619const LOG_AUTH = UNKNOWN;
620/**
621 * @var int
622 * @cvalue LOG_SYSLOG
623 */
624const LOG_SYSLOG = UNKNOWN;
625/**
626 * @var int
627 * @cvalue LOG_LPR
628 */
629const LOG_LPR = UNKNOWN;
630#ifdef LOG_NEWS
631/* No LOG_NEWS on HP-UX */
632/**
633 * usenet new
634 * @var int
635 * @cvalue LOG_NEWS
636 */
637const LOG_NEWS = UNKNOWN;
638#endif
639#ifdef LOG_UUCP
640/* No LOG_UUCP on HP-UX */
641/**
642 * @var int
643 * @cvalue LOG_UUCP
644 */
645const LOG_UUCP = UNKNOWN;
646#endif
647#ifdef LOG_CRON
648/* apparently some systems don't have this one */
649/**
650 * @var int
651 * @cvalue LOG_CRON
652 */
653const LOG_CRON = UNKNOWN;
654#endif
655#ifdef LOG_AUTHPRIV
656/* AIX doesn't have LOG_AUTHPRIV */
657/**
658 * @var int
659 * @cvalue LOG_AUTHPRIV
660 */
661const LOG_AUTHPRIV = UNKNOWN;
662#endif
663#ifndef PHP_WIN32
664/**
665 * @var int
666 * @cvalue LOG_LOCAL0
667 */
668const LOG_LOCAL0 = UNKNOWN;
669/**
670 * @var int
671 * @cvalue LOG_LOCAL1
672 */
673const LOG_LOCAL1 = UNKNOWN;
674/**
675 * @var int
676 * @cvalue LOG_LOCAL2
677 */
678const LOG_LOCAL2 = UNKNOWN;
679/**
680 * @var int
681 * @cvalue LOG_LOCAL3
682 */
683const LOG_LOCAL3 = UNKNOWN;
684/**
685 * @var int
686 * @cvalue LOG_LOCAL4
687 */
688const LOG_LOCAL4 = UNKNOWN;
689/**
690 * @var int
691 * @cvalue LOG_LOCAL5
692 */
693const LOG_LOCAL5 = UNKNOWN;
694/**
695 * @var int
696 * @cvalue LOG_LOCAL6
697 */
698const LOG_LOCAL6 = UNKNOWN;
699/**
700 * @var int
701 * @cvalue LOG_LOCAL7
702 */
703const LOG_LOCAL7 = UNKNOWN;
704#endif
705/* options */
706/**
707 * @var int
708 * @cvalue LOG_PID
709 */
710const LOG_PID = UNKNOWN;
711/**
712 * @var int
713 * @cvalue LOG_CONS
714 */
715const LOG_CONS = UNKNOWN;
716/**
717 * @var int
718 * @cvalue LOG_ODELAY
719 */
720const LOG_ODELAY = UNKNOWN;
721/**
722 * @var int
723 * @cvalue LOG_NDELAY
724 */
725const LOG_NDELAY = UNKNOWN;
726#ifdef LOG_NOWAIT
727/**
728 * @var int
729 * @cvalue LOG_NOWAIT
730 */
731const LOG_NOWAIT = UNKNOWN;
732#endif
733#ifdef LOG_PERROR
734/* AIX doesn't have LOG_PERROR */
735/**
736 * log to stderr
737 * @var int
738 * @cvalue LOG_PERROR
739 */
740const LOG_PERROR = UNKNOWN;
741#endif
742
743/* string.c */
744
745/**
746 * @var int
747 * @cvalue PHP_STR_PAD_LEFT
748 */
749const STR_PAD_LEFT = UNKNOWN;
750/**
751 * @var int
752 * @cvalue PHP_STR_PAD_RIGHT
753 */
754const STR_PAD_RIGHT = UNKNOWN;
755/**
756 * @var int
757 * @cvalue PHP_STR_PAD_BOTH
758 */
759const STR_PAD_BOTH = UNKNOWN;
760/**
761 * @var int
762 * @cvalue PHP_PATHINFO_DIRNAME
763 */
764const PATHINFO_DIRNAME = UNKNOWN;
765/**
766 * @var int
767 * @cvalue PHP_PATHINFO_BASENAME
768 */
769const PATHINFO_BASENAME = UNKNOWN;
770/**
771 * @var int
772 * @cvalue PHP_PATHINFO_EXTENSION
773 */
774const PATHINFO_EXTENSION = UNKNOWN;
775/**
776 * @var int
777 * @cvalue PHP_PATHINFO_FILENAME
778 */
779const PATHINFO_FILENAME = UNKNOWN;
780/**
781 * @var int
782 * @cvalue PHP_PATHINFO_ALL
783 */
784const PATHINFO_ALL = UNKNOWN;
785
786/**
787 * If last members of struct lconv equal CHAR_MAX, no grouping is done
788 * @var int
789 * @cvalue CHAR_MAX
790 */
791const CHAR_MAX = UNKNOWN;
792/**
793 * @var int
794 * @cvalue LC_CTYPE
795 */
796const LC_CTYPE = UNKNOWN;
797/**
798 * @var int
799 * @cvalue LC_NUMERIC
800 */
801const LC_NUMERIC = UNKNOWN;
802/**
803 * @var int
804 * @cvalue LC_TIME
805 */
806const LC_TIME = UNKNOWN;
807/**
808 * @var int
809 * @cvalue LC_COLLATE
810 */
811const LC_COLLATE = UNKNOWN;
812/**
813 * @var int
814 * @cvalue LC_MONETARY
815 */
816const LC_MONETARY = UNKNOWN;
817/**
818 * @var int
819 * @cvalue LC_ALL
820 */
821const LC_ALL = UNKNOWN;
822#ifdef LC_MESSAGES
823/**
824 * @var int
825 * @cvalue LC_MESSAGES
826 */
827const LC_MESSAGES = UNKNOWN;
828#endif
829
830/** @undocumentable */
831#[AllowDynamicProperties]
832final class __PHP_Incomplete_Class
833{
834}
835
836class AssertionError extends Error
837{
838}
839
840/* main/main.c */
841
842function set_time_limit(int $seconds): bool {}
843
844/* main/SAPI.c */
845
846function header_register_callback(callable $callback): bool {}
847
848/* main/output.c */
849
850/** @param callable $callback */
851function ob_start($callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {}
852
853function ob_flush(): bool {}
854
855function ob_clean(): bool {}
856
857function ob_end_flush(): bool {}
858
859function ob_end_clean(): bool {}
860
861/** @refcount 1 */
862function ob_get_flush(): string|false {}
863
864/** @refcount 1 */
865function ob_get_clean(): string|false {}
866
867function ob_get_contents(): string|false {}
868
869function ob_get_level(): int {}
870
871function ob_get_length(): int|false {}
872
873/**
874 * @return array<int, string>
875 * @refcount 1
876 */
877function ob_list_handlers(): array {}
878
879/**
880 * @return array<int|string, int|string|array>
881 * @refcount 1
882 */
883function ob_get_status(bool $full_status = false): array {}
884
885function ob_implicit_flush(bool $enable = true): void {}
886
887function output_reset_rewrite_vars(): bool {}
888
889function output_add_rewrite_var(string $name, string $value): bool {}
890
891/* main/streams/userspace.c */
892
893function stream_wrapper_register(string $protocol, string $class, int $flags = 0): bool {}
894
895/** @alias stream_wrapper_register */
896function stream_register_wrapper(string $protocol, string $class, int $flags = 0): bool {}
897
898function stream_wrapper_unregister(string $protocol): bool {}
899
900function stream_wrapper_restore(string $protocol): bool {}
901
902/* array.c */
903
904function array_push(array &$array, mixed ...$values): int {}
905
906function krsort(array &$array, int $flags = SORT_REGULAR): true {}
907
908function ksort(array &$array, int $flags = SORT_REGULAR): true {}
909
910/** @compile-time-eval */
911function count(Countable|array $value, int $mode = COUNT_NORMAL): int {}
912
913/** @alias count */
914function sizeof(Countable|array $value, int $mode = COUNT_NORMAL): int {}
915
916function natsort(array &$array): bool {}
917
918function natcasesort(array &$array): bool {}
919
920function asort(array &$array, int $flags = SORT_REGULAR): true {}
921
922function arsort(array &$array, int $flags = SORT_REGULAR): true {}
923
924function sort(array &$array, int $flags = SORT_REGULAR): true {}
925
926function rsort(array &$array, int $flags = SORT_REGULAR): bool {}
927
928function usort(array &$array, callable $callback): true {}
929
930function uasort(array &$array, callable $callback): true {}
931
932function uksort(array &$array, callable $callback): true {}
933
934function end(array|object &$array): mixed {}
935
936function prev(array|object &$array): mixed {}
937
938function next(array|object &$array): mixed {}
939
940function reset(array|object &$array): mixed {}
941
942function current(array|object $array): mixed {}
943
944/** @alias current */
945function pos(array|object $array): mixed {}
946
947function key(array|object $array): int|string|null {}
948
949/** @compile-time-eval */
950function min(mixed $value, mixed ...$values): mixed {}
951
952/** @compile-time-eval */
953function max(mixed $value, mixed ...$values): mixed {}
954
955function array_walk(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {}
956
957function array_walk_recursive(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {}
958
959/**
960 * @compile-time-eval
961 */
962function in_array(mixed $needle, array $haystack, bool $strict = false): bool {}
963
964/**
965 * @compile-time-eval
966 */
967function array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false {}
968
969/** @prefer-ref $array */
970function extract(array &$array, int $flags = EXTR_OVERWRITE, string $prefix = ""): int {}
971
972/**
973 * @param array|string $var_name
974 * @param array|string $var_names
975 * @return array<string, mixed|ref>
976 * @refcount 1
977 */
978function compact($var_name, ...$var_names): array {}
979
980/** @return array<int, mixed> */
981function array_fill(int $start_index, int $count, mixed $value): array {}
982
983/** @refcount 1 */
984function array_fill_keys(array $keys, mixed $value): array {}
985
986/**
987 * @param string|int|float $start
988 * @param string|int|float $end
989 */
990function range($start, $end, int|float $step = 1): array {}
991
992function shuffle(array &$array): true {}
993
994function array_pop(array &$array): mixed {}
995
996function array_shift(array &$array): mixed {}
997
998function array_unshift(array &$array, mixed ...$values): int {}
999
1000function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array {}
1001
1002function array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array {}
1003
1004/**
1005 * @compile-time-eval
1006 */
1007function array_merge(array ...$arrays): array {}
1008
1009/**
1010 * @compile-time-eval
1011 */
1012function array_merge_recursive(array ...$arrays): array {}
1013
1014/**
1015 * @compile-time-eval
1016 * @refcount 1
1017 */
1018function array_replace(array $array, array ...$replacements): array {}
1019
1020/**
1021 * @compile-time-eval
1022 * @refcount 1
1023 */
1024function array_replace_recursive(array $array, array ...$replacements): array {}
1025
1026/**
1027 * @return array<int, int|string>
1028 * @compile-time-eval
1029 */
1030function array_keys(array $array, mixed $filter_value = UNKNOWN, bool $strict = false): array {}
1031
1032/**
1033 * @compile-time-eval
1034 */
1035function array_key_first(array $array): int|string|null {}
1036
1037/**
1038 * @compile-time-eval
1039 */
1040function array_key_last(array $array): int|string|null {}
1041
1042/**
1043 * @return array<int, mixed|ref>
1044 * @compile-time-eval
1045 */
1046function array_values(array $array): array {}
1047
1048/**
1049 * @return array<int|string, int>
1050 * @refcount 1
1051 */
1052function array_count_values(array $array): array {}
1053
1054/** @refcount 1 */
1055function array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array {}
1056
1057/** @refcount 1 */
1058function array_reverse(array $array, bool $preserve_keys = false): array {}
1059
1060function array_pad(array $array, int $length, mixed $value): array {}
1061
1062/**
1063 * @return array<int|string, int|string>
1064 * @refcount 1
1065 * @compile-time-eval
1066 */
1067function array_flip(array $array): array {}
1068
1069/**
1070 * @refcount 1
1071 * @compile-time-eval
1072 */
1073function array_change_key_case(array $array, int $case = CASE_LOWER): array {}
1074
1075/**
1076 * @compile-time-eval
1077 */
1078function array_unique(array $array, int $flags = SORT_STRING): array {}
1079
1080/** @refcount 1 */
1081function array_intersect_key(array $array, array ...$arrays): array {}
1082
1083/**
1084 * @param array|callable $rest
1085 * @refcount 1
1086 */
1087function array_intersect_ukey(array $array, ...$rest): array {}
1088
1089/** @refcount 1 */
1090function array_intersect(array $array, array ...$arrays): array {}
1091
1092/**
1093 * @param array|callable $rest
1094 * @refcount 1
1095 */
1096function array_uintersect(array $array, ...$rest): array {}
1097
1098/** @refcount 1 */
1099function array_intersect_assoc(array $array, array ...$arrays): array {}
1100
1101/**
1102 * @param array|callable $rest
1103 * @refcount 1
1104 */
1105function array_uintersect_assoc(array $array, ...$rest): array {}
1106
1107/**
1108 * @param array|callable $rest
1109 * @refcount 1
1110 */
1111function array_intersect_uassoc(array $array, ...$rest): array {}
1112
1113/**
1114 * @param array|callable $rest
1115 * @refcount 1
1116 */
1117function array_uintersect_uassoc(array $array, ...$rest): array {}
1118
1119/**
1120 * @refcount 1
1121 * @compile-time-eval
1122 */
1123function array_diff_key(array $array, array ...$arrays): array {}
1124
1125/**
1126 * @param array|callable $rest
1127 * @refcount 1
1128 */
1129function array_diff_ukey(array $array, ...$rest): array {}
1130
1131/**
1132 * @compile-time-eval
1133 */
1134function array_diff(array $array, array ...$arrays): array {}
1135
1136/**
1137 * @param array|callable $rest
1138 * @refcount 1
1139 */
1140function array_udiff(array $array, ...$rest): array {}
1141
1142/**
1143 * @refcount 1
1144 * @compile-time-eval
1145 */
1146function array_diff_assoc(array $array, array ...$arrays): array {}
1147
1148/**
1149 * @param array|callable $rest
1150 * @refcount 1
1151 */
1152function array_diff_uassoc(array $array, ...$rest): array {}
1153
1154/**
1155 * @param array|callable $rest
1156 * @refcount 1
1157 */
1158function array_udiff_assoc(array $array, ...$rest): array {}
1159
1160/**
1161 * @param array|callable $rest
1162 * @refcount 1
1163 */
1164function array_udiff_uassoc(array $array, ...$rest): array {}
1165
1166/**
1167 * @param array $array
1168 * @param array|int $rest
1169 * @prefer-ref $array
1170 * @prefer-ref $rest
1171 */
1172function array_multisort(&$array, &...$rest): bool {}
1173
1174/** @return int|string|array<int, int|string> */
1175function array_rand(array $array, int $num = 1): int|string|array {}
1176
1177function array_sum(array $array): int|float {}
1178
1179function array_product(array $array): int|float {}
1180
1181function array_reduce(array $array, callable $callback, mixed $initial = null): mixed {}
1182
1183function array_filter(array $array, ?callable $callback = null, int $mode = 0): array {}
1184
1185function array_map(?callable $callback, array $array, array ...$arrays): array {}
1186
1187/**
1188 * @param string|int $key
1189 * @compile-time-eval
1190 */
1191function array_key_exists($key, array $array): bool {}
1192
1193/**
1194 * @param string|int $key
1195 * @alias array_key_exists
1196 */
1197function key_exists($key, array $array): bool {}
1198
1199function array_chunk(array $array, int $length, bool $preserve_keys = false): array {}
1200
1201function array_combine(array $keys, array $values): array {}
1202
1203/** @compile-time-eval */
1204function array_is_list(array $array): bool {}
1205
1206/* base64.c */
1207
1208/**
1209 * @refcount 1
1210 * @compile-time-eval
1211 */
1212function base64_encode(string $string): string {}
1213
1214/**
1215 * @compile-time-eval
1216 * @refcount 1
1217 */
1218function base64_decode(string $string, bool $strict = false): string|false {}
1219
1220/* basic_functions.c */
1221
1222function constant(string $name): mixed {}
1223
1224function ip2long(string $ip): int|false {}
1225
1226/** @refcount 1 */
1227function long2ip(int $ip): string|false {}
1228
1229/**
1230 * @return string|array<string, string>|false
1231 * @refcount 1
1232 */
1233function getenv(?string $name = null, bool $local_only = false): string|array|false {}
1234
1235#ifdef HAVE_PUTENV
1236function putenv(string $assignment): bool {}
1237#endif
1238
1239/**
1240 * @param int $rest_index
1241 * @return array<int|string, string|array|false>|false
1242 * @refcount 1
1243 */
1244function getopt(string $short_options, array $long_options = [], &$rest_index = null): array|false {}
1245
1246function flush(): void {}
1247
1248function sleep(int $seconds): int {}
1249
1250function usleep(int $microseconds): void {}
1251
1252#ifdef HAVE_NANOSLEEP
1253/**
1254 * @return array<string, int>|bool
1255 * @refcount 1
1256 */
1257function time_nanosleep(int $seconds, int $nanoseconds): array|bool {}
1258
1259function time_sleep_until(float $timestamp): bool {}
1260#endif
1261
1262/** @refcount 1 */
1263function get_current_user(): string {}
1264
1265/** @return string|array<int|string, string|array>|false */
1266function get_cfg_var(string $option): string|array|false {}
1267
1268function error_log(string $message, int $message_type = 0, ?string $destination = null, ?string $additional_headers = null): bool {}
1269
1270/**
1271 * @return array<string, int|string>|null
1272 * @refcount 1
1273 */
1274function error_get_last(): ?array {}
1275
1276function error_clear_last(): void {}
1277
1278function call_user_func(callable $callback, mixed ...$args): mixed {}
1279
1280function call_user_func_array(callable $callback, array $args): mixed {}
1281
1282function forward_static_call(callable $callback, mixed ...$args): mixed {}
1283
1284function forward_static_call_array(callable $callback, array $args): mixed {}
1285
1286function register_shutdown_function(callable $callback, mixed ...$args): void {}
1287
1288/** @refcount 1 */
1289function highlight_file(string $filename, bool $return = false): string|bool {}
1290
1291/** @alias highlight_file */
1292function show_source(string $filename, bool $return = false): string|bool {}
1293
1294/** @refcount 1 */
1295function php_strip_whitespace(string $filename): string {}
1296
1297/** @refcount 1 */
1298function highlight_string(string $string, bool $return = false): string|bool {}
1299
1300function ini_get(string $option): string|false {}
1301
1302/**
1303 * @return array<string, string|array|null>|false
1304 * @refcount 1
1305 */
1306function ini_get_all(?string $extension = null, bool $details = true): array|false {}
1307
1308function ini_set(string $option, string|int|float|bool|null $value): string|false {}
1309
1310/** @alias ini_set */
1311function ini_alter(string $option, string|int|float|bool|null $value): string|false {}
1312
1313function ini_restore(string $option): void {}
1314
1315function ini_parse_quantity(string $shorthand): int {}
1316
1317/** @refcount 1 */
1318function set_include_path(string $include_path): string|false {}
1319
1320/** @refcount 1 */
1321function get_include_path(): string|false {}
1322
1323/** @refcount 1 */
1324function print_r(mixed $value, bool $return = false): string|bool {}
1325
1326function connection_aborted(): int {}
1327
1328function connection_status(): int {}
1329
1330function ignore_user_abort(?bool $enable = null): int {}
1331
1332#ifdef HAVE_GETSERVBYNAME
1333function getservbyname(string $service, string $protocol): int|false {}
1334#endif
1335
1336#ifdef HAVE_GETSERVBYPORT
1337/** @refcount 1 */
1338function getservbyport(int $port, string $protocol): string|false {}
1339#endif
1340
1341#ifdef HAVE_GETPROTOBYNAME
1342function getprotobyname(string $protocol): int|false {}
1343#endif
1344
1345#ifdef HAVE_GETPROTOBYNUMBER
1346/** @refcount 1 */
1347function getprotobynumber(int $protocol): string|false {}
1348#endif
1349
1350function register_tick_function(callable $callback, mixed ...$args): bool {}
1351
1352function unregister_tick_function(callable $callback): void {}
1353
1354function is_uploaded_file(string $filename): bool {}
1355
1356function move_uploaded_file(string $from, string $to): bool {}
1357
1358/**
1359 * @return array<int|string, bool|int|float|string|array|null>|false
1360 * @refcount 1
1361 */
1362function parse_ini_file(string $filename, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
1363
1364/**
1365 * @return array<int|string, bool|int|float|string|array|null>|false
1366 * @refcount 1
1367 */
1368function parse_ini_string(string $ini_string, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
1369
1370#if ZEND_DEBUG
1371/**
1372 * @return array<string, string|array>
1373 * @refcount 1
1374 */
1375function config_get_hash(): array {}
1376#endif
1377
1378#ifdef HAVE_GETLOADAVG
1379/**
1380 * @return array<int, float>|false
1381 * @refcount 1
1382 */
1383function sys_getloadavg(): array|false {}
1384#endif
1385
1386/* browscap.c */
1387
1388/**
1389 * @return object|array<string, mixed>|false
1390 * @refcount 1
1391 */
1392function get_browser(?string $user_agent = null, bool $return_array = false): object|array|false {}
1393
1394/* crc32.c */
1395
1396/** @compile-time-eval */
1397function crc32(string $string): int {}
1398
1399/* crypt.c */
1400
1401/** @refcount 1 */
1402function crypt(#[\SensitiveParameter] string $string, string $salt): string {}
1403
1404/* datetime.c */
1405
1406#ifdef HAVE_STRPTIME
1407/**
1408 * @return array<string, int|string>|false
1409 * @deprecated
1410 * @refcount 1
1411 */
1412function strptime(string $timestamp, string $format): array|false {}
1413#endif
1414
1415/* dns.c */
1416
1417#ifdef HAVE_GETHOSTNAME
1418/** @refcount 1 */
1419function gethostname(): string|false {}
1420#endif
1421
1422/** @refcount 1 */
1423function gethostbyaddr(string $ip): string|false {}
1424
1425/** @refcount 1 */
1426function gethostbyname(string $hostname): string {}
1427
1428/**
1429 * @return array<int, string>|false
1430 * @refcount 1
1431 */
1432function gethostbynamel(string $hostname): array|false {}
1433
1434#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC))
1435function dns_check_record(string $hostname, string $type = "MX"): bool {}
1436
1437/** @alias dns_check_record */
1438function checkdnsrr(string $hostname, string $type = "MX"): bool {}
1439
1440/**
1441 * @param array $authoritative_name_servers
1442 * @param array $additional_records
1443 * @return array<int, array>|false
1444 * @refcount 1
1445 */
1446function dns_get_record(string $hostname, int $type = DNS_ANY, &$authoritative_name_servers = null, &$additional_records = null, bool $raw = false): array|false {}
1447
1448/**
1449 * @param array $hosts
1450 * @param array $weights
1451 */
1452function dns_get_mx(string $hostname, &$hosts, &$weights = null): bool {}
1453
1454/**
1455 * @param array $hosts
1456 * @param array $weights
1457 * @alias dns_get_mx
1458 */
1459function getmxrr(string $hostname, &$hosts, &$weights = null): bool {}
1460#endif
1461
1462/* net.c */
1463
1464#if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__))
1465function net_get_interfaces(): array|false {}
1466#endif
1467
1468/* ftok.c */
1469
1470#ifdef HAVE_FTOK
1471function ftok(string $filename, string $project_id): int {}
1472#endif
1473
1474/* hrtime.c */
1475
1476function hrtime(bool $as_number = false): array|int|float|false {}
1477
1478/* md5.c */
1479
1480/** @refcount 1 */
1481function md5(string $string, bool $binary = false): string {}
1482
1483/** @refcount 1 */
1484function md5_file(string $filename, bool $binary = false): string|false {}
1485
1486/* pageinfo.c */
1487
1488function getmyuid(): int|false {}
1489
1490function getmygid(): int|false {}
1491
1492function getmypid(): int|false {}
1493
1494function getmyinode(): int|false {}
1495
1496function getlastmod(): int|false {}
1497
1498/* sha1.c */
1499
1500/** @refcount 1 */
1501function sha1(string $string, bool $binary = false): string {}
1502
1503/** @refcount 1 */
1504function sha1_file(string $filename, bool $binary = false): string|false {}
1505
1506/* syslog.c */
1507
1508#ifdef HAVE_SYSLOG_H
1509function openlog(string $prefix, int $flags, int $facility): true {}
1510
1511function closelog(): true {}
1512
1513function syslog(int $priority, string $message): true {} // TODO make return type void
1514#endif
1515
1516#ifdef HAVE_INET_NTOP
1517/** @refcount 1 */
1518function inet_ntop(string $ip): string|false {}
1519#endif
1520
1521#ifdef HAVE_INET_PTON
1522/** @refcount 1 */
1523function inet_pton(string $ip): string|false {}
1524#endif
1525
1526/* metaphone.c */
1527
1528/** @refcount 1 */
1529function metaphone(string $string, int $max_phonemes = 0): string {}
1530
1531/* {{{ head.c */
1532function header(string $header, bool $replace = true, int $response_code = 0): void {}
1533
1534function header_remove(?string $name = null): void {}
1535
1536function setrawcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
1537
1538function setcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
1539
1540function http_response_code(int $response_code = 0): int|bool {}
1541
1542/**
1543 * @param string $filename
1544 * @param int $line
1545 */
1546function headers_sent(&$filename = null, &$line = null): bool {}
1547
1548/**
1549 * @return array<int, string>
1550 * @refcount 1
1551 */
1552function headers_list(): array {}
1553
1554/* {{{ html.c */
1555
1556/** @refcount 1 */
1557function htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
1558
1559function htmlspecialchars_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string {}
1560
1561function html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string {}
1562
1563/** @refcount 1 */
1564function htmlentities(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
1565
1566/**
1567 * @return array<string, string>
1568 * @refcount 1
1569 */
1570function get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array {}
1571
1572/* }}} */
1573
1574/* assert.c */
1575
1576function assert(mixed $assertion, Throwable|string|null $description = null): bool {}
1577
1578function assert_options(int $option, mixed $value = UNKNOWN): mixed {}
1579
1580/* string.c */
1581
1582/**
1583 * @compile-time-eval
1584 * @refcount 1
1585 */
1586function bin2hex(string $string): string {}
1587
1588/**
1589 * @compile-time-eval
1590 * @refcount 1
1591 */
1592function hex2bin(string $string): string|false {}
1593
1594function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
1595
1596function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
1597
1598#ifdef HAVE_NL_LANGINFO
1599/** @refcount 1 */
1600function nl_langinfo(int $item): string|false {}
1601#endif
1602
1603function strcoll(string $string1, string $string2): int {}
1604
1605/** @compile-time-eval */
1606function trim(string $string, string $characters = " \n\r\t\v\0"): string {}
1607
1608/** @compile-time-eval */
1609function rtrim(string $string, string $characters = " \n\r\t\v\0"): string {}
1610
1611/** @alias rtrim */
1612function chop(string $string, string $characters = " \n\r\t\v\0"): string {}
1613
1614/** @compile-time-eval */
1615function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {}
1616
1617/** @refcount 1 */
1618function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {}
1619
1620/**
1621 * @return array<int, string>
1622 * @refcount 1
1623 * @compile-time-eval
1624 */
1625function explode(string $separator, string $string, int $limit = PHP_INT_MAX): array {}
1626
1627/**
1628 * @compile-time-eval
1629 */
1630function implode(string|array $separator, ?array $array = null): string {}
1631
1632/** @alias implode */
1633function join(string|array $separator, ?array $array = null): string {}
1634
1635/** @refcount 1 */
1636function strtok(string $string, ?string $token = null): string|false {}
1637
1638/** @compile-time-eval */
1639function strtoupper(string $string): string {}
1640
1641/** @compile-time-eval */
1642function strtolower(string $string): string {}
1643
1644/** @refcount 1 */
1645function basename(string $path, string $suffix = ""): string {}
1646
1647/** @refcount 1 */
1648function dirname(string $path, int $levels = 1): string {}
1649
1650/**
1651 * @return array<string, string>|string
1652 * @refcount 1
1653 */
1654function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {}
1655
1656/** @refcount 1 */
1657function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
1658
1659/**
1660 * @compile-time-eval
1661 * @refcount 1
1662 */
1663function strstr(string $haystack, string $needle, bool $before_needle = false): string|false {}
1664
1665/** @alias strstr */
1666function strchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
1667
1668/** @compile-time-eval */
1669function strpos(string $haystack, string $needle, int $offset = 0): int|false {}
1670
1671/** @compile-time-eval */
1672function stripos(string $haystack, string $needle, int $offset = 0): int|false {}
1673
1674/** @compile-time-eval */
1675function strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
1676
1677/** @compile-time-eval */
1678function strripos(string $haystack, string $needle, int $offset = 0): int|false {}
1679
1680/** @refcount 1 */
1681function strrchr(string $haystack, string $needle): string|false {}
1682
1683/** @compile-time-eval */
1684function str_contains(string $haystack, string $needle): bool {}
1685
1686/** @compile-time-eval */
1687function str_starts_with(string $haystack, string $needle): bool {}
1688
1689/** @compile-time-eval */
1690function str_ends_with(string $haystack, string $needle): bool {}
1691
1692/** @refcount 1 */
1693function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {}
1694
1695/** @compile-time-eval */
1696function substr(string $string, int $offset, ?int $length = null): string {}
1697
1698/** @return string|array<int|string, string> */
1699function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {}
1700
1701/** @refcount 1 */
1702function quotemeta(string $string): string {}
1703
1704/** @compile-time-eval */
1705function ord(string $character): int {}
1706
1707/**
1708 * @compile-time-eval
1709 * @refcount 1
1710 */
1711function chr(int $codepoint): string {}
1712
1713/** @compile-time-eval */
1714function ucfirst(string $string): string {}
1715
1716/** @compile-time-eval */
1717function lcfirst(string $string): string {}
1718
1719/**
1720 * @compile-time-eval
1721 * @refcount 1
1722 */
1723function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {}
1724
1725function strtr(string $string, string|array $from, ?string $to = null): string {}
1726
1727/**
1728 * @compile-time-eval
1729 * @refcount 1
1730 */
1731function strrev(string $string): string {}
1732
1733/** @param float $percent */
1734function similar_text(string $string1, string $string2, &$percent = null): int {}
1735
1736function addcslashes(string $string, string $characters): string {}
1737
1738function addslashes(string $string): string {}
1739
1740/** @refcount 1 */
1741function stripcslashes(string $string): string {}
1742
1743/** @refcount 1 */
1744function stripslashes(string $string): string {}
1745
1746/**
1747 * @param int $count
1748 * @return string|array<int|string, string>
1749 * @compile-time-eval
1750 */
1751function str_replace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
1752
1753/**
1754 * @param int $count
1755 * @return string|array<int|string, string>
1756 * @compile-time-eval
1757 */
1758function str_ireplace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
1759
1760/** @refcount 1 */
1761function hebrev(string $string, int $max_chars_per_line = 0): string {}
1762
1763function nl2br(string $string, bool $use_xhtml = true): string {}
1764
1765/** @refcount 1 */
1766function strip_tags(string $string, array|string|null $allowed_tags = null): string {}
1767
1768/**
1769 * @param array|string $locales
1770 * @param string $rest
1771 */
1772function setlocale(int $category, $locales, ...$rest): string|false {}
1773
1774/** @param array $result */
1775function parse_str(string $string, &$result): void {}
1776
1777/**
1778 * @return array<int, string|null>
1779 * @refcount 1
1780 */
1781function str_getcsv(string $string, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array {}
1782
1783/** @refcount 1 */
1784function str_repeat(string $string, int $times): string {}
1785
1786/**
1787 * @return array<int, int>|string
1788 * @refcount 1
1789 */
1790function count_chars(string $string, int $mode = 0): array|string {}
1791
1792function strnatcmp(string $string1, string $string2): int {}
1793
1794/**
1795 * @return array<string, int|string|array>
1796 * @refcount 1
1797 */
1798function localeconv(): array {}
1799
1800function strnatcasecmp(string $string1, string $string2): int {}
1801
1802function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {}
1803
1804function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {}
1805
1806/**
1807 * @return array<int, mixed>|int|null
1808 * @refcount 1
1809 */
1810function sscanf(string $string, string $format, mixed &...$vars): array|int|null {}
1811
1812/** @refcount 1 */
1813function str_rot13(string $string): string {}
1814
1815/** @refcount 1 */
1816function str_shuffle(string $string): string {}
1817
1818/**
1819 * @return array<int, string>|int
1820 * @refcount 1
1821 */
1822function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int {}
1823
1824/**
1825 * @return array<int, string>
1826 * @compile-time-eval
1827 */
1828function str_split(string $string, int $length = 1): array {}
1829
1830/** @refcount 1 */
1831function strpbrk(string $string, string $characters): string|false {}
1832
1833function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {}
1834
1835/**
1836 * @refcount 1
1837 * @deprecated
1838 */
1839function utf8_encode(string $string): string {}
1840
1841/**
1842 * @refcount 1
1843 * @deprecated
1844 */
1845function utf8_decode(string $string): string {}
1846
1847/* dir.c */
1848
1849/**
1850 * @param resource|null $context
1851 * @return resource|false
1852 */
1853function opendir(string $directory, $context = null) {}
1854
1855/**
1856 * @param resource|null $context
1857 * @refcount 1
1858 */
1859function dir(string $directory, $context = null): Directory|false {}
1860
1861/** @param resource|null $dir_handle */
1862function closedir($dir_handle = null): void {}
1863
1864function chdir(string $directory): bool {}
1865
1866#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC))
1867function chroot(string $directory): bool {}
1868#endif
1869
1870/** @refcount 1 */
1871function getcwd(): string|false {}
1872
1873/** @param resource|null $dir_handle */
1874function rewinddir($dir_handle = null): void {}
1875
1876/**
1877 * @param resource|null $dir_handle
1878 * @refcount 1
1879 */
1880function readdir($dir_handle = null): string|false {}
1881
1882/**
1883 * @param resource|null $context
1884 * @return array<int, string>|false
1885 * @refcount 1
1886 */
1887function scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, $context = null): array|false {}
1888
1889#ifdef HAVE_GLOB
1890/**
1891 * @return array<int, string>|false
1892 * @refcount 1
1893 */
1894function glob(string $pattern, int $flags = 0): array|false {}
1895#endif
1896
1897/* exec.c */
1898
1899/**
1900 * @param array $output
1901 * @param int $result_code
1902 * @refcount 1
1903 */
1904function exec(string $command, &$output = null, &$result_code = null): string|false {}
1905
1906/**
1907 * @param int $result_code
1908 * @refcount 1
1909 */
1910function system(string $command, &$result_code = null): string|false {}
1911
1912/** @param int $result_code */
1913function passthru(string $command, &$result_code = null): false|null {}
1914
1915/** @refcount 1 */
1916function escapeshellcmd(string $command): string {}
1917
1918/** @refcount 1 */
1919function escapeshellarg(string $arg): string {}
1920
1921/** @refcount 1 */
1922function shell_exec(string $command): string|false|null {}
1923
1924#ifdef HAVE_NICE
1925function proc_nice(int $priority): bool {}
1926#endif
1927
1928/* file.c */
1929
1930/**
1931 * @param resource $stream
1932 * @param int $would_block
1933 */
1934function flock($stream, int $operation, &$would_block = null): bool {}
1935
1936/**
1937 * @return array<string, string>|false
1938 * @refcount 1
1939 */
1940function get_meta_tags(string $filename, bool $use_include_path = false): array|false {}
1941
1942/** @param resource $handle */
1943function pclose($handle): int {}
1944
1945/**
1946 * @return resource|false
1947 * @refcount 1
1948 */
1949function popen(string $command, string $mode) {}
1950
1951/** @param resource|null $context */
1952function readfile(string $filename, bool $use_include_path = false, $context = null): int|false {}
1953
1954/** @param resource $stream */
1955function rewind($stream): bool {}
1956
1957/** @param resource|null $context */
1958function rmdir(string $directory, $context = null): bool {}
1959
1960function umask(?int $mask = null): int {}
1961
1962/** @param resource $stream */
1963function fclose($stream): bool {}
1964
1965/** @param resource $stream */
1966function feof($stream): bool {}
1967
1968/** @param resource $stream */
1969function fgetc($stream): string|false {}
1970
1971/**
1972 * @param resource $stream
1973 * @refcount 1
1974 */
1975function fgets($stream, ?int $length = null): string|false {}
1976
1977/**
1978 * @param resource $stream
1979 * @refcount 1
1980 */
1981function fread($stream, int $length): string|false {}
1982
1983/**
1984 * @param resource|null $context
1985 * @return resource|false
1986 * @refcount 1
1987 */
1988function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {}
1989
1990/**
1991 * @param resource $stream
1992 * @return array<int, mixed>|int|false|null
1993 * @refcount 1
1994 */
1995function fscanf($stream, string $format, mixed &...$vars): array|int|false|null {}
1996
1997/** @param resource $stream */
1998function fpassthru($stream): int {}
1999
2000/** @param resource $stream */
2001function ftruncate($stream, int $size): bool {}
2002
2003/**
2004 * @param resource $stream
2005 * @return array<int|string, int>|false
2006 * @refcount 1
2007 */
2008function fstat($stream): array|false {}
2009
2010/** @param resource $stream */
2011function fseek($stream, int $offset, int $whence = SEEK_SET): int {}
2012
2013/** @param resource $stream */
2014function ftell($stream): int|false {}
2015
2016/** @param resource $stream */
2017function fflush($stream): bool {}
2018
2019/** @param resource $stream */
2020function fsync($stream): bool {}
2021
2022/** @param resource $stream */
2023function fdatasync($stream): bool {}
2024
2025/** @param resource $stream */
2026function fwrite($stream, string $data, ?int $length = null): int|false {}
2027
2028/**
2029 * @param resource $stream
2030 * @alias fwrite
2031 */
2032function fputs($stream, string $data, ?int $length = null): int|false {}
2033
2034/** @param resource|null $context */
2035function mkdir(string $directory, int $permissions = 0777, bool $recursive = false, $context = null): bool {}
2036
2037/** @param resource|null $context */
2038function rename(string $from, string $to, $context = null): bool {}
2039
2040/** @param resource|null $context */
2041function copy(string $from, string $to, $context = null): bool {}
2042
2043/** @refcount 1 */
2044function tempnam(string $directory, string $prefix): string|false {}
2045
2046/**
2047 * @return resource|false
2048 * @refcount 1
2049 */
2050function tmpfile() {}
2051
2052/**
2053 * @param resource|null $context
2054 * @return array<int, string>|false
2055 * @refcount 1
2056 */
2057function file(string $filename, int $flags = 0, $context = null): array|false {}
2058
2059/**
2060 * @param resource|null $context
2061 * @refcount 1
2062 */
2063function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, ?int $length = null): string|false {}
2064
2065/** @param resource|null $context */
2066function unlink(string $filename, $context = null): bool {}
2067
2068/** @param resource|null $context */
2069function file_put_contents(string $filename, mixed $data, int $flags = 0, $context = null): int|false {}
2070
2071/** @param resource $stream */
2072function fputcsv($stream, array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n"): int|false {}
2073
2074/**
2075 * @param resource $stream
2076 * @return array<int, string|null>|false
2077 * @refcount 1
2078 */
2079function fgetcsv($stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false {}
2080
2081/** @refcount 1 */
2082function realpath(string $path): string|false {}
2083
2084#ifdef HAVE_FNMATCH
2085function fnmatch(string $pattern, string $filename, int $flags = 0): bool {}
2086#endif
2087
2088/** @refcount 1 */
2089function sys_get_temp_dir(): string {}
2090
2091/* filestat.c */
2092
2093function fileatime(string $filename): int|false {}
2094
2095function filectime(string $filename): int|false {}
2096
2097function filegroup(string $filename): int|false {}
2098
2099function fileinode(string $filename): int|false {}
2100
2101function filemtime(string $filename): int|false {}
2102
2103function fileowner(string $filename): int|false {}
2104
2105function fileperms(string $filename): int|false {}
2106
2107function filesize(string $filename): int|false {}
2108
2109/** @refcount 1 */
2110function filetype(string $filename): string|false {}
2111
2112function file_exists(string $filename): bool {}
2113
2114function is_writable(string $filename): bool {}
2115
2116/** @alias is_writable */
2117function is_writeable(string $filename): bool {}
2118
2119function is_readable(string $filename): bool {}
2120
2121function is_executable(string $filename): bool {}
2122
2123function is_file(string $filename): bool {}
2124
2125function is_dir(string $filename): bool {}
2126
2127function is_link(string $filename): bool {}
2128
2129/**
2130 * @return array<int|string, bool|int|string>|false
2131 * @refcount 1
2132 */
2133function stat(string $filename): array|false {}
2134
2135/**
2136 * @return array<int|string, bool|int|string>|false
2137 * @refcount 1
2138 */
2139function lstat(string $filename): array|false {}
2140
2141function chown(string $filename, string|int $user): bool {}
2142
2143function chgrp(string $filename, string|int $group): bool {}
2144
2145#ifdef HAVE_LCHOWN
2146function lchown(string $filename, string|int $user): bool {}
2147
2148function lchgrp(string $filename, string|int $group): bool {}
2149#endif
2150
2151function chmod(string $filename, int $permissions): bool {}
2152
2153#ifdef HAVE_UTIME
2154function touch(string $filename, ?int $mtime = null, ?int $atime = null): bool {}
2155#endif
2156
2157function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {}
2158
2159function disk_total_space(string $directory): float|false {}
2160
2161function disk_free_space(string $directory): float|false {}
2162
2163/** @alias disk_free_space */
2164function diskfreespace(string $directory): float|false {}
2165
2166/**
2167 * @return array<string, array>
2168 * @refcount 1
2169 */
2170function realpath_cache_get(): array {}
2171
2172function realpath_cache_size(): int {}
2173
2174/* formatted_print.c */
2175
2176/** @refcount 1 */
2177function sprintf(string $format, mixed ...$values): string {}
2178
2179function printf(string $format, mixed ...$values): int {}
2180
2181function vprintf(string $format, array $values): int {}
2182
2183/** @refcount 1 */
2184function vsprintf(string $format, array $values): string {}
2185
2186/** @param resource $stream */
2187function fprintf($stream, string $format, mixed ...$values): int {}
2188
2189/** @param resource $stream */
2190function vfprintf($stream, string $format, array $values): int {}
2191
2192/* fsock.c */
2193
2194/**
2195 * @param int $error_code
2196 * @param string $error_message
2197 * @return resource|false
2198 * @refcount 1
2199 */
2200function fsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
2201
2202/**
2203 * @param int $error_code
2204 * @param string $error_message
2205 * @return resource|false
2206 */
2207function pfsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
2208
2209/* http.c */
2210
2211/** @refcount 1 */
2212function http_build_query(array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string {}
2213
2214/* image.c */
2215
2216/** @refcount 1 */
2217function image_type_to_mime_type(int $image_type): string {}
2218
2219/** @refcount 1 */
2220function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {}
2221
2222/**
2223 * @param array $image_info
2224 * @return array<int|string, int|string>|false
2225 * @refcount 1
2226 */
2227function getimagesize(string $filename, &$image_info = null): array|false {}
2228
2229/**
2230 * @param array $image_info
2231 * @return array<int|string, int|string>|false
2232 * @refcount 1
2233 */
2234function getimagesizefromstring(string $string, &$image_info = null): array|false {}
2235
2236/* info.c */
2237
2238function phpinfo(int $flags = INFO_ALL): true {} // make return type void
2239
2240/**
2241 * @compile-time-eval
2242 * @refcount 1
2243 */
2244function phpversion(?string $extension = null): string|false {}
2245
2246function phpcredits(int $flags = CREDITS_ALL): true {}
2247
2248/**
2249 * @compile-time-eval
2250 * @refcount 1
2251 */
2252function php_sapi_name(): string|false {}
2253
2254/**
2255 * @compile-time-eval
2256 * @refcount 1
2257 */
2258function php_uname(string $mode = "a"): string {}
2259
2260/** @refcount 1 */
2261function php_ini_scanned_files(): string|false {}
2262
2263/** @refcount 1 */
2264function php_ini_loaded_file(): string|false {}
2265
2266/* iptc.c */
2267
2268/** @refcount 1 */
2269function iptcembed(string $iptc_data, string $filename, int $spool = 0): string|bool {}
2270
2271/**
2272 * @return array<string, array>|false
2273 * @refcount 1
2274 */
2275function iptcparse(string $iptc_block): array|false {}
2276
2277/* levenshtein.c */
2278
2279function levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1): int {}
2280
2281/* link.c */
2282
2283#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32))
2284/** @refcount 1 */
2285function readlink(string $path): string|false {}
2286
2287function linkinfo(string $path): int|false {}
2288
2289function symlink(string $target, string $link): bool {}
2290
2291function link(string $target, string $link): bool {}
2292#endif
2293
2294/* mail.c */
2295
2296function mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool {}
2297
2298/* math.c */
2299
2300function abs(int|float $num): int|float {}
2301
2302function ceil(int|float $num): float {}
2303
2304function floor(int|float $num): float {}
2305
2306function round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float {}
2307
2308function sin(float $num): float {}
2309
2310function cos(float $num): float {}
2311
2312function tan(float $num): float {}
2313
2314function asin(float $num): float {}
2315
2316function acos(float $num): float {}
2317
2318function atan(float $num): float {}
2319
2320function atanh(float $num): float {}
2321
2322function atan2(float $y, float $x): float {}
2323
2324function sinh(float $num): float {}
2325
2326function cosh(float $num): float {}
2327
2328function tanh(float $num): float {}
2329
2330function asinh(float $num): float {}
2331
2332function acosh(float $num): float {}
2333
2334function expm1(float $num): float {}
2335
2336function log1p(float $num): float {}
2337
2338/** @compile-time-eval */
2339function pi(): float {}
2340
2341/** @compile-time-eval */
2342function is_finite(float $num): bool {}
2343
2344/** @compile-time-eval */
2345function is_nan(float $num): bool {}
2346
2347/** @compile-time-eval */
2348function intdiv(int $num1, int $num2): int {}
2349
2350/** @compile-time-eval */
2351function is_infinite(float $num): bool {}
2352
2353/** @compile-time-eval */
2354function pow(mixed $num, mixed $exponent): int|float|object {}
2355
2356function exp(float $num): float {}
2357
2358function log(float $num, float $base = M_E): float {}
2359
2360function log10(float $num): float {}
2361
2362function sqrt(float $num): float {}
2363
2364function hypot(float $x, float $y): float {}
2365
2366function deg2rad(float $num): float {}
2367
2368function rad2deg(float $num): float {}
2369
2370/** @compile-time-eval */
2371function bindec(string $binary_string): int|float {}
2372
2373/** @compile-time-eval */
2374function hexdec(string $hex_string): int|float {}
2375
2376/** @compile-time-eval */
2377function octdec(string $octal_string): int|float {}
2378
2379/**
2380 * @compile-time-eval
2381 * @refcount 1
2382 */
2383function decbin(int $num): string {}
2384
2385/**
2386 * @compile-time-eval
2387 * @refcount 1
2388 */
2389function decoct(int $num): string {}
2390
2391/**
2392 * @compile-time-eval
2393 * @refcount 1
2394 */
2395function dechex(int $num): string {}
2396
2397/** @refcount 1 */
2398function base_convert(string $num, int $from_base, int $to_base): string {}
2399
2400/** @refcount 1 */
2401function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string {}
2402
2403function fmod(float $num1, float $num2): float {}
2404
2405function fdiv(float $num1, float $num2): float {}
2406
2407/* microtime.c */
2408
2409#ifdef HAVE_GETTIMEOFDAY
2410/** @refcount 1 */
2411function microtime(bool $as_float = false): string|float {}
2412
2413/**
2414 * @return array<string, int>|float
2415 * @refcount 1
2416 */
2417function gettimeofday(bool $as_float = false): array|float {}
2418#endif
2419
2420#ifdef HAVE_GETRUSAGE
2421/**
2422 * @return array<string, int>|false
2423 * @refcount 1
2424 */
2425function getrusage(int $mode = 0): array|false {}
2426#endif
2427
2428/* pack.c */
2429
2430/** @refcount 1 */
2431function pack(string $format, mixed ...$values): string {}
2432
2433/**
2434 * @return array<int|string, mixed>|false
2435 * @refcount 1
2436 */
2437function unpack(string $format, string $string, int $offset = 0): array|false {}
2438
2439/* password.c */
2440
2441/**
2442 * @return array<string, string|array|null>
2443 * @refcount 1
2444 */
2445function password_get_info(string $hash): array {}
2446
2447/**
2448 * @refcount 1
2449 */
2450function password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string {}
2451
2452function password_needs_rehash(string $hash, string|int|null $algo, array $options = []): bool {}
2453
2454function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {}
2455
2456function password_algos(): array {}
2457
2458/* proc_open.c */
2459
2460#ifdef PHP_CAN_SUPPORT_PROC_OPEN
2461/**
2462 * @param array $pipes
2463 * @return resource|false
2464 * @refcount 1
2465 */
2466function proc_open(array|string $command, array $descriptor_spec, &$pipes, ?string $cwd = null, ?array $env_vars = null, ?array $options = null) {}
2467
2468/** @param resource $process */
2469function proc_close($process): int {}
2470
2471/** @param resource $process */
2472function proc_terminate($process, int $signal = 15): bool {}
2473
2474/**
2475 * @param resource $process
2476 * @return array<string, bool|int|string>
2477 * @refcount 1
2478 */
2479function proc_get_status($process): array {}
2480#endif
2481
2482/* quot_print.c */
2483
2484/** @refcount 1 */
2485function quoted_printable_decode(string $string): string {}
2486
2487/** @refcount 1 */
2488function quoted_printable_encode(string $string): string {}
2489
2490/* soundex.c */
2491
2492/** @refcount 1 */
2493function soundex(string $string): string {}
2494
2495/* streamsfuncs.c */
2496
2497function stream_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, ?int $microseconds = null): int|false {}
2498
2499/**
2500 * @return resource
2501 * @refcount 1
2502 */
2503function stream_context_create(?array $options = null, ?array $params = null) {}
2504
2505/** @param resource $context */
2506function stream_context_set_params($context, array $params): bool {}
2507
2508/**
2509 * @param resource $context
2510 * @return array<string, mixed>
2511 * @refcount 1
2512 */
2513function stream_context_get_params($context): array {}
2514
2515/** @param resource $context */
2516function stream_context_set_option($context, array|string $wrapper_or_options, ?string $option_name = null, mixed $value = UNKNOWN): bool {}
2517
2518/**
2519 * @param resource $stream_or_context
2520 * @return array<string, mixed>
2521 */
2522function stream_context_get_options($stream_or_context): array {}
2523
2524/** @return resource */
2525function stream_context_get_default(?array $options = null) {}
2526
2527/** @return resource */
2528function stream_context_set_default(array $options) {}
2529
2530/**
2531 * @param resource $stream
2532 * @return resource|false
2533 */
2534function stream_filter_prepend($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
2535
2536/**
2537 * @param resource $stream
2538 * @return resource|false
2539 */
2540function stream_filter_append($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
2541
2542/** @param resource $stream_filter */
2543function stream_filter_remove($stream_filter): bool {}
2544
2545/**
2546 * @param int $error_code
2547 * @param string $error_message
2548 * @param resource|null $context
2549 * @return resource|false
2550 * @refcount 1
2551 */
2552function stream_socket_client(string $address, &$error_code = null, &$error_message = null, ?float $timeout = null, int $flags = STREAM_CLIENT_CONNECT, $context = null) {}
2553
2554/**
2555 * @param int $error_code
2556 * @param string $error_message
2557 * @param resource|null $context
2558 * @return resource|false
2559 * @refcount 1
2560 */
2561function stream_socket_server(string $address, &$error_code = null, &$error_message = null, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context = null) {}
2562
2563/**
2564 * @param resource $socket
2565 * @param string $peer_name
2566 * @return resource|false
2567 * @refcount 1
2568 */
2569function stream_socket_accept($socket, ?float $timeout = null, &$peer_name = null) {}
2570
2571/** @param resource $socket */
2572function stream_socket_get_name($socket, bool $remote): string|false {}
2573
2574/**
2575 * @param resource $socket
2576 * @param string|null $address
2577 * @refcount 1
2578 */
2579function stream_socket_recvfrom($socket, int $length, int $flags = 0, &$address = null): string|false {}
2580
2581/** @param resource $socket */
2582function stream_socket_sendto($socket, string $data, int $flags = 0, string $address = ""): int|false {}
2583
2584/**
2585 * @param resource $stream
2586 * @param resource|null $session_stream
2587 */
2588function stream_socket_enable_crypto($stream, bool $enable, ?int $crypto_method = null, $session_stream = null): int|bool {}
2589
2590#ifdef HAVE_SHUTDOWN
2591/** @param resource $stream */
2592function stream_socket_shutdown($stream, int $mode): bool {}
2593#endif
2594
2595#ifdef HAVE_SOCKETPAIR
2596/**
2597 * @return array<int, resource>|false
2598 * @refcount 1
2599 */
2600function stream_socket_pair(int $domain, int $type, int $protocol): array|false {}
2601#endif
2602
2603/**
2604 * @param resource $from
2605 * @param resource $to
2606 */
2607function stream_copy_to_stream($from, $to, ?int $length = null, int $offset = 0): int|false {}
2608
2609/**
2610 * @param resource $stream
2611 * @refcount 1
2612 */
2613function stream_get_contents($stream, ?int $length = null, int $offset = -1): string|false {}
2614
2615/** @param resource $stream */
2616function stream_supports_lock($stream): bool {}
2617
2618/** @param resource $stream */
2619function stream_set_write_buffer($stream, int $size): int {}
2620
2621/**
2622 * @param resource $stream
2623 * @alias stream_set_write_buffer
2624 */
2625function set_file_buffer($stream, int $size): int {}
2626
2627/** @param resource $stream */
2628function stream_set_read_buffer($stream, int $size): int {}
2629
2630/** @param resource $stream */
2631function stream_set_blocking($stream, bool $enable): bool {}
2632
2633/**
2634 * @param resource $stream
2635 * @alias stream_set_blocking
2636 */
2637function socket_set_blocking($stream, bool $enable): bool {}
2638
2639/**
2640 * @param resource $stream
2641 * @return array<string, mixed>
2642 */
2643function stream_get_meta_data($stream): array {}
2644
2645/**
2646 * @param resource $stream
2647 * @return array<string, mixed>
2648 * @alias stream_get_meta_data
2649 */
2650function socket_get_status($stream): array {}
2651
2652/**
2653 * @param resource $stream
2654 * @refcount 1
2655 */
2656function stream_get_line($stream, int $length, string $ending = ""): string|false {}
2657
2658/** @refcount 1 */
2659function stream_resolve_include_path(string $filename): string|false {}
2660
2661/**
2662 * @return array<int, string>
2663 * @refcount 1
2664 */
2665function stream_get_wrappers(): array {}
2666
2667/**
2668 * @return array<int, string>
2669 * @refcount 1
2670 */
2671function stream_get_transports(): array {}
2672
2673/** @param resource|string $stream */
2674function stream_is_local($stream): bool {}
2675
2676/** @param resource $stream */
2677function stream_isatty($stream): bool {}
2678
2679#ifdef PHP_WIN32
2680/** @param resource $stream */
2681function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {}
2682#endif
2683
2684/** @param resource $stream */
2685function stream_set_chunk_size($stream, int $size): int {}
2686
2687#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32))
2688/** @param resource $stream */
2689function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
2690
2691/**
2692 * @param resource $stream
2693 * @alias stream_set_timeout
2694 */
2695function socket_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
2696#endif
2697
2698/* type.c */
2699
2700function gettype(mixed $value): string {}
2701
2702function get_debug_type(mixed $value): string {}
2703
2704function settype(mixed &$var, string $type): bool {}
2705
2706function intval(mixed $value, int $base = 10): int {}
2707
2708function floatval(mixed $value): float {}
2709
2710/** @alias floatval */
2711function doubleval(mixed $value): float {}
2712
2713function boolval(mixed $value): bool {}
2714
2715function strval(mixed $value): string {}
2716
2717function is_null(mixed $value): bool {}
2718
2719function is_resource(mixed $value): bool {}
2720
2721function is_bool(mixed $value): bool {}
2722
2723function is_int(mixed $value): bool {}
2724
2725/** @alias is_int */
2726function is_integer(mixed $value): bool {}
2727
2728/** @alias is_int */
2729function is_long(mixed $value): bool {}
2730
2731function is_float(mixed $value): bool {}
2732
2733/** @alias is_float */
2734function is_double(mixed $value): bool {}
2735
2736function is_numeric(mixed $value): bool {}
2737
2738function is_string(mixed $value): bool {}
2739
2740function is_array(mixed $value): bool {}
2741
2742function is_object(mixed $value): bool {}
2743
2744function is_scalar(mixed $value): bool {}
2745
2746/** @param string $callable_name */
2747function is_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): bool {}
2748
2749function is_iterable(mixed $value): bool {}
2750
2751function is_countable(mixed $value): bool {}
2752
2753/* uniqid.c */
2754
2755#ifdef HAVE_GETTIMEOFDAY
2756/** @refcount 1 */
2757function uniqid(string $prefix = "", bool $more_entropy = false): string {}
2758#endif
2759
2760/* url.c */
2761
2762/**
2763 * @return int|string|array<string, int|string>|null|false
2764 * @refcount 1
2765 */
2766function parse_url(string $url, int $component = -1): int|string|array|null|false {}
2767
2768/**
2769 * @compile-time-eval
2770 * @refcount 1
2771 */
2772function urlencode(string $string): string {}
2773
2774/**
2775 * @compile-time-eval
2776 * @refcount 1
2777 */
2778function urldecode(string $string): string {}
2779
2780/**
2781 * @compile-time-eval
2782 * @refcount 1
2783 */
2784function rawurlencode(string $string): string {}
2785
2786/**
2787 * @compile-time-eval
2788 * @refcount 1
2789 */
2790function rawurldecode(string $string): string {}
2791
2792/**
2793 * @param resource|null $context
2794 * @return array<int|string, string|array>|false
2795 * @refcount 1
2796 */
2797function get_headers(string $url, bool $associative = false, $context = null): array|false {}
2798
2799/* user_filters.c */
2800
2801/**
2802 * @param resource $brigade
2803 * @refcount 1
2804 */
2805function stream_bucket_make_writeable($brigade): ?object {}
2806
2807/** @param resource $brigade */
2808function stream_bucket_prepend($brigade, object $bucket): void {}
2809
2810/** @param resource $brigade */
2811function stream_bucket_append($brigade, object $bucket): void {}
2812
2813/**
2814 * @param resource $stream
2815 * @refcount 1
2816 */
2817function stream_bucket_new($stream, string $buffer): object {}
2818
2819/**
2820 * @return array<int, string>
2821 * @refcount 1
2822 */
2823function stream_get_filters(): array {}
2824
2825function stream_filter_register(string $filter_name, string $class): bool {}
2826
2827/* uuencode.c */
2828
2829/** @refcount 1 */
2830function convert_uuencode(string $string): string {}
2831
2832/** @refcount 1 */
2833function convert_uudecode(string $string): string|false {}
2834
2835/* var.c */
2836
2837function var_dump(mixed $value, mixed ...$values): void {}
2838
2839/** @refcount 1 */
2840function var_export(mixed $value, bool $return = false): ?string {}
2841
2842function debug_zval_dump(mixed $value, mixed ...$values): void {}
2843
2844/**
2845 * @compile-time-eval
2846 * @refcount 1
2847 */
2848function serialize(mixed $value): string {}
2849
2850function unserialize(string $data, array $options = []): mixed {}
2851
2852function memory_get_usage(bool $real_usage = false): int {}
2853
2854function memory_get_peak_usage(bool $real_usage = false): int {}
2855
2856function memory_reset_peak_usage(): void {}
2857
2858/* versioning.c */
2859
2860/** @compile-time-eval */
2861function version_compare(string $version1, string $version2, ?string $operator = null): int|bool {}
2862
2863/* win32/codepage.c */
2864
2865#ifdef PHP_WIN32
2866function sapi_windows_cp_set(int $codepage): bool {}
2867
2868function sapi_windows_cp_get(string $kind = ""): int {}
2869
2870function sapi_windows_cp_conv(int|string $in_codepage, int|string $out_codepage, string $subject): ?string {}
2871
2872function sapi_windows_cp_is_utf8(): bool {}
2873
2874function sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool {}
2875
2876function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {}
2877#endif
2878