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/* assert.c */
124
125/**
126 * @var int
127 * @deprecated
128 * @cvalue PHP_ASSERT_ACTIVE
129 */
130const ASSERT_ACTIVE = UNKNOWN;
131/**
132 * @var int
133 * @deprecated
134 * @cvalue PHP_ASSERT_CALLBACK
135 */
136const ASSERT_CALLBACK = UNKNOWN;
137/**
138 * @var int
139 * @deprecated
140 * @cvalue PHP_ASSERT_BAIL
141 */
142const ASSERT_BAIL = UNKNOWN;
143/**
144 * @var int
145 * @deprecated
146 * @cvalue PHP_ASSERT_WARNING
147 */
148const ASSERT_WARNING = UNKNOWN;
149/**
150 * @var int
151 * @deprecated
152 * @cvalue PHP_ASSERT_EXCEPTION
153 */
154const ASSERT_EXCEPTION = UNKNOWN;
155
156/* basic_functions.h */
157
158/**
159 * @var int
160 * @cvalue PHP_CONNECTION_ABORTED
161 */
162const CONNECTION_ABORTED = UNKNOWN;
163/**
164 * @var int
165 * @cvalue PHP_CONNECTION_NORMAL
166 */
167const CONNECTION_NORMAL = UNKNOWN;
168/**
169 * @var int
170 * @cvalue PHP_CONNECTION_TIMEOUT
171 */
172const CONNECTION_TIMEOUT = UNKNOWN;
173
174/**
175 * @var int
176 * @cvalue ZEND_INI_USER
177 */
178const INI_USER = UNKNOWN;
179/**
180 * @var int
181 * @cvalue ZEND_INI_PERDIR
182 */
183const INI_PERDIR = UNKNOWN;
184/**
185 * @var int
186 * @cvalue ZEND_INI_SYSTEM
187 */
188const INI_SYSTEM = UNKNOWN;
189/**
190 * @var int
191 * @cvalue ZEND_INI_ALL
192 */
193const INI_ALL = UNKNOWN;
194
195/**
196 * @var int
197 * @cvalue ZEND_INI_SCANNER_NORMAL
198 */
199const INI_SCANNER_NORMAL = UNKNOWN;
200/**
201 * @var int
202 * @cvalue ZEND_INI_SCANNER_RAW
203 */
204const INI_SCANNER_RAW = UNKNOWN;
205/**
206 * @var int
207 * @cvalue ZEND_INI_SCANNER_TYPED
208 */
209const INI_SCANNER_TYPED = UNKNOWN;
210
211/**
212 * @var int
213 * @cvalue PHP_URL_SCHEME
214 */
215const PHP_URL_SCHEME = UNKNOWN;
216/**
217 * @var int
218 * @cvalue PHP_URL_HOST
219 */
220const PHP_URL_HOST = UNKNOWN;
221/**
222 * @var int
223 * @cvalue PHP_URL_PORT
224 */
225const PHP_URL_PORT = UNKNOWN;
226/**
227 * @var int
228 * @cvalue PHP_URL_USER
229 */
230const PHP_URL_USER = UNKNOWN;
231/**
232 * @var int
233 * @cvalue PHP_URL_PASS
234 */
235const PHP_URL_PASS = UNKNOWN;
236/**
237 * @var int
238 * @cvalue PHP_URL_PATH
239 */
240const PHP_URL_PATH = UNKNOWN;
241/**
242 * @var int
243 * @cvalue PHP_URL_QUERY
244 */
245const PHP_URL_QUERY = UNKNOWN;
246/**
247 * @var int
248 * @cvalue PHP_URL_FRAGMENT
249 */
250const PHP_URL_FRAGMENT = UNKNOWN;
251/**
252 * @var int
253 * @cvalue PHP_QUERY_RFC1738
254 */
255const PHP_QUERY_RFC1738 = UNKNOWN;
256/**
257 * @var int
258 * @cvalue PHP_QUERY_RFC3986
259 */
260const PHP_QUERY_RFC3986 = UNKNOWN;
261
262/**
263 * @var float
264 * @cvalue M_E
265 */
266const M_E = 2.718281828459045;
267/**
268 * @var float
269 * @cvalue M_LOG2E
270 */
271const M_LOG2E = 1.4426950408889634074;
272/**
273 * @var float
274 * @cvalue M_LOG10E
275 */
276const M_LOG10E = 0.43429448190325182765;
277/**
278 * @var float
279 * @cvalue M_LN2
280 */
281const M_LN2 = 0.69314718055994530942;
282/**
283 * @var float
284 * @cvalue M_LN10
285 */
286const M_LN10 = 2.30258509299404568402;
287/**
288 * @var float
289 * @cvalue M_PI
290 */
291const M_PI = 3.14159265358979323846;
292/**
293 * @var float
294 * @cvalue M_PI_2
295 */
296const M_PI_2 = 1.57079632679489661923;
297/**
298 * @var float
299 * @cvalue M_PI_4
300 */
301const M_PI_4 = 0.78539816339744830962;
302/**
303 * @var float
304 * @cvalue M_1_PI
305 */
306const M_1_PI = 0.31830988618379067154;
307/**
308 * @var float
309 * @cvalue M_2_PI
310 */
311const M_2_PI = 0.63661977236758134308;
312/**
313 * @var float
314 * @cvalue M_SQRTPI
315 */
316const M_SQRTPI = 1.77245385090551602729;
317/**
318 * @var float
319 * @cvalue M_2_SQRTPI
320 */
321const M_2_SQRTPI = 1.12837916709551257390;
322/**
323 * @var float
324 * @cvalue M_LNPI
325 */
326const M_LNPI = 1.14472988584940017414;
327/**
328 * @var float
329 * @cvalue M_EULER
330 */
331const M_EULER = 0.57721566490153286061;
332/**
333 * @var float
334 * @cvalue M_SQRT2
335 */
336const M_SQRT2 = 1.41421356237309504880;
337/**
338 * @var float
339 * @cvalue M_SQRT1_2
340 */
341const M_SQRT1_2 = 0.70710678118654752440;
342/**
343 * @var float
344 * @cvalue M_SQRT3
345 */
346const M_SQRT3 = 1.73205080756887729352;
347/**
348 * @var float
349 * @cvalue ZEND_INFINITY
350 */
351const INF = UNKNOWN;
352/**
353 * @var float
354 * @cvalue ZEND_NAN
355 */
356const NAN = UNKNOWN;
357
358/**
359 * @var int
360 * @cvalue PHP_ROUND_HALF_UP
361 */
362const PHP_ROUND_HALF_UP = UNKNOWN;
363/**
364 * @var int
365 * @cvalue PHP_ROUND_HALF_DOWN
366 */
367const PHP_ROUND_HALF_DOWN = UNKNOWN;
368/**
369 * @var int
370 * @cvalue PHP_ROUND_HALF_EVEN
371 */
372const PHP_ROUND_HALF_EVEN = UNKNOWN;
373/**
374 * @var int
375 * @cvalue PHP_ROUND_HALF_ODD
376 */
377const PHP_ROUND_HALF_ODD = UNKNOWN;
378/**
379 * @var int
380 * @cvalue PHP_ROUND_CEILING
381 */
382const PHP_ROUND_CEILING = UNKNOWN;
383/**
384 * @var int
385 * @cvalue PHP_ROUND_FLOOR
386 */
387const PHP_ROUND_FLOOR = UNKNOWN;
388/**
389 * @var int
390 * @cvalue PHP_ROUND_TOWARD_ZERO
391 */
392const PHP_ROUND_TOWARD_ZERO = UNKNOWN;
393/**
394 * @var int
395 * @cvalue PHP_ROUND_AWAY_FROM_ZERO
396 */
397const PHP_ROUND_AWAY_FROM_ZERO = UNKNOWN;
398
399/* crypt.c */
400
401/**
402 * @var int
403 * @cvalue PHP_MAX_SALT_LEN
404 */
405const CRYPT_SALT_LENGTH = UNKNOWN;
406/** @var int */
407const CRYPT_STD_DES = 1;
408/** @var int */
409const CRYPT_EXT_DES = 1;
410/** @var int */
411const CRYPT_MD5 = 1;
412/** @var int */
413const CRYPT_BLOWFISH = 1;
414/** @var int */
415const CRYPT_SHA256 = 1;
416/** @var int */
417const CRYPT_SHA512 = 1;
418
419/* dns.c */
420
421#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS)))
422/**
423 * @var int
424 * @cvalue PHP_DNS_A
425 */
426const DNS_A = UNKNOWN;
427/**
428 * @var int
429 * @cvalue PHP_DNS_NS
430 */
431const DNS_NS = UNKNOWN;
432/**
433 * @var int
434 * @cvalue PHP_DNS_CNAME
435 */
436const DNS_CNAME = UNKNOWN;
437/**
438 * @var int
439 * @cvalue PHP_DNS_SOA
440 */
441const DNS_SOA = UNKNOWN;
442/**
443 * @var int
444 * @cvalue PHP_DNS_PTR
445 */
446const DNS_PTR = UNKNOWN;
447/**
448 * @var int
449 * @cvalue PHP_DNS_HINFO
450 */
451const DNS_HINFO = UNKNOWN;
452#if (!defined(PHP_WIN32))
453/**
454 * @var int
455 * @cvalue PHP_DNS_CAA
456 */
457const DNS_CAA = UNKNOWN;
458#endif
459/**
460 * @var int
461 * @cvalue PHP_DNS_MX
462 */
463const DNS_MX = UNKNOWN;
464/**
465 * @var int
466 * @cvalue PHP_DNS_TXT
467 */
468const DNS_TXT = UNKNOWN;
469/**
470 * @var int
471 * @cvalue PHP_DNS_SRV
472 */
473const DNS_SRV = UNKNOWN;
474/**
475 * @var int
476 * @cvalue PHP_DNS_NAPTR
477 */
478const DNS_NAPTR = UNKNOWN;
479/**
480 * @var int
481 * @cvalue PHP_DNS_AAAA
482 */
483const DNS_AAAA = UNKNOWN;
484/**
485 * @var int
486 * @cvalue PHP_DNS_A6
487 */
488const DNS_A6 = UNKNOWN;
489/**
490 * @var int
491 * @cvalue PHP_DNS_ANY
492 */
493const DNS_ANY = UNKNOWN;
494/**
495 * @var int
496 * @cvalue PHP_DNS_ALL
497 */
498const DNS_ALL = UNKNOWN;
499#endif
500
501/* html.c */
502
503/**
504* @var int
505* @cvalue PHP_HTML_SPECIALCHARS
506*/
507const HTML_SPECIALCHARS = UNKNOWN;
508/**
509* @var int
510* @cvalue PHP_HTML_ENTITIES
511*/
512const HTML_ENTITIES = UNKNOWN;
513/**
514* @var int
515* @cvalue ENT_COMPAT
516*/
517const ENT_COMPAT = UNKNOWN;
518/**
519* @var int
520* @cvalue ENT_QUOTES
521*/
522const ENT_QUOTES = UNKNOWN;
523/**
524* @var int
525* @cvalue ENT_NOQUOTES
526*/
527const ENT_NOQUOTES = UNKNOWN;
528/**
529* @var int
530* @cvalue ENT_IGNORE
531*/
532const ENT_IGNORE = UNKNOWN;
533/**
534* @var int
535* @cvalue ENT_SUBSTITUTE
536*/
537const ENT_SUBSTITUTE = UNKNOWN;
538/**
539* @var int
540* @cvalue ENT_DISALLOWED
541*/
542const ENT_DISALLOWED = UNKNOWN;
543/**
544* @var int
545* @cvalue ENT_HTML401
546*/
547const ENT_HTML401 = UNKNOWN;
548/**
549* @var int
550* @cvalue ENT_XML1
551*/
552const ENT_XML1 = UNKNOWN;
553/**
554* @var int
555* @cvalue ENT_XHTML
556*/
557const ENT_XHTML = UNKNOWN;
558/**
559* @var int
560* @cvalue ENT_HTML5
561*/
562const ENT_HTML5 = UNKNOWN;
563
564/* image.c */
565
566/**
567 * @var int
568 * @cvalue IMAGE_FILETYPE_GIF
569 */
570const IMAGETYPE_GIF = UNKNOWN;
571/**
572 * @var int
573 * @cvalue IMAGE_FILETYPE_JPEG
574 */
575const IMAGETYPE_JPEG = UNKNOWN;
576/**
577 * @var int
578 * @cvalue IMAGE_FILETYPE_PNG
579 */
580const IMAGETYPE_PNG = UNKNOWN;
581/**
582 * @var int
583 * @cvalue IMAGE_FILETYPE_SWF
584 */
585const IMAGETYPE_SWF = UNKNOWN;
586/**
587 * @var int
588 * @cvalue IMAGE_FILETYPE_PSD
589 */
590const IMAGETYPE_PSD = UNKNOWN;
591/**
592 * @var int
593 * @cvalue IMAGE_FILETYPE_BMP
594 */
595const IMAGETYPE_BMP = UNKNOWN;
596/**
597 * @var int
598 * @cvalue IMAGE_FILETYPE_TIFF_II
599 */
600const IMAGETYPE_TIFF_II = UNKNOWN;
601/**
602 * @var int
603 * @cvalue IMAGE_FILETYPE_TIFF_MM
604 */
605const IMAGETYPE_TIFF_MM = UNKNOWN;
606/**
607 * @var int
608 * @cvalue IMAGE_FILETYPE_JPC
609 */
610const IMAGETYPE_JPC = UNKNOWN;
611/**
612 * @var int
613 * @cvalue IMAGE_FILETYPE_JP2
614 */
615const IMAGETYPE_JP2 = UNKNOWN;
616/**
617 * @var int
618 * @cvalue IMAGE_FILETYPE_JPX
619 */
620const IMAGETYPE_JPX = UNKNOWN;
621/**
622 * @var int
623 * @cvalue IMAGE_FILETYPE_JB2
624 */
625const IMAGETYPE_JB2 = UNKNOWN;
626#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB))
627/**
628 * @var int
629 * @cvalue IMAGE_FILETYPE_SWC
630 */
631const IMAGETYPE_SWC = UNKNOWN;
632#endif
633/**
634 * @var int
635 * @cvalue IMAGE_FILETYPE_IFF
636 */
637const IMAGETYPE_IFF = UNKNOWN;
638/**
639 * @var int
640 * @cvalue IMAGE_FILETYPE_WBMP
641 */
642const IMAGETYPE_WBMP = UNKNOWN;
643/* keep alias */
644/**
645 * @var int
646 * @cvalue IMAGE_FILETYPE_JPC
647 */
648const IMAGETYPE_JPEG2000 = UNKNOWN;
649/**
650 * @var int
651 * @cvalue IMAGE_FILETYPE_XBM
652 */
653const IMAGETYPE_XBM = UNKNOWN;
654/**
655 * @var int
656 * @cvalue IMAGE_FILETYPE_ICO
657 */
658const IMAGETYPE_ICO = UNKNOWN;
659/**
660 * @var int
661 * @cvalue IMAGE_FILETYPE_WEBP
662 */
663const IMAGETYPE_WEBP = UNKNOWN;
664/**
665 * @var int
666 * @cvalue IMAGE_FILETYPE_AVIF
667 */
668const IMAGETYPE_AVIF = UNKNOWN;
669/**
670 * @var int
671 * @cvalue IMAGE_FILETYPE_UNKNOWN
672 */
673const IMAGETYPE_UNKNOWN = UNKNOWN;
674/**
675 * @var int
676 * @cvalue IMAGE_FILETYPE_COUNT
677 */
678const IMAGETYPE_COUNT = UNKNOWN;
679
680/* info.c */
681
682/**
683 * @var int
684 * @cvalue PHP_INFO_GENERAL
685 */
686const INFO_GENERAL = UNKNOWN;
687/**
688* @var int
689* @cvalue PHP_INFO_CREDITS
690*/
691const INFO_CREDITS = UNKNOWN;
692/**
693* @var int
694* @cvalue PHP_INFO_CONFIGURATION
695*/
696const INFO_CONFIGURATION = UNKNOWN;
697/**
698* @var int
699* @cvalue PHP_INFO_MODULES
700*/
701const INFO_MODULES = UNKNOWN;
702/**
703* @var int
704* @cvalue PHP_INFO_ENVIRONMENT
705*/
706const INFO_ENVIRONMENT = UNKNOWN;
707/**
708* @var int
709* @cvalue PHP_INFO_VARIABLES
710*/
711const INFO_VARIABLES = UNKNOWN;
712/**
713* @var int
714* @cvalue PHP_INFO_LICENSE
715*/
716const INFO_LICENSE = UNKNOWN;
717/**
718* @var int
719* @cvalue PHP_INFO_ALL
720*/
721const INFO_ALL = UNKNOWN;
722/**
723* @var int
724* @cvalue PHP_CREDITS_GROUP
725*/
726const CREDITS_GROUP = UNKNOWN;
727/**
728* @var int
729* @cvalue PHP_CREDITS_GENERAL
730*/
731const CREDITS_GENERAL = UNKNOWN;
732/**
733* @var int
734* @cvalue PHP_CREDITS_SAPI
735*/
736const CREDITS_SAPI = UNKNOWN;
737/**
738* @var int
739* @cvalue PHP_CREDITS_MODULES
740*/
741const CREDITS_MODULES = UNKNOWN;
742/**
743* @var int
744* @cvalue PHP_CREDITS_DOCS
745*/
746const CREDITS_DOCS = UNKNOWN;
747/**
748* @var int
749* @cvalue PHP_CREDITS_FULLPAGE
750*/
751const CREDITS_FULLPAGE = UNKNOWN;
752/**
753* @var int
754* @cvalue PHP_CREDITS_QA
755*/
756const CREDITS_QA = UNKNOWN;
757/**
758* @var int
759* @cvalue PHP_CREDITS_ALL
760*/
761const CREDITS_ALL = UNKNOWN;
762
763/* syslog.c */
764
765/* error levels */
766
767/**
768 * system unusable
769 * @var int
770 * @cvalue LOG_EMERG
771 */
772const LOG_EMERG = UNKNOWN;
773/**
774 * immediate action required
775 * @var int
776 * @cvalue LOG_ALERT
777 */
778const LOG_ALERT = UNKNOWN;
779/**
780 * critical conditions
781 * @var int
782 * @cvalue LOG_CRIT
783 */
784const LOG_CRIT = UNKNOWN;
785/**
786 * @var int
787 * @cvalue LOG_ERR
788 */
789const LOG_ERR = UNKNOWN;
790/**
791 * @var int
792 * @cvalue LOG_WARNING
793 */
794const LOG_WARNING = UNKNOWN;
795/**
796 * @var int
797 * @cvalue LOG_NOTICE
798 */
799const LOG_NOTICE = UNKNOWN;
800/**
801 * @var int
802 * @cvalue LOG_INFO
803 */
804const LOG_INFO = UNKNOWN;
805/**
806 * @var int
807 * @cvalue LOG_DEBUG
808 */
809const LOG_DEBUG = UNKNOWN;
810/* facility: type of program logging the message */
811/**
812 * @var int
813 * @cvalue LOG_KERN
814 */
815const LOG_KERN = UNKNOWN;
816/**
817 * generic user level
818 * @var int
819 * @cvalue LOG_USER
820 */
821const LOG_USER = UNKNOWN;
822/**
823 * log to email
824 * @var int
825 * @cvalue LOG_MAIL
826 */
827const LOG_MAIL = UNKNOWN;
828/**
829 * other system daemons
830 * @var int
831 * @cvalue LOG_DAEMON
832 */
833const LOG_DAEMON = UNKNOWN;
834/**
835 * @var int
836 * @cvalue LOG_AUTH
837 */
838const LOG_AUTH = UNKNOWN;
839/**
840 * @var int
841 * @cvalue LOG_SYSLOG
842 */
843const LOG_SYSLOG = UNKNOWN;
844/**
845 * @var int
846 * @cvalue LOG_LPR
847 */
848const LOG_LPR = UNKNOWN;
849#ifdef LOG_NEWS
850/* No LOG_NEWS on HP-UX */
851/**
852 * usenet new
853 * @var int
854 * @cvalue LOG_NEWS
855 */
856const LOG_NEWS = UNKNOWN;
857#endif
858#ifdef LOG_UUCP
859/* No LOG_UUCP on HP-UX */
860/**
861 * @var int
862 * @cvalue LOG_UUCP
863 */
864const LOG_UUCP = UNKNOWN;
865#endif
866#ifdef LOG_CRON
867/* apparently some systems don't have this one */
868/**
869 * @var int
870 * @cvalue LOG_CRON
871 */
872const LOG_CRON = UNKNOWN;
873#endif
874#ifdef LOG_AUTHPRIV
875/* AIX doesn't have LOG_AUTHPRIV */
876/**
877 * @var int
878 * @cvalue LOG_AUTHPRIV
879 */
880const LOG_AUTHPRIV = UNKNOWN;
881#endif
882#ifndef PHP_WIN32
883/**
884 * @var int
885 * @cvalue LOG_LOCAL0
886 */
887const LOG_LOCAL0 = UNKNOWN;
888/**
889 * @var int
890 * @cvalue LOG_LOCAL1
891 */
892const LOG_LOCAL1 = UNKNOWN;
893/**
894 * @var int
895 * @cvalue LOG_LOCAL2
896 */
897const LOG_LOCAL2 = UNKNOWN;
898/**
899 * @var int
900 * @cvalue LOG_LOCAL3
901 */
902const LOG_LOCAL3 = UNKNOWN;
903/**
904 * @var int
905 * @cvalue LOG_LOCAL4
906 */
907const LOG_LOCAL4 = UNKNOWN;
908/**
909 * @var int
910 * @cvalue LOG_LOCAL5
911 */
912const LOG_LOCAL5 = UNKNOWN;
913/**
914 * @var int
915 * @cvalue LOG_LOCAL6
916 */
917const LOG_LOCAL6 = UNKNOWN;
918/**
919 * @var int
920 * @cvalue LOG_LOCAL7
921 */
922const LOG_LOCAL7 = UNKNOWN;
923#endif
924/* options */
925/**
926 * @var int
927 * @cvalue LOG_PID
928 */
929const LOG_PID = UNKNOWN;
930/**
931 * @var int
932 * @cvalue LOG_CONS
933 */
934const LOG_CONS = UNKNOWN;
935/**
936 * @var int
937 * @cvalue LOG_ODELAY
938 */
939const LOG_ODELAY = UNKNOWN;
940/**
941 * @var int
942 * @cvalue LOG_NDELAY
943 */
944const LOG_NDELAY = UNKNOWN;
945#ifdef LOG_NOWAIT
946/**
947 * @var int
948 * @cvalue LOG_NOWAIT
949 */
950const LOG_NOWAIT = UNKNOWN;
951#endif
952#ifdef LOG_PERROR
953/* AIX doesn't have LOG_PERROR */
954/**
955 * log to stderr
956 * @var int
957 * @cvalue LOG_PERROR
958 */
959const LOG_PERROR = UNKNOWN;
960#endif
961
962/* string.c */
963
964/**
965 * @var int
966 * @cvalue PHP_STR_PAD_LEFT
967 */
968const STR_PAD_LEFT = UNKNOWN;
969/**
970 * @var int
971 * @cvalue PHP_STR_PAD_RIGHT
972 */
973const STR_PAD_RIGHT = UNKNOWN;
974/**
975 * @var int
976 * @cvalue PHP_STR_PAD_BOTH
977 */
978const STR_PAD_BOTH = UNKNOWN;
979/**
980 * @var int
981 * @cvalue PHP_PATHINFO_DIRNAME
982 */
983const PATHINFO_DIRNAME = UNKNOWN;
984/**
985 * @var int
986 * @cvalue PHP_PATHINFO_BASENAME
987 */
988const PATHINFO_BASENAME = UNKNOWN;
989/**
990 * @var int
991 * @cvalue PHP_PATHINFO_EXTENSION
992 */
993const PATHINFO_EXTENSION = UNKNOWN;
994/**
995 * @var int
996 * @cvalue PHP_PATHINFO_FILENAME
997 */
998const PATHINFO_FILENAME = UNKNOWN;
999/**
1000 * @var int
1001 * @cvalue PHP_PATHINFO_ALL
1002 */
1003const PATHINFO_ALL = UNKNOWN;
1004
1005/**
1006 * If last members of struct lconv equal CHAR_MAX, no grouping is done
1007 * @var int
1008 * @cvalue CHAR_MAX
1009 */
1010const CHAR_MAX = UNKNOWN;
1011/**
1012 * @var int
1013 * @cvalue LC_CTYPE
1014 */
1015const LC_CTYPE = UNKNOWN;
1016/**
1017 * @var int
1018 * @cvalue LC_NUMERIC
1019 */
1020const LC_NUMERIC = UNKNOWN;
1021/**
1022 * @var int
1023 * @cvalue LC_TIME
1024 */
1025const LC_TIME = UNKNOWN;
1026/**
1027 * @var int
1028 * @cvalue LC_COLLATE
1029 */
1030const LC_COLLATE = UNKNOWN;
1031/**
1032 * @var int
1033 * @cvalue LC_MONETARY
1034 */
1035const LC_MONETARY = UNKNOWN;
1036/**
1037 * @var int
1038 * @cvalue LC_ALL
1039 */
1040const LC_ALL = UNKNOWN;
1041#ifdef LC_MESSAGES
1042/**
1043 * @var int
1044 * @cvalue LC_MESSAGES
1045 */
1046const LC_MESSAGES = UNKNOWN;
1047#endif
1048
1049#ifdef HAVE_NL_LANGINFO
1050#ifdef ABDAY_1
1051/**
1052 * @var int
1053 * @cvalue ABDAY_1
1054 */
1055const ABDAY_1 = UNKNOWN;
1056/**
1057 * @var int
1058 * @cvalue ABDAY_2
1059 */
1060const ABDAY_2 = UNKNOWN;
1061/**
1062 * @var int
1063 * @cvalue ABDAY_3
1064 */
1065const ABDAY_3 = UNKNOWN;
1066/**
1067 * @var int
1068 * @cvalue ABDAY_4
1069 */
1070const ABDAY_4 = UNKNOWN;
1071/**
1072 * @var int
1073 * @cvalue ABDAY_5
1074 */
1075const ABDAY_5 = UNKNOWN;
1076/**
1077 * @var int
1078 * @cvalue ABDAY_6
1079 */
1080const ABDAY_6 = UNKNOWN;
1081/**
1082 * @var int
1083 * @cvalue ABDAY_7
1084 */
1085const ABDAY_7 = UNKNOWN;
1086#endif
1087#ifdef DAY_1
1088/**
1089 * @var int
1090 * @cvalue DAY_1
1091 */
1092const DAY_1 = UNKNOWN;
1093/**
1094 * @var int
1095 * @cvalue DAY_2
1096 */
1097const DAY_2 = UNKNOWN;
1098/**
1099 * @var int
1100 * @cvalue DAY_3
1101 */
1102const DAY_3 = UNKNOWN;
1103/**
1104 * @var int
1105 * @cvalue DAY_4
1106 */
1107const DAY_4 = UNKNOWN;
1108/**
1109 * @var int
1110 * @cvalue DAY_5
1111 */
1112const DAY_5 = UNKNOWN;
1113/**
1114 * @var int
1115 * @cvalue DAY_6
1116 */
1117const DAY_6 = UNKNOWN;
1118/**
1119 * @var int
1120 * @cvalue DAY_7
1121 */
1122const DAY_7 = UNKNOWN;
1123#endif
1124#ifdef ABMON_1
1125/**
1126 * @var int
1127 * @cvalue ABMON_1
1128 */
1129const ABMON_1 = UNKNOWN;
1130/**
1131 * @var int
1132 * @cvalue ABMON_2
1133 */
1134const ABMON_2 = UNKNOWN;
1135/**
1136 * @var int
1137 * @cvalue ABMON_3
1138 */
1139const ABMON_3 = UNKNOWN;
1140/**
1141 * @var int
1142 * @cvalue ABMON_4
1143 */
1144const ABMON_4 = UNKNOWN;
1145/**
1146 * @var int
1147 * @cvalue ABMON_5
1148 */
1149const ABMON_5 = UNKNOWN;
1150/**
1151 * @var int
1152 * @cvalue ABMON_6
1153 */
1154const ABMON_6 = UNKNOWN;
1155/**
1156 * @var int
1157 * @cvalue ABMON_7
1158 */
1159const ABMON_7 = UNKNOWN;
1160/**
1161 * @var int
1162 * @cvalue ABMON_8
1163 */
1164const ABMON_8 = UNKNOWN;
1165/**
1166 * @var int
1167 * @cvalue ABMON_9
1168 */
1169const ABMON_9 = UNKNOWN;
1170/**
1171 * @var int
1172 * @cvalue ABMON_10
1173 */
1174const ABMON_10 = UNKNOWN;
1175/**
1176 * @var int
1177 * @cvalue ABMON_11
1178 */
1179const ABMON_11 = UNKNOWN;
1180/**
1181 * @var int
1182 * @cvalue ABMON_12
1183 */
1184const ABMON_12 = UNKNOWN;
1185#endif
1186#ifdef MON_1
1187/**
1188 * @var int
1189 * @cvalue MON_1
1190 */
1191const MON_1 = UNKNOWN;
1192/**
1193 * @var int
1194 * @cvalue MON_2
1195 */
1196const MON_2 = UNKNOWN;
1197/**
1198 * @var int
1199 * @cvalue MON_3
1200 */
1201const MON_3 = UNKNOWN;
1202/**
1203 * @var int
1204 * @cvalue MON_4
1205 */
1206const MON_4 = UNKNOWN;
1207/**
1208 * @var int
1209 * @cvalue MON_5
1210 */
1211const MON_5 = UNKNOWN;
1212/**
1213 * @var int
1214 * @cvalue MON_6
1215 */
1216const MON_6 = UNKNOWN;
1217/**
1218 * @var int
1219 * @cvalue MON_7
1220 */
1221const MON_7 = UNKNOWN;
1222/**
1223 * @var int
1224 * @cvalue MON_8
1225 */
1226const MON_8 = UNKNOWN;
1227/**
1228 * @var int
1229 * @cvalue MON_9
1230 */
1231const MON_9 = UNKNOWN;
1232/**
1233 * @var int
1234 * @cvalue MON_10
1235 */
1236const MON_10 = UNKNOWN;
1237/**
1238 * @var int
1239 * @cvalue MON_11
1240 */
1241const MON_11 = UNKNOWN;
1242/**
1243 * @var int
1244 * @cvalue MON_12
1245 */
1246const MON_12 = UNKNOWN;
1247#endif
1248#ifdef AM_STR
1249/**
1250 * @var int
1251 * @cvalue AM_STR
1252 */
1253const AM_STR = UNKNOWN;
1254#endif
1255#ifdef PM_STR
1256/**
1257 * @var int
1258 * @cvalue PM_STR
1259 */
1260const PM_STR = UNKNOWN;
1261#endif
1262#ifdef D_T_FMT
1263/**
1264 * @var int
1265 * @cvalue D_T_FMT
1266 */
1267const D_T_FMT = UNKNOWN;
1268#endif
1269#ifdef D_FMT
1270/**
1271 * @var int
1272 * @cvalue D_FMT
1273 */
1274const D_FMT = UNKNOWN;
1275#endif
1276#ifdef T_FMT
1277/**
1278 * @var int
1279 * @cvalue T_FMT
1280 */
1281const T_FMT = UNKNOWN;
1282#endif
1283#ifdef T_FMT_AMPM
1284/**
1285 * @var int
1286 * @cvalue T_FMT_AMPM
1287 */
1288const T_FMT_AMPM = UNKNOWN;
1289#endif
1290#ifdef ERA
1291/**
1292 * @var int
1293 * @cvalue ERA
1294 */
1295const ERA = UNKNOWN;
1296#endif
1297#ifdef ERA_YEAR
1298/**
1299 * @var int
1300 * @cvalue ERA_YEAR
1301 */
1302const ERA_YEAR = UNKNOWN;
1303#endif
1304#ifdef ERA_D_T_FMT
1305/**
1306 * @var int
1307 * @cvalue ERA_D_T_FMT
1308 */
1309const ERA_D_T_FMT = UNKNOWN;
1310#endif
1311#ifdef ERA_D_FMT
1312/**
1313 * @var int
1314 * @cvalue ERA_D_FMT
1315 */
1316const ERA_D_FMT = UNKNOWN;
1317#endif
1318#ifdef ERA_T_FMT
1319/**
1320 * @var int
1321 * @cvalue ERA_T_FMT
1322 */
1323const ERA_T_FMT = UNKNOWN;
1324#endif
1325#ifdef ALT_DIGITS
1326/**
1327 * @var int
1328 * @cvalue ALT_DIGITS
1329 */
1330const ALT_DIGITS = UNKNOWN;
1331#endif
1332#ifdef INT_CURR_SYMBOL
1333/**
1334 * @var int
1335 * @cvalue INT_CURR_SYMBOL
1336 */
1337const INT_CURR_SYMBOL = UNKNOWN;
1338#endif
1339#ifdef CURRENCY_SYMBOL
1340/**
1341 * @var int
1342 * @cvalue CURRENCY_SYMBOL
1343 */
1344const CURRENCY_SYMBOL = UNKNOWN;
1345#endif
1346#ifdef CRNCYSTR
1347/**
1348 * @var int
1349 * @cvalue CRNCYSTR
1350 */
1351const CRNCYSTR = UNKNOWN;
1352#endif
1353#ifdef MON_DECIMAL_POINT
1354/**
1355 * @var int
1356 * @cvalue MON_DECIMAL_POINT
1357 */
1358const MON_DECIMAL_POINT = UNKNOWN;
1359#endif
1360#ifdef MON_THOUSANDS_SEP
1361/**
1362 * @var int
1363 * @cvalue MON_THOUSANDS_SEP
1364 */
1365const MON_THOUSANDS_SEP = UNKNOWN;
1366#endif
1367#ifdef MON_GROUPING
1368/**
1369 * @var int
1370 * @cvalue MON_GROUPING
1371 */
1372const MON_GROUPING = UNKNOWN;
1373#endif
1374#ifdef POSITIVE_SIGN
1375/**
1376 * @var int
1377 * @cvalue POSITIVE_SIGN
1378 */
1379const POSITIVE_SIGN = UNKNOWN;
1380#endif
1381#ifdef NEGATIVE_SIGN
1382/**
1383 * @var int
1384 * @cvalue NEGATIVE_SIGN
1385 */
1386const NEGATIVE_SIGN = UNKNOWN;
1387#endif
1388#ifdef INT_FRAC_DIGITS
1389/**
1390 * @var int
1391 * @cvalue INT_FRAC_DIGITS
1392 */
1393const INT_FRAC_DIGITS = UNKNOWN;
1394#endif
1395#ifdef FRAC_DIGITS
1396/**
1397 * @var int
1398 * @cvalue FRAC_DIGITS
1399 */
1400const FRAC_DIGITS = UNKNOWN;
1401#endif
1402#ifdef P_CS_PRECEDES
1403/**
1404 * @var int
1405 * @cvalue P_CS_PRECEDES
1406 */
1407const P_CS_PRECEDES = UNKNOWN;
1408#endif
1409#ifdef P_SEP_BY_SPACE
1410/**
1411 * @var int
1412 * @cvalue P_SEP_BY_SPACE
1413 */
1414const P_SEP_BY_SPACE = UNKNOWN;
1415#endif
1416#ifdef N_CS_PRECEDES
1417/**
1418 * @var int
1419 * @cvalue N_CS_PRECEDES
1420 */
1421const N_CS_PRECEDES = UNKNOWN;
1422#endif
1423#ifdef N_SEP_BY_SPACE
1424/**
1425 * @var int
1426 * @cvalue N_SEP_BY_SPACE
1427 */
1428const N_SEP_BY_SPACE = UNKNOWN;
1429#endif
1430#ifdef P_SIGN_POSN
1431/**
1432 * @var int
1433 * @cvalue P_SIGN_POSN
1434 */
1435const P_SIGN_POSN = UNKNOWN;
1436#endif
1437#ifdef N_SIGN_POSN
1438/**
1439 * @var int
1440 * @cvalue N_SIGN_POSN
1441 */
1442const N_SIGN_POSN = UNKNOWN;
1443#endif
1444#ifdef DECIMAL_POINT
1445/**
1446 * @var int
1447 * @cvalue DECIMAL_POINT
1448 */
1449const DECIMAL_POINT = UNKNOWN;
1450#endif
1451#ifdef RADIXCHAR
1452/**
1453 * @var int
1454 * @cvalue RADIXCHAR
1455 */
1456const RADIXCHAR = UNKNOWN;
1457#endif
1458#ifdef THOUSANDS_SEP
1459/**
1460 * @var int
1461 * @cvalue THOUSANDS_SEP
1462 */
1463const THOUSANDS_SEP = UNKNOWN;
1464#endif
1465#ifdef THOUSEP
1466/**
1467 * @var int
1468 * @cvalue THOUSEP
1469 */
1470const THOUSEP = UNKNOWN;
1471#endif
1472#ifdef GROUPING
1473/**
1474 * @var int
1475 * @cvalue GROUPING
1476 */
1477const GROUPING = UNKNOWN;
1478#endif
1479#ifdef YESEXPR
1480/**
1481 * @var int
1482 * @cvalue YESEXPR
1483 */
1484const YESEXPR = UNKNOWN;
1485#endif
1486#ifdef NOEXPR
1487/**
1488 * @var int
1489 * @cvalue NOEXPR
1490 */
1491const NOEXPR = UNKNOWN;
1492#endif
1493#ifdef YESSTR
1494/**
1495 * @var int
1496 * @cvalue YESSTR
1497 */
1498const YESSTR = UNKNOWN;
1499#endif
1500#ifdef NOSTR
1501/**
1502 * @var int
1503 * @cvalue NOSTR
1504 */
1505const NOSTR = UNKNOWN;
1506#endif
1507#ifdef CODESET
1508/**
1509 * @var int
1510 * @cvalue CODESET
1511 */
1512const CODESET = UNKNOWN;
1513#endif
1514#endif
1515
1516/** @undocumentable */
1517#[AllowDynamicProperties]
1518final class __PHP_Incomplete_Class
1519{
1520}
1521
1522class AssertionError extends Error
1523{
1524}
1525
1526/* main/main.c */
1527
1528function set_time_limit(int $seconds): bool {}
1529
1530/* main/SAPI.c */
1531
1532function header_register_callback(callable $callback): bool {}
1533
1534/* main/output.c */
1535
1536/** @param callable|null $callback */
1537function ob_start($callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {}
1538
1539function ob_flush(): bool {}
1540
1541function ob_clean(): bool {}
1542
1543function ob_end_flush(): bool {}
1544
1545function ob_end_clean(): bool {}
1546
1547/** @refcount 1 */
1548function ob_get_flush(): string|false {}
1549
1550/** @refcount 1 */
1551function ob_get_clean(): string|false {}
1552
1553function ob_get_contents(): string|false {}
1554
1555function ob_get_level(): int {}
1556
1557function ob_get_length(): int|false {}
1558
1559/**
1560 * @return array<int, string>
1561 * @refcount 1
1562 */
1563function ob_list_handlers(): array {}
1564
1565/**
1566 * @return array<int|string, int|string|array>
1567 * @refcount 1
1568 */
1569function ob_get_status(bool $full_status = false): array {}
1570
1571function ob_implicit_flush(bool $enable = true): void {}
1572
1573function output_reset_rewrite_vars(): bool {}
1574
1575function output_add_rewrite_var(string $name, string $value): bool {}
1576
1577/* main/streams/userspace.c */
1578
1579function stream_wrapper_register(string $protocol, string $class, int $flags = 0): bool {}
1580
1581/** @alias stream_wrapper_register */
1582function stream_register_wrapper(string $protocol, string $class, int $flags = 0): bool {}
1583
1584function stream_wrapper_unregister(string $protocol): bool {}
1585
1586function stream_wrapper_restore(string $protocol): bool {}
1587
1588/* array.c */
1589
1590function array_push(array &$array, mixed ...$values): int {}
1591
1592function krsort(array &$array, int $flags = SORT_REGULAR): true {}
1593
1594function ksort(array &$array, int $flags = SORT_REGULAR): true {}
1595
1596/** @compile-time-eval */
1597function count(Countable|array $value, int $mode = COUNT_NORMAL): int {}
1598
1599/** @alias count */
1600function sizeof(Countable|array $value, int $mode = COUNT_NORMAL): int {}
1601
1602function natsort(array &$array): true {}
1603
1604function natcasesort(array &$array): true {}
1605
1606function asort(array &$array, int $flags = SORT_REGULAR): true {}
1607
1608function arsort(array &$array, int $flags = SORT_REGULAR): true {}
1609
1610function sort(array &$array, int $flags = SORT_REGULAR): true {}
1611
1612function rsort(array &$array, int $flags = SORT_REGULAR): true {}
1613
1614function usort(array &$array, callable $callback): true {}
1615
1616function uasort(array &$array, callable $callback): true {}
1617
1618function uksort(array &$array, callable $callback): true {}
1619
1620function end(array|object &$array): mixed {}
1621
1622function prev(array|object &$array): mixed {}
1623
1624function next(array|object &$array): mixed {}
1625
1626function reset(array|object &$array): mixed {}
1627
1628function current(array|object $array): mixed {}
1629
1630/** @alias current */
1631function pos(array|object $array): mixed {}
1632
1633function key(array|object $array): int|string|null {}
1634
1635/**
1636 * @compile-time-eval
1637 * @frameless-function {"arity": 2}
1638 */
1639function min(mixed $value, mixed ...$values): mixed {}
1640
1641/**
1642 * @compile-time-eval
1643 * @frameless-function {"arity": 2}
1644 */
1645function max(mixed $value, mixed ...$values): mixed {}
1646
1647function array_walk(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {}
1648
1649function array_walk_recursive(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {}
1650
1651/**
1652 * @compile-time-eval
1653 * @frameless-function {"arity": 2}
1654 * @frameless-function {"arity": 3}
1655 */
1656function in_array(mixed $needle, array $haystack, bool $strict = false): bool {}
1657
1658/**
1659 * @compile-time-eval
1660 */
1661function array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false {}
1662
1663/** @prefer-ref $array */
1664function extract(array &$array, int $flags = EXTR_OVERWRITE, string $prefix = ""): int {}
1665
1666/**
1667 * @param array|string $var_name
1668 * @param array|string $var_names
1669 * @return array<string, mixed|ref>
1670 * @refcount 1
1671 */
1672function compact($var_name, ...$var_names): array {}
1673
1674/** @return array<int, mixed> */
1675function array_fill(int $start_index, int $count, mixed $value): array {}
1676
1677/** @refcount 1 */
1678function array_fill_keys(array $keys, mixed $value): array {}
1679
1680function range(string|int|float $start, string|int|float $end, int|float $step = 1): array {}
1681
1682function shuffle(array &$array): true {}
1683
1684function array_pop(array &$array): mixed {}
1685
1686function array_shift(array &$array): mixed {}
1687
1688function array_unshift(array &$array, mixed ...$values): int {}
1689
1690function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array {}
1691
1692/**
1693 * @compile-time-eval
1694 */
1695function array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array {}
1696
1697/**
1698 * @compile-time-eval
1699 */
1700function array_merge(array ...$arrays): array {}
1701
1702/**
1703 * @compile-time-eval
1704 */
1705function array_merge_recursive(array ...$arrays): array {}
1706
1707/**
1708 * @compile-time-eval
1709 * @refcount 1
1710 */
1711function array_replace(array $array, array ...$replacements): array {}
1712
1713/**
1714 * @compile-time-eval
1715 * @refcount 1
1716 */
1717function array_replace_recursive(array $array, array ...$replacements): array {}
1718
1719/**
1720 * @return array<int, int|string>
1721 * @compile-time-eval
1722 */
1723function array_keys(array $array, mixed $filter_value = UNKNOWN, bool $strict = false): array {}
1724
1725/**
1726 * @compile-time-eval
1727 */
1728function array_key_first(array $array): int|string|null {}
1729
1730/**
1731 * @compile-time-eval
1732 */
1733function array_key_last(array $array): int|string|null {}
1734
1735/**
1736 * @return array<int, mixed|ref>
1737 * @compile-time-eval
1738 */
1739function array_values(array $array): array {}
1740
1741/**
1742 * @return array<int|string, int>
1743 * @compile-time-eval
1744 * @refcount 1
1745 */
1746function array_count_values(array $array): array {}
1747
1748/**
1749 * @compile-time-eval
1750 * @refcount 1
1751 */
1752function array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array {}
1753
1754/**
1755 * @compile-time-eval
1756 * @refcount 1
1757 */
1758function array_reverse(array $array, bool $preserve_keys = false): array {}
1759
1760function array_pad(array $array, int $length, mixed $value): array {}
1761
1762/**
1763 * @return array<int|string, int|string>
1764 * @compile-time-eval
1765 * @refcount 1
1766 */
1767function array_flip(array $array): array {}
1768
1769/**
1770 * @compile-time-eval
1771 * @refcount 1
1772 */
1773function array_change_key_case(array $array, int $case = CASE_LOWER): array {}
1774
1775/**
1776 * @compile-time-eval
1777 */
1778function array_unique(array $array, int $flags = SORT_STRING): array {}
1779
1780/**
1781 * @compile-time-eval
1782 * @refcount 1
1783 */
1784function array_intersect_key(array $array, array ...$arrays): array {}
1785
1786/**
1787 * @param array|callable $rest
1788 * @refcount 1
1789 */
1790function array_intersect_ukey(array $array, ...$rest): array {}
1791
1792/**
1793 * @compile-time-eval
1794 * @refcount 1
1795 */
1796function array_intersect(array $array, array ...$arrays): array {}
1797
1798/**
1799 * @param array|callable $rest
1800 * @refcount 1
1801 */
1802function array_uintersect(array $array, ...$rest): array {}
1803
1804/**
1805 * @compile-time-eval
1806 * @refcount 1
1807 */
1808function array_intersect_assoc(array $array, array ...$arrays): array {}
1809
1810/**
1811 * @param array|callable $rest
1812 * @refcount 1
1813 */
1814function array_uintersect_assoc(array $array, ...$rest): array {}
1815
1816/**
1817 * @param array|callable $rest
1818 * @refcount 1
1819 */
1820function array_intersect_uassoc(array $array, ...$rest): array {}
1821
1822/**
1823 * @param array|callable $rest
1824 * @refcount 1
1825 */
1826function array_uintersect_uassoc(array $array, ...$rest): array {}
1827
1828/**
1829 * @compile-time-eval
1830 * @refcount 1
1831 */
1832function array_diff_key(array $array, array ...$arrays): array {}
1833
1834/**
1835 * @param array|callable $rest
1836 * @refcount 1
1837 */
1838function array_diff_ukey(array $array, ...$rest): array {}
1839
1840/**
1841 * @compile-time-eval
1842 */
1843function array_diff(array $array, array ...$arrays): array {}
1844
1845/**
1846 * @param array|callable $rest
1847 * @refcount 1
1848 */
1849function array_udiff(array $array, ...$rest): array {}
1850
1851/**
1852 * @compile-time-eval
1853 * @refcount 1
1854 */
1855function array_diff_assoc(array $array, array ...$arrays): array {}
1856
1857/**
1858 * @param array|callable $rest
1859 * @refcount 1
1860 */
1861function array_diff_uassoc(array $array, ...$rest): array {}
1862
1863/**
1864 * @param array|callable $rest
1865 * @refcount 1
1866 */
1867function array_udiff_assoc(array $array, ...$rest): array {}
1868
1869/**
1870 * @param array|callable $rest
1871 * @refcount 1
1872 */
1873function array_udiff_uassoc(array $array, ...$rest): array {}
1874
1875/**
1876 * @param array $array
1877 * @param array|int $rest
1878 * @prefer-ref $array
1879 * @prefer-ref $rest
1880 */
1881function array_multisort(&$array, &...$rest): bool {}
1882
1883/** @return int|string|array<int, int|string> */
1884function array_rand(array $array, int $num = 1): int|string|array {}
1885
1886/**
1887 * @compile-time-eval
1888 */
1889function array_sum(array $array): int|float {}
1890
1891/**
1892 * @compile-time-eval
1893 */
1894function array_product(array $array): int|float {}
1895
1896function array_reduce(array $array, callable $callback, mixed $initial = null): mixed {}
1897
1898function array_filter(array $array, ?callable $callback = null, int $mode = 0): array {}
1899
1900function array_map(?callable $callback, array $array, array ...$arrays): array {}
1901
1902/**
1903 * @param string|int $key
1904 * @compile-time-eval
1905 */
1906function array_key_exists($key, array $array): bool {}
1907
1908/**
1909 * @param string|int $key
1910 * @alias array_key_exists
1911 */
1912function key_exists($key, array $array): bool {}
1913
1914/**
1915 * @compile-time-eval
1916 */
1917function array_chunk(array $array, int $length, bool $preserve_keys = false): array {}
1918
1919/**
1920 * @compile-time-eval
1921 */
1922function array_combine(array $keys, array $values): array {}
1923
1924/** @compile-time-eval */
1925function array_is_list(array $array): bool {}
1926
1927/* base64.c */
1928
1929/**
1930 * @compile-time-eval
1931 * @refcount 1
1932 */
1933function base64_encode(string $string): string {}
1934
1935/**
1936 * @compile-time-eval
1937 * @refcount 1
1938 */
1939function base64_decode(string $string, bool $strict = false): string|false {}
1940
1941/* basic_functions.c */
1942
1943function constant(string $name): mixed {}
1944
1945function ip2long(string $ip): int|false {}
1946
1947/** @refcount 1 */
1948function long2ip(int $ip): string {}
1949
1950/**
1951 * @return string|array<string, string>|false
1952 * @refcount 1
1953 */
1954function getenv(?string $name = null, bool $local_only = false): string|array|false {}
1955
1956#ifdef HAVE_PUTENV
1957function putenv(string $assignment): bool {}
1958#endif
1959
1960/**
1961 * @param int $rest_index
1962 * @return array<int|string, string|array|false>|false
1963 * @refcount 1
1964 */
1965function getopt(string $short_options, array $long_options = [], &$rest_index = null): array|false {}
1966
1967function flush(): void {}
1968
1969function sleep(int $seconds): int {}
1970
1971function usleep(int $microseconds): void {}
1972
1973#ifdef HAVE_NANOSLEEP
1974/**
1975 * @return array<string, int>|bool
1976 * @refcount 1
1977 */
1978function time_nanosleep(int $seconds, int $nanoseconds): array|bool {}
1979
1980function time_sleep_until(float $timestamp): bool {}
1981#endif
1982
1983/** @refcount 1 */
1984function get_current_user(): string {}
1985
1986/** @return string|array<int|string, string|array>|false */
1987function get_cfg_var(string $option): string|array|false {}
1988
1989function error_log(string $message, int $message_type = 0, ?string $destination = null, ?string $additional_headers = null): bool {}
1990
1991/**
1992 * @return array<string, int|string>|null
1993 * @refcount 1
1994 */
1995function error_get_last(): ?array {}
1996
1997function error_clear_last(): void {}
1998
1999function call_user_func(callable $callback, mixed ...$args): mixed {}
2000
2001function call_user_func_array(callable $callback, array $args): mixed {}
2002
2003function forward_static_call(callable $callback, mixed ...$args): mixed {}
2004
2005function forward_static_call_array(callable $callback, array $args): mixed {}
2006
2007function register_shutdown_function(callable $callback, mixed ...$args): void {}
2008
2009/** @refcount 1 */
2010function highlight_file(string $filename, bool $return = false): string|bool {}
2011
2012/** @alias highlight_file */
2013function show_source(string $filename, bool $return = false): string|bool {}
2014
2015/** @refcount 1 */
2016function php_strip_whitespace(string $filename): string {}
2017
2018/** @refcount 1 */
2019function highlight_string(string $string, bool $return = false): string|bool {}
2020
2021function ini_get(string $option): string|false {}
2022
2023/**
2024 * @return array<string, string|array|null>|false
2025 * @refcount 1
2026 */
2027function ini_get_all(?string $extension = null, bool $details = true): array|false {}
2028
2029function ini_set(string $option, string|int|float|bool|null $value): string|false {}
2030
2031/** @alias ini_set */
2032function ini_alter(string $option, string|int|float|bool|null $value): string|false {}
2033
2034function ini_restore(string $option): void {}
2035
2036function ini_parse_quantity(string $shorthand): int {}
2037
2038/** @refcount 1 */
2039function set_include_path(string $include_path): string|false {}
2040
2041/** @refcount 1 */
2042function get_include_path(): string|false {}
2043
2044/** @refcount 1 */
2045function print_r(mixed $value, bool $return = false): string|bool {}
2046
2047function connection_aborted(): int {}
2048
2049function connection_status(): int {}
2050
2051function ignore_user_abort(?bool $enable = null): int {}
2052
2053#ifdef HAVE_GETSERVBYNAME
2054function getservbyname(string $service, string $protocol): int|false {}
2055#endif
2056
2057#ifdef HAVE_GETSERVBYPORT
2058/** @refcount 1 */
2059function getservbyport(int $port, string $protocol): string|false {}
2060#endif
2061
2062#ifdef HAVE_GETPROTOBYNAME
2063function getprotobyname(string $protocol): int|false {}
2064#endif
2065
2066#ifdef HAVE_GETPROTOBYNUMBER
2067/** @refcount 1 */
2068function getprotobynumber(int $protocol): string|false {}
2069#endif
2070
2071function register_tick_function(callable $callback, mixed ...$args): bool {}
2072
2073function unregister_tick_function(callable $callback): void {}
2074
2075function is_uploaded_file(string $filename): bool {}
2076
2077function move_uploaded_file(string $from, string $to): bool {}
2078
2079/**
2080 * @return array<int|string, bool|int|float|string|array|null>|false
2081 * @refcount 1
2082 */
2083function parse_ini_file(string $filename, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
2084
2085/**
2086 * @return array<int|string, bool|int|float|string|array|null>|false
2087 * @compile-time-eval
2088 * @refcount 1
2089 */
2090function parse_ini_string(string $ini_string, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
2091
2092#if ZEND_DEBUG
2093/**
2094 * @return array<string, string|array>
2095 * @refcount 1
2096 */
2097function config_get_hash(): array {}
2098#endif
2099
2100#ifdef HAVE_GETLOADAVG
2101/**
2102 * @return array<int, float>|false
2103 * @refcount 1
2104 */
2105function sys_getloadavg(): array|false {}
2106#endif
2107
2108/* browscap.c */
2109
2110/**
2111 * @return object|array<string, mixed>|false
2112 * @refcount 1
2113 */
2114function get_browser(?string $user_agent = null, bool $return_array = false): object|array|false {}
2115
2116/* crc32.c */
2117
2118/** @compile-time-eval */
2119function crc32(string $string): int {}
2120
2121/* crypt.c */
2122
2123/** @refcount 1 */
2124function crypt(#[\SensitiveParameter] string $string, string $salt): string {}
2125
2126/* datetime.c */
2127
2128#ifdef HAVE_STRPTIME
2129/**
2130 * @return array<string, int|string>|false
2131 * @deprecated
2132 * @refcount 1
2133 */
2134function strptime(string $timestamp, string $format): array|false {}
2135#endif
2136
2137/* dns.c */
2138
2139#ifdef HAVE_GETHOSTNAME
2140/** @refcount 1 */
2141function gethostname(): string|false {}
2142#endif
2143
2144/** @refcount 1 */
2145function gethostbyaddr(string $ip): string|false {}
2146
2147/** @refcount 1 */
2148function gethostbyname(string $hostname): string {}
2149
2150/**
2151 * @return array<int, string>|false
2152 * @refcount 1
2153 */
2154function gethostbynamel(string $hostname): array|false {}
2155
2156#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC))
2157function dns_check_record(string $hostname, string $type = "MX"): bool {}
2158
2159/** @alias dns_check_record */
2160function checkdnsrr(string $hostname, string $type = "MX"): bool {}
2161
2162/**
2163 * @param array $authoritative_name_servers
2164 * @param array $additional_records
2165 * @return array<int, array>|false
2166 * @refcount 1
2167 */
2168function dns_get_record(string $hostname, int $type = DNS_ANY, &$authoritative_name_servers = null, &$additional_records = null, bool $raw = false): array|false {}
2169
2170/**
2171 * @param array $hosts
2172 * @param array $weights
2173 */
2174function dns_get_mx(string $hostname, &$hosts, &$weights = null): bool {}
2175
2176/**
2177 * @param array $hosts
2178 * @param array $weights
2179 * @alias dns_get_mx
2180 */
2181function getmxrr(string $hostname, &$hosts, &$weights = null): bool {}
2182#endif
2183
2184/* net.c */
2185
2186#if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__))
2187function net_get_interfaces(): array|false {}
2188#endif
2189
2190/* ftok.c */
2191
2192#ifdef HAVE_FTOK
2193function ftok(string $filename, string $project_id): int {}
2194#endif
2195
2196/* hrtime.c */
2197
2198function hrtime(bool $as_number = false): array|int|float|false {}
2199
2200/* md5.c */
2201
2202/** @refcount 1 */
2203function md5(string $string, bool $binary = false): string {}
2204
2205/** @refcount 1 */
2206function md5_file(string $filename, bool $binary = false): string|false {}
2207
2208/* pageinfo.c */
2209
2210function getmyuid(): int|false {}
2211
2212function getmygid(): int|false {}
2213
2214function getmypid(): int|false {}
2215
2216function getmyinode(): int|false {}
2217
2218function getlastmod(): int|false {}
2219
2220/* sha1.c */
2221
2222/** @refcount 1 */
2223function sha1(string $string, bool $binary = false): string {}
2224
2225/** @refcount 1 */
2226function sha1_file(string $filename, bool $binary = false): string|false {}
2227
2228/* syslog.c */
2229
2230#ifdef HAVE_SYSLOG_H
2231function openlog(string $prefix, int $flags, int $facility): true {}
2232
2233function closelog(): true {}
2234
2235function syslog(int $priority, string $message): true {}
2236#endif
2237
2238/** @refcount 1 */
2239function inet_ntop(string $ip): string|false {}
2240
2241/** @refcount 1 */
2242function inet_pton(string $ip): string|false {}
2243
2244/* metaphone.c */
2245
2246/** @refcount 1 */
2247function metaphone(string $string, int $max_phonemes = 0): string {}
2248
2249/* {{{ head.c */
2250function header(string $header, bool $replace = true, int $response_code = 0): void {}
2251
2252function header_remove(?string $name = null): void {}
2253
2254function setrawcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2255
2256function setcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2257
2258function http_response_code(int $response_code = 0): int|bool {}
2259
2260/**
2261 * @param string $filename
2262 * @param int $line
2263 */
2264function headers_sent(&$filename = null, &$line = null): bool {}
2265
2266/**
2267 * @return array<int, string>
2268 * @refcount 1
2269 */
2270function headers_list(): array {}
2271
2272/* {{{ html.c */
2273
2274/** @refcount 1 */
2275function htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2276
2277function htmlspecialchars_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string {}
2278
2279function html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string {}
2280
2281/** @refcount 1 */
2282function htmlentities(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2283
2284/**
2285 * @return array<string, string>
2286 * @refcount 1
2287 */
2288function get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array {}
2289
2290/* }}} */
2291
2292/* assert.c */
2293
2294function assert(mixed $assertion, Throwable|string|null $description = null): bool {}
2295
2296/** @deprecated */
2297function assert_options(int $option, mixed $value = UNKNOWN): mixed {}
2298
2299/* string.c */
2300
2301/**
2302 * @compile-time-eval
2303 * @refcount 1
2304 */
2305function bin2hex(string $string): string {}
2306
2307/**
2308 * @compile-time-eval
2309 * @refcount 1
2310 */
2311function hex2bin(string $string): string|false {}
2312
2313/**
2314 * @compile-time-eval
2315 */
2316function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2317
2318/**
2319 * @compile-time-eval
2320 */
2321function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2322
2323#ifdef HAVE_NL_LANGINFO
2324/** @refcount 1 */
2325function nl_langinfo(int $item): string|false {}
2326#endif
2327
2328function strcoll(string $string1, string $string2): int {}
2329
2330/**
2331 * @compile-time-eval
2332 * @frameless-function {"arity": 1}
2333 * @frameless-function {"arity": 2}
2334 */
2335function trim(string $string, string $characters = " \n\r\t\v\0"): string {}
2336
2337/** @compile-time-eval */
2338function rtrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2339
2340/** @alias rtrim */
2341function chop(string $string, string $characters = " \n\r\t\v\0"): string {}
2342
2343/** @compile-time-eval */
2344function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2345
2346/**
2347 * @compile-time-eval
2348 * @refcount 1
2349 */
2350function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {}
2351
2352/**
2353 * @return array<int, string>
2354 * @compile-time-eval
2355 * @refcount 1
2356 */
2357function explode(string $separator, string $string, int $limit = PHP_INT_MAX): array {}
2358
2359/**
2360 * @compile-time-eval
2361 * @frameless-function {"arity": 1}
2362 * @frameless-function {"arity": 2}
2363 */
2364function implode(string|array $separator, ?array $array = null): string {}
2365
2366/** @alias implode */
2367function join(string|array $separator, ?array $array = null): string {}
2368
2369/**
2370 * @refcount 1
2371 */
2372function strtok(string $string, ?string $token = null): string|false {}
2373
2374/** @compile-time-eval */
2375function strtoupper(string $string): string {}
2376
2377/** @compile-time-eval */
2378function strtolower(string $string): string {}
2379
2380function str_increment(string $string): string {}
2381
2382function str_decrement(string $string): string {}
2383
2384/** @refcount 1 */
2385function basename(string $path, string $suffix = ""): string {}
2386
2387/**
2388 * @refcount 1
2389 * @frameless-function {"arity": 1}
2390 * @frameless-function {"arity": 2}
2391 */
2392function dirname(string $path, int $levels = 1): string {}
2393
2394/**
2395 * @return array<string, string>|string
2396 * @refcount 1
2397 */
2398function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {}
2399
2400/**
2401 * @compile-time-eval
2402 * @refcount 1
2403 */
2404function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2405
2406/**
2407 * @compile-time-eval
2408 * @refcount 1
2409 * @frameless-function {"arity": 2}
2410 * @frameless-function {"arity": 3}
2411 */
2412function strstr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2413
2414/** @alias strstr */
2415function strchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2416
2417/**
2418 * @compile-time-eval
2419 * @frameless-function {"arity": 2}
2420 * @frameless-function {"arity": 3}
2421 */
2422function strpos(string $haystack, string $needle, int $offset = 0): int|false {}
2423
2424/** @compile-time-eval */
2425function stripos(string $haystack, string $needle, int $offset = 0): int|false {}
2426
2427/** @compile-time-eval */
2428function strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
2429
2430/** @compile-time-eval */
2431function strripos(string $haystack, string $needle, int $offset = 0): int|false {}
2432
2433/**
2434 * @compile-time-eval
2435 * @refcount 1
2436 */
2437function strrchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2438
2439/**
2440 * @compile-time-eval
2441 * @frameless-function {"arity": 2}
2442 */
2443function str_contains(string $haystack, string $needle): bool {}
2444
2445/**
2446 * @compile-time-eval
2447 * @frameless-function {"arity": 2}
2448 */
2449function str_starts_with(string $haystack, string $needle): bool {}
2450
2451/** @compile-time-eval */
2452function str_ends_with(string $haystack, string $needle): bool {}
2453
2454/**
2455 * @compile-time-eval
2456 * @refcount 1
2457 */
2458function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {}
2459
2460/**
2461 * @compile-time-eval
2462 * @frameless-function {"arity": 2}
2463 * @frameless-function {"arity": 3}
2464 */
2465function substr(string $string, int $offset, ?int $length = null): string {}
2466
2467/**
2468 * @return string|array<int|string, string>
2469 * @compile-time-eval
2470 */
2471function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {}
2472
2473/**
2474 * @compile-time-eval
2475 * @refcount 1
2476 */
2477function quotemeta(string $string): string {}
2478
2479/** @compile-time-eval */
2480function ord(string $character): int {}
2481
2482/**
2483 * @compile-time-eval
2484 * @refcount 1
2485 */
2486function chr(int $codepoint): string {}
2487
2488/** @compile-time-eval */
2489function ucfirst(string $string): string {}
2490
2491/** @compile-time-eval */
2492function lcfirst(string $string): string {}
2493
2494/**
2495 * @compile-time-eval
2496 * @refcount 1
2497 */
2498function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {}
2499
2500/**
2501 * @compile-time-eval
2502 * @frameless-function {"arity": 2}
2503 * @frameless-function {"arity": 3}
2504 */
2505function strtr(string $string, string|array $from, ?string $to = null): string {}
2506
2507/**
2508 * @compile-time-eval
2509 * @refcount 1
2510 */
2511function strrev(string $string): string {}
2512
2513/** @param float $percent */
2514function similar_text(string $string1, string $string2, &$percent = null): int {}
2515
2516/**
2517 * @compile-time-eval
2518 */
2519function addcslashes(string $string, string $characters): string {}
2520
2521/**
2522 * @compile-time-eval
2523 */
2524function addslashes(string $string): string {}
2525
2526/**
2527 * @compile-time-eval
2528 * @refcount 1
2529 */
2530function stripcslashes(string $string): string {}
2531
2532/**
2533 * @compile-time-eval
2534 * @refcount 1
2535 */
2536function stripslashes(string $string): string {}
2537
2538/**
2539 * @param int $count
2540 * @return string|array<int|string, string>
2541 * @compile-time-eval
2542 * @frameless-function {"arity": 3}
2543 */
2544function str_replace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2545
2546/**
2547 * @param int $count
2548 * @return string|array<int|string, string>
2549 * @compile-time-eval
2550 */
2551function str_ireplace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2552
2553/** @refcount 1 */
2554function hebrev(string $string, int $max_chars_per_line = 0): string {}
2555
2556/**
2557 * @compile-time-eval
2558 */
2559function nl2br(string $string, bool $use_xhtml = true): string {}
2560
2561/**
2562 * @compile-time-eval
2563 * @refcount 1
2564 */
2565function strip_tags(string $string, array|string|null $allowed_tags = null): string {}
2566
2567/**
2568 * @param array|string $locales
2569 * @param string $rest
2570 */
2571function setlocale(int $category, $locales, ...$rest): string|false {}
2572
2573/** @param array $result */
2574function parse_str(string $string, &$result): void {}
2575
2576/**
2577 * @return array<int, string|null>
2578 * @refcount 1
2579 */
2580function str_getcsv(string $string, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array {}
2581
2582/** @refcount 1 */
2583function str_repeat(string $string, int $times): string {}
2584
2585/**
2586 * @return array<int, int>|string
2587 * @compile-time-eval
2588 * @refcount 1
2589 */
2590function count_chars(string $string, int $mode = 0): array|string {}
2591
2592function strnatcmp(string $string1, string $string2): int {}
2593
2594/**
2595 * @return array<string, int|string|array>
2596 * @refcount 1
2597 */
2598function localeconv(): array {}
2599
2600function strnatcasecmp(string $string1, string $string2): int {}
2601
2602/**
2603 * @compile-time-eval
2604 */
2605function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {}
2606
2607function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {}
2608
2609/**
2610 * @return array<int, mixed>|int|null
2611 * @refcount 1
2612 */
2613function sscanf(string $string, string $format, mixed &...$vars): array|int|null {}
2614
2615/**
2616 * @compile-time-eval
2617 * @refcount 1
2618 */
2619function str_rot13(string $string): string {}
2620
2621/** @refcount 1 */
2622function str_shuffle(string $string): string {}
2623
2624/**
2625 * @return array<int, string>|int
2626 * @refcount 1
2627 */
2628function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int {}
2629
2630/**
2631 * @return array<int, string>
2632 * @compile-time-eval
2633 */
2634function str_split(string $string, int $length = 1): array {}
2635
2636/**
2637 * @compile-time-eval
2638 * @refcount 1
2639 */
2640function strpbrk(string $string, string $characters): string|false {}
2641
2642/**
2643 * @compile-time-eval
2644 */
2645function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {}
2646
2647/**
2648 * @compile-time-eval
2649 * @refcount 1
2650 * @deprecated
2651 */
2652function utf8_encode(string $string): string {}
2653
2654/**
2655 * @compile-time-eval
2656 * @refcount 1
2657 * @deprecated
2658 */
2659function utf8_decode(string $string): string {}
2660
2661/* dir.c */
2662
2663/**
2664 * @param resource|null $context
2665 * @return resource|false
2666 */
2667function opendir(string $directory, $context = null) {}
2668
2669/**
2670 * @param resource|null $context
2671 * @refcount 1
2672 */
2673function dir(string $directory, $context = null): Directory|false {}
2674
2675/** @param resource|null $dir_handle */
2676function closedir($dir_handle = null): void {}
2677
2678function chdir(string $directory): bool {}
2679
2680#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC))
2681function chroot(string $directory): bool {}
2682#endif
2683
2684/** @refcount 1 */
2685function getcwd(): string|false {}
2686
2687/** @param resource|null $dir_handle */
2688function rewinddir($dir_handle = null): void {}
2689
2690/**
2691 * @param resource|null $dir_handle
2692 * @refcount 1
2693 */
2694function readdir($dir_handle = null): string|false {}
2695
2696/**
2697 * @param resource|null $context
2698 * @return array<int, string>|false
2699 * @refcount 1
2700 */
2701function scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, $context = null): array|false {}
2702
2703#ifdef HAVE_GLOB
2704/**
2705 * @return array<int, string>|false
2706 * @refcount 1
2707 */
2708function glob(string $pattern, int $flags = 0): array|false {}
2709#endif
2710
2711/* exec.c */
2712
2713/**
2714 * @param array $output
2715 * @param int $result_code
2716 * @refcount 1
2717 */
2718function exec(string $command, &$output = null, &$result_code = null): string|false {}
2719
2720/**
2721 * @param int $result_code
2722 * @refcount 1
2723 */
2724function system(string $command, &$result_code = null): string|false {}
2725
2726/** @param int $result_code */
2727function passthru(string $command, &$result_code = null): false|null {}
2728
2729/** @refcount 1 */
2730function escapeshellcmd(string $command): string {}
2731
2732/** @refcount 1 */
2733function escapeshellarg(string $arg): string {}
2734
2735/** @refcount 1 */
2736function shell_exec(string $command): string|false|null {}
2737
2738#ifdef HAVE_NICE
2739function proc_nice(int $priority): bool {}
2740#endif
2741
2742/* file.c */
2743
2744/**
2745 * @param resource $stream
2746 * @param int $would_block
2747 */
2748function flock($stream, int $operation, &$would_block = null): bool {}
2749
2750/**
2751 * @return array<string, string>|false
2752 * @refcount 1
2753 */
2754function get_meta_tags(string $filename, bool $use_include_path = false): array|false {}
2755
2756/** @param resource $handle */
2757function pclose($handle): int {}
2758
2759/**
2760 * @return resource|false
2761 * @refcount 1
2762 */
2763function popen(string $command, string $mode) {}
2764
2765/** @param resource|null $context */
2766function readfile(string $filename, bool $use_include_path = false, $context = null): int|false {}
2767
2768/** @param resource $stream */
2769function rewind($stream): bool {}
2770
2771/** @param resource|null $context */
2772function rmdir(string $directory, $context = null): bool {}
2773
2774function umask(?int $mask = null): int {}
2775
2776/** @param resource $stream */
2777function fclose($stream): bool {}
2778
2779/** @param resource $stream */
2780function feof($stream): bool {}
2781
2782/** @param resource $stream */
2783function fgetc($stream): string|false {}
2784
2785/**
2786 * @param resource $stream
2787 * @refcount 1
2788 */
2789function fgets($stream, ?int $length = null): string|false {}
2790
2791/**
2792 * @param resource $stream
2793 * @refcount 1
2794 */
2795function fread($stream, int $length): string|false {}
2796
2797/**
2798 * @param resource|null $context
2799 * @return resource|false
2800 * @refcount 1
2801 */
2802function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {}
2803
2804/**
2805 * @param resource $stream
2806 * @return array<int, mixed>|int|false|null
2807 * @refcount 1
2808 */
2809function fscanf($stream, string $format, mixed &...$vars): array|int|false|null {}
2810
2811/** @param resource $stream */
2812function fpassthru($stream): int {}
2813
2814/** @param resource $stream */
2815function ftruncate($stream, int $size): bool {}
2816
2817/**
2818 * @param resource $stream
2819 * @return array<int|string, int>|false
2820 * @refcount 1
2821 */
2822function fstat($stream): array|false {}
2823
2824/** @param resource $stream */
2825function fseek($stream, int $offset, int $whence = SEEK_SET): int {}
2826
2827/** @param resource $stream */
2828function ftell($stream): int|false {}
2829
2830/** @param resource $stream */
2831function fflush($stream): bool {}
2832
2833/** @param resource $stream */
2834function fsync($stream): bool {}
2835
2836/** @param resource $stream */
2837function fdatasync($stream): bool {}
2838
2839/** @param resource $stream */
2840function fwrite($stream, string $data, ?int $length = null): int|false {}
2841
2842/**
2843 * @param resource $stream
2844 * @alias fwrite
2845 */
2846function fputs($stream, string $data, ?int $length = null): int|false {}
2847
2848/** @param resource|null $context */
2849function mkdir(string $directory, int $permissions = 0777, bool $recursive = false, $context = null): bool {}
2850
2851/** @param resource|null $context */
2852function rename(string $from, string $to, $context = null): bool {}
2853
2854/** @param resource|null $context */
2855function copy(string $from, string $to, $context = null): bool {}
2856
2857/** @refcount 1 */
2858function tempnam(string $directory, string $prefix): string|false {}
2859
2860/**
2861 * @return resource|false
2862 * @refcount 1
2863 */
2864function tmpfile() {}
2865
2866/**
2867 * @param resource|null $context
2868 * @return array<int, string>|false
2869 * @refcount 1
2870 */
2871function file(string $filename, int $flags = 0, $context = null): array|false {}
2872
2873/**
2874 * @param resource|null $context
2875 * @refcount 1
2876 */
2877function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, ?int $length = null): string|false {}
2878
2879/** @param resource|null $context */
2880function unlink(string $filename, $context = null): bool {}
2881
2882/** @param resource|null $context */
2883function file_put_contents(string $filename, mixed $data, int $flags = 0, $context = null): int|false {}
2884
2885/** @param resource $stream */
2886function fputcsv($stream, array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n"): int|false {}
2887
2888/**
2889 * @param resource $stream
2890 * @return array<int, string|null>|false
2891 * @refcount 1
2892 */
2893function fgetcsv($stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false {}
2894
2895/** @refcount 1 */
2896function realpath(string $path): string|false {}
2897
2898#ifdef HAVE_FNMATCH
2899function fnmatch(string $pattern, string $filename, int $flags = 0): bool {}
2900#endif
2901
2902/** @refcount 1 */
2903function sys_get_temp_dir(): string {}
2904
2905/* filestat.c */
2906
2907function fileatime(string $filename): int|false {}
2908
2909function filectime(string $filename): int|false {}
2910
2911function filegroup(string $filename): int|false {}
2912
2913function fileinode(string $filename): int|false {}
2914
2915function filemtime(string $filename): int|false {}
2916
2917function fileowner(string $filename): int|false {}
2918
2919function fileperms(string $filename): int|false {}
2920
2921function filesize(string $filename): int|false {}
2922
2923/** @refcount 1 */
2924function filetype(string $filename): string|false {}
2925
2926function file_exists(string $filename): bool {}
2927
2928function is_writable(string $filename): bool {}
2929
2930/** @alias is_writable */
2931function is_writeable(string $filename): bool {}
2932
2933function is_readable(string $filename): bool {}
2934
2935function is_executable(string $filename): bool {}
2936
2937function is_file(string $filename): bool {}
2938
2939function is_dir(string $filename): bool {}
2940
2941function is_link(string $filename): bool {}
2942
2943/**
2944 * @return array<int|string, bool|int|string>|false
2945 * @refcount 1
2946 */
2947function stat(string $filename): array|false {}
2948
2949/**
2950 * @return array<int|string, bool|int|string>|false
2951 * @refcount 1
2952 */
2953function lstat(string $filename): array|false {}
2954
2955function chown(string $filename, string|int $user): bool {}
2956
2957function chgrp(string $filename, string|int $group): bool {}
2958
2959#ifdef HAVE_LCHOWN
2960function lchown(string $filename, string|int $user): bool {}
2961
2962function lchgrp(string $filename, string|int $group): bool {}
2963#endif
2964
2965function chmod(string $filename, int $permissions): bool {}
2966
2967#ifdef HAVE_UTIME
2968function touch(string $filename, ?int $mtime = null, ?int $atime = null): bool {}
2969#endif
2970
2971function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {}
2972
2973function disk_total_space(string $directory): float|false {}
2974
2975function disk_free_space(string $directory): float|false {}
2976
2977/** @alias disk_free_space */
2978function diskfreespace(string $directory): float|false {}
2979
2980/**
2981 * @return array<string, array>
2982 * @refcount 1
2983 */
2984function realpath_cache_get(): array {}
2985
2986function realpath_cache_size(): int {}
2987
2988/* formatted_print.c */
2989
2990/** @refcount 1 */
2991function sprintf(string $format, mixed ...$values): string {}
2992
2993function printf(string $format, mixed ...$values): int {}
2994
2995function vprintf(string $format, array $values): int {}
2996
2997/** @refcount 1 */
2998function vsprintf(string $format, array $values): string {}
2999
3000/** @param resource $stream */
3001function fprintf($stream, string $format, mixed ...$values): int {}
3002
3003/** @param resource $stream */
3004function vfprintf($stream, string $format, array $values): int {}
3005
3006/* fsock.c */
3007
3008/**
3009 * @param int $error_code
3010 * @param string $error_message
3011 * @return resource|false
3012 * @refcount 1
3013 */
3014function fsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3015
3016/**
3017 * @param int $error_code
3018 * @param string $error_message
3019 * @return resource|false
3020 */
3021function pfsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3022
3023/* http.c */
3024
3025/** @refcount 1 */
3026function http_build_query(array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string {}
3027
3028function http_get_last_response_headers(): ?array {}
3029
3030function http_clear_last_response_headers(): void {}
3031
3032/**
3033 * @param array|null $options
3034 * @return array<int, array>
3035 * @refcount 1
3036 */
3037function request_parse_body(?array $options = null): array {}
3038
3039/* image.c */
3040
3041/**
3042 * @compile-time-eval
3043 * @refcount 1
3044 */
3045function image_type_to_mime_type(int $image_type): string {}
3046
3047/**
3048 * @compile-time-eval
3049 * @refcount 1
3050 */
3051function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {}
3052
3053/**
3054 * @param array $image_info
3055 * @return array<int|string, int|string>|false
3056 * @refcount 1
3057 */
3058function getimagesize(string $filename, &$image_info = null): array|false {}
3059
3060/**
3061 * @param array $image_info
3062 * @return array<int|string, int|string>|false
3063 * @refcount 1
3064 */
3065function getimagesizefromstring(string $string, &$image_info = null): array|false {}
3066
3067/* info.c */
3068
3069function phpinfo(int $flags = INFO_ALL): true {} // make return type void
3070
3071/**
3072 * @compile-time-eval
3073 * @refcount 1
3074 */
3075function phpversion(?string $extension = null): string|false {}
3076
3077function phpcredits(int $flags = CREDITS_ALL): true {}
3078
3079/**
3080 * @compile-time-eval
3081 * @refcount 1
3082 */
3083function php_sapi_name(): string|false {}
3084
3085/**
3086 * @compile-time-eval
3087 * @refcount 1
3088 */
3089function php_uname(string $mode = "a"): string {}
3090
3091/** @refcount 1 */
3092function php_ini_scanned_files(): string|false {}
3093
3094/** @refcount 1 */
3095function php_ini_loaded_file(): string|false {}
3096
3097/* iptc.c */
3098
3099/** @refcount 1 */
3100function iptcembed(string $iptc_data, string $filename, int $spool = 0): string|bool {}
3101
3102/**
3103 * @return array<string, array>|false
3104 * @refcount 1
3105 */
3106function iptcparse(string $iptc_block): array|false {}
3107
3108/* levenshtein.c */
3109
3110function levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1): int {}
3111
3112/* link.c */
3113
3114#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32))
3115/** @refcount 1 */
3116function readlink(string $path): string|false {}
3117
3118function linkinfo(string $path): int|false {}
3119
3120function symlink(string $target, string $link): bool {}
3121
3122function link(string $target, string $link): bool {}
3123#endif
3124
3125/* mail.c */
3126
3127function mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool {}
3128
3129/* math.c */
3130
3131/** @compile-time-eval */
3132function abs(int|float $num): int|float {}
3133
3134/** @compile-time-eval */
3135function ceil(int|float $num): float {}
3136
3137/** @compile-time-eval */
3138function floor(int|float $num): float {}
3139
3140/** @compile-time-eval */
3141function round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float {}
3142
3143/** @compile-time-eval */
3144function sin(float $num): float {}
3145
3146/** @compile-time-eval */
3147function cos(float $num): float {}
3148
3149/** @compile-time-eval */
3150function tan(float $num): float {}
3151
3152/** @compile-time-eval */
3153function asin(float $num): float {}
3154
3155/** @compile-time-eval */
3156function acos(float $num): float {}
3157
3158/** @compile-time-eval */
3159function atan(float $num): float {}
3160
3161/** @compile-time-eval */
3162function atanh(float $num): float {}
3163
3164/** @compile-time-eval */
3165function atan2(float $y, float $x): float {}
3166
3167/** @compile-time-eval */
3168function sinh(float $num): float {}
3169
3170/** @compile-time-eval */
3171function cosh(float $num): float {}
3172
3173/** @compile-time-eval */
3174function tanh(float $num): float {}
3175
3176/** @compile-time-eval */
3177function asinh(float $num): float {}
3178
3179/** @compile-time-eval */
3180function acosh(float $num): float {}
3181
3182/** @compile-time-eval */
3183function expm1(float $num): float {}
3184
3185/** @compile-time-eval */
3186function log1p(float $num): float {}
3187
3188/** @compile-time-eval */
3189function pi(): float {}
3190
3191/** @compile-time-eval */
3192function is_finite(float $num): bool {}
3193
3194/** @compile-time-eval */
3195function is_nan(float $num): bool {}
3196
3197/** @compile-time-eval */
3198function intdiv(int $num1, int $num2): int {}
3199
3200/** @compile-time-eval */
3201function is_infinite(float $num): bool {}
3202
3203/** @compile-time-eval */
3204function pow(mixed $num, mixed $exponent): int|float|object {}
3205
3206/** @compile-time-eval */
3207function exp(float $num): float {}
3208
3209/** @compile-time-eval */
3210function log(float $num, float $base = M_E): float {}
3211
3212/** @compile-time-eval */
3213function log10(float $num): float {}
3214
3215/** @compile-time-eval */
3216function sqrt(float $num): float {}
3217
3218/** @compile-time-eval */
3219function hypot(float $x, float $y): float {}
3220
3221/** @compile-time-eval */
3222function deg2rad(float $num): float {}
3223
3224/** @compile-time-eval */
3225function rad2deg(float $num): float {}
3226
3227/** @compile-time-eval */
3228function bindec(string $binary_string): int|float {}
3229
3230/** @compile-time-eval */
3231function hexdec(string $hex_string): int|float {}
3232
3233/** @compile-time-eval */
3234function octdec(string $octal_string): int|float {}
3235
3236/**
3237 * @compile-time-eval
3238 * @refcount 1
3239 */
3240function decbin(int $num): string {}
3241
3242/**
3243 * @compile-time-eval
3244 * @refcount 1
3245 */
3246function decoct(int $num): string {}
3247
3248/**
3249 * @compile-time-eval
3250 * @refcount 1
3251 * @frameless-function {"arity": 1}
3252 */
3253function dechex(int $num): string {}
3254
3255/**
3256 * @compile-time-eval
3257 * @refcount 1
3258 */
3259function base_convert(string $num, int $from_base, int $to_base): string {}
3260
3261/**
3262 * @compile-time-eval
3263 * @refcount 1
3264 */
3265function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string {}
3266
3267/**
3268 * @compile-time-eval
3269 */
3270function fmod(float $num1, float $num2): float {}
3271
3272/**
3273 * @compile-time-eval
3274 */
3275function fdiv(float $num1, float $num2): float {}
3276
3277/* microtime.c */
3278
3279#ifdef HAVE_GETTIMEOFDAY
3280/** @refcount 1 */
3281function microtime(bool $as_float = false): string|float {}
3282
3283/**
3284 * @return array<string, int>|float
3285 * @refcount 1
3286 */
3287function gettimeofday(bool $as_float = false): array|float {}
3288#endif
3289
3290#ifdef HAVE_GETRUSAGE
3291/**
3292 * @return array<string, int>|false
3293 * @refcount 1
3294 */
3295function getrusage(int $mode = 0): array|false {}
3296#endif
3297
3298/* pack.c */
3299
3300/**
3301 * @compile-time-eval
3302 * @refcount 1
3303 */
3304function pack(string $format, mixed ...$values): string {}
3305
3306/**
3307 * @return array<int|string, mixed>|false
3308 * @compile-time-eval
3309 * @refcount 1
3310 */
3311function unpack(string $format, string $string, int $offset = 0): array|false {}
3312
3313/* password.c */
3314
3315/**
3316 * @return array<string, string|array|null>
3317 * @refcount 1
3318 */
3319function password_get_info(string $hash): array {}
3320
3321/**
3322 * @refcount 1
3323 */
3324function password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string {}
3325
3326function password_needs_rehash(string $hash, string|int|null $algo, array $options = []): bool {}
3327
3328function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {}
3329
3330/**
3331 * @compile-time-eval
3332 */
3333function password_algos(): array {}
3334
3335/* proc_open.c */
3336
3337#ifdef PHP_CAN_SUPPORT_PROC_OPEN
3338/**
3339 * @param array $pipes
3340 * @return resource|false
3341 * @refcount 1
3342 */
3343function proc_open(array|string $command, array $descriptor_spec, &$pipes, ?string $cwd = null, ?array $env_vars = null, ?array $options = null) {}
3344
3345/** @param resource $process */
3346function proc_close($process): int {}
3347
3348/** @param resource $process */
3349function proc_terminate($process, int $signal = 15): bool {}
3350
3351/**
3352 * @param resource $process
3353 * @return array<string, bool|int|string>
3354 * @refcount 1
3355 */
3356function proc_get_status($process): array {}
3357#endif
3358
3359/* quot_print.c */
3360
3361/**
3362 * @compile-time-eval
3363 * @refcount 1
3364 */
3365function quoted_printable_decode(string $string): string {}
3366
3367/**
3368 * @compile-time-eval
3369 * @refcount 1
3370 */
3371function quoted_printable_encode(string $string): string {}
3372
3373/* soundex.c */
3374
3375/** @refcount 1 */
3376function soundex(string $string): string {}
3377
3378/* streamsfuncs.c */
3379
3380function stream_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, ?int $microseconds = null): int|false {}
3381
3382/**
3383 * @return resource
3384 * @refcount 1
3385 */
3386function stream_context_create(?array $options = null, ?array $params = null) {}
3387
3388/** @param resource $context */
3389function stream_context_set_params($context, array $params): true {}
3390
3391/**
3392 * @param resource $context
3393 * @return array<string, mixed>
3394 * @refcount 1
3395 */
3396function stream_context_get_params($context): array {}
3397
3398/** @param resource $context */
3399function stream_context_set_option($context, array|string $wrapper_or_options, ?string $option_name = null, mixed $value = UNKNOWN): true {}
3400
3401/** @param resource $context */
3402function stream_context_set_options($context, array $options): true {}
3403
3404/**
3405 * @param resource $stream_or_context
3406 * @return array<string, mixed>
3407 */
3408function stream_context_get_options($stream_or_context): array {}
3409
3410/** @return resource */
3411function stream_context_get_default(?array $options = null) {}
3412
3413/** @return resource */
3414function stream_context_set_default(array $options) {}
3415
3416/**
3417 * @param resource $stream
3418 * @return resource|false
3419 */
3420function stream_filter_prepend($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3421
3422/**
3423 * @param resource $stream
3424 * @return resource|false
3425 */
3426function stream_filter_append($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3427
3428/** @param resource $stream_filter */
3429function stream_filter_remove($stream_filter): bool {}
3430
3431/**
3432 * @param int $error_code
3433 * @param string $error_message
3434 * @param resource|null $context
3435 * @return resource|false
3436 * @refcount 1
3437 */
3438function stream_socket_client(string $address, &$error_code = null, &$error_message = null, ?float $timeout = null, int $flags = STREAM_CLIENT_CONNECT, $context = null) {}
3439
3440/**
3441 * @param int $error_code
3442 * @param string $error_message
3443 * @param resource|null $context
3444 * @return resource|false
3445 * @refcount 1
3446 */
3447function stream_socket_server(string $address, &$error_code = null, &$error_message = null, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context = null) {}
3448
3449/**
3450 * @param resource $socket
3451 * @param string $peer_name
3452 * @return resource|false
3453 * @refcount 1
3454 */
3455function stream_socket_accept($socket, ?float $timeout = null, &$peer_name = null) {}
3456
3457/** @param resource $socket */
3458function stream_socket_get_name($socket, bool $remote): string|false {}
3459
3460/**
3461 * @param resource $socket
3462 * @param string|null $address
3463 * @refcount 1
3464 */
3465function stream_socket_recvfrom($socket, int $length, int $flags = 0, &$address = null): string|false {}
3466
3467/** @param resource $socket */
3468function stream_socket_sendto($socket, string $data, int $flags = 0, string $address = ""): int|false {}
3469
3470/**
3471 * @param resource $stream
3472 * @param resource|null $session_stream
3473 */
3474function stream_socket_enable_crypto($stream, bool $enable, ?int $crypto_method = null, $session_stream = null): int|bool {}
3475
3476#ifdef HAVE_SHUTDOWN
3477/** @param resource $stream */
3478function stream_socket_shutdown($stream, int $mode): bool {}
3479#endif
3480
3481#ifdef HAVE_SOCKETPAIR
3482/**
3483 * @return array<int, resource>|false
3484 * @refcount 1
3485 */
3486function stream_socket_pair(int $domain, int $type, int $protocol): array|false {}
3487#endif
3488
3489/**
3490 * @param resource $from
3491 * @param resource $to
3492 */
3493function stream_copy_to_stream($from, $to, ?int $length = null, int $offset = 0): int|false {}
3494
3495/**
3496 * @param resource $stream
3497 * @refcount 1
3498 */
3499function stream_get_contents($stream, ?int $length = null, int $offset = -1): string|false {}
3500
3501/** @param resource $stream */
3502function stream_supports_lock($stream): bool {}
3503
3504/** @param resource $stream */
3505function stream_set_write_buffer($stream, int $size): int {}
3506
3507/**
3508 * @param resource $stream
3509 * @alias stream_set_write_buffer
3510 */
3511function set_file_buffer($stream, int $size): int {}
3512
3513/** @param resource $stream */
3514function stream_set_read_buffer($stream, int $size): int {}
3515
3516/** @param resource $stream */
3517function stream_set_blocking($stream, bool $enable): bool {}
3518
3519/**
3520 * @param resource $stream
3521 * @alias stream_set_blocking
3522 */
3523function socket_set_blocking($stream, bool $enable): bool {}
3524
3525/**
3526 * @param resource $stream
3527 * @return array<string, mixed>
3528 */
3529function stream_get_meta_data($stream): array {}
3530
3531/**
3532 * @param resource $stream
3533 * @return array<string, mixed>
3534 * @alias stream_get_meta_data
3535 */
3536function socket_get_status($stream): array {}
3537
3538/**
3539 * @param resource $stream
3540 * @refcount 1
3541 */
3542function stream_get_line($stream, int $length, string $ending = ""): string|false {}
3543
3544/** @refcount 1 */
3545function stream_resolve_include_path(string $filename): string|false {}
3546
3547/**
3548 * @return array<int, string>
3549 * @refcount 1
3550 */
3551function stream_get_wrappers(): array {}
3552
3553/**
3554 * @return array<int, string>
3555 * @refcount 1
3556 */
3557function stream_get_transports(): array {}
3558
3559/** @param resource|string $stream */
3560function stream_is_local($stream): bool {}
3561
3562/** @param resource $stream */
3563function stream_isatty($stream): bool {}
3564
3565#ifdef PHP_WIN32
3566/** @param resource $stream */
3567function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {}
3568#endif
3569
3570/** @param resource $stream */
3571function stream_set_chunk_size($stream, int $size): int {}
3572
3573#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32))
3574/** @param resource $stream */
3575function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3576
3577/**
3578 * @param resource $stream
3579 * @alias stream_set_timeout
3580 */
3581function socket_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3582#endif
3583
3584/* type.c */
3585
3586/**
3587 * @compile-time-eval
3588 */
3589function gettype(mixed $value): string {}
3590
3591/**
3592 * @compile-time-eval
3593 */
3594function get_debug_type(mixed $value): string {}
3595
3596function settype(mixed &$var, string $type): bool {}
3597
3598/**
3599 * @compile-time-eval
3600 */
3601function intval(mixed $value, int $base = 10): int {}
3602
3603/**
3604 * @compile-time-eval
3605 */
3606function floatval(mixed $value): float {}
3607
3608/** @alias floatval */
3609function doubleval(mixed $value): float {}
3610
3611/**
3612 * @compile-time-eval
3613 */
3614function boolval(mixed $value): bool {}
3615
3616/**
3617 * @compile-time-eval
3618 */
3619function strval(mixed $value): string {}
3620
3621/**
3622 * @compile-time-eval
3623 */
3624function is_null(mixed $value): bool {}
3625
3626/**
3627 * @compile-time-eval
3628 */
3629function is_resource(mixed $value): bool {}
3630
3631/**
3632 * @compile-time-eval
3633 */
3634function is_bool(mixed $value): bool {}
3635
3636/**
3637 * @compile-time-eval
3638 */
3639function is_int(mixed $value): bool {}
3640
3641/** @alias is_int */
3642function is_integer(mixed $value): bool {}
3643
3644/** @alias is_int */
3645function is_long(mixed $value): bool {}
3646
3647/**
3648 * @compile-time-eval
3649 */
3650function is_float(mixed $value): bool {}
3651
3652/** @alias is_float */
3653function is_double(mixed $value): bool {}
3654
3655/**
3656 * @compile-time-eval
3657 * @frameless-function {"arity": 1}
3658 */
3659function is_numeric(mixed $value): bool {}
3660
3661/**
3662 * @compile-time-eval
3663 */
3664function is_string(mixed $value): bool {}
3665
3666/**
3667 * @compile-time-eval
3668 */
3669function is_array(mixed $value): bool {}
3670
3671/**
3672 * @compile-time-eval
3673 */
3674function is_object(mixed $value): bool {}
3675
3676/**
3677 * @compile-time-eval
3678 */
3679function is_scalar(mixed $value): bool {}
3680
3681/** @param string $callable_name */
3682function is_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): bool {}
3683
3684/**
3685 * @compile-time-eval
3686 */
3687function is_iterable(mixed $value): bool {}
3688
3689/**
3690 * @compile-time-eval
3691 */
3692function is_countable(mixed $value): bool {}
3693
3694/* uniqid.c */
3695
3696#ifdef HAVE_GETTIMEOFDAY
3697/** @refcount 1 */
3698function uniqid(string $prefix = "", bool $more_entropy = false): string {}
3699#endif
3700
3701/* url.c */
3702
3703/**
3704 * @return int|string|array<string, int|string>|null|false
3705 * @compile-time-eval
3706 * @refcount 1
3707 */
3708function parse_url(string $url, int $component = -1): int|string|array|null|false {}
3709
3710/**
3711 * @compile-time-eval
3712 * @refcount 1
3713 */
3714function urlencode(string $string): string {}
3715
3716/**
3717 * @compile-time-eval
3718 * @refcount 1
3719 */
3720function urldecode(string $string): string {}
3721
3722/**
3723 * @compile-time-eval
3724 * @refcount 1
3725 */
3726function rawurlencode(string $string): string {}
3727
3728/**
3729 * @compile-time-eval
3730 * @refcount 1
3731 */
3732function rawurldecode(string $string): string {}
3733
3734/**
3735 * @param resource|null $context
3736 * @return array<int|string, string|array>|false
3737 * @refcount 1
3738 */
3739function get_headers(string $url, bool $associative = false, $context = null): array|false {}
3740
3741/* user_filters.c */
3742
3743/**
3744 * @param resource $brigade
3745 * @refcount 1
3746 */
3747function stream_bucket_make_writeable($brigade): ?StreamBucket {}
3748
3749/** @param resource $brigade */
3750function stream_bucket_prepend($brigade, StreamBucket $bucket): void {}
3751
3752/** @param resource $brigade */
3753function stream_bucket_append($brigade, StreamBucket $bucket): void {}
3754
3755/**
3756 * @param resource $stream
3757 * @refcount 1
3758 */
3759function stream_bucket_new($stream, string $buffer): StreamBucket {}
3760
3761/**
3762 * @return array<int, string>
3763 * @refcount 1
3764 */
3765function stream_get_filters(): array {}
3766
3767function stream_filter_register(string $filter_name, string $class): bool {}
3768
3769/* uuencode.c */
3770
3771/**
3772 * @compile-time-eval
3773 * @refcount 1
3774 */
3775function convert_uuencode(string $string): string {}
3776
3777/**
3778 * @compile-time-eval
3779 * @refcount 1
3780 */
3781function convert_uudecode(string $string): string|false {}
3782
3783/* var.c */
3784
3785function var_dump(mixed $value, mixed ...$values): void {}
3786
3787/** @refcount 1 */
3788function var_export(mixed $value, bool $return = false): ?string {}
3789
3790function debug_zval_dump(mixed $value, mixed ...$values): void {}
3791
3792/**
3793 * @compile-time-eval
3794 * @refcount 1
3795 */
3796function serialize(mixed $value): string {}
3797
3798function unserialize(string $data, array $options = []): mixed {}
3799
3800function memory_get_usage(bool $real_usage = false): int {}
3801
3802function memory_get_peak_usage(bool $real_usage = false): int {}
3803
3804function memory_reset_peak_usage(): void {}
3805
3806/* versioning.c */
3807
3808/** @compile-time-eval */
3809function version_compare(string $version1, string $version2, ?string $operator = null): int|bool {}
3810
3811/* win32/codepage.c */
3812
3813#ifdef PHP_WIN32
3814function sapi_windows_cp_set(int $codepage): bool {}
3815
3816function sapi_windows_cp_get(string $kind = ""): int {}
3817
3818function sapi_windows_cp_conv(int|string $in_codepage, int|string $out_codepage, string $subject): ?string {}
3819
3820function sapi_windows_cp_is_utf8(): bool {}
3821
3822function sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool {}
3823
3824function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {}
3825#endif
3826