Module: sys.fd
Source: ./sys/fd.reef
Overview
sys/fd - File descriptor operations
Low-level file descriptor API for pipes, dup, open/close, and fcntl. For higher-level file I/O, use the io module instead.
Example - Pipe: let fds = fd_pipe() fd_write(fds[1], "hello") let msg = fd_read(fds[0], 32) fd_close(fds[0]) fd_close(fds[1])
Example - Open file: let fd = fd_open("/tmp/test.txt", O_WRONLY() | O_CREAT() | O_TRUNC(), 0o644) fd_write(fd, "hello world") fd_close(fd)
Functions
fn fd_open(path: string, flags: int, mode: int): int
Open a file descriptor
fn fd_close(fd: int): int
Close a file descriptor
fn fd_read(fd: int, max_len: int): string
Read from a file descriptor, returns data as string
fn fd_write(fd: int, data: string): int
Write string data to a file descriptor
fn fd_dup(oldfd: int): int
Duplicate a file descriptor
fn fd_dup2(oldfd: int, newfd: int): int
Duplicate fd to specific number
fn fd_pipe(): [int]
Create a pipe, returns [read_fd, write_fd]
fn fd_set_nonblocking(fd: int, enable: bool): int
Set non-blocking mode on fd
fn fd_set_cloexec(fd: int, enable: bool): int
Set close-on-exec flag on fd
fn STDIN(): int
Standard file descriptor constants
fn STDOUT(): int
fn STDERR(): int
fn O_RDONLY(): int
Open flag constants
fn O_WRONLY(): int
fn O_RDWR(): int
fn O_CREAT(): int
fn O_TRUNC(): int
fn O_APPEND(): int
fn O_CLOEXEC(): int
Generated by reefc doc