core.posix

Low-level system bindings and compatibility wrappers for files, directories, sockets, and threading. Includes macOS bindings and Windows adapters.

22 structs · 170 functions · Public API

Structs

pthread_opaque_t

struct

Available when: CHIC_OS == builtin.OS.MacOs

pthread_opaque_t : struct {}

pthread_attr_t

struct

Available when: CHIC_OS == builtin.OS.MacOs

pthread_attr_t : struct {
    __sig: i64
    __opaque: [56]u8
}

pthread_mutex_t

struct

Available when: CHIC_OS == builtin.OS.MacOs

pthread_mutex_t : struct {
    __sig: i64
    __opaque: [56]u8
}

pthread_mutexattr_t

struct

Available when: CHIC_OS == builtin.OS.MacOs

pthread_mutexattr_t : struct {
    __sig: i64
    __opaque: [8]u8
}

pthread_cond_t

struct

Available when: CHIC_OS == builtin.OS.MacOs

pthread_cond_t : struct {
    __sig: i64
    __opaque: [40]u8
}

pthread_condattr_t

struct

Available when: CHIC_OS == builtin.OS.MacOs

pthread_condattr_t : struct {
    __sig: i64
    __opaque: [8]u8
}

Timespec

struct

Available when: CHIC_OS == builtin.OS.MacOs

Timespec : struct {
    tv_sec: i64      // seconds since epoch
    tv_nsec: i64     // nanoseconds
}

Stat64

struct

Available when: CHIC_OS == builtin.OS.MacOs

Stat64 : struct {
    st_dev: i32                 // device inode resides on
    st_mode: u16                // file mode (permissions + type)
    st_nlink: u16               // number of hard links
    st_ino: u64                 // inode number
    st_uid: u32                 // user ID of owner
    st_gid: u32                 // group ID of owner
    st_rdev: i32                // device type (for special files)
    st_atimespec: Timespec      // last access time
    st_mtimespec: Timespec      // last modification time
    st_ctimespec: Timespec      // last status change time
    st_birthtimespec: Timespec  // creation time (macOS specific)
    st_size: i64                // file size in bytes
    st_blocks: i64              // blocks allocated
    st_blksize: i32             // optimal I/O block size
    st_flags: u32               // user-defined flags
    st_gen: u32                 // file generation number
    st_lspare: i32              // reserved
    st_qspare: [2]i64           // reserved (array of 2 i64s)
}

Termios

struct

Available when: CHIC_OS == builtin.OS.MacOs

Termios : struct {
    c_iflag:  u64
    c_oflag:  u64
    c_cflag:  u64
    c_lflag:  u64
    c_cc:     [20]u8
    _pad:     [4]u8        // padding to align c_ispeed at offset 56
    c_ispeed: u64
    c_ospeed: u64
}

FdSet

struct

Available when: CHIC_OS == builtin.OS.MacOs

FdSet : struct {
    fds_bits: [32]i32
}
fd_set  (128 bytes = 1024 bits, macOS)

Timeval

struct

Available when: CHIC_OS == builtin.OS.MacOs

Timeval : struct {
    tv_sec:  i64
    tv_usec: i32
    _pad:    i32           // padding to match C layout (16 bytes total)
}
timeval

WSAData

struct

Available when: CHIC_OS == builtin.OS.Windows

WSAData : struct {
    version:            u16
    high_version:       u16
    description:        [257]u8
    system_status:      [129]u8
    max_sockets:        u16
    max_udp_datagram:   u16
    vendor_info:        cstring
}

Stat64

struct

Available when: CHIC_OS == builtin.OS.Windows

Stat64 : struct {
    attributes:         u32
    creation_time_lo:   u32
    creation_time_hi:   u32
    access_time_lo:     u32
    access_time_hi:     u32
    write_time_lo:      u32
    write_time_hi:      u32
    file_size_hi:       u32
    file_size_lo:       u32
}
Equivalent of POSIX Stat64 for Windows.
Mirrors WIN32_FILE_ATTRIBUTE_DATA filled by GetFileAttributesExA.
Timestamps are FILETIME values: 100-ns intervals since 1601-01-01, split into lo/hi u32 pairs.

