2837d9ed43
We're going to need these for next code I'm going to send out for review: support for poll() and kqueue() on CloudABI.
221 lines
7.8 KiB
Plaintext
221 lines
7.8 KiB
Plaintext
$FreeBSD$
|
|
|
|
; System call table for CloudABI.
|
|
;
|
|
; All system calls that do not use any machine-dependent data types are
|
|
; prefixed with cloudabi_sys_. The others are called cloudabi64_sys_.
|
|
|
|
#include <sys/sysent.h>
|
|
#include <sys/sysproto.h>
|
|
|
|
#include <compat/cloudabi64/cloudabi64_syscalldefs.h>
|
|
#include <compat/cloudabi64/cloudabi64_proto.h>
|
|
|
|
0 AUE_NULL STD { cloudabi_timestamp_t \
|
|
cloudabi_sys_clock_res_get( \
|
|
cloudabi_clockid_t clock_id); }
|
|
1 AUE_NULL STD { cloudabi_timestamp_t \
|
|
cloudabi_sys_clock_time_get( \
|
|
cloudabi_clockid_t clock_id, \
|
|
cloudabi_timestamp_t precision); }
|
|
|
|
2 AUE_NULL STD { void cloudabi_sys_condvar_signal( \
|
|
cloudabi_condvar_t *condvar, \
|
|
cloudabi_mflags_t scope, \
|
|
cloudabi_nthreads_t nwaiters); }
|
|
|
|
3 AUE_NULL STD { void cloudabi_sys_fd_close( \
|
|
cloudabi_fd_t fd); }
|
|
4 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_fd_create1( \
|
|
cloudabi_filetype_t type); }
|
|
5 AUE_NULL STD { void cloudabi_sys_fd_create2( \
|
|
cloudabi_filetype_t type); }
|
|
6 AUE_NULL STD { void cloudabi_sys_fd_datasync( \
|
|
cloudabi_fd_t fd); }
|
|
7 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_fd_dup( \
|
|
cloudabi_fd_t from); }
|
|
8 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_fd_pread( \
|
|
cloudabi_fd_t fd, \
|
|
const cloudabi64_iovec_t *iov, \
|
|
cloudabi64_size_t iovcnt, \
|
|
cloudabi_filesize_t offset); }
|
|
9 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_fd_pwrite( \
|
|
cloudabi_fd_t fd, \
|
|
const cloudabi64_ciovec_t *iov, \
|
|
cloudabi64_size_t iovcnt, \
|
|
cloudabi_filesize_t offset); }
|
|
10 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_fd_read( \
|
|
cloudabi_fd_t fd, \
|
|
const cloudabi64_iovec_t *iov, \
|
|
cloudabi64_size_t iovcnt); }
|
|
11 AUE_NULL STD { void cloudabi_sys_fd_replace( \
|
|
cloudabi_fd_t from, \
|
|
cloudabi_fd_t to); }
|
|
12 AUE_NULL STD { cloudabi_filesize_t cloudabi_sys_fd_seek( \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_filedelta_t offset, \
|
|
cloudabi_whence_t whence); }
|
|
13 AUE_NULL STD { void cloudabi_sys_fd_stat_get( \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_fdstat_t *buf); }
|
|
14 AUE_NULL STD { void cloudabi_sys_fd_stat_put( \
|
|
cloudabi_fd_t fd, \
|
|
const cloudabi_fdstat_t *buf, \
|
|
cloudabi_fdsflags_t flags); }
|
|
15 AUE_NULL STD { void cloudabi_sys_fd_sync( \
|
|
cloudabi_fd_t fd); }
|
|
16 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_fd_write( \
|
|
cloudabi_fd_t fd, \
|
|
const cloudabi64_ciovec_t *iov, \
|
|
cloudabi64_size_t iovcnt); }
|
|
|
|
17 AUE_NULL STD { void cloudabi_sys_file_advise( \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_filesize_t offset, \
|
|
cloudabi_filesize_t len, \
|
|
cloudabi_advice_t advice); }
|
|
18 AUE_NULL STD { void cloudabi_sys_file_allocate( \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_filesize_t offset, \
|
|
cloudabi_filesize_t len); }
|
|
19 AUE_NULL STD { void cloudabi_sys_file_create( \
|
|
cloudabi_fd_t fd, \
|
|
const char *path, size_t pathlen, \
|
|
cloudabi_filetype_t type); }
|
|
20 AUE_NULL STD { void cloudabi_sys_file_link( \
|
|
cloudabi_lookup_t fd1, \
|
|
const char *path1, size_t path1len, \
|
|
cloudabi_fd_t fd2, \
|
|
const char *path2, size_t path2len); }
|
|
21 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_file_open( \
|
|
cloudabi_lookup_t fd, \
|
|
const char *path, size_t pathlen, \
|
|
cloudabi_oflags_t oflags, \
|
|
const cloudabi_fdstat_t *fds); }
|
|
22 AUE_NULL STD { size_t cloudabi_sys_file_readdir( \
|
|
cloudabi_fd_t fd, \
|
|
void *buf, size_t nbyte, \
|
|
cloudabi_dircookie_t cookie); }
|
|
23 AUE_NULL STD { size_t cloudabi_sys_file_readlink( \
|
|
cloudabi_fd_t fd, \
|
|
const char *path, size_t pathlen, \
|
|
void *buf, size_t bufsize); }
|
|
24 AUE_NULL STD { void cloudabi_sys_file_rename( \
|
|
cloudabi_fd_t oldfd, \
|
|
const char *old, size_t oldlen, \
|
|
cloudabi_fd_t newfd, \
|
|
const char *new, size_t newlen); }
|
|
25 AUE_NULL STD { void cloudabi_sys_file_stat_fget( \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_filestat_t *buf); }
|
|
26 AUE_NULL STD { void cloudabi_sys_file_stat_fput( \
|
|
cloudabi_fd_t fd, \
|
|
const cloudabi_filestat_t *buf, \
|
|
cloudabi_fsflags_t flags); }
|
|
27 AUE_NULL STD { void cloudabi_sys_file_stat_get( \
|
|
cloudabi_lookup_t fd, \
|
|
const char *path, size_t pathlen, \
|
|
cloudabi_filestat_t *buf); }
|
|
28 AUE_NULL STD { void cloudabi_sys_file_stat_put( \
|
|
cloudabi_lookup_t fd, \
|
|
const char *path, size_t pathlen, \
|
|
const cloudabi_filestat_t *buf, \
|
|
cloudabi_fsflags_t flags); }
|
|
29 AUE_NULL STD { void cloudabi_sys_file_symlink( \
|
|
const char *path1, size_t path1len, \
|
|
cloudabi_fd_t fd, \
|
|
const char *path2, size_t path2len); }
|
|
30 AUE_NULL STD { void cloudabi_sys_file_unlink( \
|
|
cloudabi_fd_t fd, \
|
|
const char *path, size_t pathlen, \
|
|
cloudabi_ulflags_t flag); }
|
|
|
|
31 AUE_NULL STD { void cloudabi_sys_lock_unlock( \
|
|
cloudabi_lock_t *lock, \
|
|
cloudabi_mflags_t scope); }
|
|
|
|
32 AUE_NULL STD { void cloudabi_sys_mem_advise( \
|
|
void *addr, size_t len, \
|
|
cloudabi_advice_t advice); }
|
|
33 AUE_NULL STD { void cloudabi_sys_mem_lock( \
|
|
const void *addr, size_t len); }
|
|
34 AUE_NULL STD { void cloudabi_sys_mem_map( \
|
|
void *addr, size_t len, \
|
|
cloudabi_mprot_t prot, \
|
|
cloudabi_mflags_t flags, \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_filesize_t off); }
|
|
35 AUE_NULL STD { void cloudabi_sys_mem_protect( \
|
|
void *addr, size_t len, \
|
|
cloudabi_mprot_t prot); }
|
|
36 AUE_NULL STD { void cloudabi_sys_mem_sync( \
|
|
void *addr, size_t len, \
|
|
cloudabi_msflags_t flags); }
|
|
37 AUE_NULL STD { void cloudabi_sys_mem_unlock( \
|
|
const void *addr, size_t len); }
|
|
38 AUE_NULL STD { void cloudabi_sys_mem_unmap( \
|
|
void * addr, size_t len); }
|
|
|
|
39 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_poll( \
|
|
const cloudabi64_subscription_t *in, \
|
|
cloudabi64_event_t *out, \
|
|
cloudabi64_size_t nevents); }
|
|
|
|
40 AUE_NULL STD { void cloudabi_sys_proc_exec( \
|
|
cloudabi_fd_t fd, const void *data, \
|
|
size_t datalen, \
|
|
const cloudabi_fd_t *fds, \
|
|
size_t fdslen); }
|
|
41 AUE_NULL STD { void cloudabi_sys_proc_exit( \
|
|
cloudabi_exitcode_t rval); }
|
|
42 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_proc_fork(); }
|
|
43 AUE_NULL STD { void cloudabi_sys_proc_raise( \
|
|
cloudabi_signal_t sig); }
|
|
|
|
44 AUE_NULL STD { void cloudabi_sys_random_get( \
|
|
void *buf, size_t nbyte); }
|
|
|
|
45 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_sock_accept( \
|
|
cloudabi_fd_t s, \
|
|
cloudabi_sockstat_t *buf); }
|
|
46 AUE_NULL STD { void cloudabi_sys_sock_bind( \
|
|
cloudabi_fd_t s, cloudabi_fd_t fd, \
|
|
const char *path, size_t pathlen); }
|
|
47 AUE_NULL STD { void cloudabi_sys_sock_connect( \
|
|
cloudabi_fd_t s, cloudabi_fd_t fd, \
|
|
const char *path, size_t pathlen); }
|
|
48 AUE_NULL STD { void cloudabi_sys_sock_listen( \
|
|
cloudabi_fd_t s, \
|
|
cloudabi_backlog_t backlog); }
|
|
49 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_sock_recv( \
|
|
cloudabi_fd_t s, \
|
|
const cloudabi64_recv_in_t *in, \
|
|
cloudabi64_recv_out_t *out); }
|
|
50 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_sock_send( \
|
|
cloudabi_fd_t s, \
|
|
const cloudabi64_send_in_t *in, \
|
|
cloudabi64_send_out_t *out); }
|
|
51 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_sdflags_t how); }
|
|
52 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
|
|
cloudabi_fd_t fd, \
|
|
cloudabi_sockstat_t *buf, \
|
|
cloudabi_ssflags_t flags); }
|
|
|
|
53 AUE_NULL STD { cloudabi_tid_t cloudabi64_sys_thread_create( \
|
|
cloudabi64_threadattr_t *attr); }
|
|
54 AUE_NULL STD { void cloudabi_sys_thread_exit( \
|
|
cloudabi_lock_t *lock, \
|
|
cloudabi_mflags_t scope); }
|
|
55 AUE_NULL STD { void cloudabi_sys_thread_tcb_set(void *tcb); }
|
|
56 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
|
|
|
|
57 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_poll_fd( \
|
|
cloudabi_fd_t fd, \
|
|
const cloudabi64_subscription_t *in, \
|
|
cloudabi64_size_t nin, \
|
|
cloudabi64_event_t *out, \
|
|
cloudabi64_size_t nout, \
|
|
const cloudabi64_subscription_t *timeout); }
|