7e6155744d
Compared to the previous version, v0.16, there are a couple of minor changes: - CLOUDABI_AT_PID: Process identifiers for CloudABI processes. Initially, BSD process identifiers weren't exposed inside the runtime, due to them being pretty much useless inside of a cluster computing environment. When jobs are scheduled across systems, the BSD process number doesn't act as an identifier. Even on individual systems they may recycle relatively quickly. With this change, the kernel will now generate a UUIDv4 when executing a process. These UUIDs can be obtained within the process using program_getpid(). Right now, FreeBSD will not attempt to store this value. This should of course happen at some point in time, so that it may be printed by administration tools. - Removal of some unused structure members for polling. With the polling framework being simplified/redesigned, it turns out some of the structure fields were not used by the C library. We can remove these to keep things nice and tidy. Obtained from: https://github.com/NuxiNL/cloudabi
275 lines
8.1 KiB
Plaintext
275 lines
8.1 KiB
Plaintext
$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, \
|
|
cloudabi_event_t *out, \
|
|
size_t nsubscriptions); }
|
|
|
|
38 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); }
|
|
|
|
39 AUE_NULL STD { void cloudabi_sys_proc_exit( \
|
|
cloudabi_exitcode_t rval); }
|
|
|
|
40 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
|
|
|
|
41 AUE_NULL STD { void cloudabi_sys_proc_raise( \
|
|
cloudabi_signal_t sig); }
|
|
|
|
42 AUE_NULL STD { void cloudabi_sys_random_get( \
|
|
void *buf, \
|
|
size_t buf_len); }
|
|
|
|
43 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
|
|
cloudabi_fd_t sock, \
|
|
const cloudabi32_recv_in_t *in, \
|
|
cloudabi32_recv_out_t *out); }
|
|
|
|
44 AUE_NULL STD { void cloudabi32_sys_sock_send( \
|
|
cloudabi_fd_t sock, \
|
|
const cloudabi32_send_in_t *in, \
|
|
cloudabi32_send_out_t *out); }
|
|
|
|
45 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
|
|
cloudabi_fd_t sock, \
|
|
cloudabi_sdflags_t how); }
|
|
|
|
46 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
|
|
cloudabi32_threadattr_t *attr); }
|
|
|
|
47 AUE_NULL STD { void cloudabi_sys_thread_exit( \
|
|
cloudabi_lock_t *lock, \
|
|
cloudabi_scope_t scope); }
|
|
|
|
48 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
|