Win32ByHandleFileInformation

struct

Available when: CHIC_OS == builtin.OS.Windows

Win32ByHandleFileInformation : struct {
    attributes:             u32
    creation_time_lo:       u32
    creation_time_hi:       u32
    access_time_lo:         u32
    access_time_hi:         u32
    write_time_lo:          u32
    write_time_hi:          u32
    volume_serial_number:   u32
    file_size_hi:           u32
    file_size_lo:           u32
    number_of_links:        u32
    file_index_hi:          u32
    file_index_lo:          u32
}

DirEnt

struct
DirEnt : struct {
    // Borrowed until the next readdir call on the same DIR, or until closedir.
    name : cstring
    name_length : i64
    entry_type : u8
}

InAddr

struct
InAddr : struct {
    s_addr : u32 = 0
}

In6Addr

struct
In6Addr : struct {
    s6_addr : [16]u8
}

SockAddr

struct
SockAddr : struct {
#if CHIC_OS != builtin.OS.Windows
    sa_len    : u8
#end
    sa_family : sa_family_t
    sa_data   : [14]u8
}

SockAddrIn

struct
SockAddrIn : struct {
#if CHIC_OS != builtin.OS.Windows
    sin_len    : u8 = 16
#end
    sin_family : sa_family_t = 0
    sin_port   : u16 = 0
    sin_addr   : InAddr {}
    sin_zero   : [8]u8
}

SockAddrIn6

struct
SockAddrIn6 : struct {
#if CHIC_OS != builtin.OS.Windows
    sin6_len      : u8 = 28
#end
    sin6_family   : sa_family_t = 0
    sin6_port     : u16 = 0
    sin6_flowinfo : u32 = 0
    sin6_addr     : In6Addr {}
    sin6_scope_id : u32 = 0
}

HostEnt

struct
HostEnt : struct {
    h_name      : cstring
    h_aliases   : ^cstring
    h_addrtype  : i32
    h_length    : i32
    h_addr_list : ^cstring
}

AddrInfo

struct
AddrInfo : struct {
    ai_flags     : i32
    ai_family    : i32
    ai_socktype  : i32
    ai_protocol  : i32
#if CHIC_OS == builtin.OS.Windows
    ai_addrlen   : size_t
#else
    ai_addrlen   : socklen_t
#end
    ai_canonname : cstring
    ai_addr      : ^SockAddr
    ai_next      : ^AddrInfo
}

Functions

open

func

Available when: CHIC_OS == builtin.OS.MacOs

open : func(path : cstring, flags : i32, ...) -> Handle
IO Functions

creat

func

Available when: CHIC_OS == builtin.OS.MacOs

creat : func(path : cstring, mode : u16) -> Handle

close

func

Available when: CHIC_OS == builtin.OS.MacOs

close : func(fd : Handle) -> i32

read

func

Available when: CHIC_OS == builtin.OS.MacOs

read : func(fd : Handle, buffer : RawPtr, count : i64 ) -> i64

write

func

Available when: CHIC_OS == builtin.OS.MacOs

write : func(fd : Handle, buffer : RawPtr, count : i64 ) -> i64

lseek

func

Available when: CHIC_OS == builtin.OS.MacOs

lseek  : func(fd : Handle, offset : off_t, whence : i32) -> off_t

ftruncate

func

Available when: CHIC_OS == builtin.OS.MacOs

ftruncate : func(fd : Handle, length : off_t) -> i32

fseeko

func

Available when: CHIC_OS == builtin.OS.MacOs

fseeko : func(stream : RawPtr, offset : off_t, whence : i32) -> i32

stat64

func

Available when: CHIC_OS == builtin.OS.MacOs

stat64 : func(path : cstring, stats : ^Stat64 ) -> i32

