9f5ab27b83
The most important change in this release is the removal of the poll_fd() system call; CloudABI's equivalent of kevent(). Though I think that kqueue is a lot saner than many of its alternatives, our experience is that emulating this system call on other systems accurately isn't easy. It has become a complex API, even though I'm not convinced this complexity is needed. This is why we've decided to take a different approach, by looking one layer up. We're currently adding an event loop to CloudABI's C library that is API compatible with libuv (except when incompatible with Capsicum). Initially, this event loop will be built on top of plain inefficient poll() calls. Only after this is finished, we'll work our way backwards and design a new set of system calls to optimize it. Interesting challenges will include integrating asynchronous I/O into such a system call API. libuv currently doesn't aio(4) on Linux/BSD, due to it being unreliable and having undesired semantics. Obtained from: https://github.com/NuxiNL/cloudabi
58 lines
2.5 KiB
C
58 lines
2.5 KiB
C
/*
|
|
* System call numbers.
|
|
*
|
|
* DO NOT EDIT-- this file is automatically generated.
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
#define CLOUDABI64_SYS_cloudabi_sys_clock_res_get 0
|
|
#define CLOUDABI64_SYS_cloudabi_sys_clock_time_get 1
|
|
#define CLOUDABI64_SYS_cloudabi_sys_condvar_signal 2
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_close 3
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_create1 4
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_create2 5
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_datasync 6
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_dup 7
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_fd_pread 8
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_fd_pwrite 9
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_fd_read 10
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_replace 11
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_seek 12
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_stat_get 13
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_stat_put 14
|
|
#define CLOUDABI64_SYS_cloudabi_sys_fd_sync 15
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_fd_write 16
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_advise 17
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_allocate 18
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_create 19
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_link 20
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_open 21
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_readdir 22
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_readlink 23
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_rename 24
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_stat_fget 25
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_stat_fput 26
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_stat_get 27
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_stat_put 28
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_symlink 29
|
|
#define CLOUDABI64_SYS_cloudabi_sys_file_unlink 30
|
|
#define CLOUDABI64_SYS_cloudabi_sys_lock_unlock 31
|
|
#define CLOUDABI64_SYS_cloudabi_sys_mem_advise 32
|
|
#define CLOUDABI64_SYS_cloudabi_sys_mem_map 33
|
|
#define CLOUDABI64_SYS_cloudabi_sys_mem_protect 34
|
|
#define CLOUDABI64_SYS_cloudabi_sys_mem_sync 35
|
|
#define CLOUDABI64_SYS_cloudabi_sys_mem_unmap 36
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_poll 37
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_exec 38
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_exit 39
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_fork 40
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_raise 41
|
|
#define CLOUDABI64_SYS_cloudabi_sys_random_get 42
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_sock_recv 43
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 44
|
|
#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 45
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 46
|
|
#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 47
|
|
#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 48
|
|
#define CLOUDABI64_SYS_MAXSYSCALL 49
|