Skip to content

Commit fee94da

Browse files
kocsismatecmb69
authored andcommitted
Add stubs for directory and file functions
1 parent aef8836 commit fee94da

File tree

4 files changed

+294
-183
lines changed

4 files changed

+294
-183
lines changed

ext/standard/basic_functions.c

Lines changed: 0 additions & 174 deletions
Original file line numberDiff line numberDiff line change
@@ -368,55 +368,7 @@ ZEND_BEGIN_ARG_INFO(arginfo_strptime, 0)
368368
ZEND_END_ARG_INFO()
369369
#endif
370370
/* }}} */
371-
/* {{{ dir.c */
372-
ZEND_BEGIN_ARG_INFO_EX(arginfo_opendir, 0, 0, 1)
373-
ZEND_ARG_INFO(0, path)
374-
ZEND_ARG_INFO(0, context)
375-
ZEND_END_ARG_INFO()
376-
377-
ZEND_BEGIN_ARG_INFO_EX(arginfo_dir, 0, 0, 1)
378-
ZEND_ARG_INFO(0, directory)
379-
ZEND_ARG_INFO(0, context)
380-
ZEND_END_ARG_INFO()
381-
382-
ZEND_BEGIN_ARG_INFO_EX(arginfo_closedir, 0, 0, 0)
383-
ZEND_ARG_INFO(0, dir_handle)
384-
ZEND_END_ARG_INFO()
385-
386-
#if defined(HAVE_CHROOT) && !defined(ZTS) && ENABLE_CHROOT_FUNC
387-
ZEND_BEGIN_ARG_INFO(arginfo_chroot, 0)
388-
ZEND_ARG_INFO(0, directory)
389-
ZEND_END_ARG_INFO()
390-
#endif
391-
392-
ZEND_BEGIN_ARG_INFO(arginfo_chdir, 0)
393-
ZEND_ARG_INFO(0, directory)
394-
ZEND_END_ARG_INFO()
395-
396-
ZEND_BEGIN_ARG_INFO(arginfo_getcwd, 0)
397-
ZEND_END_ARG_INFO()
398-
399-
ZEND_BEGIN_ARG_INFO_EX(arginfo_rewinddir, 0, 0, 0)
400-
ZEND_ARG_INFO(0, dir_handle)
401-
ZEND_END_ARG_INFO()
402-
403-
ZEND_BEGIN_ARG_INFO_EX(arginfo_readdir, 0, 0, 0)
404-
ZEND_ARG_INFO(0, dir_handle)
405-
ZEND_END_ARG_INFO()
406371

407-
#ifdef HAVE_GLOB
408-
ZEND_BEGIN_ARG_INFO_EX(arginfo_glob, 0, 0, 1)
409-
ZEND_ARG_INFO(0, pattern)
410-
ZEND_ARG_INFO(0, flags)
411-
ZEND_END_ARG_INFO()
412-
#endif
413-
414-
ZEND_BEGIN_ARG_INFO_EX(arginfo_scandir, 0, 0, 1)
415-
ZEND_ARG_INFO(0, dir)
416-
ZEND_ARG_INFO(0, sorting_order)
417-
ZEND_ARG_INFO(0, context)
418-
ZEND_END_ARG_INFO()
419-
/* }}} */
420372
/* {{{ dns.c */
421373
ZEND_BEGIN_ARG_INFO(arginfo_gethostbyaddr, 0)
422374
ZEND_ARG_INFO(0, ip_address)
@@ -691,133 +643,7 @@ ZEND_END_ARG_INFO()
691643
ZEND_BEGIN_ARG_INFO(arginfo_sys_get_temp_dir, 0)
692644
ZEND_END_ARG_INFO()
693645
/* }}} */
694-
/* {{{ filestat.c */
695-
ZEND_BEGIN_ARG_INFO(arginfo_disk_total_space, 0)
696-
ZEND_ARG_INFO(0, path)
697-
ZEND_END_ARG_INFO()
698-
699-
ZEND_BEGIN_ARG_INFO(arginfo_disk_free_space, 0)
700-
ZEND_ARG_INFO(0, path)
701-
ZEND_END_ARG_INFO()
702-
703-
ZEND_BEGIN_ARG_INFO(arginfo_chgrp, 0)
704-
ZEND_ARG_INFO(0, filename)
705-
ZEND_ARG_INFO(0, group)
706-
ZEND_END_ARG_INFO()
707-
708-
ZEND_BEGIN_ARG_INFO(arginfo_chown, 0)
709-
ZEND_ARG_INFO(0, filename)
710-
ZEND_ARG_INFO(0, user)
711-
ZEND_END_ARG_INFO()
712-
713-
#if HAVE_LCHOWN
714-
ZEND_BEGIN_ARG_INFO(arginfo_lchgrp, 0)
715-
ZEND_ARG_INFO(0, filename)
716-
ZEND_ARG_INFO(0, group)
717-
ZEND_END_ARG_INFO()
718646

