GATE
os.h File Reference

OS information and control library. More...

Classes

struct  gate_os_cpuinfo_class
 
struct  gate_os_cpu_activation_class
 
struct  gate_os_cpu_load_state_class
 

Macros

#define GATE_OS_PLATFORM_UNKNOWN   0x00
 
#define GATE_OS_PLATFORM_WINDOWS   0x00010000
 
#define GATE_OS_PLATFORM_WINDOWS_3X   (GATE_OS_PLATFORM_WINDOWS | 0x0003)
 
#define GATE_OS_PLATFORM_WINDOWS_9X   (GATE_OS_PLATFORM_WINDOWS | 0x0009)
 
#define GATE_OS_PLATFORM_WINDOWS_NT   (GATE_OS_PLATFORM_WINDOWS | 0x0010)
 
#define GATE_OS_PLATFORM_WINDOWS_CE   (GATE_OS_PLATFORM_WINDOWS | 0x0020)
 
#define GATE_OS_PLATFORM_WINDOWS_IOT   (GATE_OS_PLATFORM_WINDOWS | 0x0030)
 
#define GATE_OS_PLATFORM_BSD   0x00020000
 
#define GATE_OS_PLATFORM_BSD_NETBSD   (GATE_OS_PLATFORM_BSD | 0x0010)
 
#define GATE_OS_PLATFORM_BSD_FREEBSD   (GATE_OS_PLATFORM_BSD | 0x0020)
 
#define GATE_OS_PLATFORM_BSD_OPENBSD   (GATE_OS_PLATFORM_BSD | 0x0040)
 
#define GATE_OS_PLATFORM_LINUX   0x00040000
 
#define GATE_OS_PLATFORM_LINUX_DEBIAN   (GATE_OS_PLATFORM_LINUX | 0x0010)
 
#define GATE_OS_PLATFORM_LINUX_UBUNTU   (GATE_OS_PLATFORM_LINUX | 0x0011)
 
#define GATE_OS_PLATFORM_LINUX_SUSE   (GATE_OS_PLATFORM_LINUX | 0x0020)
 
#define GATE_OS_PLATFORM_LINUX_ARCH   (GATE_OS_PLATFORM_LINUX | 0x0030)
 
#define GATE_OS_PLATFORM_LINUX_GENTOO   (GATE_OS_PLATFORM_LINUX | 0x0040)
 
#define GATE_OS_PLATFORM_LINUX_REDHAT   (GATE_OS_PLATFORM_LINUX | 0x0050)
 
#define GATE_OS_PLATFORM_LINUX_FEDORA   (GATE_OS_PLATFORM_LINUX | 0x0051)
 
#define GATE_OS_PLATFORM_LINUX_SLACKWARE   (GATE_OS_PLATFORM_LINUX | 0x0060)
 
#define GATE_OS_PLATFORM_LINUX_ANDROID   (GATE_OS_PLATFORM_LINUX | 0x00a0)
 
#define GATE_OS_PLATFORM_LINUX_EMBEDDED   (GATE_OS_PLATFORM_LINUX | 0x00e0)
 
#define GATE_OS_PLATFORM_DARWIN   0x00080000
 
#define GATE_OS_PLATFORM_DARWIN_MACOS   (GATE_OS_PLATFORM_DARWIN | 0x0010)
 
#define GATE_OS_PLATFORM_DARWIN_IOS   (GATE_OS_PLATFORM_DARWIN | 0x0020)
 
#define GATE_OS_PLATFORM_EFI   0x00100000
 
#define GATE_OS_PLATFORM_RTOS   0x00200000
 
#define GATE_OS_PLATFORM_DOS   0x00400000
 
#define GATE_OS_PLATFORM_MCU   0x01000000
 
#define GATE_OS_PLATFORM_WASM   0x02000000
 
#define GATE_OS_ARCH_UNKNOWN   0
 
#define GATE_OS_ARCH_X86_16   1
 
#define GATE_OS_ARCH_X86_32   2
 
#define GATE_OS_ARCH_X86_64   3
 
#define GATE_OS_ARCH_ITANIUM   4
 
#define GATE_OS_ARCH_ARM_32   5
 
#define GATE_OS_ARCH_ARM_64   6
 
#define GATE_OS_ARCH_MIPS   7
 
#define GATE_OS_ARCH_ALPHA   8
 
#define GATE_OS_ARCH_ALPHA_64   9
 
#define GATE_OS_ARCH_PPC   10
 
