opnsense-src/sys/contrib/cloudabi/syscalls32.master
Ed Schouten cea9310d4e Upgrade to the latest sources generated from the CloudABI specification.
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
2017-07-26 06:57:15 +00:00

307 lines
9 KiB
Text

$FreeBSD$
; Copyright (c) 2016 Nuxi (https://nuxi.nl/) and contributors.
;
; Redistribution and use in source and binary forms, with or without
; modification, are permitted provided that the following conditions
; are met:
; 1. Redistributions of source code must retain the above copyright
; notice, this list of conditions and the following disclaimer.
; 2. Redistributions in binary form must reproduce the above copyright
; notice, this list of conditions and the following disclaimer in the
; documentation and/or other materials provided with the distribution.
;
; THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
; SUCH DAMAGE.
;
; This file is automatically generated. Do not edit.
;
; Source: https://github.com/NuxiNL/cloudabi
#include <sys/sysent.h>
#include <sys/sysproto.h>
#include <contrib/cloudabi/cloudabi32_types.h>
#include <compat/cloudabi32/cloudabi32_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_scope_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 { size_t cloudabi32_sys_fd_pread( \
cloudabi_fd_t fd, \
const cloudabi32_iovec_t *iovs, \
size_t iovs_len, \
cloudabi_filesize_t offset); }
9 AUE_NULL STD { size_t cloudabi32_sys_fd_pwrite( \
cloudabi_fd_t fd, \
const cloudabi32_ciovec_t *iovs, \
size_t iovs_len, \
cloudabi_filesize_t offset); }
10 AUE_NULL STD { size_t cloudabi32_sys_fd_read( \
cloudabi_fd_t fd, \
const cloudabi32_iovec_t *iovs, \
size_t iovs_len); }
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 { size_t cloudabi32_sys_fd_write( \
cloudabi_fd_t fd, \
const cloudabi32_ciovec_t *iovs, \
size_t iovs_len); }
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 path_len, \
cloudabi_filetype_t type); }
20 AUE_NULL STD { void cloudabi_sys_file_link( \
cloudabi_lookup_t fd1, \
const char *path1, \
size_t path1_len, \
cloudabi_fd_t fd2, \
const char *path2, \
size_t path2_len); }
21 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_file_open( \
cloudabi_lookup_t dirfd, \
const char *path, \
size_t path_len, \
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 buf_len, \
cloudabi_dircookie_t cookie); }
23 AUE_NULL STD { size_t cloudabi_sys_file_readlink( \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len, \
char *buf, \
size_t buf_len); }
24 AUE_NULL STD { void cloudabi_sys_file_rename( \
cloudabi_fd_t fd1, \
const char *path1, \
size_t path1_len, \
cloudabi_fd_t fd2, \
const char *path2, \
size_t path2_len); }
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 path_len, \
cloudabi_filestat_t *buf); }
28 AUE_NULL STD { void cloudabi_sys_file_stat_put( \
cloudabi_lookup_t fd, \
const char *path, \
size_t path_len, \
const cloudabi_filestat_t *buf, \
cloudabi_fsflags_t flags); }
29 AUE_NULL STD { void cloudabi_sys_file_symlink( \
const char *path1, \
size_t path1_len, \
cloudabi_fd_t fd, \
const char *path2, \
size_t path2_len); }
30 AUE_NULL STD { void cloudabi_sys_file_unlink( \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len, \
cloudabi_ulflags_t flags); }
31 AUE_NULL STD { void cloudabi_sys_lock_unlock( \
cloudabi_lock_t *lock, \
cloudabi_scope_t scope); }
32 AUE_NULL STD { void cloudabi_sys_mem_advise( \
void *mapping, \
size_t mapping_len, \
cloudabi_advice_t advice); }
33 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); }
34 AUE_NULL STD { void cloudabi_sys_mem_protect( \
void *mapping, \
size_t mapping_len, \
cloudabi_mprot_t prot); }
35 AUE_NULL STD { void cloudabi_sys_mem_sync( \
void *mapping, \
size_t mapping_len, \
cloudabi_msflags_t flags); }
36 AUE_NULL STD { void cloudabi_sys_mem_unmap( \
void *mapping, \
size_t mapping_len); }
37 AUE_NULL STD { size_t cloudabi32_sys_poll( \
const cloudabi32_subscription_t *in, \
cloudabi32_event_t *out, \
size_t nsubscriptions); }
38 AUE_NULL STD { size_t cloudabi32_sys_poll_fd( \
cloudabi_fd_t fd, \
const cloudabi32_subscription_t *in, \
size_t in_len, \
cloudabi32_event_t *out, \
size_t out_len, \
const cloudabi32_subscription_t *timeout); }
39 AUE_NULL STD { void cloudabi_sys_proc_exec( \
cloudabi_fd_t fd, \
const void *data, \
size_t data_len, \
const cloudabi_fd_t *fds, \
size_t fds_len); }
40 AUE_NULL STD { void cloudabi_sys_proc_exit( \
cloudabi_exitcode_t rval); }
41 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
42 AUE_NULL STD { void cloudabi_sys_proc_raise( \
cloudabi_signal_t sig); }
43 AUE_NULL STD { void cloudabi_sys_random_get( \
void *buf, \
size_t buf_len); }
44 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_sock_accept( \
cloudabi_fd_t sock, \
void *unused); }
45 AUE_NULL STD { void cloudabi_sys_sock_bind( \
cloudabi_fd_t sock, \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len); }
46 AUE_NULL STD { void cloudabi_sys_sock_connect( \
cloudabi_fd_t sock, \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len); }
47 AUE_NULL STD { void cloudabi_sys_sock_listen( \
cloudabi_fd_t sock, \
cloudabi_backlog_t backlog); }
48 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
cloudabi_fd_t sock, \
const cloudabi32_recv_in_t *in, \
cloudabi32_recv_out_t *out); }
49 AUE_NULL STD { void cloudabi32_sys_sock_send( \
cloudabi_fd_t sock, \
const cloudabi32_send_in_t *in, \
cloudabi32_send_out_t *out); }
50 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
cloudabi_fd_t sock, \
cloudabi_sdflags_t how); }
51 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
cloudabi_fd_t sock, \
cloudabi_sockstat_t *buf, \
cloudabi_ssflags_t flags); }
52 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
cloudabi32_threadattr_t *attr); }
53 AUE_NULL STD { void cloudabi_sys_thread_exit( \
cloudabi_lock_t *lock, \
cloudabi_scope_t scope); }
54 AUE_NULL STD { void cloudabi_sys_thread_yield(); }