719-
ZEND_BEGIN_ARG_INFO(arginfo_lchown, 0)
720-
ZEND_ARG_INFO(0, filename)
721-
ZEND_ARG_INFO(0, user)
722-
ZEND_END_ARG_INFO()
723-
#endif
724-
725-
ZEND_BEGIN_ARG_INFO(arginfo_chmod, 0)
726-
ZEND_ARG_INFO(0, filename)
727-
ZEND_ARG_INFO(0, mode)
728-
ZEND_END_ARG_INFO()
729-
730-
#if HAVE_UTIME
731-
ZEND_BEGIN_ARG_INFO_EX(arginfo_touch, 0, 0, 1)
732-
ZEND_ARG_INFO(0, filename)
733-
ZEND_ARG_INFO(0, time)
734-
ZEND_ARG_INFO(0, atime)
735-
ZEND_END_ARG_INFO()
736-
#endif
737-
738-
ZEND_BEGIN_ARG_INFO_EX(arginfo_clearstatcache, 0, 0, 0)
739-
ZEND_ARG_INFO(0, clear_realpath_cache)
740-
ZEND_ARG_INFO(0, filename)
741-
ZEND_END_ARG_INFO()
742-
743-
ZEND_BEGIN_ARG_INFO(arginfo_realpath_cache_size, 0)
744-
ZEND_END_ARG_INFO()
745-
746-
ZEND_BEGIN_ARG_INFO(arginfo_realpath_cache_get, 0)
747-
ZEND_END_ARG_INFO()
748-
749-
ZEND_BEGIN_ARG_INFO(arginfo_fileperms, 0)
750-
ZEND_ARG_INFO(0, filename)
751-
ZEND_END_ARG_INFO()
752-
753-
ZEND_BEGIN_ARG_INFO(arginfo_fileinode, 0)
754-
ZEND_ARG_INFO(0, filename)
755-
ZEND_END_ARG_INFO()
756-
757-
ZEND_BEGIN_ARG_INFO(arginfo_filesize, 0)
758-
ZEND_ARG_INFO(0, filename)
759-
ZEND_END_ARG_INFO()
760-
761-
ZEND_BEGIN_ARG_INFO(arginfo_fileowner, 0)
762-
ZEND_ARG_INFO(0, filename)
763-
ZEND_END_ARG_INFO()
764-
765-
ZEND_BEGIN_ARG_INFO(arginfo_filegroup, 0)
766-
ZEND_ARG_INFO(0, filename)
767-
ZEND_END_ARG_INFO()
768-
769-
ZEND_BEGIN_ARG_INFO(arginfo_fileatime, 0)
770-
ZEND_ARG_INFO(0, filename)
771-
ZEND_END_ARG_INFO()
772-
773-
ZEND_BEGIN_ARG_INFO(arginfo_filemtime, 0)
774-
ZEND_ARG_INFO(0, filename)
775-
ZEND_END_ARG_INFO()
776-
777-
ZEND_BEGIN_ARG_INFO(arginfo_filectime, 0)
778-
ZEND_ARG_INFO(0, filename)
779-
ZEND_END_ARG_INFO()
780-
781-
ZEND_BEGIN_ARG_INFO(arginfo_filetype, 0)
782-
ZEND_ARG_INFO(0, filename)
783-
ZEND_END_ARG_INFO()
784-
785-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_writable, _IS_BOOL, 0)
786-
ZEND_ARG_INFO(0, filename)
787-
ZEND_END_ARG_INFO()
788-
789-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_readable, _IS_BOOL, 0)
790-
ZEND_ARG_INFO(0, filename)
791-
ZEND_END_ARG_INFO()
792-
793-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_executable, _IS_BOOL, 0)
794-
ZEND_ARG_INFO(0, filename)
795-
ZEND_END_ARG_INFO()
796-
797-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_file, _IS_BOOL, 0)
798-
ZEND_ARG_INFO(0, filename)
799-
ZEND_END_ARG_INFO()
800-
801-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_dir, _IS_BOOL, 0)
802-
ZEND_ARG_INFO(0, filename)
803-
ZEND_END_ARG_INFO()
804-
805-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_link, _IS_BOOL, 0)
806-
ZEND_ARG_INFO(0, filename)
807-
ZEND_END_ARG_INFO()
808-
809-
ZEND_BEGIN_ARG_INFO(arginfo_file_exists, 0)
810-
ZEND_ARG_INFO(0, filename)
811-
ZEND_END_ARG_INFO()
812-
813-
ZEND_BEGIN_ARG_INFO(arginfo_lstat, 0)
814-
ZEND_ARG_INFO(0, filename)
815-
ZEND_END_ARG_INFO()
816-
817-
ZEND_BEGIN_ARG_INFO(arginfo_stat, 0)
818-
ZEND_ARG_INFO(0, filename)
819-
ZEND_END_ARG_INFO()
820-
/* }}} */
821647
/* {{{ formatted_print.c */
822648
ZEND_BEGIN_ARG_INFO_EX(arginfo_sprintf, 0, 0, 1)
823649
ZEND_ARG_INFO(0, format)