lstat64

func

Available when: CHIC_OS == builtin.OS.MacOs

lstat64 : func(path : cstring, stats : ^Stat64 ) -> i32

fstat64

func

Available when: CHIC_OS == builtin.OS.MacOs

fstat64 : func(fd : Handle, stats : ^Stat64 ) -> i32

stat_is_file

func

Available when: CHIC_OS == builtin.OS.MacOs

stat_is_file : func(stats : ^Stat64) -> bool

stat_is_dir

func

Available when: CHIC_OS == builtin.OS.MacOs

stat_is_dir : func(stats : ^Stat64) -> bool

stat_size

func

Available when: CHIC_OS == builtin.OS.MacOs

stat_size : func(stats : ^Stat64) -> i64

same_file

func

Available when: CHIC_OS == builtin.OS.MacOs

same_file : func(first : Handle, second : Handle) -> i32
Returns 1 when both open descriptors refer to the same file, 0 when they
differ, and -1 when either stable-identity query fails.

rename

func

Available when: CHIC_OS == builtin.OS.MacOs

rename : func(from : cstring, to : cstring) -> i32

mkdir

func

Available when: CHIC_OS == builtin.OS.MacOs

mkdir : func(path : cstring, mode : u16) -> i32

rmdir

func

Available when: CHIC_OS == builtin.OS.MacOs

rmdir : func(path : cstring) -> i32

getcwd

func

Available when: CHIC_OS == builtin.OS.MacOs

getcwd : func(buffer : cstring, size : i64) -> cstring

chdir

func

Available when: CHIC_OS == builtin.OS.MacOs

chdir : func(path : cstring) -> i32

opendir

func

Available when: CHIC_OS == builtin.OS.MacOs

opendir : func(path : cstring) -> ^DIR

closedir

func

Available when: CHIC_OS == builtin.OS.MacOs

closedir : func(dir : ^DIR) -> i32

setenv

func

Available when: CHIC_OS == builtin.OS.MacOs

setenv : func(name : cstring, value : cstring, overwrite : i32) -> i32

sleep

func

Available when: CHIC_OS == builtin.OS.MacOs

sleep : func(seconds : u32) -> u32

usleep

func

Available when: CHIC_OS == builtin.OS.MacOs

usleep : func(microseconds : u32) -> i32

sched_yield

func

Available when: CHIC_OS == builtin.OS.MacOs

sched_yield : func() -> i32

readdir

func

Available when: CHIC_OS == builtin.OS.MacOs

readdir : func(dir : ^DIR, entry : ^DirEnt) -> i32

last_error_code

func

Available when: CHIC_OS == builtin.OS.MacOs

last_error_code : func() -> i64

socket

func

Available when: CHIC_OS == builtin.OS.MacOs

socket : func(domain : i32, socket_type : i32, protocol : i32) -> SocketHandle
Socket functions

bind

func

Available when: CHIC_OS == builtin.OS.MacOs

bind : func(socket : SocketHandle, address : ^SockAddr, address_len : socklen_t) -> i32

listen

func

Available when: CHIC_OS == builtin.OS.MacOs

listen : func(socket : SocketHandle, backlog : i32) -> i32

accept

func

Available when: CHIC_OS == builtin.OS.MacOs

accept : func(socket : SocketHandle, address : ^SockAddr, address_len : ^socklen_t) -> SocketHandle

connect

func

Available when: CHIC_OS == builtin.OS.MacOs

connect : func(socket : SocketHandle, address : ^SockAddr, address_len : socklen_t) -> i32

shutdown

func

Available when: CHIC_OS == builtin.OS.MacOs

shutdown : func(socket : SocketHandle, how : i32) -> i32

setsockopt

func

Available when: CHIC_OS == builtin.OS.MacOs

setsockopt : func(socket : SocketHandle, level : i32, option_name : i32, option_value : RawPtr, option_len : socklen_t) -> i32

getsockopt

func

