Rudiments
filesystem.h
1 // Copyright (c) 2003 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_FILESYSTEM_H
5 #define RUDIMENTS_FILESYSTEM_H
6 
7 #include <rudiments/private/filesystemincludes.h>
8 
16 class RUDIMENTS_DLLSPEC filesystem {
17  public:
19  filesystem();
20 
23  filesystem(const filesystem &f);
24 
27  filesystem &operator=(const filesystem &f);
28 
30  virtual ~filesystem();
31 
37  bool open(const char *path);
38 
43  bool open(int32_t fd);
44 
46  bool close();
47 
51  bool getCurrentProperties();
52 
54  int64_t getType() const;
55 
57  int64_t getBlockSize() const;
58 
60  int64_t getOptimumTransferBlockSize() const;
61 
64  int64_t getTotalBlocks() const;
65 
67  int64_t getFreeBlocks() const;
68 
71  int64_t getAvailableBlocks() const;
72 
75  int64_t getReservedBlocks() const;
76 
78  int64_t getTotalFileNodes() const;
79 
81  int64_t getFreeFileNodes() const;
82 
85  int64_t getAvailableFileNodes() const;
86 
89  int64_t getReservedFileNodes() const;
90 
92  int64_t getFileSystemId() const;
93 
96  int64_t getMaximumFileNameLength() const;
97 
99  uid_t getOwner() const;
100 
103  int64_t getSyncWrites() const;
104 
107  int64_t getAsyncWrites() const;
108 
110  const char *getTypeName() const;
111 
113  const char *getMountPoint() const;
114 
117  int64_t getSyncReads() const;
118 
121  int64_t getAsyncReads() const;
122 
124  const char *getDeviceName() const;
125 
127  const char *getFilesystemSpecificString() const;
128 
132  void *getInternalFilesystemStatisticsStructure();
133 
134  #include <rudiments/private/filesystem.h>
135 };
136 
137 #endif
Definition: filesystem.h:16