Import the 32-bit system call table and data types into the tree.
Obtained from: https://github.com/NuxiNL/cloudabi
This commit is contained in:
parent
9d7777e138
commit
98d627a0ab
232
sys/contrib/cloudabi/cloudabi32_types.h
Normal file
232
sys/contrib/cloudabi/cloudabi32_types.h
Normal file
@ -0,0 +1,232 @@
|
||||
// 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
|
||||
|
||||
#ifndef CLOUDABI32_TYPES_H
|
||||
#define CLOUDABI32_TYPES_H
|
||||
|
||||
#include "cloudabi_types_common.h"
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) cloudabi_auxtype_t a_type;
|
||||
union {
|
||||
_Alignas(4) uint32_t a_val;
|
||||
_Alignas(4) uint32_t a_ptr;
|
||||
};
|
||||
} cloudabi32_auxv_t;
|
||||
_Static_assert(offsetof(cloudabi32_auxv_t, a_type) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_auxv_t, a_val) == 4, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_auxv_t, a_ptr) == 4, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_auxv_t) == 8, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_auxv_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t iov_base;
|
||||
_Alignas(4) uint32_t iov_len;
|
||||
} cloudabi32_ciovec_t;
|
||||
_Static_assert(offsetof(cloudabi32_ciovec_t, iov_base) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_ciovec_t, iov_len) == 4, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_ciovec_t) == 8, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_ciovec_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(8) cloudabi_userdata_t userdata;
|
||||
_Alignas(2) cloudabi_errno_t error;
|
||||
_Alignas(1) cloudabi_eventtype_t type;
|
||||
union {
|
||||
struct {
|
||||
_Alignas(8) cloudabi_userdata_t identifier;
|
||||
} clock;
|
||||
struct {
|
||||
_Alignas(4) uint32_t condvar;
|
||||
} condvar;
|
||||
struct {
|
||||
_Alignas(8) cloudabi_filesize_t nbytes;
|
||||
_Alignas(4) cloudabi_fd_t fd;
|
||||
_Alignas(2) cloudabi_eventrwflags_t flags;
|
||||
} fd_readwrite;
|
||||
struct {
|
||||
_Alignas(4) uint32_t lock;
|
||||
} lock;
|
||||
struct {
|
||||
_Alignas(4) cloudabi_fd_t fd;
|
||||
_Alignas(1) cloudabi_signal_t signal;
|
||||
_Alignas(4) cloudabi_exitcode_t exitcode;
|
||||
} proc_terminate;
|
||||
};
|
||||
} cloudabi32_event_t;
|
||||
_Static_assert(offsetof(cloudabi32_event_t, userdata) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, error) == 8, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, type) == 10, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, clock.identifier) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, condvar.condvar) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, fd_readwrite.nbytes) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, fd_readwrite.fd) == 24, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, fd_readwrite.flags) == 28, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, lock.lock) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, proc_terminate.fd) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, proc_terminate.signal) == 20, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_event_t, proc_terminate.exitcode) == 24, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_event_t) == 32, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_event_t) == 8, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t iov_base;
|
||||
_Alignas(4) uint32_t iov_len;
|
||||
} cloudabi32_iovec_t;
|
||||
_Static_assert(offsetof(cloudabi32_iovec_t, iov_base) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_iovec_t, iov_len) == 4, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_iovec_t) == 8, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_iovec_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef void cloudabi32_processentry_t(uint32_t auxv);
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t ri_data;
|
||||
_Alignas(4) uint32_t ri_datalen;
|
||||
_Alignas(4) uint32_t ri_fds;
|
||||
_Alignas(4) uint32_t ri_fdslen;
|
||||
_Alignas(2) cloudabi_msgflags_t ri_flags;
|
||||
} cloudabi32_recv_in_t;
|
||||
_Static_assert(offsetof(cloudabi32_recv_in_t, ri_data) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_in_t, ri_datalen) == 4, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_in_t, ri_fds) == 8, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_in_t, ri_fdslen) == 12, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_in_t, ri_flags) == 16, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_recv_in_t) == 20, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_recv_in_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t si_data;
|
||||
_Alignas(4) uint32_t si_datalen;
|
||||
_Alignas(4) uint32_t si_fds;
|
||||
_Alignas(4) uint32_t si_fdslen;
|
||||
_Alignas(2) cloudabi_msgflags_t si_flags;
|
||||
} cloudabi32_send_in_t;
|
||||
_Static_assert(offsetof(cloudabi32_send_in_t, si_data) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_send_in_t, si_datalen) == 4, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_send_in_t, si_fds) == 8, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_send_in_t, si_fdslen) == 12, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_send_in_t, si_flags) == 16, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_send_in_t) == 20, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_send_in_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t so_datalen;
|
||||
} cloudabi32_send_out_t;
|
||||
_Static_assert(offsetof(cloudabi32_send_out_t, so_datalen) == 0, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_send_out_t) == 4, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_send_out_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(8) cloudabi_userdata_t userdata;
|
||||
_Alignas(2) cloudabi_subflags_t flags;
|
||||
_Alignas(1) cloudabi_eventtype_t type;
|
||||
union {
|
||||
struct {
|
||||
_Alignas(8) cloudabi_userdata_t identifier;
|
||||
_Alignas(4) cloudabi_clockid_t clock_id;
|
||||
_Alignas(8) cloudabi_timestamp_t timeout;
|
||||
_Alignas(8) cloudabi_timestamp_t precision;
|
||||
_Alignas(2) cloudabi_subclockflags_t flags;
|
||||
} clock;
|
||||
struct {
|
||||
_Alignas(4) uint32_t condvar;
|
||||
_Alignas(4) uint32_t lock;
|
||||
_Alignas(1) cloudabi_scope_t condvar_scope;
|
||||
_Alignas(1) cloudabi_scope_t lock_scope;
|
||||
} condvar;
|
||||
struct {
|
||||
_Alignas(4) cloudabi_fd_t fd;
|
||||
_Alignas(2) cloudabi_subrwflags_t flags;
|
||||
} fd_readwrite;
|
||||
struct {
|
||||
_Alignas(4) uint32_t lock;
|
||||
_Alignas(1) cloudabi_scope_t lock_scope;
|
||||
} lock;
|
||||
struct {
|
||||
_Alignas(4) cloudabi_fd_t fd;
|
||||
} proc_terminate;
|
||||
};
|
||||
} cloudabi32_subscription_t;
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, userdata) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, flags) == 8, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, type) == 10, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, clock.identifier) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, clock.clock_id) == 24, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, clock.timeout) == 32, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, clock.precision) == 40, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, clock.flags) == 48, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, condvar.condvar) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, condvar.lock) == 20, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, condvar.condvar_scope) == 24, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, condvar.lock_scope) == 25, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, fd_readwrite.fd) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, fd_readwrite.flags) == 20, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, lock.lock) == 16, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, lock.lock_scope) == 20, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_subscription_t, proc_terminate.fd) == 16, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_subscription_t) == 56, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_subscription_t) == 8, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t parent;
|
||||
} cloudabi32_tcb_t;
|
||||
_Static_assert(offsetof(cloudabi32_tcb_t, parent) == 0, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_tcb_t) == 4, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_tcb_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef void cloudabi32_threadentry_t(cloudabi_tid_t tid, uint32_t aux);
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t ro_datalen;
|
||||
_Alignas(4) uint32_t ro_fdslen;
|
||||
_Alignas(2) cloudabi_sockaddr_t ro_sockname;
|
||||
_Alignas(2) cloudabi_sockaddr_t ro_peername;
|
||||
_Alignas(2) cloudabi_msgflags_t ro_flags;
|
||||
} cloudabi32_recv_out_t;
|
||||
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_datalen) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_fdslen) == 4, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_sockname) == 8, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_peername) == 28, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_flags) == 48, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_recv_out_t) == 52, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_recv_out_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(4) uint32_t entry_point;
|
||||
_Alignas(4) uint32_t stack;
|
||||
_Alignas(4) uint32_t stack_size;
|
||||
_Alignas(4) uint32_t argument;
|
||||
} cloudabi32_threadattr_t;
|
||||
_Static_assert(offsetof(cloudabi32_threadattr_t, entry_point) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_threadattr_t, stack) == 4, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_threadattr_t, stack_size) == 8, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi32_threadattr_t, argument) == 12, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi32_threadattr_t) == 16, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi32_threadattr_t) == 4, "Incorrect layout");
|
||||
|
||||
#endif
|
315
sys/contrib/cloudabi/syscalls32.master
Normal file
315
sys/contrib/cloudabi/syscalls32.master
Normal file
@ -0,0 +1,315 @@
|
||||
$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/cloudabi64_types.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_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 *iov, \
|
||||
size_t iovcnt, \
|
||||
cloudabi_filesize_t offset); }
|
||||
|
||||
9 AUE_NULL STD { size_t cloudabi32_sys_fd_pwrite( \
|
||||
cloudabi_fd_t fd, \
|
||||
const cloudabi32_ciovec_t *iov, \
|
||||
size_t iovcnt, \
|
||||
cloudabi_filesize_t offset); }
|
||||
|
||||
10 AUE_NULL STD { size_t cloudabi32_sys_fd_read( \
|
||||
cloudabi_fd_t fd, \
|
||||
const cloudabi32_iovec_t *iov, \
|
||||
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 { size_t cloudabi32_sys_fd_write( \
|
||||
cloudabi_fd_t fd, \
|
||||
const cloudabi32_ciovec_t *iov, \
|
||||
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 dirfd, \
|
||||
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, \
|
||||
char *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 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 *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 { size_t cloudabi32_sys_poll( \
|
||||
const cloudabi32_subscription_t *in, \
|
||||
cloudabi32_event_t *out, \
|
||||
size_t nsubscriptions); }
|
||||
|
||||
40 AUE_NULL STD { size_t cloudabi32_sys_poll_fd( \
|
||||
cloudabi_fd_t fd, \
|
||||
const cloudabi32_subscription_t *in, \
|
||||
size_t nin, \
|
||||
cloudabi32_event_t *out, \
|
||||
size_t nout, \
|
||||
const cloudabi32_subscription_t *timeout); }
|
||||
|
||||
41 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); }
|
||||
|
||||
42 AUE_NULL STD { void cloudabi_sys_proc_exit( \
|
||||
cloudabi_exitcode_t rval); }
|
||||
|
||||
43 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
|
||||
|
||||
44 AUE_NULL STD { void cloudabi_sys_proc_raise( \
|
||||
cloudabi_signal_t sig); }
|
||||
|
||||
45 AUE_NULL STD { void cloudabi_sys_random_get( \
|
||||
void *buf, \
|
||||
size_t nbyte); }
|
||||
|
||||
46 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_sock_accept( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_sockstat_t *buf); }
|
||||
|
||||
47 AUE_NULL STD { void cloudabi_sys_sock_bind( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_fd_t fd, \
|
||||
const char *path, \
|
||||
size_t pathlen); }
|
||||
|
||||
48 AUE_NULL STD { void cloudabi_sys_sock_connect( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_fd_t fd, \
|
||||
const char *path, \
|
||||
size_t pathlen); }
|
||||
|
||||
49 AUE_NULL STD { void cloudabi_sys_sock_listen( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_backlog_t backlog); }
|
||||
|
||||
50 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
|
||||
cloudabi_fd_t sock, \
|
||||
const cloudabi32_recv_in_t *in, \
|
||||
cloudabi32_recv_out_t *out); }
|
||||
|
||||
51 AUE_NULL STD { void cloudabi32_sys_sock_send( \
|
||||
cloudabi_fd_t sock, \
|
||||
const cloudabi32_send_in_t *in, \
|
||||
cloudabi32_send_out_t *out); }
|
||||
|
||||
52 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_sdflags_t how); }
|
||||
|
||||
53 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_sockstat_t *buf, \
|
||||
cloudabi_ssflags_t flags); }
|
||||
|
||||
54 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
|
||||
cloudabi32_threadattr_t *attr); }
|
||||
|
||||
55 AUE_NULL STD { void cloudabi_sys_thread_exit( \
|
||||
cloudabi_lock_t *lock, \
|
||||
cloudabi_scope_t scope); }
|
||||
|
||||
56 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
|
Loading…
x
Reference in New Issue
Block a user