Available when: CHIC_OS == builtin.OS.MacOs

getsockopt : func(socket : SocketHandle, level : i32, option_name : i32, option_value : RawPtr, option_len : ^socklen_t) -> i32

gethostbyname

func

Available when: CHIC_OS == builtin.OS.MacOs

gethostbyname : func(name : cstring) -> ^HostEnt

getaddrinfo

func

Available when: CHIC_OS == builtin.OS.MacOs

getaddrinfo : func(node : cstring, service : cstring, hints : ^AddrInfo, res : ^^AddrInfo) -> i32

freeaddrinfo

func

Available when: CHIC_OS == builtin.OS.MacOs

freeaddrinfo : func(res : ^AddrInfo)

gai_strerror

func

Available when: CHIC_OS == builtin.OS.MacOs

gai_strerror : func(errcode : i32) -> cstring

socket_startup

func

Available when: CHIC_OS == builtin.OS.MacOs

socket_startup : func() -> i32

socket_cleanup

func

Available when: CHIC_OS == builtin.OS.MacOs

socket_cleanup : func() -> i32

socket_close

func

Available when: CHIC_OS == builtin.OS.MacOs

socket_close : func(socket : SocketHandle) -> i32

send

func

Available when: CHIC_OS == builtin.OS.MacOs

send : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32) -> i32

send

func

Available when: CHIC_OS == builtin.OS.MacOs

send : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32) -> i32

send

func

Available when: CHIC_OS == builtin.OS.MacOs

send : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : u32) -> i32

sendto

func

Available when: CHIC_OS == builtin.OS.MacOs

sendto : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32, address : ^SockAddr, address_len : socklen_t) -> i32

sendto

func

Available when: CHIC_OS == builtin.OS.MacOs

sendto : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32, address : ^SockAddr, address_len : socklen_t) -> i32

recv

func

Available when: CHIC_OS == builtin.OS.MacOs

recv : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32) -> i32

recv

func

Available when: CHIC_OS == builtin.OS.MacOs

recv : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32) -> i32

recv

func

Available when: CHIC_OS == builtin.OS.MacOs

recv : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : u32) -> i32

recvfrom

func

Available when: CHIC_OS == builtin.OS.MacOs

recvfrom : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32, address : ^SockAddr, address_len : ^socklen_t) -> i32

recvfrom

func

Available when: CHIC_OS == builtin.OS.MacOs

recvfrom : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32, address : ^SockAddr, address_len : ^socklen_t) -> i32

htons

func

Available when: CHIC_OS == builtin.OS.MacOs

htons : func(hostshort : u16) -> u16

htons

func

Available when: CHIC_OS == builtin.OS.MacOs

htons : func(hostshort : u32) -> u16

htons

func

Available when: CHIC_OS == builtin.OS.MacOs

htons : func(hostshort : i32) -> u16

htonl

func

Available when: CHIC_OS == builtin.OS.MacOs

htonl : func(hostlong : u32) -> u32

ntohs

func

Available when: CHIC_OS == builtin.OS.MacOs

ntohs : func(netshort : u16) -> u16

ntohl

func

Available when: CHIC_OS == builtin.OS.MacOs

ntohl : func(netlong : u32) -> u32

tcgetattr

func

Available when: CHIC_OS == builtin.OS.MacOs

tcgetattr : func(fd : i32, termios_p : ^Termios) -> i32
Terminal I/O

tcsetattr

func

Available when: CHIC_OS == builtin.OS.MacOs

tcsetattr : func(fd : i32, optional_actions : i32, termios_p : ^Termios) -> i32

select

func

Available when: CHIC_OS == builtin.OS.MacOs

select : func(nfds : i32, readfds : ^FdSet, writefds : ^FdSet, errorfds : ^FdSet, timeout : ^Timeval) -> i32

pthread_create

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_create : func(thread : ^pthread_t, attr : ^pthread_attr_t, start_routine : pthread_start_routine, arg : RawPtr) -> i32

