1 /* 2 * Copyright (c) 2018 Intel Corporation 3 * Copyright (c) 2024 Tenstorrent AI ULC 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 8 #ifndef ZEPHYR_INCLUDE_POSIX_DIRENT_H_ 9 #define ZEPHYR_INCLUDE_POSIX_DIRENT_H_ 10 11 #include <zephyr/posix/sys/dirent.h> 12 #include <zephyr/toolchain.h> 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 #if (_POSIX_C_SOURCE >= 200809L) || (_XOPEN_SOURCE >= 700) 19 int alphasort(const struct dirent **d1, const struct dirent **d2); 20 #endif 21 int closedir(DIR *dirp); 22 #if (_POSIX_C_SOURCE >= 200809L) || (_XOPEN_SOURCE >= 700) 23 int dirfd(DIR *dirp); 24 #endif 25 DIR *fdopendir(int fd); 26 DIR *opendir(const char *dirname); 27 struct dirent *readdir(DIR *dirp); 28 #if (_POSIX_C_SOURCE >= 199506L) || (_XOPEN_SOURCE >= 500) 29 int readdir_r(DIR *ZRESTRICT dirp, struct dirent *ZRESTRICT entry, 30 struct dirent **ZRESTRICT result); 31 #endif 32 void rewinddir(DIR *dirp); 33 #if (_POSIX_C_SOURCE >= 200809L) || (_XOPEN_SOURCE >= 700) 34 int scandir(const char *dir, struct dirent ***namelist, int (*sel)(const struct dirent *), 35 int (*compar)(const struct dirent **, const struct dirent **)); 36 #endif 37 #if defined(_XOPEN_SOURCE) 38 void seekdir(DIR *dirp, long loc); 39 long telldir(DIR *dirp); 40 #endif 41 42 #ifdef __cplusplus 43 } 44 #endif 45 46 #endif /* ZEPHYR_INCLUDE_POSIX_DIRENT_H_ */ 47