reflection/core

sourcereflection/core.sx

Platform

pub enum Platform = { Windows, Linux, Darwin, NetBSD, DragonflyBSD, FreeBSD, OpenBSD, Android, Haiku, Redox, Plan9, Unknown }

Variants

  • Windows
  • Linux
  • Darwin
  • NetBSD
  • DragonflyBSD
  • FreeBSD
  • OpenBSD
  • Android
  • Haiku
  • Redox
  • Plan9
  • Unknown

UnameResult

when darwin
extern type UnameResult = { sysname: [256]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }

Fields

NameType
sysname[256]u8
nodename[256]u8
release[256]u8
version[256]u8
machine[256]u8

UnameResult

when linux
extern type UnameResult = { sysname: [65]u8, nodename: [65]u8, release: [65]u8, version: [65]u8, machine: [65]u8, domainname: [65]u8 }

Fields

NameType
sysname[65]u8
nodename[65]u8
release[65]u8
version[65]u8
machine[65]u8
domainname[65]u8

UnameResult

when freebsd
extern type UnameResult = { sysname: [256]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }

Fields

NameType
sysname[256]u8
nodename[256]u8
release[256]u8
version[256]u8
machine[256]u8

UnameResult

when openbsd
extern type UnameResult = { sysname: [256]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }

Fields

NameType
sysname[256]u8
nodename[256]u8
release[256]u8
version[256]u8
machine[256]u8

UnameResult

when netbsd
extern type UnameResult = { sysname: [32]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }

Fields

NameType
sysname[32]u8
nodename[256]u8
release[256]u8
version[256]u8
machine[256]u8

uname

when posixprivate
extern (C) fn uname(buf: ref UnameResult) i32 = trust { ... } = "uname"

GetVersionExA

when windowsprivate
extern (C) fn GetVersionExA(lpVersionInformation: ref void) i32 = trust { ... } = "GetVersionExA"

get_current_platform

pub fn get_current_platform[T: allocators.Allocator](ac: T) Platform

current_platform_name

pub fn current_platform_name[T: allocators.Allocator](ac: T) ref u8

Returns the current platform name as a lowercase string (e.g. "linux", "darwin").

readlink

when posixprivate
extern (C) fn readlink(path: ref u8, buf: ref u8, bufsiz: i64) i64 = trust { ... } = "readlink"

_NSGetExecutablePath

when darwinprivate
extern (C) fn _NSGetExecutablePath(buf: ref u8, bufsize: ref u32) i32 = trust { ... } = "_NSGetExecutablePath"

realpath

when darwinprivate
extern (C, header) fn realpath(path: ref u8, resolved: ref u8) ref u8 = trust { ... } = "realpath"

GetModuleFileNameA

when windowsprivate
extern (C) fn GetModuleFileNameA(module: ref void, buf: ref u8, size: u32) u32 = trust { ... } = "GetModuleFileNameA"

get_exe_path

pub fn get_exe_path[T: allocators.Allocator](ac: T) ref u8

Returns the absolute path to the current executable.