pthread_join

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_join : func(thread : pthread_t, value_ptr : ^RawPtr) -> i32

pthread_detach

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_detach : func(thread : pthread_t) -> i32

pthread_self

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_self : func() -> pthread_t

pthread_equal

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_equal : func(t1 : pthread_t, t2 : pthread_t) -> i32

pthread_exit

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_exit : func(value_ptr : RawPtr)

pthread_attr_init

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_attr_init : func(attr : ^pthread_attr_t) -> i32

pthread_attr_destroy

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_attr_destroy : func(attr : ^pthread_attr_t) -> i32

pthread_attr_setdetachstate

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_attr_setdetachstate : func(attr : ^pthread_attr_t, detachstate : i32) -> i32

pthread_attr_getdetachstate

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_attr_getdetachstate : func(attr : ^pthread_attr_t, detachstate : ^i32) -> i32

pthread_attr_setstacksize

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_attr_setstacksize : func(attr : ^pthread_attr_t, stacksize : size_t) -> i32

pthread_attr_getstacksize

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_attr_getstacksize : func(attr : ^pthread_attr_t, stacksize : ^size_t) -> i32

pthread_mutex_init

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_mutex_init : func(mutex : ^pthread_mutex_t, attr : ^pthread_mutexattr_t) -> i32

pthread_mutex_destroy

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_mutex_destroy : func(mutex : ^pthread_mutex_t) -> i32

pthread_mutex_lock

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_mutex_lock : func(mutex : ^pthread_mutex_t) -> i32

pthread_mutex_trylock

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_mutex_trylock : func(mutex : ^pthread_mutex_t) -> i32

pthread_mutex_unlock

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_mutex_unlock : func(mutex : ^pthread_mutex_t) -> i32

pthread_cond_init

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_cond_init : func(cond : ^pthread_cond_t, attr : ^pthread_condattr_t) -> i32

pthread_cond_destroy

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_cond_destroy : func(cond : ^pthread_cond_t) -> i32

pthread_cond_signal

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_cond_signal : func(cond : ^pthread_cond_t) -> i32

pthread_cond_broadcast

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_cond_broadcast : func(cond : ^pthread_cond_t) -> i32

pthread_cond_wait

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_cond_wait : func(cond : ^pthread_cond_t, mutex : ^pthread_mutex_t) -> i32

pthread_key_create

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_key_create : func(key : ^pthread_key_t, destructor : pthread_key_destructor) -> i32

pthread_key_delete

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_key_delete : func(key : pthread_key_t) -> i32

pthread_getspecific

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_getspecific : func(key : pthread_key_t) -> RawPtr

pthread_setspecific

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_setspecific : func(key : pthread_key_t, value : RawPtr) -> i32

pthread_once

func

Available when: CHIC_OS == builtin.OS.MacOs

pthread_once : func(once_control : ^pthread_once_t, init_routine : pthread_once_routine) -> i32

fd_zero

func

Available when: CHIC_OS == builtin.OS.MacOs

fd_zero : func(set : ^FdSet)

fd_set_bit

func

Available when: CHIC_OS == builtin.OS.MacOs

fd_set_bit : func(fd : i32, set : ^FdSet)

has_key_been_pressed

func

Available when: CHIC_OS == builtin.OS.MacOs

has_key_been_pressed : func() -> bool

CreateFileA

func

Available when: CHIC_OS == builtin.OS.Windows

CreateFileA : func(
    lpFileName:             cstring,
    dwDesiredAccess:        u32,
    dwShareMode:            u32,
    lpSecurityAttributes:   ^void,
    dwCreationDisposition:  u32,
    dwFlagsAndAttributes:   u32,
    hTemplateFile:          Handle
) -> Handle

CloseHandle

func

Available when: CHIC_OS == builtin.OS.Windows

CloseHandle : func(hObject: Handle) -> i32

ReadFile

func

Available when: CHIC_OS == builtin.OS.Windows

