|
@@ -537,7 +537,7 @@ fork :: proc() -> (Pid, Errno) {
|
|
|
if pid == -1 {
|
|
|
return -1, _get_errno(pid)
|
|
|
}
|
|
|
- return Pid(pid), ERROR_NONE
|
|
|
+ return Pid(pid), nil
|
|
|
}
|
|
|
|
|
|
execvp :: proc(path: string, args: []string) -> Errno {
|
|
@@ -562,7 +562,7 @@ open :: proc(path: string, flags: int = O_RDONLY, mode: int = 0o000) -> (Handle,
|
|
|
if handle < 0 {
|
|
|
return INVALID_HANDLE, _get_errno(handle)
|
|
|
}
|
|
|
- return Handle(handle), ERROR_NONE
|
|
|
+ return Handle(handle), nil
|
|
|
}
|
|
|
|
|
|
close :: proc(fd: Handle) -> Errno {
|
|
@@ -580,7 +580,7 @@ MAX_RW :: 1 << 30
|
|
|
|
|
|
read :: proc(fd: Handle, data: []byte) -> (int, Errno) {
|
|
|
if len(data) == 0 {
|
|
|
- return 0, ERROR_NONE
|
|
|
+ return 0, nil
|
|
|
}
|
|
|
|
|
|
to_read := min(uint(len(data)), MAX_RW)
|
|
@@ -589,12 +589,12 @@ read :: proc(fd: Handle, data: []byte) -> (int, Errno) {
|
|
|
if bytes_read < 0 {
|
|
|
return -1, _get_errno(bytes_read)
|
|
|
}
|
|
|
- return bytes_read, ERROR_NONE
|
|
|
+ return bytes_read, nil
|
|
|
}
|
|
|
|
|
|
write :: proc(fd: Handle, data: []byte) -> (int, Errno) {
|
|
|
if len(data) == 0 {
|
|
|
- return 0, ERROR_NONE
|
|
|
+ return 0, nil
|
|
|
}
|
|
|
|
|
|
to_write := min(uint(len(data)), MAX_RW)
|
|
@@ -603,12 +603,12 @@ write :: proc(fd: Handle, data: []byte) -> (int, Errno) {
|
|
|
if bytes_written < 0 {
|
|
|
return -1, _get_errno(bytes_written)
|
|
|
}
|
|
|
- return bytes_written, ERROR_NONE
|
|
|
+ return bytes_written, nil
|
|
|
}
|
|
|
|
|
|
read_at :: proc(fd: Handle, data: []byte, offset: i64) -> (int, Errno) {
|
|
|
if len(data) == 0 {
|
|
|
- return 0, ERROR_NONE
|
|
|
+ return 0, nil
|
|
|
}
|
|
|
|
|
|
to_read := min(uint(len(data)), MAX_RW)
|
|
@@ -617,12 +617,12 @@ read_at :: proc(fd: Handle, data: []byte, offset: i64) -> (int, Errno) {
|
|
|
if bytes_read < 0 {
|
|
|
return -1, _get_errno(bytes_read)
|
|
|
}
|
|
|
- return bytes_read, ERROR_NONE
|
|
|
+ return bytes_read, nil
|
|
|
}
|
|
|
|
|
|
write_at :: proc(fd: Handle, data: []byte, offset: i64) -> (int, Errno) {
|
|
|
if len(data) == 0 {
|
|
|
- return 0, ERROR_NONE
|
|
|
+ return 0, nil
|
|
|
}
|
|
|
|
|
|
to_write := min(uint(len(data)), MAX_RW)
|
|
@@ -631,7 +631,7 @@ write_at :: proc(fd: Handle, data: []byte, offset: i64) -> (int, Errno) {
|
|
|
if bytes_written < 0 {
|
|
|
return -1, _get_errno(bytes_written)
|
|
|
}
|
|
|
- return bytes_written, ERROR_NONE
|
|
|
+ return bytes_written, nil
|
|
|
}
|
|
|
|
|
|
seek :: proc(fd: Handle, offset: i64, whence: int) -> (i64, Errno) {
|
|
@@ -639,7 +639,7 @@ seek :: proc(fd: Handle, offset: i64, whence: int) -> (i64, Errno) {
|
|
|
if res < 0 {
|
|
|
return -1, _get_errno(int(res))
|
|
|
}
|
|
|
- return i64(res), ERROR_NONE
|
|
|
+ return i64(res), nil
|
|
|
}
|
|
|
|
|
|
file_size :: proc(fd: Handle) -> (i64, Errno) {
|
|
@@ -649,7 +649,7 @@ file_size :: proc(fd: Handle) -> (i64, Errno) {
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(result)
|
|
|
}
|
|
|
- return max(s.size, 0), ERROR_NONE
|
|
|
+ return max(s.size, 0), nil
|
|
|
}
|
|
|
|
|
|
rename :: proc(old_path, new_path: string) -> Errno {
|
|
@@ -679,7 +679,7 @@ remove_directory :: proc(path: string) -> Errno {
|
|
|
|
|
|
is_file_handle :: proc(fd: Handle) -> bool {
|
|
|
s, err := _fstat(fd)
|
|
|
- if err != ERROR_NONE {
|
|
|
+ if err != nil {
|
|
|
return false
|
|
|
}
|
|
|
return S_ISREG(s.mode)
|
|
@@ -693,7 +693,7 @@ is_file_path :: proc(path: string, follow_links: bool = true) -> bool {
|
|
|
} else {
|
|
|
s, err = _lstat(path)
|
|
|
}
|
|
|
- if err != ERROR_NONE {
|
|
|
+ if err != nil {
|
|
|
return false
|
|
|
}
|
|
|
return S_ISREG(s.mode)
|
|
@@ -702,7 +702,7 @@ is_file_path :: proc(path: string, follow_links: bool = true) -> bool {
|
|
|
|
|
|
is_dir_handle :: proc(fd: Handle) -> bool {
|
|
|
s, err := _fstat(fd)
|
|
|
- if err != ERROR_NONE {
|
|
|
+ if err != nil {
|
|
|
return false
|
|
|
}
|
|
|
return S_ISDIR(s.mode)
|
|
@@ -716,7 +716,7 @@ is_dir_path :: proc(path: string, follow_links: bool = true) -> bool {
|
|
|
} else {
|
|
|
s, err = _lstat(path)
|
|
|
}
|
|
|
- if err != ERROR_NONE {
|
|
|
+ if err != nil {
|
|
|
return false
|
|
|
}
|
|
|
return S_ISDIR(s.mode)
|
|
@@ -742,22 +742,16 @@ stderr: Handle = 2
|
|
|
last_write_time :: proc(fd: Handle) -> File_Time {}
|
|
|
last_write_time_by_name :: proc(name: string) -> File_Time {}
|
|
|
*/
|
|
|
-last_write_time :: proc(fd: Handle) -> (File_Time, Errno) {
|
|
|
- s, err := _fstat(fd)
|
|
|
- if err != ERROR_NONE {
|
|
|
- return 0, err
|
|
|
- }
|
|
|
+last_write_time :: proc(fd: Handle) -> (time: File_Time, err: Errno) {
|
|
|
+ s := _fstat(fd) or_return
|
|
|
modified := s.modified.seconds * 1_000_000_000 + s.modified.nanoseconds
|
|
|
- return File_Time(modified), ERROR_NONE
|
|
|
+ return File_Time(modified), nil
|
|
|
}
|
|
|
|
|
|
-last_write_time_by_name :: proc(name: string) -> (File_Time, Errno) {
|
|
|
- s, err := _stat(name)
|
|
|
- if err != ERROR_NONE {
|
|
|
- return 0, err
|
|
|
- }
|
|
|
+last_write_time_by_name :: proc(name: string) -> (time: File_Time, err: Errno) {
|
|
|
+ s := _stat(name) or_return
|
|
|
modified := s.modified.seconds * 1_000_000_000 + s.modified.nanoseconds
|
|
|
- return File_Time(modified), ERROR_NONE
|
|
|
+ return File_Time(modified), nil
|
|
|
}
|
|
|
|
|
|
@private
|
|
@@ -771,7 +765,7 @@ _stat :: proc(path: string) -> (OS_Stat, Errno) {
|
|
|
if result < 0 {
|
|
|
return s, _get_errno(result)
|
|
|
}
|
|
|
- return s, ERROR_NONE
|
|
|
+ return s, nil
|
|
|
}
|
|
|
|
|
|
@private
|
|
@@ -785,7 +779,7 @@ _lstat :: proc(path: string) -> (OS_Stat, Errno) {
|
|
|
if result < 0 {
|
|
|
return s, _get_errno(result)
|
|
|
}
|
|
|
- return s, ERROR_NONE
|
|
|
+ return s, nil
|
|
|
}
|
|
|
|
|
|
@private
|
|
@@ -796,7 +790,7 @@ _fstat :: proc(fd: Handle) -> (OS_Stat, Errno) {
|
|
|
if result < 0 {
|
|
|
return s, _get_errno(result)
|
|
|
}
|
|
|
- return s, ERROR_NONE
|
|
|
+ return s, nil
|
|
|
}
|
|
|
|
|
|
@private
|
|
@@ -805,7 +799,7 @@ _fdopendir :: proc(fd: Handle) -> (Dir, Errno) {
|
|
|
if dirp == cast(Dir)nil {
|
|
|
return nil, Errno(get_last_error())
|
|
|
}
|
|
|
- return dirp, ERROR_NONE
|
|
|
+ return dirp, nil
|
|
|
}
|
|
|
|
|
|
@private
|
|
@@ -831,7 +825,7 @@ _readdir :: proc(dirp: Dir) -> (entry: Dirent, err: Errno, end_of_stream: bool)
|
|
|
err = Errno(get_last_error())
|
|
|
return
|
|
|
}
|
|
|
- err = ERROR_NONE
|
|
|
+ err = nil
|
|
|
|
|
|
if result == nil {
|
|
|
end_of_stream = true
|
|
@@ -860,7 +854,7 @@ _readlink :: proc(path: string) -> (string, Errno) {
|
|
|
delete(buf)
|
|
|
buf = make([]byte, bufsz)
|
|
|
} else {
|
|
|
- return strings.string_from_ptr(&buf[0], rc), ERROR_NONE
|
|
|
+ return strings.string_from_ptr(&buf[0], rc), nil
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -892,7 +886,7 @@ absolute_path_from_relative :: proc(rel: string) -> (path: string, err: Errno) {
|
|
|
|
|
|
path = strings.clone(string(cstring(path_ptr)))
|
|
|
|
|
|
- return path, ERROR_NONE
|
|
|
+ return path, nil
|
|
|
}
|
|
|
|
|
|
access :: proc(path: string, mask: int) -> (bool, Errno) {
|
|
@@ -902,7 +896,7 @@ access :: proc(path: string, mask: int) -> (bool, Errno) {
|
|
|
if result < 0 {
|
|
|
return false, _get_errno(result)
|
|
|
}
|
|
|
- return true, ERROR_NONE
|
|
|
+ return true, nil
|
|
|
}
|
|
|
|
|
|
lookup_env :: proc(key: string, allocator := context.allocator) -> (value: string, found: bool) {
|
|
@@ -1034,7 +1028,7 @@ socket :: proc(domain: int, type: int, protocol: int) -> (Socket, Errno) {
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(result)
|
|
|
}
|
|
|
- return Socket(result), ERROR_NONE
|
|
|
+ return Socket(result), nil
|
|
|
}
|
|
|
|
|
|
bind :: proc(sd: Socket, addr: ^SOCKADDR, len: socklen_t) -> (Errno) {
|
|
@@ -1059,7 +1053,7 @@ accept :: proc(sd: Socket, addr: ^SOCKADDR, len: rawptr) -> (Socket, Errno) {
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(result)
|
|
|
}
|
|
|
- return Socket(result), ERROR_NONE
|
|
|
+ return Socket(result), nil
|
|
|
}
|
|
|
|
|
|
listen :: proc(sd: Socket, backlog: int) -> (Errno) {
|
|
@@ -1084,7 +1078,7 @@ recvfrom :: proc(sd: Socket, data: []byte, flags: int, addr: ^SOCKADDR, addr_siz
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(int(result))
|
|
|
}
|
|
|
- return u32(result), ERROR_NONE
|
|
|
+ return u32(result), nil
|
|
|
}
|
|
|
|
|
|
recv :: proc(sd: Socket, data: []byte, flags: int) -> (u32, Errno) {
|
|
@@ -1092,7 +1086,7 @@ recv :: proc(sd: Socket, data: []byte, flags: int) -> (u32, Errno) {
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(int(result))
|
|
|
}
|
|
|
- return u32(result), ERROR_NONE
|
|
|
+ return u32(result), nil
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1101,7 +1095,7 @@ sendto :: proc(sd: Socket, data: []u8, flags: int, addr: ^SOCKADDR, addrlen: soc
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(int(result))
|
|
|
}
|
|
|
- return u32(result), ERROR_NONE
|
|
|
+ return u32(result), nil
|
|
|
}
|
|
|
|
|
|
send :: proc(sd: Socket, data: []byte, flags: int) -> (u32, Errno) {
|
|
@@ -1109,7 +1103,7 @@ send :: proc(sd: Socket, data: []byte, flags: int) -> (u32, Errno) {
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(int(result))
|
|
|
}
|
|
|
- return u32(result), ERROR_NONE
|
|
|
+ return u32(result), nil
|
|
|
}
|
|
|
|
|
|
shutdown :: proc(sd: Socket, how: int) -> (Errno) {
|
|
@@ -1125,7 +1119,7 @@ fcntl :: proc(fd: int, cmd: int, arg: int) -> (int, Errno) {
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(result)
|
|
|
}
|
|
|
- return result, ERROR_NONE
|
|
|
+ return result, nil
|
|
|
}
|
|
|
|
|
|
poll :: proc(fds: []pollfd, timeout: int) -> (int, Errno) {
|
|
@@ -1133,7 +1127,7 @@ poll :: proc(fds: []pollfd, timeout: int) -> (int, Errno) {
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(result)
|
|
|
}
|
|
|
- return result, ERROR_NONE
|
|
|
+ return result, nil
|
|
|
}
|
|
|
|
|
|
ppoll :: proc(fds: []pollfd, timeout: ^unix.timespec, sigmask: ^sigset_t) -> (int, Errno) {
|
|
@@ -1141,5 +1135,5 @@ ppoll :: proc(fds: []pollfd, timeout: ^unix.timespec, sigmask: ^sigset_t) -> (in
|
|
|
if result < 0 {
|
|
|
return 0, _get_errno(result)
|
|
|
}
|
|
|
- return result, ERROR_NONE
|
|
|
+ return result, nil
|
|
|
}
|