1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #pragma once
- #include <sys/cdefs.h>
- #include <sys/types.h>
- __BEGIN_DECLS
- enum {
- DT_UNKNOWN = 0,
- #define DT_UNKNOWN DT_UNKNOWN
- DT_FIFO = 1,
- #define DT_FIFO DT_FIFO
- DT_CHR = 2,
- #define DT_CHR DT_CHR
- DT_DIR = 4,
- #define DT_DIR DT_DIR
- DT_BLK = 6,
- #define DT_BLK DT_BLK
- DT_REG = 8,
- #define DT_REG DT_REG
- DT_LNK = 10,
- #define DT_LNK DT_LNK
- DT_SOCK = 12,
- #define DT_SOCK DT_SOCK
- DT_WHT = 14
- #define DT_WHT DT_WHT
- };
- struct dirent {
- ino_t d_ino;
- off_t d_off;
- unsigned short d_reclen;
- unsigned char d_type;
- char d_name[256];
- };
- struct __DIR {
- int fd;
- struct dirent cur_ent;
- char* buffer;
- size_t buffer_size;
- char* nextptr;
- };
- typedef struct __DIR DIR;
- DIR* opendir(const char* name);
- int closedir(DIR*);
- void rewinddir(DIR*);
- struct dirent* readdir(DIR*);
- int readdir_r(DIR*, struct dirent*, struct dirent**);
- int dirfd(DIR*);
- int scandir(const char* dirp, struct dirent*** namelist,
- int (*filter)(const struct dirent*),
- int (*compar)(const struct dirent**, const struct dirent**));
- __END_DECLS
|