security/sandbox/chromium/base/sys_info.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
     2 // Use of this source code is governed by a BSD-style license that can be
     3 // found in the LICENSE file.
     5 #ifndef BASE_SYS_INFO_H_
     6 #define BASE_SYS_INFO_H_
     8 #include <string>
    10 #include "base/base_export.h"
    11 #include "base/basictypes.h"
    12 #include "base/files/file_path.h"
    13 #include "build/build_config.h"
    15 namespace base {
    17 class BASE_EXPORT SysInfo {
    18  public:
    19   // Return the number of logical processors/cores on the current machine.
    20   static int NumberOfProcessors();
    22   // Return the number of bytes of physical memory on the current machine.
    23   static int64 AmountOfPhysicalMemory();
    25   // Return the number of bytes of current available physical memory on the
    26   // machine.
    27   static int64 AmountOfAvailablePhysicalMemory();
    29   // Return the number of megabytes of physical memory on the current machine.
    30   static int AmountOfPhysicalMemoryMB() {
    31     return static_cast<int>(AmountOfPhysicalMemory() / 1024 / 1024);
    32   }
    34   // Return the available disk space in bytes on the volume containing |path|,
    35   // or -1 on failure.
    36   static int64 AmountOfFreeDiskSpace(const FilePath& path);
    38   // Returns system uptime in milliseconds.
    39   static int64 Uptime();
    41   // Returns the name of the host operating system.
    42   static std::string OperatingSystemName();
    44   // Returns the version of the host operating system.
    45   static std::string OperatingSystemVersion();
    47   // Retrieves detailed numeric values for the OS version.
    48   // TODO(port): Implement a Linux version of this method and enable the
    49   // corresponding unit test.
    50   // DON'T USE THIS ON THE MAC OR WINDOWS to determine the current OS release
    51   // for OS version-specific feature checks and workarounds. If you must use
    52   // an OS version check instead of a feature check, use the base::mac::IsOS*
    53   // family from base/mac/mac_util.h, or base::win::GetVersion from
    54   // base/win/windows_version.h.
    55   static void OperatingSystemVersionNumbers(int32* major_version,
    56                                             int32* minor_version,
    57                                             int32* bugfix_version);
    59   // Returns the architecture of the running operating system.
    60   // Exact return value may differ across platforms.
    61   // e.g. a 32-bit x86 kernel on a 64-bit capable CPU will return "x86",
    62   //      whereas a x86-64 kernel on the same CPU will return "x86_64"
    63   static std::string OperatingSystemArchitecture();
    65   // Avoid using this. Use base/cpu.h to get information about the CPU instead.
    66   // http://crbug.com/148884
    67   // Returns the CPU model name of the system. If it can not be figured out,
    68   // an empty string is returned.
    69   static std::string CPUModelName();
    71   // Return the smallest amount of memory (in bytes) which the VM system will
    72   // allocate.
    73   static size_t VMAllocationGranularity();
    75 #if defined(OS_POSIX) && !defined(OS_MACOSX)
    76   // Returns the maximum SysV shared memory segment size.
    77   static size_t MaxSharedMemorySize();
    78 #endif  // defined(OS_POSIX) && !defined(OS_MACOSX)
    80 #if defined(OS_CHROMEOS)
    81   // Returns the name of the version entry we wish to look up in the
    82   // Linux Standard Base release information file.
    83   static std::string GetLinuxStandardBaseVersionKey();
    85   // Parses /etc/lsb-release to get version information for Google Chrome OS.
    86   // Declared here so it can be exposed for unit testing.
    87   static void ParseLsbRelease(const std::string& lsb_release,
    88                               int32* major_version,
    89                               int32* minor_version,
    90                               int32* bugfix_version);
    92   // Returns the path to the lsb-release file.
    93   static FilePath GetLsbReleaseFilePath();
    94 #endif  // defined(OS_CHROMEOS)
    96 #if defined(OS_ANDROID)
    97   // Returns the Android build's codename.
    98   static std::string GetAndroidBuildCodename();
   100   // Returns the Android build ID.
   101   static std::string GetAndroidBuildID();
   103   // Returns the device's name.
   104   static std::string GetDeviceName();
   106   static int DalvikHeapSizeMB();
   107   static int DalvikHeapGrowthLimitMB();
   108 #endif  // defined(OS_ANDROID)
   109 };
   111 }  // namespace base
   113 #endif  // BASE_SYS_INFO_H_

mercurial