18#ifndef ZEPHYR_INCLUDE_POSIX_DIRENT_H_
19#define ZEPHYR_INCLUDE_POSIX_DIRENT_H_
23#include <zephyr/toolchain.h>
29#if !defined(NAME_MAX) && defined(_XOPEN_SOURCE)
31#define NAME_MAX _XOPEN_NAME_MAX
34#if !defined(NAME_MAX) && defined(_POSIX_C_SOURCE)
36#define NAME_MAX _POSIX_NAME_MAX
48#if (_POSIX_C_SOURCE >= 200809L) || (_XOPEN_SOURCE >= 700)
69#if (_POSIX_C_SOURCE >= 200809L) || (_XOPEN_SOURCE >= 700)
106#if (_POSIX_C_SOURCE >= 199506L) || (_XOPEN_SOURCE >= 500)
117 struct dirent **ZRESTRICT result);
128#if (_POSIX_C_SOURCE >= 200809L) || (_XOPEN_SOURCE >= 700)
140 int (*compar)(
const struct dirent **,
const struct dirent **));
143#if defined(_XOPEN_SOURCE)
long telldir(DIR *dirp)
Get the current position of a directory stream (XSI extension).
DIR * fdopendir(int fd)
Open a directory stream for a directory identified by a file descriptor.
int alphasort(const struct dirent **d1, const struct dirent **d2)
Compare two directory entries alphabetically (for use with scandir()).
void DIR
Opaque directory stream type.
int readdir_r(DIR *ZRESTRICT dirp, struct dirent *ZRESTRICT entry, struct dirent **ZRESTRICT result)
Read a directory entry into a caller-supplied buffer (thread-safe).
void seekdir(DIR *dirp, long loc)
Set the position of a directory stream (XSI extension).
struct dirent * readdir(DIR *dirp)
Read the next entry from a directory stream.
int dirfd(DIR *dirp)
Get the file descriptor for an open directory stream.
int closedir(DIR *dirp)
Close a directory stream.
#define NAME_MAX
Maximum length of a file name component (XSI).
int scandir(const char *dir, struct dirent ***namelist, int(*sel)(const struct dirent *), int(*compar)(const struct dirent **, const struct dirent **))
Scan a directory, optionally filtering and sorting the entries.
void rewinddir(DIR *dirp)
Reset a directory stream to the beginning.
DIR * opendir(const char *dirname)
Open a directory stream for a named directory.
Directory entry returned by readdir().
char d_name[_XOPEN_NAME_MAX+1]
Filename (null-terminated).
unsigned int d_ino
File serial number.