ReadFile : func(
    hFile:                  Handle,
    lpBuffer:               RawPtr,
    nNumberOfBytesToRead:   u32,
    lpNumberOfBytesRead:    ^u32,
    lpOverlapped:           ^void
) -> i32

WriteFile

func

Available when: CHIC_OS == builtin.OS.Windows

WriteFile : func(
    hFile:                      Handle,
    lpBuffer:                   RawPtr,
    nNumberOfBytesToWrite:      u32,
    lpNumberOfBytesWritten:     ^u32,
    lpOverlapped:               ^void
) -> i32

SetFilePointerEx

func

Available when: CHIC_OS == builtin.OS.Windows

SetFilePointerEx : func(
    hFile:              Handle,
    liDistanceToMove:   i64,
    lpNewFilePointer:   ^i64,
    dwMoveMethod:       u32
) -> i32

GetFileAttributesExA

func

Available when: CHIC_OS == builtin.OS.Windows

GetFileAttributesExA : func(
    lpFileName:         cstring,
    fInfoLevelId:       i32,
    lpFileInformation:  ^Stat64
) -> i32

GetFileInformationByHandle

func

Available when: CHIC_OS == builtin.OS.Windows

GetFileInformationByHandle : func(
    hFile:              Handle,
    lpFileInformation:  ^Win32ByHandleFileInformation
) -> i32

CreateThread

func

Available when: CHIC_OS == builtin.OS.Windows

CreateThread : func(
    lpThreadAttributes:     ^void,
    dwStackSize:            size_t,
    lpStartAddress:         LPTHREAD_START_ROUTINE,
    lpParameter:            ^void,
    dwCreationFlags:        DWORD,
    lpThreadId:             ^DWORD
) -> Handle

ExitThread

func

Available when: CHIC_OS == builtin.OS.Windows

ExitThread : func(dwExitCode: DWORD) -> void

GetCurrentThread

func

Available when: CHIC_OS == builtin.OS.Windows

GetCurrentThread : func() -> Handle

GetCurrentThreadId

func

Available when: CHIC_OS == builtin.OS.Windows

GetCurrentThreadId : func() -> DWORD

GetThreadId

func

Available when: CHIC_OS == builtin.OS.Windows

GetThreadId : func(thread: Handle) -> DWORD

SwitchToThread

func

Available when: CHIC_OS == builtin.OS.Windows

SwitchToThread : func() -> i32

WaitForSingleObject

func

Available when: CHIC_OS == builtin.OS.Windows

WaitForSingleObject : func(
    hHandle:        Handle,
    dwMilliseconds: DWORD
) -> DWORD

GetExitCodeThread

func

Available when: CHIC_OS == builtin.OS.Windows

GetExitCodeThread : func(
    hThread:        Handle,
    lpExitCode:     ^DWORD
) -> i32

InterlockedDecrement

func

Available when: CHIC_OS == builtin.OS.Windows

InterlockedDecrement : func(
    Addend:         ^i32
) -> i32

open

func

Available when: CHIC_OS == builtin.OS.Windows

open : func(path : cstring, flags : i32) -> Handle

open

func

Available when: CHIC_OS == builtin.OS.Windows

open : func(path : cstring, flags : i32, mode : i32) -> Handle

creat

func

Available when: CHIC_OS == builtin.OS.Windows

creat : func(path : cstring, mode : u16) -> Handle

close

func

Available when: CHIC_OS == builtin.OS.Windows

close : func(handle: Handle) -> i32

read

func

Available when: CHIC_OS == builtin.OS.Windows

read : func(handle: Handle, buffer: RawPtr, count: i64) -> i64
Reads up to count bytes into buffer. Returns actual bytes read, or -1 on error.
Each Win32 ReadFile request is capped to UINT32_MAX; callers can repeat the
operation when an i64 count exceeds one DWORD-sized request.

write

func

Available when: CHIC_OS == builtin.OS.Windows

