jaulib v1.3.0
Jau Support Library (C++, Java, ..)
Classes | Namespaces | Macros | Enumerations | Functions
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/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_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. More...
 
constexpr char jau::os::dir_separator_char () noexcept
 Returns the OS's path separator character, e.g. More...
 
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() More...
 
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. More...
 
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::is_android () noexcept
 Evaluates true if platform os_type::native contains os_type::Android. More...
 
constexpr bool jau::os::is_darwin () noexcept
 Evaluates true if platform os_type::native contains os_type::Darwin. More...
 
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. More...
 
constexpr bool jau::os::is_emscripten () noexcept
 Evaluates true if platform os_type::native contains os_type::Emscripten. More...
 
constexpr bool jau::os::is_freebsd () noexcept
 Evaluates true if platform os_type::native contains os_type::FreeBSD. More...
 
constexpr bool jau::os::is_generic_wasm () noexcept
 Evaluates true if platform os_type::native contains os_type::GenWasm. More...
 
constexpr bool jau::os::is_linux () noexcept
 Evaluates true if platform os_type::native contains os_type::Linux. More...
 
constexpr bool jau::os::is_qnxnto () noexcept
 Evaluates true if platform os_type::native contains os_type::QnxNTO. More...
 
constexpr bool jau::os::is_set (const os_type_t mask, const os_type_t bits) noexcept
 
constexpr bool jau::os::is_unix () noexcept
 Evaluates true if platform os_type::native contains os_type::Unix. More...
 
constexpr bool jau::os::is_windows () noexcept
 Evaluates true if platform os_type::native contains os_type::Windows. More...
 
constexpr uint32_t jau::os::number (const os_type_t rhs) noexcept
 
constexpr bool jau::os::operator!= (const os_type_t lhs, const os_type_t rhs) noexcept
 
constexpr os_type_t jau::os::operator& (const os_type_t lhs, const os_type_t rhs) noexcept
 
constexpr os_type_t & jau::os::operator&= (os_type_t &lhs, const os_type_t rhs) noexcept
 
constexpr bool jau::os::operator== (const os_type_t lhs, const os_type_t rhs) noexcept
 
constexpr os_type_t jau::os::operator^ (const os_type_t lhs, const os_type_t rhs) noexcept
 
constexpr os_type_t & jau::os::operator^= (os_type_t &lhs, const os_type_t rhs) noexcept
 
constexpr os_type_t jau::os::operator| (const os_type_t lhs, const os_type_t rhs) noexcept
 
constexpr os_type_t & jau::os::operator|= (os_type_t &lhs, const os_type_t rhs) noexcept
 
constexpr os_type_t jau::os::operator~ (const os_type_t rhs) noexcept
 
constexpr_cxx20 std::string jau::os::path_separator () noexcept
 Returns the OS's path separator as a string, e.g. More...
 
constexpr char jau::os::path_separator_char () noexcept
 Returns the OS's path separator character, e.g. More...
 
std::string jau::os::to_string (const abi_type_t abi) noexcept
 
std::string jau::os::to_string (const os_type_t mask) noexcept
 Return the string representation of os_type. More...
 

Macro Definition Documentation

◆ JAU_OS_TYPE_UNIX

#define JAU_OS_TYPE_UNIX   1