#define GATE_OS_ARCH_SHX   11
 
#define GATE_OS_ARCH_RISCV   12
 
#define GATE_OS_ARCH_WASM   13
 

Typedefs

typedef struct gate_os_cpuinfo_class gate_os_cpuinfo_t
 
typedef gate_bool_t(* gate_os_cpu_feature_callback_t) (char const *feature_name, void *param)
 
typedef struct gate_os_cpu_activation_class gate_os_cpu_activation_t
 
typedef struct gate_os_cpu_load_state_class gate_os_cpu_load_state_t
 

Functions

GATE_SYSTEM_API gate_result_t gate_os_get_platform (gate_uint32_t *ptr_platform)
 
GATE_SYSTEM_API char const * gate_os_get_platform_label (gate_uint32_t platform)
 
GATE_SYSTEM_API gate_uint32_t gate_os_address_space ()
 
GATE_SYSTEM_API gate_uint32_t gate_os_up_time_seconds ()
 
GATE_SYSTEM_API gate_result_t gate_os_print_osname (char *buffer, gate_size_t buffer_len, gate_size_t *buffer_used)
 
GATE_SYSTEM_API gate_result_t gate_os_print_productname (char *buffer, gate_size_t buffer_len, gate_size_t *buffer_used)
 
GATE_SYSTEM_API gate_result_t gate_os_get_version (gate_version_t *ptr_version)
 
GATE_SYSTEM_API gate_result_t gate_os_get_hostname_str (char *buffer, gate_size_t buffer_len, gate_size_t *buffer_used)
 
GATE_SYSTEM_API gate_result_t gate_os_get_hostname (gate_string_t *hostname)
 
GATE_SYSTEM_API gate_result_t gate_os_set_hostname (gate_string_t const *hostname)
 
GATE_SYSTEM_API gate_result_t gate_os_get_hostdomainname_str (char *buffer, gate_size_t buffer_len, gate_size_t *buffer_used)
 
GATE_SYSTEM_API gate_result_t gate_os_get_hostdomainname (gate_string_t *domainname)
 
GATE_SYSTEM_API gate_result_t gate_os_set_hostdomainname (gate_string_t const *domainname)
 
GATE_SYSTEM_API gate_result_t gate_os_get_uid (gate_uint8_t *buffer, gate_size_t buffer_len, gate_size_t *buffer_used)
 
GATE_SYSTEM_API gate_result_t gate_os_shutdown ()
 
GATE_SYSTEM_API gate_result_t gate_os_reboot ()
 
GATE_SYSTEM_API gate_result_t gate_os_get_cpu_architecture (gate_uint8_t *ptr_arch)
 
GATE_SYSTEM_API char const * gate_os_get_cpu_architecture_label (gate_uint8_t arch)
 
GATE_SYSTEM_API gate_result_t gate_os_get_cpu_info (gate_os_cpuinfo_t *info)
 
GATE_SYSTEM_API gate_result_t gate_os_enum_cpu_features (gate_os_cpu_feature_callback_t callback, void *param)
 
GATE_SYSTEM_API gate_bool_t gate_os_cpu_get_activation (gate_os_cpu_activation_t const *activation, gate_size_t id)
 
GATE_SYSTEM_API gate_result_t gate_os_cpu_set_activation (gate_os_cpu_activation_t *activation, gate_size_t id, gate_bool_t activated)
 
GATE_SYSTEM_API gate_result_t gate_os_get_process_cpu_affinity (gate_os_cpu_activation_t *affinity)
 
GATE_SYSTEM_API gate_result_t gate_os_set_process_cpu_affinity (gate_os_cpu_activation_t const *affinity)
 
GATE_SYSTEM_API gate_result_t gate_os_cpu_load_init (gate_os_cpu_load_state_t *state)
 
GATE_SYSTEM_API gate_result_t gate_os_cpu_load_update (gate_os_cpu_load_state_t *state, gate_uint16_t *load65535)
 
GATE_SYSTEM_API gate_result_t gate_os_cpu_load_uninit (gate_os_cpu_load_state_t *state)
 
GATE_SYSTEM_API gate_result_t gate_os_get_physical_memory (gate_uint64_t *ptr_total, gate_uint64_t *ptr_available)
 
GATE_SYSTEM_API gate_result_t gate_os_get_virtual_memory (gate_uint64_t *ptr_total, gate_uint64_t *ptr_available)
 

Detailed Description

OS information and control library.