write : func(handle: Handle, buffer: RawPtr, count: i64) -> i64
Writes up to count bytes from buffer. Returns actual bytes written, or -1 on error.
Each Win32 WriteFile request is capped to UINT32_MAX; callers can repeat the
operation when an i64 count exceeds one DWORD-sized request.

lseek

func

Available when: CHIC_OS == builtin.OS.Windows

lseek : func(handle: Handle, offset: off_t, whence: i32) -> off_t
Seeks to position offset relative to whence (SEEK_SET/SEEK_CUR/SEEK_END).
Returns the new file position in bytes, or -1 on error.

ftruncate

func

Available when: CHIC_OS == builtin.OS.Windows

ftruncate : func(handle : Handle, length : off_t) -> i32

stat64

func

Available when: CHIC_OS == builtin.OS.Windows

stat64 : func(path: cstring, out: ^Stat64) -> i32
Fills out with file metadata for the file at path.
Returns 0 on success, -1 on failure.

lstat64

func

Available when: CHIC_OS == builtin.OS.Windows

lstat64 : func(path : cstring, out : ^Stat64) -> i32
Win32 path attributes describe the reparse point itself, so the no-follow
metadata operation has the same native query with distinct portable meaning.

fstat64

func

Available when: CHIC_OS == builtin.OS.Windows

fstat64 : func(handle: Handle, out: ^Stat64) -> i32
Fills out with file metadata for an open file handle.
Returns 0 on success, -1 on failure.

stat_is_file

func

Available when: CHIC_OS == builtin.OS.Windows

stat_is_file : func(stats : ^Stat64) -> bool

stat_is_dir

func

Available when: CHIC_OS == builtin.OS.Windows

stat_is_dir : func(stats : ^Stat64) -> bool

stat_size

func

Available when: CHIC_OS == builtin.OS.Windows

stat_size : func(stats : ^Stat64) -> i64

same_file

func

Available when: CHIC_OS == builtin.OS.Windows

same_file : func(first : Handle, second : Handle) -> i32
Returns 1 when both open handles refer to the same volume/file index, 0 when
they differ, and -1 when either stable-identity query fails.

rename

func

Available when: CHIC_OS == builtin.OS.Windows

rename : func(from : cstring, to : cstring) -> i32

mkdir

func

Available when: CHIC_OS == builtin.OS.Windows

mkdir : func(path : cstring, mode : u16) -> i32

rmdir

func

Available when: CHIC_OS == builtin.OS.Windows

rmdir : func(path : cstring) -> i32

getcwd

func

Available when: CHIC_OS == builtin.OS.Windows

getcwd : func(buffer : cstring, size : i64) -> cstring

chdir

func

Available when: CHIC_OS == builtin.OS.Windows

chdir : func(path : cstring) -> i32

opendir

func

Available when: CHIC_OS == builtin.OS.Windows

opendir : func(path : cstring) -> ^DIR

readdir

func

Available when: CHIC_OS == builtin.OS.Windows

readdir : func(dir : ^DIR, entry : ^DirEnt) -> i32
Returns 1 for an entry, 0 at end-of-directory, and -1 on error.

closedir

func

Available when: CHIC_OS == builtin.OS.Windows

closedir : func(dir : ^DIR) -> i32

usleep

func

Available when: CHIC_OS == builtin.OS.Windows

usleep : func(microseconds : u32) -> i32

last_error_code

func

Available when: CHIC_OS == builtin.OS.Windows

last_error_code : func() -> i64

socket_startup

func

Available when: CHIC_OS == builtin.OS.Windows

socket_startup : func() -> i32

socket_cleanup

func

Available when: CHIC_OS == builtin.OS.Windows

socket_cleanup : func() -> i32

socket

func

Available when: CHIC_OS == builtin.OS.Windows

socket : func(domain : i32, socket_type : i32, protocol : i32) -> SocketHandle

bind

func

Available when: CHIC_OS == builtin.OS.Windows

bind : func(socket : SocketHandle, address : ^SockAddr, address_len : socklen_t) -> i32

