exposed mode value.
[libasyncio] / utils / asyncio_system_tools.hpp
index 1cf01a2..5a4fb81 100644 (file)
@@ -30,6 +30,7 @@ on this file might be covered by the GNU General Public License.
 #define _ASYNCIO_SYSTEM_TOOLS_HPP_
 
 #include <string>
+#include <sys/types.h>
 
 
 namespace AsyncIo
@@ -69,6 +70,8 @@ class FileStat
 
         operator bool() const { return m_is_valid; }
 
+        mode_t mode() const { return m_mode; }
+
         bool is_regular_file() const { return m_is_regular_file; }
         bool is_directory() const { return m_is_directory; }
         bool is_character_device() const { return m_is_character_device; }
@@ -84,13 +87,15 @@ class FileStat
 
         bool m_is_valid;
 
-        bool m_is_regular_file;
-        bool m_is_directory;
-        bool m_is_character_device;
-        bool m_is_block_device;
-        bool m_is_fifo;
-        bool m_is_symbolic_link;
-        bool m_is_socket;
+        mode_t m_mode;
+
+        bool m_is_regular_file      :1;
+        bool m_is_directory         :1;
+        bool m_is_character_device  :1;
+        bool m_is_block_device      :1;
+        bool m_is_fifo              :1;
+        bool m_is_symbolic_link     :1;
+        bool m_is_socket            :1;
 
 }; // end of FileStat