reflection/core
sourcereflection/core.sx
pub enum Platform = { Windows, Linux, Darwin, NetBSD, DragonflyBSD, FreeBSD, OpenBSD, Android, Haiku, Redox, Plan9, Unknown }
Variants
WindowsLinuxDarwinNetBSDDragonflyBSDFreeBSDOpenBSDAndroidHaikuRedoxPlan9Unknown
extern type UnameResult = { sysname: [256]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }
Fields
| Name | Type |
|---|
sysname | [256]u8 |
nodename | [256]u8 |
release | [256]u8 |
version | [256]u8 |
machine | [256]u8 |
extern type UnameResult = { sysname: [65]u8, nodename: [65]u8, release: [65]u8, version: [65]u8, machine: [65]u8, domainname: [65]u8 }
Fields
| Name | Type |
|---|
sysname | [65]u8 |
nodename | [65]u8 |
release | [65]u8 |
version | [65]u8 |
machine | [65]u8 |
domainname | [65]u8 |
extern type UnameResult = { sysname: [256]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }
Fields
| Name | Type |
|---|
sysname | [256]u8 |
nodename | [256]u8 |
release | [256]u8 |
version | [256]u8 |
machine | [256]u8 |
extern type UnameResult = { sysname: [256]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }
Fields
| Name | Type |
|---|
sysname | [256]u8 |
nodename | [256]u8 |
release | [256]u8 |
version | [256]u8 |
machine | [256]u8 |
extern type UnameResult = { sysname: [32]u8, nodename: [256]u8, release: [256]u8, version: [256]u8, machine: [256]u8 }
Fields
| Name | Type |
|---|
sysname | [32]u8 |
nodename | [256]u8 |
release | [256]u8 |
version | [256]u8 |
machine | [256]u8 |
extern (C) fn uname(buf: ref UnameResult) i32 = trust { ... } = "uname"
extern (C) fn GetVersionExA(lpVersionInformation: ref void) i32 = trust { ... } = "GetVersionExA"
pub fn get_current_platform[T: allocators.Allocator](ac: T) Platform
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").
extern (C) fn readlink(path: ref u8, buf: ref u8, bufsiz: i64) i64 = trust { ... } = "readlink"
extern (C) fn _NSGetExecutablePath(buf: ref u8, bufsize: ref u32) i32 = trust { ... } = "_NSGetExecutablePath"
extern (C, header) fn realpath(path: ref u8, resolved: ref u8) ref u8 = trust { ... } = "realpath"
extern (C) fn GetModuleFileNameA(module: ref void, buf: ref u8, size: u32) u32 = trust { ... } = "GetModuleFileNameA"
pub fn get_exe_path[T: allocators.Allocator](ac: T) ref u8
Returns the absolute path to the current executable.