listen

func

Available when: CHIC_OS == builtin.OS.Windows

listen : func(socket : SocketHandle, backlog : i32) -> i32

accept

func

Available when: CHIC_OS == builtin.OS.Windows

accept : func(socket : SocketHandle, address : ^SockAddr, address_len : ^socklen_t) -> SocketHandle

connect

func

Available when: CHIC_OS == builtin.OS.Windows

connect : func(socket : SocketHandle, address : ^SockAddr, address_len : socklen_t) -> i32

send

func

Available when: CHIC_OS == builtin.OS.Windows

send : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32) -> i32

send

func

Available when: CHIC_OS == builtin.OS.Windows

send : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32) -> i32

send

func

Available when: CHIC_OS == builtin.OS.Windows

send : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : u32) -> i32

sendto

func

Available when: CHIC_OS == builtin.OS.Windows

sendto : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32, address : ^SockAddr, address_len : socklen_t) -> i32

sendto

func

Available when: CHIC_OS == builtin.OS.Windows

sendto : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32, address : ^SockAddr, address_len : socklen_t) -> i32

recv

func

Available when: CHIC_OS == builtin.OS.Windows

recv : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32) -> i32

recv

func

Available when: CHIC_OS == builtin.OS.Windows

recv : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32) -> i32

recv

func

Available when: CHIC_OS == builtin.OS.Windows

recv : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : u32) -> i32

recvfrom

func

Available when: CHIC_OS == builtin.OS.Windows

recvfrom : func(socket : SocketHandle, buffer : RawPtr, length : i32, flags : i32, address : ^SockAddr, address_len : ^socklen_t) -> i32

recvfrom

func

Available when: CHIC_OS == builtin.OS.Windows

recvfrom : func(socket : SocketHandle, buffer : RawPtr, length : i64, flags : i32, address : ^SockAddr, address_len : ^socklen_t) -> i32

shutdown

func

Available when: CHIC_OS == builtin.OS.Windows

shutdown : func(socket : SocketHandle, how : i32) -> i32

setsockopt

func

Available when: CHIC_OS == builtin.OS.Windows

setsockopt : func(socket : SocketHandle, level : i32, option_name : i32, option_value : RawPtr, option_len : socklen_t) -> i32

getsockopt

func

Available when: CHIC_OS == builtin.OS.Windows

getsockopt : func(socket : SocketHandle, level : i32, option_name : i32, option_value : RawPtr, option_len : ^socklen_t) -> i32

socket_close

func

Available when: CHIC_OS == builtin.OS.Windows

socket_close : func(socket : SocketHandle) -> i32

htons

func

Available when: CHIC_OS == builtin.OS.Windows

htons : func(hostshort : u16) -> u16

htons

func

Available when: CHIC_OS == builtin.OS.Windows

htons : func(hostshort : u32) -> u16

htons

func

Available when: CHIC_OS == builtin.OS.Windows

htons : func(hostshort : i32) -> u16

htonl

func

Available when: CHIC_OS == builtin.OS.Windows

htonl : func(hostlong : u32) -> u32

ntohs

func

Available when: CHIC_OS == builtin.OS.Windows

ntohs : func(netshort : u16) -> u16

ntohl

func

Available when: CHIC_OS == builtin.OS.Windows

ntohl : func(netlong : u32) -> u32

gethostbyname

func

Available when: CHIC_OS == builtin.OS.Windows

gethostbyname : func(name : cstring) -> ^HostEnt

getaddrinfo

func

Available when: CHIC_OS == builtin.OS.Windows

getaddrinfo : func(node : cstring, service : cstring, hints : ^AddrInfo, res : ^^AddrInfo) -> i32

freeaddrinfo

func

Available when: CHIC_OS == builtin.OS.Windows

freeaddrinfo : func(res : ^AddrInfo)

gai_strerror

func

Available when: CHIC_OS == builtin.OS.Windows

gai_strerror : func(errcode : i32) -> cstring