os2 tests

This commit is contained in:
CiD-
2022-03-08 17:15:45 -05:00
parent 1f19610fd6
commit 832003dd4b
4 changed files with 17 additions and 34 deletions
+1 -28
View File
@@ -7,22 +7,8 @@ import "core:strings"
import "core:sys/unix"
_get_platform_error :: proc(res: int) -> Error {
errno := unix.get_errno(res)
return Platform_Error{i32(errno)}
}
_ok_or_error :: proc(res: int) -> Error {
return res >= 0 ? nil : _get_platform_error(res)
}
_std_handle :: proc(kind: Std_Handle_Kind) -> Handle {
switch kind {
case .stdin: return Handle(0)
case .stdout: return Handle(1)
case .stderr: return Handle(2)
}
unreachable()
return Handle(kind)
}
__O_RDONLY :: 0o0
@@ -38,19 +24,6 @@ __O_DIRECTORY :: 0o200000
__O_SYNC :: 0o4010000
__O_CLOEXEC :: 0o2000000
_opendir :: proc(name: string) -> (Handle, Error) {
cstr := strings.clone_to_cstring(name, context.temp_allocator)
flags := __O_RDONLY|__O_NONBLOCK|__O_DIRECTORY|__O_LARGEFILE|__O_CLOEXEC
handle_i := unix.sys_open(cstr, flags)
if handle_i < 0 {
return INVALID_HANDLE, _get_platform_error(handle_i)
}
return Handle(handle_i), nil
}
_open :: proc(name: string, flags: File_Flags, perm: File_Mode) -> (Handle, Error) {
cstr := strings.clone_to_cstring(name, context.temp_allocator)