directory.h
// Copyright (c) 2004 David Muse
// See the COPYING file for more information.
#ifndef RUDIMENTS_DIRECTORY_H
#define RUDIMENTS_DIRECTORY_H
#include <rudiments/private/directoryincludes.h>
class directoryprivate;
class RUDIMENTS_DLLSPEC directory {
public:
directory();
~directory();
bool open(const char *path);
bool close();
bool skip();
char *read();
void rewind();
uint64_t getChildCount();
char *getChildName(uint64_t index);
int64_t maxFileNameLength();
int64_t maxPathLength();
bool canAccessLongFileNames();
static bool create(const char *path, mode_t perms);
static bool remove(const char *path);
static char *getCurrentWorkingDirectory();
static bool changeDirectory(const char *path);
static bool changeRoot(const char *path);
static int64_t maxFileNameLength(const char *pathname);
static int64_t maxPathLength(const char *pathname);
static bool canAccessLongFileNames(const char *pathname);
static bool needsMutex();
static void setMutex(threadmutex *mtx);
#include <rudiments/private/directory.h>
};
#endif