extern (C) fn fopen(path: ref u8, mode: ref u8) ref void = trust { ... } = "fopen"
extern (C) fn fclose(stream: ref void) i32 = trust { ... } = "fclose"
extern (C) fn fread(buf: ref void, size: usize, count: usize, stream: ref void) usize = trust { ... } = "fread"
extern (C) fn fwrite(buf: ref void, size: usize, count: usize, stream: ref void) usize = trust { ... } = "fwrite"
extern (C) fn fseek(stream: ref void, offset: i64, whence: i32) i32 = trust { ... } = "fseek"
extern (C) fn ftell(stream: ref void) i64 = trust { ... } = "ftell"
extern (C) fn rewind(stream: ref void) void = trust { ... } = "rewind"
extern (C) fn remove(path: ref u8) i32 = trust { ... } = "remove"
extern (C) fn rename(old: ref u8, new: ref u8) i32 = trust { ... } = "rename"
extern (C) fn strlen(s: ref u8) i64 = trust { ... } = "strlen"
extern (C) fn getcwd(buf: ref u8, size: usize) ref u8 = trust { ... } = "getcwd"
pub extern (C) fn getenv(name: ref u8) ref u8 = trust { ... } = "getenv"
pub extern (C) fn mkdir(path: ref u8, mode: u32) i32 = trust { ... } = "mkdir"
pub extern (C) fn rmdir(path: ref u8) i32 = trust { ... } = "rmdir"
pub extern (C) fn opendir(path: ref u8) ref void = trust { ... } = "opendir"
pub extern (C) fn closedir(dir: ref void) i32 = trust { ... } = "closedir"
pub extern (C) fn readdir(dir: ref void) ref Dirent = trust { ... } = "readdir"
extern type Dirent = { d_ino: u64, d_off: i64, d_reclen: u16, d_type: u8, d_name: [256]u8 }
Fields
| Name | Type |
|---|
d_ino | u64 |
d_off | i64 |
d_reclen | u16 |
d_type | u8 |
d_name | [256]u8 |
extern type Dirent = { d_ino: u64, d_seekoff: u64, d_reclen: u16, d_namlen: u16, d_type: u8, d_name: [1024]u8 }
Fields
| Name | Type |
|---|
d_ino | u64 |
d_seekoff | u64 |
d_reclen | u16 |
d_namlen | u16 |
d_type | u8 |
d_name | [1024]u8 |
extern type Dirent = { d_fileno: u64, d_off: i64, d_reclen: u16, d_type: u8, d_pad0: u8, d_namlen: u16, d_pad1: u16, d_name: [256]u8 }
Fields
| Name | Type |
|---|
d_fileno | u64 |
d_off | i64 |
d_reclen | u16 |
d_type | u8 |
d_pad0 | u8 |
d_namlen | u16 |
d_pad1 | u16 |
d_name | [256]u8 |
extern type Dirent = { d_fileno: u64, d_off: i64, d_reclen: u16, d_type: u8, d_namlen: u8, d_name: [256]u8 }
Fields
| Name | Type |
|---|
d_fileno | u64 |
d_off | i64 |
d_reclen | u16 |
d_type | u8 |
d_namlen | u8 |
d_name | [256]u8 |
extern type Dirent = { d_fileno: u64, d_reclen: u16, d_namlen: u16, d_type: u8, d_name: [512]u8 }
Fields
| Name | Type |
|---|
d_fileno | u64 |
d_reclen | u16 |
d_namlen | u16 |
d_type | u8 |
d_name | [512]u8 |
pub type File = { ptr: ref void }
Opaque file handle — wraps a C FILE*.
Fields
fn alloc_in[A: allocators.Allocator](ac: A, len: i64) ref void
fn alloc_cstr[A: allocators.Allocator](ac: A, len: i64) ref u8
fn copy_cstr[A: allocators.Allocator](ac: A, text: ref u8) ref u8
fn copy_cstr_len[A: allocators.Allocator](ac: A, text: ref u8, len: i64) ref u8
fn raw_alloc_cstr(len: i64) ref u8 = trust { ... }
fn raw_copy_cstr_len(text: ref u8, len: i64) ref u8 = trust { ... }
fn dirent_name_len(entry: ref Dirent) i64 = trust { ... }
fn copy_dirent_name[A: allocators.Allocator](ac: A, entry: ref Dirent) ref u8
fn raw_copy_dirent_name(entry: ref Dirent) ref u8 = trust { ... }
pub fn open(path: ref u8, mode: ref u8) option[ref void] = trust { ... }
pub fn close(f: ref void) void = trust { ... }
pub fn file_size(path: ref u8) option[i64] = trust { ... }
pub fn read_all[A: allocators.Allocator](ac: A, path: ref u8) option[ref u8]
pub fn read_all_raw(path: ref u8) option[ref u8] = trust { ... }
pub fn read_line(f: ref void, buf: ref u8, max_len: i64) bool = trust { ... }
pub fn write(f: ref void, data: ref u8) void = trust { ... }
pub fn write_line(f: ref void, data: ref u8) void = trust { ... }
pub fn write_all(path: ref u8, data: ref u8) bool = trust { ... }
pub fn append_all(path: ref u8, data: ref u8) bool = trust { ... }
pub fn delete(path: ref u8) bool = trust { ... }
pub fn rename_path(old: ref u8, new: ref u8) bool = trust { ... }
pub fn mkdir_path(path: ref u8) bool = trust { ... }
pub fn rmdir_path(path: ref u8) bool = trust { ... }
pub fn cwd[A: allocators.Allocator](ac: A) option[ref u8]
pub fn cwd_raw() option[ref u8] = trust { ... }
pub fn temp_dir[A: allocators.Allocator](ac: A) ref u8
pub fn temp_dir_raw() ref u8 = trust { ... }
pub fn home_dir[A: allocators.Allocator](ac: A) option[ref u8]
pub fn home_dir_raw() option[ref u8] = trust { ... }
pub fn config_dir[A: allocators.Allocator](ac: A) option[ref u8]
pub fn config_dir_raw() option[ref u8] = trust { ... }
pub fn walk_dir[A: allocators.Allocator](ac: A, path: ref u8) option[list[ref u8]]
pub fn walk_dir_raw(path: ref u8) option[list[ref u8]] = trust { ... }