OSDN Git Service

Added function to detect the OS architecture (x86 vs x64).
[mutilities/MUtilities.git] / include / MUtils / OSSupport.h
index ca2cae9..92bbd85 100644 (file)
@@ -101,6 +101,16 @@ namespace MUtils
                }
 
                /**
+               * \brief This enumeration specifies possible operating system architectures
+               */
+               typedef enum
+               {
+                       ARCH_X86 = 1, ///< Intel x86 or compatible [32-bit]
+                       ARCH_X64 = 2  ///< x86-64, aka AMD64, aka Intel 64 [64-bit]
+               }
+               os_arch_t;
+
+               /**
                * \brief This enumeration specifies "known" folder identifiers
                */
                typedef enum
@@ -119,10 +129,12 @@ namespace MUtils
                        FOLDER_MUSIC_PUBL    = 12,  ///< The "all users" Music directory
                        FOLDER_VIDEO_USER    = 13,  ///< The user's Video directory
                        FOLDER_VIDEO_PUBL    = 14,  ///< The "all users" Video directory
-                       FOLDER_PROGRAMFILES  = 15,  ///< Program files
-                       FOLDER_SYSROOT       = 16,  ///< System "root" directory
-                       FOLDER_SYSTEM_DEF    = 17,  ///< System directory
-                       FOLDER_SYSTEM_X86    = 18,  ///< System directory for x86 (32-Bit)
+                       FOLDER_PROGRAMS_DEF  = 15,  ///< Program files
+                       FOLDER_PROGRAMS_X86  = 16,  ///< Program files
+                       FOLDER_PROGRAMS_X64  = 17,  ///< Program files
+                       FOLDER_SYSROOT       = 18,  ///< System "root" directory
+                       FOLDER_SYSTEM_DEF    = 19,  ///< System directory
+                       FOLDER_SYSTEM_X86    = 20,  ///< System directory for x86 (32-Bit)
                }
                known_folder_t;
                
@@ -172,6 +184,7 @@ namespace MUtils
                MUTILS_API const Version::os_version_t &os_version(void);
                MUTILS_API const char *os_friendly_name(const MUtils::OS::Version::os_version_t &os_version);
                MUTILS_API const bool &running_on_wine(void);
+               MUTILS_API const os_arch_t &os_architecture(void);
 
                //Get known Folder
                MUTILS_API const QString &known_folder(const known_folder_t folder_id);