The CloudABI specification has had some minor changes over the last half year. No substantial features have been added, but some features that are deemed unnecessary in retrospect have been removed: - mlock()/munlock(): These calls tend to be used for two different purposes: real-time support and handling of sensitive (cryptographic) material that shouldn't end up in swap. The former use case is out of scope for CloudABI. The latter may also be handled by encrypting swap. Removing this has the advantage that we no longer need to worry about having resource limits put in place. - SOCK_SEQPACKET: Support for SOCK_SEQPACKET is rather inconsistent across various operating systems. Some operating systems supported by CloudABI (e.g., macOS) don't support it at all. Considering that they are rarely used, remove support for the time being. - getsockname(), getpeername(), etc.: A shortcoming of the sockets API is that it doesn't allow you to create socket(pair)s, having fake socket addresses associated with them. This makes it harder to test applications or transparently forward (proxy) connections to them. With CloudABI, we're slowly moving networking connectivity into a separate daemon called Flower. In addition to passing around socket file descriptors, this daemon provides address information in the form of arbitrary string labels. There is thus no longer any need for requesting socket address information from the kernel itself. This change also updates consumers of the generated code accordingly. Even though system calls end up getting renumbered, this won't cause any problems in practice. CloudABI programs always call into the kernel through a kernel-supplied vDSO that has the numbers updated as well. Obtained from: https://github.com/NuxiNL/cloudabi
64 lines
2.8 KiB
C
64 lines
2.8 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_cloudabi64_sys_poll_fd 38
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_exec 39
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_exit 40
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_fork 41
|
|
#define CLOUDABI64_SYS_cloudabi_sys_proc_raise 42
|
|
#define CLOUDABI64_SYS_cloudabi_sys_random_get 43
|
|
#define CLOUDABI64_SYS_cloudabi_sys_sock_accept 44
|
|
#define CLOUDABI64_SYS_cloudabi_sys_sock_bind 45
|
|
#define CLOUDABI64_SYS_cloudabi_sys_sock_connect 46
|
|
#define CLOUDABI64_SYS_cloudabi_sys_sock_listen 47
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_sock_recv 48
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 49
|
|
#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 50
|
|
#define CLOUDABI64_SYS_cloudabi_sys_sock_stat_get 51
|
|
#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 52
|
|
#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 53
|
|
#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 54
|
|
#define CLOUDABI64_SYS_MAXSYSCALL 55
|