4 #ifndef RUDIMENTS_DIRECTORY_H
5 #define RUDIMENTS_DIRECTORY_H
7 #include <rudiments/private/directoryincludes.h>
9 class directoryprivate;
22 bool open(
const char *path);
44 uint64_t getChildCount();
51 char *getChildName(uint64_t index);
55 int64_t maxFileNameLength();
60 int64_t maxPathLength();
66 bool canAccessLongFileNames();
69 static bool create(
const char *path, mode_t perms);
72 static bool remove(
const char *path);
79 static char *getCurrentWorkingDirectory();
82 static bool changeDirectory(
const char *path);
85 static bool changeRoot(
const char *path);
89 static int64_t maxFileNameLength(
const char *pathname);
94 static int64_t maxPathLength(
const char *pathname);
100 static bool canAccessLongFileNames(
const char *pathname);
105 static bool needsMutex();
112 #include <rudiments/private/directory.h>