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|false {}
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 {} // TODO make return type void
2236#endif
2237
2238/** @refcount 1 */
2239function inet_ntop(string $ip): string|false {}
2240
2241#ifdef HAVE_INET_PTON
2242/** @refcount 1 */
2243function inet_pton(string $ip): string|false {}
2244#endif
2245
2246/* metaphone.c */
2247
2248/** @refcount 1 */
2249function metaphone(string $string, int $max_phonemes = 0): string {}
2250
2251/* {{{ head.c */
2252function header(string $header, bool $replace = true, int $response_code = 0): void {}
2253
2254function header_remove(?string $name = null): void {}
2255
2256function setrawcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2257
2258function setcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2259
2260function http_response_code(int $response_code = 0): int|bool {}
2261
2262/**
2263 * @param string $filename
2264 * @param int $line
2265 */
2266function headers_sent(&$filename = null, &$line = null): bool {}
2267
2268/**
2269 * @return array<int, string>
2270 * @refcount 1
2271 */
2272function headers_list(): array {}
2273
2274/* {{{ html.c */
2275
2276/** @refcount 1 */
2277function htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2278
2279function htmlspecialchars_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string {}
2280
2281function html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string {}
2282
2283/** @refcount 1 */
2284function htmlentities(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2285
2286/**
2287 * @return array<string, string>
2288 * @refcount 1
2289 */
2290function get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array {}
2291
2292/* }}} */
2293
2294/* assert.c */
2295
2296function assert(mixed $assertion, Throwable|string|null $description = null): bool {}
2297
2298/** @deprecated */
2299function assert_options(int $option, mixed $value = UNKNOWN): mixed {}
2300
2301/* string.c */
2302
2303/**
2304 * @compile-time-eval
2305 * @refcount 1
2306 */
2307function bin2hex(string $string): string {}
2308
2309/**
2310 * @compile-time-eval
2311 * @refcount 1
2312 */
2313function hex2bin(string $string): string|false {}
2314
2315/**
2316 * @compile-time-eval
2317 */
2318function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2319
2320/**
2321 * @compile-time-eval
2322 */
2323function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2324
2325#ifdef HAVE_NL_LANGINFO
2326/** @refcount 1 */
2327function nl_langinfo(int $item): string|false {}
2328#endif
2329
2330function strcoll(string $string1, string $string2): int {}
2331
2332/**
2333 * @compile-time-eval
2334 * @frameless-function {"arity": 1}
2335 * @frameless-function {"arity": 2}
2336 */
2337function trim(string $string, string $characters = " \n\r\t\v\0"): string {}
2338
2339/** @compile-time-eval */
2340function rtrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2341
2342/** @alias rtrim */
2343function chop(string $string, string $characters = " \n\r\t\v\0"): string {}
2344
2345/** @compile-time-eval */
2346function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2347
2348/**
2349 * @compile-time-eval
2350 * @refcount 1
2351 */
2352function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {}
2353
2354/**
2355 * @return array<int, string>
2356 * @compile-time-eval
2357 * @refcount 1
2358 */
2359function explode(string $separator, string $string, int $limit = PHP_INT_MAX): array {}
2360
2361/**
2362 * @compile-time-eval
2363 * @frameless-function {"arity": 1}
2364 * @frameless-function {"arity": 2}
2365 */
2366function implode(string|array $separator, ?array $array = null): string {}
2367
2368/** @alias implode */
2369function join(string|array $separator, ?array $array = null): string {}
2370
2371/**
2372 * @refcount 1
2373 */
2374function strtok(string $string, ?string $token = null): string|false {}
2375
2376/** @compile-time-eval */
2377function strtoupper(string $string): string {}
2378
2379/** @compile-time-eval */
2380function strtolower(string $string): string {}
2381
2382function str_increment(string $string): string {}
2383
2384function str_decrement(string $string): string {}
2385
2386/** @refcount 1 */
2387function basename(string $path, string $suffix = ""): string {}
2388
2389/**
2390 * @refcount 1
2391 * @frameless-function {"arity": 1}
2392 * @frameless-function {"arity": 2}
2393 */
2394function dirname(string $path, int $levels = 1): string {}
2395
2396/**
2397 * @return array<string, string>|string
2398 * @refcount 1
2399 */
2400function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {}
2401
2402/**
2403 * @compile-time-eval
2404 * @refcount 1
2405 */
2406function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2407
2408/**
2409 * @compile-time-eval
2410 * @refcount 1
2411 * @frameless-function {"arity": 2}
2412 * @frameless-function {"arity": 3}
2413 */
2414function strstr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2415
2416/** @alias strstr */
2417function strchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2418
2419/**
2420 * @compile-time-eval
2421 * @frameless-function {"arity": 2}
2422 * @frameless-function {"arity": 3}
2423 */
2424function strpos(string $haystack, string $needle, int $offset = 0): int|false {}
2425
2426/** @compile-time-eval */
2427function stripos(string $haystack, string $needle, int $offset = 0): int|false {}
2428
2429/** @compile-time-eval */
2430function strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
2431
2432/** @compile-time-eval */
2433function strripos(string $haystack, string $needle, int $offset = 0): int|false {}
2434
2435/**
2436 * @compile-time-eval
2437 * @refcount 1
2438 */
2439function strrchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2440
2441/**
2442 * @compile-time-eval
2443 * @frameless-function {"arity": 2}
2444 */
2445function str_contains(string $haystack, string $needle): bool {}
2446
2447/**
2448 * @compile-time-eval
2449 * @frameless-function {"arity": 2}
2450 */
2451function str_starts_with(string $haystack, string $needle): bool {}
2452
2453/** @compile-time-eval */
2454function str_ends_with(string $haystack, string $needle): bool {}
2455
2456/**
2457 * @compile-time-eval
2458 * @refcount 1
2459 */
2460function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {}
2461
2462/**
2463 * @compile-time-eval
2464 * @frameless-function {"arity": 2}
2465 * @frameless-function {"arity": 3}
2466 */
2467function substr(string $string, int $offset, ?int $length = null): string {}
2468
2469/**
2470 * @return string|array<int|string, string>
2471 * @compile-time-eval
2472 */
2473function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {}
2474
2475/**
2476 * @compile-time-eval
2477 * @refcount 1
2478 */
2479function quotemeta(string $string): string {}
2480
2481/** @compile-time-eval */
2482function ord(string $character): int {}
2483
2484/**
2485 * @compile-time-eval
2486 * @refcount 1
2487 */
2488function chr(int $codepoint): string {}
2489
2490/** @compile-time-eval */
2491function ucfirst(string $string): string {}
2492
2493/** @compile-time-eval */
2494function lcfirst(string $string): string {}
2495
2496/**
2497 * @compile-time-eval
2498 * @refcount 1
2499 */
2500function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {}
2501
2502/**
2503 * @compile-time-eval
2504 * @frameless-function {"arity": 2}
2505 * @frameless-function {"arity": 3}
2506 */
2507function strtr(string $string, string|array $from, ?string $to = null): string {}
2508
2509/**
2510 * @compile-time-eval
2511 * @refcount 1
2512 */
2513function strrev(string $string): string {}
2514
2515/** @param float $percent */
2516function similar_text(string $string1, string $string2, &$percent = null): int {}
2517
2518/**
2519 * @compile-time-eval
2520 */
2521function addcslashes(string $string, string $characters): string {}
2522
2523/**
2524 * @compile-time-eval
2525 */
2526function addslashes(string $string): string {}
2527
2528/**
2529 * @compile-time-eval
2530 * @refcount 1
2531 */
2532function stripcslashes(string $string): string {}
2533
2534/**
2535 * @compile-time-eval
2536 * @refcount 1
2537 */
2538function stripslashes(string $string): string {}
2539
2540/**
2541 * @param int $count
2542 * @return string|array<int|string, string>
2543 * @compile-time-eval
2544 * @frameless-function {"arity": 3}
2545 */
2546function str_replace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2547
2548/**
2549 * @param int $count
2550 * @return string|array<int|string, string>
2551 * @compile-time-eval
2552 */
2553function str_ireplace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2554
2555/** @refcount 1 */
2556function hebrev(string $string, int $max_chars_per_line = 0): string {}
2557
2558/**
2559 * @compile-time-eval
2560 */
2561function nl2br(string $string, bool $use_xhtml = true): string {}
2562
2563/**
2564 * @compile-time-eval
2565 * @refcount 1
2566 */
2567function strip_tags(string $string, array|string|null $allowed_tags = null): string {}
2568
2569/**
2570 * @param array|string $locales
2571 * @param string $rest
2572 */
2573function setlocale(int $category, $locales, ...$rest): string|false {}
2574
2575/** @param array $result */
2576function parse_str(string $string, &$result): void {}
2577
2578/**
2579 * @return array<int, string|null>
2580 * @refcount 1
2581 */
2582function str_getcsv(string $string, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array {}
2583
2584/** @refcount 1 */
2585function str_repeat(string $string, int $times): string {}
2586
2587/**
2588 * @return array<int, int>|string
2589 * @compile-time-eval
2590 * @refcount 1
2591 */
2592function count_chars(string $string, int $mode = 0): array|string {}
2593
2594function strnatcmp(string $string1, string $string2): int {}
2595
2596/**
2597 * @return array<string, int|string|array>
2598 * @refcount 1
2599 */
2600function localeconv(): array {}
2601
2602function strnatcasecmp(string $string1, string $string2): int {}
2603
2604/**
2605 * @compile-time-eval
2606 */
2607function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {}
2608
2609function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {}
2610
2611/**
2612 * @return array<int, mixed>|int|null
2613 * @refcount 1
2614 */
2615function sscanf(string $string, string $format, mixed &...$vars): array|int|null {}
2616
2617/**
2618 * @compile-time-eval
2619 * @refcount 1
2620 */
2621function str_rot13(string $string): string {}
2622
2623/** @refcount 1 */
2624function str_shuffle(string $string): string {}
2625
2626/**
2627 * @return array<int, string>|int
2628 * @refcount 1
2629 */
2630function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int {}
2631
2632/**
2633 * @return array<int, string>
2634 * @compile-time-eval
2635 */
2636function str_split(string $string, int $length = 1): array {}
2637
2638/**
2639 * @compile-time-eval
2640 * @refcount 1
2641 */
2642function strpbrk(string $string, string $characters): string|false {}
2643
2644/**
2645 * @compile-time-eval
2646 */
2647function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {}
2648
2649/**
2650 * @compile-time-eval
2651 * @refcount 1
2652 * @deprecated
2653 */
2654function utf8_encode(string $string): string {}
2655
2656/**
2657 * @compile-time-eval
2658 * @refcount 1
2659 * @deprecated
2660 */
2661function utf8_decode(string $string): string {}
2662
2663/* dir.c */
2664
2665/**
2666 * @param resource|null $context
2667 * @return resource|false
2668 */
2669function opendir(string $directory, $context = null) {}
2670
2671/**
2672 * @param resource|null $context
2673 * @refcount 1
2674 */
2675function dir(string $directory, $context = null): Directory|false {}
2676
2677/** @param resource|null $dir_handle */
2678function closedir($dir_handle = null): void {}
2679
2680function chdir(string $directory): bool {}
2681
2682#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC))
2683function chroot(string $directory): bool {}
2684#endif
2685
2686/** @refcount 1 */
2687function getcwd(): string|false {}
2688
2689/** @param resource|null $dir_handle */
2690function rewinddir($dir_handle = null): void {}
2691
2692/**
2693 * @param resource|null $dir_handle
2694 * @refcount 1
2695 */
2696function readdir($dir_handle = null): string|false {}
2697
2698/**
2699 * @param resource|null $context
2700 * @return array<int, string>|false
2701 * @refcount 1
2702 */
2703function scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, $context = null): array|false {}
2704
2705#ifdef HAVE_GLOB
2706/**
2707 * @return array<int, string>|false
2708 * @refcount 1
2709 */
2710function glob(string $pattern, int $flags = 0): array|false {}
2711#endif
2712
2713/* exec.c */
2714
2715/**
2716 * @param array $output
2717 * @param int $result_code
2718 * @refcount 1
2719 */
2720function exec(string $command, &$output = null, &$result_code = null): string|false {}
2721
2722/**
2723 * @param int $result_code
2724 * @refcount 1
2725 */
2726function system(string $command, &$result_code = null): string|false {}
2727
2728/** @param int $result_code */
2729function passthru(string $command, &$result_code = null): false|null {}
2730
2731/** @refcount 1 */
2732function escapeshellcmd(string $command): string {}
2733
2734/** @refcount 1 */
2735function escapeshellarg(string $arg): string {}
2736
2737/** @refcount 1 */
2738function shell_exec(string $command): string|false|null {}
2739
2740#ifdef HAVE_NICE
2741function proc_nice(int $priority): bool {}
2742#endif
2743
2744/* file.c */
2745
2746/**
2747 * @param resource $stream
2748 * @param int $would_block
2749 */
2750function flock($stream, int $operation, &$would_block = null): bool {}
2751
2752/**
2753 * @return array<string, string>|false
2754 * @refcount 1
2755 */
2756function get_meta_tags(string $filename, bool $use_include_path = false): array|false {}
2757
2758/** @param resource $handle */
2759function pclose($handle): int {}
2760
2761/**
2762 * @return resource|false
2763 * @refcount 1
2764 */
2765function popen(string $command, string $mode) {}
2766
2767/** @param resource|null $context */
2768function readfile(string $filename, bool $use_include_path = false, $context = null): int|false {}
2769
2770/** @param resource $stream */
2771function rewind($stream): bool {}
2772
2773/** @param resource|null $context */
2774function rmdir(string $directory, $context = null): bool {}
2775
2776function umask(?int $mask = null): int {}
2777
2778/** @param resource $stream */
2779function fclose($stream): bool {}
2780
2781/** @param resource $stream */
2782function feof($stream): bool {}
2783
2784/** @param resource $stream */
2785function fgetc($stream): string|false {}
2786
2787/**
2788 * @param resource $stream
2789 * @refcount 1
2790 */
2791function fgets($stream, ?int $length = null): string|false {}
2792
2793/**
2794 * @param resource $stream
2795 * @refcount 1
2796 */
2797function fread($stream, int $length): string|false {}
2798
2799/**
2800 * @param resource|null $context
2801 * @return resource|false
2802 * @refcount 1
2803 */
2804function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {}
2805
2806/**
2807 * @param resource $stream
2808 * @return array<int, mixed>|int|false|null
2809 * @refcount 1
2810 */
2811function fscanf($stream, string $format, mixed &...$vars): array|int|false|null {}
2812
2813/** @param resource $stream */
2814function fpassthru($stream): int {}
2815
2816/** @param resource $stream */
2817function ftruncate($stream, int $size): bool {}
2818
2819/**
2820 * @param resource $stream
2821 * @return array<int|string, int>|false
2822 * @refcount 1
2823 */
2824function fstat($stream): array|false {}
2825
2826/** @param resource $stream */
2827function fseek($stream, int $offset, int $whence = SEEK_SET): int {}
2828
2829/** @param resource $stream */
2830function ftell($stream): int|false {}
2831
2832/** @param resource $stream */
2833function fflush($stream): bool {}
2834
2835/** @param resource $stream */
2836function fsync($stream): bool {}
2837
2838/** @param resource $stream */
2839function fdatasync($stream): bool {}
2840
2841/** @param resource $stream */
2842function fwrite($stream, string $data, ?int $length = null): int|false {}
2843
2844/**
2845 * @param resource $stream
2846 * @alias fwrite
2847 */
2848function fputs($stream, string $data, ?int $length = null): int|false {}
2849
2850/** @param resource|null $context */
2851function mkdir(string $directory, int $permissions = 0777, bool $recursive = false, $context = null): bool {}
2852
2853/** @param resource|null $context */
2854function rename(string $from, string $to, $context = null): bool {}
2855
2856/** @param resource|null $context */
2857function copy(string $from, string $to, $context = null): bool {}
2858
2859/** @refcount 1 */
2860function tempnam(string $directory, string $prefix): string|false {}
2861
2862/**
2863 * @return resource|false
2864 * @refcount 1
2865 */
2866function tmpfile() {}
2867
2868/**
2869 * @param resource|null $context
2870 * @return array<int, string>|false
2871 * @refcount 1
2872 */
2873function file(string $filename, int $flags = 0, $context = null): array|false {}
2874
2875/**
2876 * @param resource|null $context
2877 * @refcount 1
2878 */
2879function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, ?int $length = null): string|false {}
2880
2881/** @param resource|null $context */
2882function unlink(string $filename, $context = null): bool {}
2883
2884/** @param resource|null $context */
2885function file_put_contents(string $filename, mixed $data, int $flags = 0, $context = null): int|false {}
2886
2887/** @param resource $stream */
2888function fputcsv($stream, array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n"): int|false {}
2889
2890/**
2891 * @param resource $stream
2892 * @return array<int, string|null>|false
2893 * @refcount 1
2894 */
2895function fgetcsv($stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false {}
2896
2897/** @refcount 1 */
2898function realpath(string $path): string|false {}
2899
2900#ifdef HAVE_FNMATCH
2901function fnmatch(string $pattern, string $filename, int $flags = 0): bool {}
2902#endif
2903
2904/** @refcount 1 */
2905function sys_get_temp_dir(): string {}
2906
2907/* filestat.c */
2908
2909function fileatime(string $filename): int|false {}
2910
2911function filectime(string $filename): int|false {}
2912
2913function filegroup(string $filename): int|false {}
2914
2915function fileinode(string $filename): int|false {}
2916
2917function filemtime(string $filename): int|false {}
2918
2919function fileowner(string $filename): int|false {}
2920
2921function fileperms(string $filename): int|false {}
2922
2923function filesize(string $filename): int|false {}
2924
2925/** @refcount 1 */
2926function filetype(string $filename): string|false {}
2927
2928function file_exists(string $filename): bool {}
2929
2930function is_writable(string $filename): bool {}
2931
2932/** @alias is_writable */
2933function is_writeable(string $filename): bool {}
2934
2935function is_readable(string $filename): bool {}
2936
2937function is_executable(string $filename): bool {}
2938
2939function is_file(string $filename): bool {}
2940
2941function is_dir(string $filename): bool {}
2942
2943function is_link(string $filename): bool {}
2944
2945/**
2946 * @return array<int|string, bool|int|string>|false
2947 * @refcount 1
2948 */
2949function stat(string $filename): array|false {}
2950
2951/**
2952 * @return array<int|string, bool|int|string>|false
2953 * @refcount 1
2954 */
2955function lstat(string $filename): array|false {}
2956
2957function chown(string $filename, string|int $user): bool {}
2958
2959function chgrp(string $filename, string|int $group): bool {}
2960
2961#ifdef HAVE_LCHOWN
2962function lchown(string $filename, string|int $user): bool {}
2963
2964function lchgrp(string $filename, string|int $group): bool {}
2965#endif
2966
2967function chmod(string $filename, int $permissions): bool {}
2968
2969#ifdef HAVE_UTIME
2970function touch(string $filename, ?int $mtime = null, ?int $atime = null): bool {}
2971#endif
2972
2973function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {}
2974
2975function disk_total_space(string $directory): float|false {}
2976
2977function disk_free_space(string $directory): float|false {}
2978
2979/** @alias disk_free_space */
2980function diskfreespace(string $directory): float|false {}
2981
2982/**
2983 * @return array<string, array>
2984 * @refcount 1
2985 */
2986function realpath_cache_get(): array {}
2987
2988function realpath_cache_size(): int {}
2989
2990/* formatted_print.c */
2991
2992/** @refcount 1 */
2993function sprintf(string $format, mixed ...$values): string {}
2994
2995function printf(string $format, mixed ...$values): int {}
2996
2997function vprintf(string $format, array $values): int {}
2998
2999/** @refcount 1 */
3000function vsprintf(string $format, array $values): string {}
3001
3002/** @param resource $stream */
3003function fprintf($stream, string $format, mixed ...$values): int {}
3004
3005/** @param resource $stream */
3006function vfprintf($stream, string $format, array $values): int {}
3007
3008/* fsock.c */
3009
3010/**
3011 * @param int $error_code
3012 * @param string $error_message
3013 * @return resource|false
3014 * @refcount 1
3015 */
3016function fsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3017
3018/**
3019 * @param int $error_code
3020 * @param string $error_message
3021 * @return resource|false
3022 */
3023function pfsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3024
3025/* http.c */
3026
3027/** @refcount 1 */
3028function http_build_query(array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string {}
3029
3030/**
3031 * @param array|null $options
3032 * @return array<int, array>
3033 * @refcount 1
3034 */
3035function request_parse_body(?array $options = null): array {}
3036
3037/* image.c */
3038
3039/**
3040 * @compile-time-eval
3041 * @refcount 1
3042 */
3043function image_type_to_mime_type(int $image_type): string {}
3044
3045/**
3046 * @compile-time-eval
3047 * @refcount 1
3048 */
3049function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {}
3050
3051/**
3052 * @param array $image_info
3053 * @return array<int|string, int|string>|false
3054 * @refcount 1
3055 */
3056function getimagesize(string $filename, &$image_info = null): array|false {}
3057
3058/**
3059 * @param array $image_info
3060 * @return array<int|string, int|string>|false
3061 * @refcount 1
3062 */
3063function getimagesizefromstring(string $string, &$image_info = null): array|false {}
3064
3065/* info.c */
3066
3067function phpinfo(int $flags = INFO_ALL): true {} // make return type void
3068
3069/**
3070 * @compile-time-eval
3071 * @refcount 1
3072 */
3073function phpversion(?string $extension = null): string|false {}
3074
3075function phpcredits(int $flags = CREDITS_ALL): true {}
3076
3077/**
3078 * @compile-time-eval
3079 * @refcount 1
3080 */
3081function php_sapi_name(): string|false {}
3082
3083/**
3084 * @compile-time-eval
3085 * @refcount 1
3086 */
3087function php_uname(string $mode = "a"): string {}
3088
3089/** @refcount 1 */
3090function php_ini_scanned_files(): string|false {}
3091
3092/** @refcount 1 */
3093function php_ini_loaded_file(): string|false {}
3094
3095/* iptc.c */
3096
3097/** @refcount 1 */
3098function iptcembed(string $iptc_data, string $filename, int $spool = 0): string|bool {}
3099
3100/**
3101 * @return array<string, array>|false
3102 * @refcount 1
3103 */
3104function iptcparse(string $iptc_block): array|false {}
3105
3106/* levenshtein.c */
3107
3108function levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1): int {}
3109
3110/* link.c */
3111
3112#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32))
3113/** @refcount 1 */
3114function readlink(string $path): string|false {}
3115
3116function linkinfo(string $path): int|false {}
3117
3118function symlink(string $target, string $link): bool {}
3119
3120function link(string $target, string $link): bool {}
3121#endif
3122
3123/* mail.c */
3124
3125function mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool {}
3126
3127/* math.c */
3128
3129/** @compile-time-eval */
3130function abs(int|float $num): int|float {}
3131
3132/** @compile-time-eval */
3133function ceil(int|float $num): float {}
3134
3135/** @compile-time-eval */
3136function floor(int|float $num): float {}
3137
3138/** @compile-time-eval */
3139function round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float {}
3140
3141/** @compile-time-eval */
3142function sin(float $num): float {}
3143
3144/** @compile-time-eval */
3145function cos(float $num): float {}
3146
3147/** @compile-time-eval */
3148function tan(float $num): float {}
3149
3150/** @compile-time-eval */
3151function asin(float $num): float {}
3152
3153/** @compile-time-eval */
3154function acos(float $num): float {}
3155
3156/** @compile-time-eval */
3157function atan(float $num): float {}
3158
3159/** @compile-time-eval */
3160function atanh(float $num): float {}
3161
3162/** @compile-time-eval */
3163function atan2(float $y, float $x): float {}
3164
3165/** @compile-time-eval */
3166function sinh(float $num): float {}
3167
3168/** @compile-time-eval */
3169function cosh(float $num): float {}
3170
3171/** @compile-time-eval */
3172function tanh(float $num): float {}
3173
3174/** @compile-time-eval */
3175function asinh(float $num): float {}
3176
3177/** @compile-time-eval */
3178function acosh(float $num): float {}
3179
3180/** @compile-time-eval */
3181function expm1(float $num): float {}
3182
3183/** @compile-time-eval */
3184function log1p(float $num): float {}
3185
3186/** @compile-time-eval */
3187function pi(): float {}
3188
3189/** @compile-time-eval */
3190function is_finite(float $num): bool {}
3191
3192/** @compile-time-eval */
3193function is_nan(float $num): bool {}
3194
3195/** @compile-time-eval */
3196function intdiv(int $num1, int $num2): int {}
3197
3198/** @compile-time-eval */
3199function is_infinite(float $num): bool {}
3200
3201/** @compile-time-eval */
3202function pow(mixed $num, mixed $exponent): int|float|object {}
3203
3204/** @compile-time-eval */
3205function exp(float $num): float {}
3206
3207/** @compile-time-eval */
3208function log(float $num, float $base = M_E): float {}
3209
3210/** @compile-time-eval */
3211function log10(float $num): float {}
3212
3213/** @compile-time-eval */
3214function sqrt(float $num): float {}
3215
3216/** @compile-time-eval */
3217function hypot(float $x, float $y): float {}
3218
3219/** @compile-time-eval */
3220function deg2rad(float $num): float {}
3221
3222/** @compile-time-eval */
3223function rad2deg(float $num): float {}
3224
3225/** @compile-time-eval */
3226function bindec(string $binary_string): int|float {}
3227
3228/** @compile-time-eval */
3229function hexdec(string $hex_string): int|float {}
3230
3231/** @compile-time-eval */
3232function octdec(string $octal_string): int|float {}
3233
3234/**
3235 * @compile-time-eval
3236 * @refcount 1
3237 */
3238function decbin(int $num): string {}
3239
3240/**
3241 * @compile-time-eval
3242 * @refcount 1
3243 */
3244function decoct(int $num): string {}
3245
3246/**
3247 * @compile-time-eval
3248 * @refcount 1
3249 * @frameless-function {"arity": 1}
3250 */
3251function dechex(int $num): string {}
3252
3253/**
3254 * @compile-time-eval
3255 * @refcount 1
3256 */
3257function base_convert(string $num, int $from_base, int $to_base): string {}
3258
3259/**
3260 * @compile-time-eval
3261 * @refcount 1
3262 */
3263function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string {}
3264
3265/**
3266 * @compile-time-eval
3267 */
3268function fmod(float $num1, float $num2): float {}
3269
3270/**
3271 * @compile-time-eval
3272 */
3273function fdiv(float $num1, float $num2): float {}
3274
3275/* microtime.c */
3276
3277#ifdef HAVE_GETTIMEOFDAY
3278/** @refcount 1 */
3279function microtime(bool $as_float = false): string|float {}
3280
3281/**
3282 * @return array<string, int>|float
3283 * @refcount 1
3284 */
3285function gettimeofday(bool $as_float = false): array|float {}
3286#endif
3287
3288#ifdef HAVE_GETRUSAGE
3289/**
3290 * @return array<string, int>|false
3291 * @refcount 1
3292 */
3293function getrusage(int $mode = 0): array|false {}
3294#endif
3295
3296/* pack.c */
3297
3298/**
3299 * @compile-time-eval
3300 * @refcount 1
3301 */
3302function pack(string $format, mixed ...$values): string {}
3303
3304/**
3305 * @return array<int|string, mixed>|false
3306 * @compile-time-eval
3307 * @refcount 1
3308 */
3309function unpack(string $format, string $string, int $offset = 0): array|false {}
3310
3311/* password.c */
3312
3313/**
3314 * @return array<string, string|array|null>
3315 * @refcount 1
3316 */
3317function password_get_info(string $hash): array {}
3318
3319/**
3320 * @refcount 1
3321 */
3322function password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string {}
3323
3324function password_needs_rehash(string $hash, string|int|null $algo, array $options = []): bool {}
3325
3326function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {}
3327
3328/**
3329 * @compile-time-eval
3330 */
3331function password_algos(): array {}
3332
3333/* proc_open.c */
3334
3335#ifdef PHP_CAN_SUPPORT_PROC_OPEN
3336/**
3337 * @param array $pipes
3338 * @return resource|false
3339 * @refcount 1
3340 */
3341function proc_open(array|string $command, array $descriptor_spec, &$pipes, ?string $cwd = null, ?array $env_vars = null, ?array $options = null) {}
3342
3343/** @param resource $process */
3344function proc_close($process): int {}
3345
3346/** @param resource $process */
3347function proc_terminate($process, int $signal = 15): bool {}
3348
3349/**
3350 * @param resource $process
3351 * @return array<string, bool|int|string>
3352 * @refcount 1
3353 */
3354function proc_get_status($process): array {}
3355#endif
3356
3357/* quot_print.c */
3358
3359/**
3360 * @compile-time-eval
3361 * @refcount 1
3362 */
3363function quoted_printable_decode(string $string): string {}
3364
3365/**
3366 * @compile-time-eval
3367 * @refcount 1
3368 */
3369function quoted_printable_encode(string $string): string {}
3370
3371/* soundex.c */
3372
3373/** @refcount 1 */
3374function soundex(string $string): string {}
3375
3376/* streamsfuncs.c */
3377
3378function stream_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, ?int $microseconds = null): int|false {}
3379
3380/**
3381 * @return resource
3382 * @refcount 1
3383 */
3384function stream_context_create(?array $options = null, ?array $params = null) {}
3385
3386/** @param resource $context */
3387function stream_context_set_params($context, array $params): true {}
3388
3389/**
3390 * @param resource $context
3391 * @return array<string, mixed>
3392 * @refcount 1
3393 */
3394function stream_context_get_params($context): array {}
3395
3396/** @param resource $context */
3397function stream_context_set_option($context, array|string $wrapper_or_options, ?string $option_name = null, mixed $value = UNKNOWN): true {}
3398
3399/** @param resource $context */
3400function stream_context_set_options($context, array $options): true {}
3401
3402/**
3403 * @param resource $stream_or_context
3404 * @return array<string, mixed>
3405 */
3406function stream_context_get_options($stream_or_context): array {}
3407
3408/** @return resource */
3409function stream_context_get_default(?array $options = null) {}
3410
3411/** @return resource */
3412function stream_context_set_default(array $options) {}
3413
3414/**
3415 * @param resource $stream
3416 * @return resource|false
3417 */
3418function stream_filter_prepend($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3419
3420/**
3421 * @param resource $stream
3422 * @return resource|false
3423 */
3424function stream_filter_append($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3425
3426/** @param resource $stream_filter */
3427function stream_filter_remove($stream_filter): bool {}
3428
3429/**
3430 * @param int $error_code
3431 * @param string $error_message
3432 * @param resource|null $context
3433 * @return resource|false
3434 * @refcount 1
3435 */
3436function stream_socket_client(string $address, &$error_code = null, &$error_message = null, ?float $timeout = null, int $flags = STREAM_CLIENT_CONNECT, $context = null) {}
3437
3438/**
3439 * @param int $error_code
3440 * @param string $error_message
3441 * @param resource|null $context
3442 * @return resource|false
3443 * @refcount 1
3444 */
3445function stream_socket_server(string $address, &$error_code = null, &$error_message = null, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context = null) {}
3446
3447/**
3448 * @param resource $socket
3449 * @param string $peer_name
3450 * @return resource|false
3451 * @refcount 1
3452 */
3453function stream_socket_accept($socket, ?float $timeout = null, &$peer_name = null) {}
3454
3455/** @param resource $socket */
3456function stream_socket_get_name($socket, bool $remote): string|false {}
3457
3458/**
3459 * @param resource $socket
3460 * @param string|null $address
3461 * @refcount 1
3462 */
3463function stream_socket_recvfrom($socket, int $length, int $flags = 0, &$address = null): string|false {}
3464
3465/** @param resource $socket */
3466function stream_socket_sendto($socket, string $data, int $flags = 0, string $address = ""): int|false {}
3467
3468/**
3469 * @param resource $stream
3470 * @param resource|null $session_stream
3471 */
3472function stream_socket_enable_crypto($stream, bool $enable, ?int $crypto_method = null, $session_stream = null): int|bool {}
3473
3474#ifdef HAVE_SHUTDOWN
3475/** @param resource $stream */
3476function stream_socket_shutdown($stream, int $mode): bool {}
3477#endif
3478
3479#ifdef HAVE_SOCKETPAIR
3480/**
3481 * @return array<int, resource>|false
3482 * @refcount 1
3483 */
3484function stream_socket_pair(int $domain, int $type, int $protocol): array|false {}
3485#endif
3486
3487/**
3488 * @param resource $from
3489 * @param resource $to
3490 */
3491function stream_copy_to_stream($from, $to, ?int $length = null, int $offset = 0): int|false {}
3492
3493/**
3494 * @param resource $stream
3495 * @refcount 1
3496 */
3497function stream_get_contents($stream, ?int $length = null, int $offset = -1): string|false {}
3498
3499/** @param resource $stream */
3500function stream_supports_lock($stream): bool {}
3501
3502/** @param resource $stream */
3503function stream_set_write_buffer($stream, int $size): int {}
3504
3505/**
3506 * @param resource $stream
3507 * @alias stream_set_write_buffer
3508 */
3509function set_file_buffer($stream, int $size): int {}
3510
3511/** @param resource $stream */
3512function stream_set_read_buffer($stream, int $size): int {}
3513
3514/** @param resource $stream */
3515function stream_set_blocking($stream, bool $enable): bool {}
3516
3517/**
3518 * @param resource $stream
3519 * @alias stream_set_blocking
3520 */
3521function socket_set_blocking($stream, bool $enable): bool {}
3522
3523/**
3524 * @param resource $stream
3525 * @return array<string, mixed>
3526 */
3527function stream_get_meta_data($stream): array {}
3528
3529/**
3530 * @param resource $stream
3531 * @return array<string, mixed>
3532 * @alias stream_get_meta_data
3533 */
3534function socket_get_status($stream): array {}
3535
3536/**
3537 * @param resource $stream
3538 * @refcount 1
3539 */
3540function stream_get_line($stream, int $length, string $ending = ""): string|false {}
3541
3542/** @refcount 1 */
3543function stream_resolve_include_path(string $filename): string|false {}
3544
3545/**
3546 * @return array<int, string>
3547 * @refcount 1
3548 */
3549function stream_get_wrappers(): array {}
3550
3551/**
3552 * @return array<int, string>
3553 * @refcount 1
3554 */
3555function stream_get_transports(): array {}
3556
3557/** @param resource|string $stream */
3558function stream_is_local($stream): bool {}
3559
3560/** @param resource $stream */
3561function stream_isatty($stream): bool {}
3562
3563#ifdef PHP_WIN32
3564/** @param resource $stream */
3565function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {}
3566#endif
3567
3568/** @param resource $stream */
3569function stream_set_chunk_size($stream, int $size): int {}
3570
3571#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32))
3572/** @param resource $stream */
3573function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3574
3575/**
3576 * @param resource $stream
3577 * @alias stream_set_timeout
3578 */
3579function socket_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3580#endif
3581
3582/* type.c */
3583
3584/**
3585 * @compile-time-eval
3586 */
3587function gettype(mixed $value): string {}
3588
3589/**
3590 * @compile-time-eval
3591 */
3592function get_debug_type(mixed $value): string {}
3593
3594function settype(mixed &$var, string $type): bool {}
3595
3596/**
3597 * @compile-time-eval
3598 */
3599function intval(mixed $value, int $base = 10): int {}
3600
3601/**
3602 * @compile-time-eval
3603 */
3604function floatval(mixed $value): float {}
3605
3606/** @alias floatval */
3607function doubleval(mixed $value): float {}
3608
3609/**
3610 * @compile-time-eval
3611 */
3612function boolval(mixed $value): bool {}
3613
3614/**
3615 * @compile-time-eval
3616 */
3617function strval(mixed $value): string {}
3618
3619/**
3620 * @compile-time-eval
3621 */
3622function is_null(mixed $value): bool {}
3623
3624/**
3625 * @compile-time-eval
3626 */
3627function is_resource(mixed $value): bool {}
3628
3629/**
3630 * @compile-time-eval
3631 */
3632function is_bool(mixed $value): bool {}
3633
3634/**
3635 * @compile-time-eval
3636 */
3637function is_int(mixed $value): bool {}
3638
3639/** @alias is_int */
3640function is_integer(mixed $value): bool {}
3641
3642/** @alias is_int */
3643function is_long(mixed $value): bool {}
3644
3645/**
3646 * @compile-time-eval
3647 */
3648function is_float(mixed $value): bool {}
3649
3650/** @alias is_float */
3651function is_double(mixed $value): bool {}
3652
3653/**
3654 * @compile-time-eval
3655 * @frameless-function {"arity": 1}
3656 */
3657function is_numeric(mixed $value): bool {}
3658
3659/**
3660 * @compile-time-eval
3661 */
3662function is_string(mixed $value): bool {}
3663
3664/**
3665 * @compile-time-eval
3666 */
3667function is_array(mixed $value): bool {}
3668
3669/**
3670 * @compile-time-eval
3671 */
3672function is_object(mixed $value): bool {}
3673
3674/**
3675 * @compile-time-eval
3676 */
3677function is_scalar(mixed $value): bool {}
3678
3679/** @param string $callable_name */
3680function is_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): bool {}
3681
3682/**
3683 * @compile-time-eval
3684 */
3685function is_iterable(mixed $value): bool {}
3686
3687/**
3688 * @compile-time-eval
3689 */
3690function is_countable(mixed $value): bool {}
3691
3692/* uniqid.c */
3693
3694#ifdef HAVE_GETTIMEOFDAY
3695/** @refcount 1 */
3696function uniqid(string $prefix = "", bool $more_entropy = false): string {}
3697#endif
3698
3699/* url.c */
3700
3701/**
3702 * @return int|string|array<string, int|string>|null|false
3703 * @compile-time-eval
3704 * @refcount 1
3705 */
3706function parse_url(string $url, int $component = -1): int|string|array|null|false {}
3707
3708/**
3709 * @compile-time-eval
3710 * @refcount 1
3711 */
3712function urlencode(string $string): string {}
3713
3714/**
3715 * @compile-time-eval
3716 * @refcount 1
3717 */
3718function urldecode(string $string): string {}
3719
3720/**
3721 * @compile-time-eval
3722 * @refcount 1
3723 */
3724function rawurlencode(string $string): string {}
3725
3726/**
3727 * @compile-time-eval
3728 * @refcount 1
3729 */
3730function rawurldecode(string $string): string {}
3731
3732/**
3733 * @param resource|null $context
3734 * @return array<int|string, string|array>|false
3735 * @refcount 1
3736 */
3737function get_headers(string $url, bool $associative = false, $context = null): array|false {}
3738
3739/* user_filters.c */
3740
3741/**
3742 * @param resource $brigade
3743 * @refcount 1
3744 */
3745function stream_bucket_make_writeable($brigade): ?object {}
3746
3747/** @param resource $brigade */
3748function stream_bucket_prepend($brigade, object $bucket): void {}
3749
3750/** @param resource $brigade */
3751function stream_bucket_append($brigade, object $bucket): void {}
3752
3753/**
3754 * @param resource $stream
3755 * @refcount 1
3756 */
3757function stream_bucket_new($stream, string $buffer): object {}
3758
3759/**
3760 * @return array<int, string>
3761 * @refcount 1
3762 */
3763function stream_get_filters(): array {}
3764
3765function stream_filter_register(string $filter_name, string $class): bool {}
3766
3767/* uuencode.c */
3768
3769/**
3770 * @compile-time-eval
3771 * @refcount 1
3772 */
3773function convert_uuencode(string $string): string {}
3774
3775/**
3776 * @compile-time-eval
3777 * @refcount 1
3778 */
3779function convert_uudecode(string $string): string|false {}
3780
3781/* var.c */
3782
3783function var_dump(mixed $value, mixed ...$values): void {}
3784
3785/** @refcount 1 */
3786function var_export(mixed $value, bool $return = false): ?string {}
3787
3788function debug_zval_dump(mixed $value, mixed ...$values): void {}
3789
3790/**
3791 * @compile-time-eval
3792 * @refcount 1
3793 */
3794function serialize(mixed $value): string {}
3795
3796function unserialize(string $data, array $options = []): mixed {}
3797
3798function memory_get_usage(bool $real_usage = false): int {}
3799
3800function memory_get_peak_usage(bool $real_usage = false): int {}
3801
3802function memory_reset_peak_usage(): void {}
3803
3804/* versioning.c */
3805
3806/** @compile-time-eval */
3807function version_compare(string $version1, string $version2, ?string $operator = null): int|bool {}
3808
3809/* win32/codepage.c */
3810
3811#ifdef PHP_WIN32
3812function sapi_windows_cp_set(int $codepage): bool {}
3813
3814function sapi_windows_cp_get(string $kind = ""): int {}
3815
3816function sapi_windows_cp_conv(int|string $in_codepage, int|string $out_codepage, string $subject): ?string {}
3817
3818function sapi_windows_cp_is_utf8(): bool {}
3819
3820function sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool {}
3821
3822function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {}
3823#endif
3824