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 
9 class filesystemprivate;
10 
18 class RUDIMENTS_DLLSPEC filesystem {
19  public:
21  filesystem();
22 
25  filesystem(const filesystem &f);
26 
29  filesystem &operator=(const filesystem &f);
30 
32  virtual ~filesystem();
33 
39  bool initialize(const char *path);
40 
45  bool initialize(int32_t fd);
46 
48  int64_t getType() const;
49 
51  int64_t getBlockSize() const;
52 
54  int64_t getOptimumTransferBlockSize() const;
55 
58  int64_t getTotalBlocks() const;
59 
61  int64_t getFreeBlocks() const;
62 
65  int64_t getAvailableBlocks() const;
66 
68  int64_t getTotalFileNodes() const;
69 
71  int64_t getFreeFileNodes() const;
72 
75  int64_t getAvailableFileNodes() const;
76 
78  int64_t getFileSystemId() const;
79 
82  int64_t getMaximumFileNameLength() const;
83 
85  uid_t getOwner() const;
86 
89  int64_t getSyncWrites() const;
90 
93  int64_t getAsyncWrites() const;
94 
96  const char *getTypeName() const;
97 
99  const char *getMountPoint() const;
100 
103  int64_t getSyncReads() const;
104 
107  int64_t getAsyncReads() const;
108 
110  const char *getDeviceName() const;
111 
113  const char *getFilesystemSpecificString() const;
114 
118  bool getCurrentProperties();
119 
123  void *getInternalFilesystemStatisticsStructure();
124 
125  #include <rudiments/private/filesystem.h>
126 };
127 
128 #endif
Definition: filesystem.h:18