Added readdir(3), closedir(3), rewinddir(3), dirfd(3), fdopendir(3),
opendir(3).
Also added non-standard dregister(3), dunregister(3), dclearerr(3),
derror(3), deof(3), dnewdir(3), dcloseall(3).
2012-01-14 20:54:02 +01:00
|
|
|
#ifndef _DIR_DECL
|
|
|
|
#define _DIR_DECL
|
|
|
|
struct dirent;
|
|
|
|
|
|
|
|
#define _DIR_REGISTERED (1<<0)
|
|
|
|
#define _DIR_ERROR (1<<1)
|
|
|
|
#define _DIR_EOF (1<<2)
|
|
|
|
typedef struct _DIR
|
|
|
|
{
|
2012-03-22 00:52:29 +01:00
|
|
|
void* user;
|
Added readdir(3), closedir(3), rewinddir(3), dirfd(3), fdopendir(3),
opendir(3).
Also added non-standard dregister(3), dunregister(3), dclearerr(3),
derror(3), deof(3), dnewdir(3), dcloseall(3).
2012-01-14 20:54:02 +01:00
|
|
|
int (*read_func)(void* user, struct dirent* dirent, size_t* size);
|
|
|
|
int (*rewind_func)(void* user);
|
|
|
|
int (*fd_func)(void* user);
|
|
|
|
int (*close_func)(void* user);
|
|
|
|
void (*free_func)(struct _DIR* dir);
|
|
|
|
/* Application writers shouldn't use anything beyond this point. */
|
|
|
|
struct _DIR* prev;
|
|
|
|
struct _DIR* next;
|
|
|
|
struct dirent* entry;
|
|
|
|
size_t entrysize;
|
|
|
|
int flags;
|
|
|
|
} DIR;
|
|
|
|
#endif
|