jaulib v1.3.6
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
os_support.hpp File Reference
#include <cstdint>
#include <jau/byte_util.hpp>
#include <jau/int_types.hpp>
#include "jau/cpp_lang_util.hpp"
#include "jau/enum_util.hpp"
#include "jau/cpuid.hpp"
Include dependency graph for os_support.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  jau::os::RuntimeOSInfo
 

Namespaces

namespace  jau
 __pack(...): Produces MSVC, clang and gcc compatible lead-in and -out macros.
 
namespace  jau::os
 Author: Sven Gothel sgoth.nosp@m.el@j.nosp@m.ausof.nosp@m.t.co.nosp@m.m Copyright (c) 2024 Gothel Software e.K.
 
namespace  jau::os::impl
 

Macros

#define JAU_OS_HAS_PTHREAD   1
 
#define JAU_OS_TYPE_UNIX   1
 

Enumerations

enum class  jau::os::abi_type_t : uint16_t {
  jau::os::abi_type_t::generic = 0x00 , jau::os::abi_type_t::gnu_armel = 0x01 , jau::os::abi_type_t::gnu_armhf = 0x02 , jau::os::abi_type_t::aarch64 = 0x03 ,
  jau::os::abi_type_t::wasm32_gen = 0x20 , jau::os::abi_type_t::wasm32_ems = 0x21 , jau::os::abi_type_t::wasm64_gen = 0x2a , jau::os::abi_type_t::wasm64_ems = 0x2b
}
 
enum class  jau::os::os_type_t : uint32_t {
  jau::os::os_type_t::Unix = 0b00000000000000000000000000000001U , jau::os::os_type_t::Windows = 0b00000000000000000000000000000010U , jau::os::os_type_t::Linux = 0b00000000000000000000000100000001U , jau::os::os_type_t::Android = 0b00000000000000000000001100000001U ,
  jau::os::os_type_t::FreeBSD = 0b00000000000000000000010000000001U , jau::os::os_type_t::Darwin = 0b00000000000000000000100000000001U , jau::os::os_type_t::QnxNTO = 0b00000000000000000001000000000001U , jau::os::os_type_t::GenWasm = 0b00000001000000000000000000000000U ,
  jau::os::os_type_t::Emscripten = 0b00000001000000000000000000000001U , jau::os::os_type_t::native = impl::get_host_os_id()
}
 OS type bits and unique IDs. More...
 

Functions

constexpr_cxx20 std::string jau::os::dir_separator () noexcept
 Returns the OS's path separator as a string, e.g.
 
constexpr char jau::os::dir_separator_char () noexcept
 Returns the OS's path separator character, e.g.
 
abi_type_t jau::os::get_abi_type () noexcept
 
constexpr abi_type_t jau::os::get_abi_type (const jau::cpu::cpu_family_t cpu) noexcept
 
constexpr uint32_t jau::os::impl::get_host_os_id () noexcept
 
std::string jau::os::get_os_and_arch () noexcept
 Returns this hosts's common name, see get_os_and_arch()
 
std::string jau::os::get_os_and_arch (const os_type_t os, const jau::cpu::cpu_family_t cpu, const abi_type_t abi, const endian_t e) noexcept
 Returns the common name for the given os_type, jau::cpu::cpu_family, abi_type and endian.
 
std::string jau::os::get_platform_info () noexcept
 
std::string jau::os::get_platform_info (std::string &sb) noexcept
 
bool jau::os::get_rt_os_info (RuntimeOSInfo &info) noexcept
 
constexpr bool jau::os::has_pthread () noexcept
 Evaluates true if platform supports posix compatible threading.
 
constexpr bool jau::os::is_android () noexcept
 Evaluates true if platform os_type::native contains os_type::Android.
 
constexpr bool jau::os::is_darwin () noexcept
 Evaluates true if platform os_type::native contains os_type::Darwin.
 
constexpr bool jau::os::is_defined_os_type (const os_type_t v) noexcept
 Evaluates true if the given os_type is defined, i.e.
 
constexpr bool jau::os::is_emscripten () noexcept
 Evaluates true if platform os_type::native contains os_type::Emscripten.
 
constexpr bool jau::os::is_freebsd () noexcept
 Evaluates true if platform os_type::native contains os_type::FreeBSD.
 
constexpr bool jau::os::is_generic_wasm () noexcept
 Evaluates true if platform os_type::native contains os_type::GenWasm.
 
constexpr bool jau::os::is_linux () noexcept
 Evaluates true if platform os_type::native contains os_type::Linux.
 
constexpr bool jau::os::is_qnxnto () noexcept
 Evaluates true if platform os_type::native contains os_type::QnxNTO.
 
constexpr bool jau::os::is_unix () noexcept
 Evaluates true if platform os_type::native contains os_type::Unix.
 
constexpr bool jau::os::is_windows () noexcept
 Evaluates true if platform os_type::native contains os_type::Windows.
 
 jau::os::JAU_MAKE_BITFIELD_ENUM_STRING (os_type_t, Unix, Windows, Linux, Android, FreeBSD, Darwin, QnxNTO, GenWasm, Emscripten)
 
 jau::os::JAU_MAKE_ENUM_STRING (abi_type_t, generic, gnu_armel, gnu_armhf, aarch64, wasm32_gen, wasm32_ems, wasm64_gen, wasm64_ems)
 
constexpr_cxx20 std::string jau::os::path_separator () noexcept
 Returns the OS's path separator as a string, e.g.
 
constexpr char jau::os::path_separator_char () noexcept
 Returns the OS's path separator character, e.g.
 

Macro Definition Documentation

◆ JAU_OS_TYPE_UNIX

#define JAU_OS_TYPE_UNIX   1

◆ JAU_OS_HAS_PTHREAD

#define JAU_OS_HAS_PTHREAD   1