Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-11 09:22:16

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // Copyright (C) 2016 Intel Corporation.
0003 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0004 // Qt-Security score:significant reason:default
0005 
0006 #ifndef QSYSINFO_H
0007 #define QSYSINFO_H
0008 
0009 #include <QtCore/qtconfigmacros.h>
0010 #include <QtCore/qprocessordetection.h>
0011 #include <QtCore/qtcoreexports.h>
0012 
0013 QT_BEGIN_NAMESPACE
0014 
0015 /*
0016    System information
0017 */
0018 
0019 class QString;
0020 class QByteArray;
0021 
0022 class Q_CORE_EXPORT QSysInfo
0023 {
0024 public:
0025     enum Sizes {
0026         WordSize = (sizeof(void *)<<3)
0027     };
0028 
0029     enum Endian {
0030         BigEndian,
0031         LittleEndian
0032 #  ifdef Q_QDOC
0033         , ByteOrder = BigEndian or LittleEndian
0034 #  elif Q_BYTE_ORDER == Q_BIG_ENDIAN
0035         , ByteOrder = BigEndian
0036 #  elif Q_BYTE_ORDER == Q_LITTLE_ENDIAN
0037         , ByteOrder = LittleEndian
0038 #  else
0039 #    error "Undefined byte order"
0040 #  endif
0041     };
0042 
0043     static QString buildCpuArchitecture();
0044     static QString currentCpuArchitecture();
0045     static QString buildAbi();
0046 
0047     static QString kernelType();
0048     static QString kernelVersion();
0049     static QString productType();
0050     static QString productVersion();
0051     static QString prettyProductName();
0052 
0053     static QString machineHostName();
0054     static QByteArray machineUniqueId();
0055     static QByteArray bootUniqueId();
0056 };
0057 
0058 QT_END_NAMESPACE
0059 #endif // QSYSINFO_H