ext/standard/basic_functions.stub.php

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,3 +596,149 @@ function substr_compare(string $main_str, string $str, int $offset, ?int $length
596596
function utf8_encode(string $data): string {}
597597

598598
function utf8_decode(string $data): string {}
599+
600+
/* dir.c */
601+
602+
class Directory
603+
{
604+
/**
605+
* @param resource $dir_handle
606+
* @return void
607+
*/
608+
public function close($dir_handle = UNKNOWN) {}
609+
610+
/**
611+
* @param resource $dir_handle
612+
* @return void
613+
*/
614+
public function rewind($dir_handle = UNKNOWN) {}
615+
616+
/**
617+
* @param resource $dir_handle
618+
* @return string|false
619+
*/
620+
public function read($dir_handle = UNKNOWN) { }
621+
}
622+
623+
/**
624+
* @param resource $context
625+
* @return resource|false
626+
*/
627+
function opendir(string $path, $context = UNKNOWN) {}
628+
629+
/**
630+
* @param resource $context
631+
* @return Directory|false
632+
*/
633+
function dir(string $path, $context = UNKNOWN) {}
634+
635+
/** @param resource $dir_handle */
636+
function closedir($dir_handle = UNKNOWN): void {}
637+
638+
function chdir(string $directory): bool {}
639+
640+
#if defined(HAVE_CHROOT) && !defined(ZTS) && ENABLE_CHROOT_FUNC
641+
function chroot(string $directory): bool {}
642+
#endif
643+
644+
/** @return string|false */
645+
function getcwd() {}
646+
647+
/** @param resource $dir_handle */
648+
function rewinddir($dir_handle = UNKNOWN): void {}
649+
650+
/** @return string|false */
651+
function readdir($dir_handle = UNKNOWN) {}
652+
653+
/**
654+
* @param resource $context
655+
* @return array|false
656+
*/
657+
function scandir(string $directory, int $sorting_order = 0, $context = UNKNOWN) {}
658+
659+
#ifdef HAVE_GLOB
660+
/** @return array|false */
661+
function glob(string $pattern, int $flags = 0) {}
662+
#endif
663+
664+
/* filestat.c */
665+
666+
/** @return int|false */
667+
function fileatime(string $filename) {}
668+
669+
/** @return int|false */
670+
function filectime(string $filename) {}
671+
672+
/** @return int|false */
673+
function filegroup(string $filename) {}
674+
675+
/** @return int|false */
676+
function fileinode(string $filename) {}
677+
678+
/** @return int|false */
679+
function filemtime(string $filename) {}
680+
681+
/** @return int|false */
682+
function fileowner(string $filename) {}
683+
684+
/** @return int|false */
685+
function fileperms(string $filename) {}
686+
687+
/** @return int|false */
688+
function filesize(string $filename) {}
689+
690+
/** @return string|false */
691+
function filetype(string $filename) {}
692+
693+
function file_exists(string $filename): bool {}
694+
695+
function is_writable(string $filename): bool {}
696+
697+
function is_writeable(string $filename): bool {}
698+
699+
function is_readable(string $filename): bool {}
700+
701+
function is_executable(string $filename): bool {}
702+
703+
function is_file(string $filename): bool {}
704+
705+
function is_dir(string $filename): bool {}
706+
707+
function is_link(string $filename): bool {}
708+
709+
/** @return array|false */
710+
function stat(string $filename) {}
711+
712+
/** @return array|false */
713+
function lstat(string $filename) {}
714+
715+
function chown(string $filename, $user): bool {}
716+
717+
function chgrp(string $filename, $group): bool {}
718+
719+
#if HAVE_LCHOWN
720+
function lchown(string $filename, $user): bool {}
721+
722+
function lchgrp(string $filename, $group): bool {}
723+
#endif
724+
725+
function chmod(string $filename, int $mode): bool {}
726+
727+
#if HAVE_UTIME
728+
function touch(string $filename, int $time = 0, int $atime = 0): bool {}
729+
#endif
730+
731+
function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {}
732+
733+
/** @return float|false */
734+
function disk_total_space(string $directory) {}
735+
736+
/** @return float|false */
737+
function disk_free_space(string $directory) {}
738+
739+
/** @return float|false */
740+
function diskfreespace(string $directory) {}
741+
742+
function realpath_cache_get(): array {}
743+
744+
function realpath_cache_size(): int {}

0 commit comments

Comments
 (0)