Module: sys.platform.runtime
Source: ./sys/platform/runtime.reef
Overview
sys/platform/runtime - Reef Runtime FFI Declarations
This module provides FFI declarations for functions implemented in the Reef runtime (reef-runtime/src/*.c). These are Reef-specific functions that provide platform abstraction.
Categories:
- String: reef_string_alloc, reef_alloc_string_buffer, etc.
- Time: reef_time, reef_sleep_*, reef_clock
- I/O: reef_getcwd_safe, reef_mkdir, reef_opendir, etc.
- Net: reef_tcp_, reef_udp_, reef_dns_, reef_net_
- Process: reef_process_*, reef_getpid, reef_getppid
- Signal: reef_signal_, reef_SIG
- Platform: reef_machine_, reef_platform_
- Debug: reef_objects_*
- Conversion: reef_int_to_float, float_to_int_*
Functions
fn reef_string_alloc(len: int): string
fn reef_alloc_string_buffer(size: int): string
fn reef_string_copy_range(dest: string, src: string, start: int, len: int): int
fn reef_index_of_char_from(s: string, c: char, start: int): int
fn reef_last_index_of_char(s: string, c: char): int
fn reef_string_length(s: string): int
BUG-147: logical string length API (str_len header field)
fn reef_time(): int
fn reef_time_millis(): int
fn reef_clock(): int
fn reef_clocks_per_sec(): int
fn reef_sleep_seconds(s: int): int
fn reef_sleep_millis(ms: int): int
fn reef_sleep_micros(us: int): int
fn reef_getcwd_safe(buf: string, size: int): int
fn reef_mkdir(path: string, mode: int): int
fn reef_rmdir(path: string): int
fn reef_chdir(path: string): int
fn reef_opendir(path: string): pointer
fn reef_opendir_valid(path: string): int
fn reef_readdir_name(dir: pointer, buf: string, size: int): int
fn reef_closedir(dir: pointer): int
fn reef_stat_isdir(path: string): int
fn reef_access(path: string, mode: int): int
fn reef_getenv(name: string): string
fn reef_getenv_exists(name: string): int
fn reef_setenv(name: string, value: string): int
fn reef_unsetenv(name: string): int
fn reef_machine_get_os_name(): string
fn reef_machine_get_arch(): string
fn reef_machine_get_num_processors(): int
fn reef_machine_get_page_size(): int
fn reef_machine_get_total_memory(): int64
fn reef_machine_get_available_memory(): int64
fn reef_platform_get_cpu_vendor(): string
fn reef_platform_get_cpu_brand(): string
fn reef_getpid(): int
fn reef_getppid(): int
fn reef_process_spawn_shell(command: string): int
fn reef_process_wait(pid: int): int
fn reef_process_try_wait(pid: int): int
fn reef_process_kill(pid: int, signum: int): int
fn reef_process_get_exit_code(): int
fn reef_process_get_signal(): int
fn reef_process_exited_normally(): int
fn reef_process_was_signaled(): int
fn reef_process_fork(): int
Extended process management
fn reef_process_setsid(): int
fn reef_process_getpgid(pid: int): int
fn reef_process_setpgid(pid: int, pgid: int): int
fn reef_umask(mask: int): int
fn reef_process_spawn_argv(program: string, args: pointer, count: int): int
fn reef_process_exec_argv(program: string, args: pointer, count: int): int
fn reef_process_wait_any(): int
fn reef_process_wait_any_nohang(): int
fn reef_killpg(pgrp: int, sig: int): int
fn reef_string_array_create(arr: pointer, count: int): pointer
String array marshaling
fn reef_fd_open(path: string, flags: int, mode: int): int
fn reef_fd_close(fd: int): int
fn reef_fd_read(fd: int, buf: pointer, count: int): int
fn reef_fd_write(fd: int, buf: string, count: int): int
fn reef_fd_dup(oldfd: int): int
fn reef_fd_dup2(oldfd: int, newfd: int): int
fn reef_fd_pipe(): int
fn reef_fd_pipe_read(): int
fn reef_fd_pipe_write(): int
fn reef_fd_set_nonblocking(fd: int, enable: int): int
fn reef_fd_set_cloexec(fd: int, enable: int): int
fn reef_STDIN(): int
fn reef_STDOUT(): int
fn reef_STDERR(): int
fn reef_O_RDONLY(): int
fn reef_O_WRONLY(): int
fn reef_O_RDWR(): int
fn reef_O_CREAT(): int
fn reef_O_TRUNC(): int
fn reef_O_APPEND(): int
fn reef_O_CLOEXEC(): int
fn reef_poll_add(fd: int, events: int): int
fn reef_poll_wait(timeout_ms: int): int
fn reef_poll_revents(index: int): int
fn reef_poll_has_event(index: int, event: int): int
fn reef_POLLIN(): int
fn reef_POLLOUT(): int
fn reef_POLLERR(): int
fn reef_POLLHUP(): int
fn reef_unix_connect(path: string): int
fn reef_unix_listen(path: string, backlog: int): int
fn reef_unix_accept(server_fd: int): int
fn reef_unix_unlink(path: string): int
fn reef_signal_set_handler(signum: int, handler: pointer): int
fn reef_signal_ignore(signum: int): int
fn reef_signal_default(signum: int): int
fn reef_signal_check(signum: int): int
fn reef_signal_name(signum: int): string
fn reef_SIGHUP(): int
fn reef_SIGINT(): int
fn reef_SIGQUIT(): int
fn reef_SIGKILL(): int
fn reef_SIGTERM(): int
fn reef_SIGSTOP(): int
fn reef_SIGCONT(): int
fn reef_SIGCHLD(): int
fn reef_SIGUSR1(): int
fn reef_SIGUSR2(): int
fn reef_SIGPIPE(): int
fn reef_SIGALRM(): int
fn reef_SIGRTMIN(): int
fn reef_SIGRTMIN_offset(n: int): int
fn reef_signal_block(signum: int): int
Signal enhancements
fn reef_signal_unblock(signum: int): int
fn reef_signal_wait_set(signums: pointer, count: int): int
fn reef_signal_selfpipe_create(fds: pointer): int
fn reef_signal_selfpipe_register(signum: int, write_fd: int): int
fn reef_signal_selfpipe_read(read_fd: int): int
fn reef_tcp_connect(host: string, port: int): int
fn reef_tcp_connect_timeout(host: string, port: int, timeout_ms: int): int
fn reef_tcp_listen(port: int, backlog: int): int
fn reef_tcp_accept(server_fd: int): int
fn reef_tcp_send(sockfd: int, data: string, len: int): int
fn reef_tcp_send_all(sockfd: int, data: string, len: int): int
fn reef_tcp_recv(sockfd: int, buffer: pointer, max_len: int): int
fn reef_tcp_recv_all(sockfd: int, buffer: pointer, len: int): int
fn reef_tcp_close(sockfd: int): int
fn reef_tcp_shutdown(sockfd: int, how: int): int
fn reef_tcp_set_nodelay(sockfd: int, enable: int): int
fn reef_tcp_set_keepalive(sockfd: int, enable: int): int
fn reef_tcp_set_timeout(sockfd: int, recv_ms: int, send_ms: int): int
fn reef_udp_create(ipv6: int): int
fn reef_udp_bind(sockfd: int, port: int): int
fn reef_udp_sendto(sockfd: int, host: string, port: int, data: string, len: int): int
fn reef_udp_recvfrom(sockfd: int, buffer: pointer, max_len: int): int
fn reef_udp_close(sockfd: int): int
fn reef_udp_set_broadcast(sockfd: int, enable: int): int
fn reef_net_peer_addr(): string
fn reef_net_peer_port(): int
fn reef_net_get_local_port(sockfd: int): int
fn reef_net_last_error(): int
fn reef_net_error_string(errcode: int): string
fn reef_net_error_kind(): int
fn reef_net_is_ipv6(addr: string): int
fn reef_dns_lookup(hostname: string, ipv6_only: int): int
fn reef_dns_get_addr(index: int): string
fn reef_dns_reverse(addr: string, buf: pointer, buf_size: int): int
fn reef_objects_process_count(): int
fn reef_objects_get_waiting_count(): int
fn reef_objects_check_locks_simple(): int
fn reef_int_to_float(n: int): float
fn reef_srand(seed: int): int
fn float_to_int(x: float): int
fn float_to_int_floor(x: float): int
fn float_to_int_ceil(x: float): int
fn float_to_int_round(x: float): int
fn reef_fs_is_file(path: string): int
fn reef_fs_is_symlink(path: string): int
fn reef_fs_is_pipe(path: string): int
fn reef_fs_is_socket(path: string): int
fn reef_fs_is_block_device(path: string): int
fn reef_fs_is_char_device(path: string): int
fn reef_fs_file_size(path: string): int64
fn reef_fs_file_mode(path: string): int
fn reef_fs_file_uid(path: string): int
fn reef_fs_file_gid(path: string): int
fn reef_fs_file_mtime(path: string): int64
fn reef_fs_uid_name(uid: int): string
UID/GID Name Resolution
fn reef_fs_gid_name(gid: int): string
fn reef_fs_file_uid_name(path: string): string
fn reef_fs_file_gid_name(path: string): string
fn reef_fs_user_home(name: string): string
fn reef_fs_chmod(path: string, mode: int): int
fn reef_fs_chown(path: string, uid: int, gid: int): int
fn reef_fs_lchown(path: string, uid: int, gid: int): int
fn reef_fs_S_IRUSR(): int
fn reef_fs_S_IWUSR(): int
fn reef_fs_S_IXUSR(): int
fn reef_fs_S_IRGRP(): int
fn reef_fs_S_IWGRP(): int
fn reef_fs_S_IXGRP(): int
fn reef_fs_S_IROTH(): int
fn reef_fs_S_IWOTH(): int
fn reef_fs_S_IXOTH(): int
fn reef_fs_S_ISUID(): int
fn reef_fs_S_ISGID(): int
fn reef_fs_S_ISVTX(): int
fn reef_fs_symlink(target: string, linkpath: string): int
fn reef_fs_readlink(path: string, buf: string, bufsize: int): int
fn reef_fs_link(oldpath: string, newpath: string): int
fn reef_fs_copy_file(src: string, dst: string): int
fn reef_fs_copy_file_preserve(src: string, dst: string): int
fn reef_fs_copy_symlink(src: string, dst: string): int
fn reef_fs_unlink(path: string): int
fn reef_fs_rename(oldpath: string, newpath: string): int
fn reef_fs_fsync(path: string): int
fn reef_fs_fsync_parent(path: string): int
fn reef_fs_remove_tree(path: string): int
fn reef_fs_copy_tree(src: string, dst: string): int
fn reef_float64_to_bits(x: float): int64
fn reef_bits_to_float64(bits: int64): float
fn reef_float32_to_bits(x: float32): int
fn reef_bits_to_float32(bits: int): float32
fn reef_float64_exponent(x: float): int
fn reef_float64_mantissa(x: float): int64
fn reef_float64_sign(x: float): int
fn reef_make_float64(sign: int, exponent: int, mantissa: int64): float
Procedures
proc reef_string_set_length(s: string, n: int)
proc reef_string_sync_length(s: string)
proc reef_exit_now(code: int)
Immediate exit (no cleanup)
proc reef_string_array_free(argv: pointer)
proc reef_poll_clear()
proc reef_signal_init()
proc reef_objects_dump_process_list()
proc reef_objects_validate_locks()
Generated by reefc doc