Rudiments
directory.h
1 // Copyright (c) 2004 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_DIRECTORY_H
5 #define RUDIMENTS_DIRECTORY_H
6 
7 #include <rudiments/private/directoryincludes.h>
8 
9 class directoryprivate;
10 
13 class RUDIMENTS_DLLSPEC directory {
14  public:
16  directory();
17 
19  ~directory();
20 
22  bool open(const char *path);
23 
25  bool close();
26 
30  bool skip();
31 
36  char *read();
37 
40  void rewind();
41 
44  uint64_t getChildCount();
45 
51  char *getChildName(uint64_t index);
52 
55  int64_t maxFileNameLength();
56 
59  int64_t maxPathLength();
60 
65  bool canExceedMaxFileNameLength();
66 
68  static bool create(const char *path, mode_t perms);
69 
71  static bool remove(const char *path);
72 
78  static char *getCurrentWorkingDirectory();
79 
81  static bool changeDirectory(const char *path);
82 
84  static bool changeRoot(const char *path);
85 
88  static int64_t maxFileNameLength(const char *pathname);
89 
93  static int64_t maxPathLength(const char *pathname);
94 
99  static bool canExceedMaxFileNameLength(
100  const char *pathname);
101 
102  #include <rudiments/private/directory.h>
103 };
104 
105 #endif
Definition: directory.h:13