mirror of
https://git.FreeBSD.org/src.git
synced 2025-02-06 18:29:47 +00:00
Complete the CloudABI networking refactoring.
Now that all of the packaged software has been adjusted to either use Flower (https://github.com/NuxiNL/flower) for making incoming/outgoing network connections or can have connections injected, there is no longer need to keep accept() around. It is now a lot easier to write networked services that are address family independent, dual-stack, testable, etc. Remove all of the bits related to accept(), but also to getsockopt(SO_ACCEPTCONN).
This commit is contained in:
parent
2b12718be6
commit
b53b978a6c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=323015
@ -78,10 +78,7 @@ __FBSDID("$FreeBSD$");
|
||||
MAPPING(CLOUDABI_RIGHT_POLL_PROC_TERMINATE, CAP_EVENT) \
|
||||
MAPPING(CLOUDABI_RIGHT_POLL_WAIT, CAP_KQUEUE_EVENT) \
|
||||
MAPPING(CLOUDABI_RIGHT_PROC_EXEC, CAP_FEXECVE) \
|
||||
MAPPING(CLOUDABI_RIGHT_SOCK_ACCEPT, CAP_ACCEPT) \
|
||||
MAPPING(CLOUDABI_RIGHT_SOCK_SHUTDOWN, CAP_SHUTDOWN) \
|
||||
MAPPING(CLOUDABI_RIGHT_SOCK_STAT_GET, CAP_GETPEERNAME, \
|
||||
CAP_GETSOCKNAME, CAP_GETSOCKOPT)
|
||||
|
||||
int
|
||||
cloudabi_sys_fd_close(struct thread *td, struct cloudabi_sys_fd_close_args *uap)
|
||||
@ -386,9 +383,7 @@ cloudabi_remove_conflicting_rights(cloudabi_filetype_t filetype,
|
||||
CLOUDABI_RIGHT_FD_WRITE |
|
||||
CLOUDABI_RIGHT_FILE_STAT_FGET |
|
||||
CLOUDABI_RIGHT_POLL_FD_READWRITE |
|
||||
CLOUDABI_RIGHT_SOCK_ACCEPT |
|
||||
CLOUDABI_RIGHT_SOCK_SHUTDOWN |
|
||||
CLOUDABI_RIGHT_SOCK_STAT_GET;
|
||||
CLOUDABI_RIGHT_SOCK_SHUTDOWN;
|
||||
break;
|
||||
default:
|
||||
*inheriting = 0;
|
||||
|
@ -48,14 +48,6 @@ __FBSDID("$FreeBSD$");
|
||||
#include <compat/cloudabi/cloudabi_proto.h>
|
||||
#include <compat/cloudabi/cloudabi_util.h>
|
||||
|
||||
int
|
||||
cloudabi_sys_sock_accept(struct thread *td,
|
||||
struct cloudabi_sys_sock_accept_args *uap)
|
||||
{
|
||||
|
||||
return (kern_accept(td, uap->sock, NULL, NULL, NULL));
|
||||
}
|
||||
|
||||
int
|
||||
cloudabi_sys_sock_shutdown(struct thread *td,
|
||||
struct cloudabi_sys_sock_shutdown_args *uap)
|
||||
@ -79,37 +71,6 @@ cloudabi_sys_sock_shutdown(struct thread *td,
|
||||
return (kern_shutdown(td, uap->sock, how));
|
||||
}
|
||||
|
||||
int
|
||||
cloudabi_sys_sock_stat_get(struct thread *td,
|
||||
struct cloudabi_sys_sock_stat_get_args *uap)
|
||||
{
|
||||
cloudabi_sockstat_t ss = {};
|
||||
cap_rights_t rights;
|
||||
struct file *fp;
|
||||
struct socket *so;
|
||||
int error;
|
||||
|
||||
error = getsock_cap(td, uap->sock, cap_rights_init(&rights,
|
||||
CAP_GETSOCKOPT, CAP_GETPEERNAME, CAP_GETSOCKNAME), &fp, NULL, NULL);
|
||||
if (error != 0)
|
||||
return (error);
|
||||
so = fp->f_data;
|
||||
|
||||
/* Set ss_error. */
|
||||
SOCK_LOCK(so);
|
||||
ss.ss_error = cloudabi_convert_errno(so->so_error);
|
||||
if ((uap->flags & CLOUDABI_SOCKSTAT_CLEAR_ERROR) != 0)
|
||||
so->so_error = 0;
|
||||
SOCK_UNLOCK(so);
|
||||
|
||||
/* Set ss_state. */
|
||||
if ((so->so_options & SO_ACCEPTCONN) != 0)
|
||||
ss.ss_state |= CLOUDABI_SOCKSTATE_ACCEPTCONN;
|
||||
|
||||
fdrop(fp, td);
|
||||
return (copyout(&ss, uap->buf, sizeof(ss)));
|
||||
}
|
||||
|
||||
int
|
||||
cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
|
||||
size_t datalen, cloudabi_fd_t *fds, size_t fdslen,
|
||||
|
@ -255,10 +255,6 @@ struct cloudabi_sys_random_get_args {
|
||||
char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
|
||||
char buf_len_l_[PADL_(size_t)]; size_t buf_len; char buf_len_r_[PADR_(size_t)];
|
||||
};
|
||||
struct cloudabi_sys_sock_accept_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char unused_l_[PADL_(void *)]; void * unused; char unused_r_[PADR_(void *)];
|
||||
};
|
||||
struct cloudabi32_sys_sock_recv_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char in_l_[PADL_(const cloudabi32_recv_in_t *)]; const cloudabi32_recv_in_t * in; char in_r_[PADR_(const cloudabi32_recv_in_t *)];
|
||||
@ -273,11 +269,6 @@ struct cloudabi_sys_sock_shutdown_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char how_l_[PADL_(cloudabi_sdflags_t)]; cloudabi_sdflags_t how; char how_r_[PADR_(cloudabi_sdflags_t)];
|
||||
};
|
||||
struct cloudabi_sys_sock_stat_get_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char buf_l_[PADL_(cloudabi_sockstat_t *)]; cloudabi_sockstat_t * buf; char buf_r_[PADR_(cloudabi_sockstat_t *)];
|
||||
char flags_l_[PADL_(cloudabi_ssflags_t)]; cloudabi_ssflags_t flags; char flags_r_[PADR_(cloudabi_ssflags_t)];
|
||||
};
|
||||
struct cloudabi32_sys_thread_create_args {
|
||||
char attr_l_[PADL_(cloudabi32_threadattr_t *)]; cloudabi32_threadattr_t * attr; char attr_r_[PADR_(cloudabi32_threadattr_t *)];
|
||||
};
|
||||
@ -332,11 +323,9 @@ int cloudabi_sys_proc_exit(struct thread *, struct cloudabi_sys_proc_exit_args *
|
||||
int cloudabi_sys_proc_fork(struct thread *, struct cloudabi_sys_proc_fork_args *);
|
||||
int cloudabi_sys_proc_raise(struct thread *, struct cloudabi_sys_proc_raise_args *);
|
||||
int cloudabi_sys_random_get(struct thread *, struct cloudabi_sys_random_get_args *);
|
||||
int cloudabi_sys_sock_accept(struct thread *, struct cloudabi_sys_sock_accept_args *);
|
||||
int cloudabi32_sys_sock_recv(struct thread *, struct cloudabi32_sys_sock_recv_args *);
|
||||
int cloudabi32_sys_sock_send(struct thread *, struct cloudabi32_sys_sock_send_args *);
|
||||
int cloudabi_sys_sock_shutdown(struct thread *, struct cloudabi_sys_sock_shutdown_args *);
|
||||
int cloudabi_sys_sock_stat_get(struct thread *, struct cloudabi_sys_sock_stat_get_args *);
|
||||
int cloudabi32_sys_thread_create(struct thread *, struct cloudabi32_sys_thread_create_args *);
|
||||
int cloudabi_sys_thread_exit(struct thread *, struct cloudabi_sys_thread_exit_args *);
|
||||
int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_args *);
|
||||
@ -420,11 +409,9 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_proc_fork AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_proc_raise AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_random_get AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_sock_accept AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi32_sys_sock_recv AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi32_sys_sock_send AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_sock_shutdown AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_sock_stat_get AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi32_sys_thread_create AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_thread_exit AUE_NULL
|
||||
#define CLOUDABI32_SYS_AUE_cloudabi_sys_thread_yield AUE_NULL
|
||||
|
@ -49,12 +49,10 @@
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_proc_fork 41
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_proc_raise 42
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_random_get 43
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_sock_accept 44
|
||||
#define CLOUDABI32_SYS_cloudabi32_sys_sock_recv 45
|
||||
#define CLOUDABI32_SYS_cloudabi32_sys_sock_send 46
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_sock_shutdown 47
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_sock_stat_get 48
|
||||
#define CLOUDABI32_SYS_cloudabi32_sys_thread_create 49
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_thread_exit 50
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_thread_yield 51
|
||||
#define CLOUDABI32_SYS_MAXSYSCALL 52
|
||||
#define CLOUDABI32_SYS_cloudabi32_sys_sock_recv 44
|
||||
#define CLOUDABI32_SYS_cloudabi32_sys_sock_send 45
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_sock_shutdown 46
|
||||
#define CLOUDABI32_SYS_cloudabi32_sys_thread_create 47
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_thread_exit 48
|
||||
#define CLOUDABI32_SYS_cloudabi_sys_thread_yield 49
|
||||
#define CLOUDABI32_SYS_MAXSYSCALL 50
|
||||
|
@ -50,12 +50,10 @@ const char *cloudabi32_syscallnames[] = {
|
||||
"cloudabi_sys_proc_fork", /* 41 = cloudabi_sys_proc_fork */
|
||||
"cloudabi_sys_proc_raise", /* 42 = cloudabi_sys_proc_raise */
|
||||
"cloudabi_sys_random_get", /* 43 = cloudabi_sys_random_get */
|
||||
"cloudabi_sys_sock_accept", /* 44 = cloudabi_sys_sock_accept */
|
||||
"cloudabi32_sys_sock_recv", /* 45 = cloudabi32_sys_sock_recv */
|
||||
"cloudabi32_sys_sock_send", /* 46 = cloudabi32_sys_sock_send */
|
||||
"cloudabi_sys_sock_shutdown", /* 47 = cloudabi_sys_sock_shutdown */
|
||||
"cloudabi_sys_sock_stat_get", /* 48 = cloudabi_sys_sock_stat_get */
|
||||
"cloudabi32_sys_thread_create", /* 49 = cloudabi32_sys_thread_create */
|
||||
"cloudabi_sys_thread_exit", /* 50 = cloudabi_sys_thread_exit */
|
||||
"cloudabi_sys_thread_yield", /* 51 = cloudabi_sys_thread_yield */
|
||||
"cloudabi32_sys_sock_recv", /* 44 = cloudabi32_sys_sock_recv */
|
||||
"cloudabi32_sys_sock_send", /* 45 = cloudabi32_sys_sock_send */
|
||||
"cloudabi_sys_sock_shutdown", /* 46 = cloudabi_sys_sock_shutdown */
|
||||
"cloudabi32_sys_thread_create", /* 47 = cloudabi32_sys_thread_create */
|
||||
"cloudabi_sys_thread_exit", /* 48 = cloudabi_sys_thread_exit */
|
||||
"cloudabi_sys_thread_yield", /* 49 = cloudabi_sys_thread_yield */
|
||||
};
|
||||
|
@ -58,12 +58,10 @@ struct sysent cloudabi32_sysent[] = {
|
||||
{ 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 41 = cloudabi_sys_proc_fork */
|
||||
{ AS(cloudabi_sys_proc_raise_args), (sy_call_t *)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 42 = cloudabi_sys_proc_raise */
|
||||
{ AS(cloudabi_sys_random_get_args), (sy_call_t *)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = cloudabi_sys_random_get */
|
||||
{ AS(cloudabi_sys_sock_accept_args), (sy_call_t *)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi_sys_sock_accept */
|
||||
{ AS(cloudabi32_sys_sock_recv_args), (sy_call_t *)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi32_sys_sock_recv */
|
||||
{ AS(cloudabi32_sys_sock_send_args), (sy_call_t *)cloudabi32_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi32_sys_sock_send */
|
||||
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi_sys_sock_shutdown */
|
||||
{ AS(cloudabi_sys_sock_stat_get_args), (sy_call_t *)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_sock_stat_get */
|
||||
{ AS(cloudabi32_sys_thread_create_args), (sy_call_t *)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi32_sys_thread_create */
|
||||
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 50 = cloudabi_sys_thread_exit */
|
||||
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 51 = cloudabi_sys_thread_yield */
|
||||
{ AS(cloudabi32_sys_sock_recv_args), (sy_call_t *)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi32_sys_sock_recv */
|
||||
{ AS(cloudabi32_sys_sock_send_args), (sy_call_t *)cloudabi32_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi32_sys_sock_send */
|
||||
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi_sys_sock_shutdown */
|
||||
{ AS(cloudabi32_sys_thread_create_args), (sy_call_t *)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi32_sys_thread_create */
|
||||
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_thread_exit */
|
||||
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi_sys_thread_yield */
|
||||
};
|
||||
|
@ -407,16 +407,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_sock_accept */
|
||||
case 44: {
|
||||
struct cloudabi_sys_sock_accept_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->unused; /* void * */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* cloudabi32_sys_sock_recv */
|
||||
case 45: {
|
||||
case 44: {
|
||||
struct cloudabi32_sys_sock_recv_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->in; /* const cloudabi32_recv_in_t * */
|
||||
@ -425,7 +417,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
break;
|
||||
}
|
||||
/* cloudabi32_sys_sock_send */
|
||||
case 46: {
|
||||
case 45: {
|
||||
struct cloudabi32_sys_sock_send_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->in; /* const cloudabi32_send_in_t * */
|
||||
@ -434,31 +426,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_sock_shutdown */
|
||||
case 47: {
|
||||
case 46: {
|
||||
struct cloudabi_sys_sock_shutdown_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
iarg[1] = p->how; /* cloudabi_sdflags_t */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_sock_stat_get */
|
||||
case 48: {
|
||||
struct cloudabi_sys_sock_stat_get_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
|
||||
iarg[2] = p->flags; /* cloudabi_ssflags_t */
|
||||
*n_args = 3;
|
||||
break;
|
||||
}
|
||||
/* cloudabi32_sys_thread_create */
|
||||
case 49: {
|
||||
case 47: {
|
||||
struct cloudabi32_sys_thread_create_args *p = params;
|
||||
uarg[0] = (intptr_t) p->attr; /* cloudabi32_threadattr_t * */
|
||||
*n_args = 1;
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_thread_exit */
|
||||
case 50: {
|
||||
case 48: {
|
||||
struct cloudabi_sys_thread_exit_args *p = params;
|
||||
uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
|
||||
iarg[1] = p->scope; /* cloudabi_scope_t */
|
||||
@ -466,7 +449,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_thread_yield */
|
||||
case 51: {
|
||||
case 49: {
|
||||
*n_args = 0;
|
||||
break;
|
||||
}
|
||||
@ -1183,21 +1166,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_sock_accept */
|
||||
case 44:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
break;
|
||||
case 1:
|
||||
p = "userland void *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi32_sys_sock_recv */
|
||||
case 45:
|
||||
case 44:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
@ -1213,7 +1183,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi32_sys_sock_send */
|
||||
case 46:
|
||||
case 45:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
@ -1229,7 +1199,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_sock_shutdown */
|
||||
case 47:
|
||||
case 46:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
@ -1241,24 +1211,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_sock_stat_get */
|
||||
case 48:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
break;
|
||||
case 1:
|
||||
p = "userland cloudabi_sockstat_t *";
|
||||
break;
|
||||
case 2:
|
||||
p = "cloudabi_ssflags_t";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi32_sys_thread_create */
|
||||
case 49:
|
||||
case 47:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "userland cloudabi32_threadattr_t *";
|
||||
@ -1268,7 +1222,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_thread_exit */
|
||||
case 50:
|
||||
case 48:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "userland cloudabi_lock_t *";
|
||||
@ -1281,7 +1235,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_thread_yield */
|
||||
case 51:
|
||||
case 49:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -1511,43 +1465,33 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_sock_accept */
|
||||
case 44:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "cloudabi_fd_t";
|
||||
break;
|
||||
/* cloudabi32_sys_sock_recv */
|
||||
case 45:
|
||||
case 44:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi32_sys_sock_send */
|
||||
case 46:
|
||||
case 45:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_sock_shutdown */
|
||||
case 47:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_sock_stat_get */
|
||||
case 48:
|
||||
case 46:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi32_sys_thread_create */
|
||||
case 49:
|
||||
case 47:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "cloudabi_tid_t";
|
||||
break;
|
||||
/* cloudabi_sys_thread_exit */
|
||||
case 50:
|
||||
case 48:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_thread_yield */
|
||||
case 51:
|
||||
case 49:
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
@ -255,10 +255,6 @@ struct cloudabi_sys_random_get_args {
|
||||
char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
|
||||
char buf_len_l_[PADL_(size_t)]; size_t buf_len; char buf_len_r_[PADR_(size_t)];
|
||||
};
|
||||
struct cloudabi_sys_sock_accept_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char unused_l_[PADL_(void *)]; void * unused; char unused_r_[PADR_(void *)];
|
||||
};
|
||||
struct cloudabi64_sys_sock_recv_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char in_l_[PADL_(const cloudabi64_recv_in_t *)]; const cloudabi64_recv_in_t * in; char in_r_[PADR_(const cloudabi64_recv_in_t *)];
|
||||
@ -273,11 +269,6 @@ struct cloudabi_sys_sock_shutdown_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char how_l_[PADL_(cloudabi_sdflags_t)]; cloudabi_sdflags_t how; char how_r_[PADR_(cloudabi_sdflags_t)];
|
||||
};
|
||||
struct cloudabi_sys_sock_stat_get_args {
|
||||
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
|
||||
char buf_l_[PADL_(cloudabi_sockstat_t *)]; cloudabi_sockstat_t * buf; char buf_r_[PADR_(cloudabi_sockstat_t *)];
|
||||
char flags_l_[PADL_(cloudabi_ssflags_t)]; cloudabi_ssflags_t flags; char flags_r_[PADR_(cloudabi_ssflags_t)];
|
||||
};
|
||||
struct cloudabi64_sys_thread_create_args {
|
||||
char attr_l_[PADL_(cloudabi64_threadattr_t *)]; cloudabi64_threadattr_t * attr; char attr_r_[PADR_(cloudabi64_threadattr_t *)];
|
||||
};
|
||||
@ -332,11 +323,9 @@ int cloudabi_sys_proc_exit(struct thread *, struct cloudabi_sys_proc_exit_args *
|
||||
int cloudabi_sys_proc_fork(struct thread *, struct cloudabi_sys_proc_fork_args *);
|
||||
int cloudabi_sys_proc_raise(struct thread *, struct cloudabi_sys_proc_raise_args *);
|
||||
int cloudabi_sys_random_get(struct thread *, struct cloudabi_sys_random_get_args *);
|
||||
int cloudabi_sys_sock_accept(struct thread *, struct cloudabi_sys_sock_accept_args *);
|
||||
int cloudabi64_sys_sock_recv(struct thread *, struct cloudabi64_sys_sock_recv_args *);
|
||||
int cloudabi64_sys_sock_send(struct thread *, struct cloudabi64_sys_sock_send_args *);
|
||||
int cloudabi_sys_sock_shutdown(struct thread *, struct cloudabi_sys_sock_shutdown_args *);
|
||||
int cloudabi_sys_sock_stat_get(struct thread *, struct cloudabi_sys_sock_stat_get_args *);
|
||||
int cloudabi64_sys_thread_create(struct thread *, struct cloudabi64_sys_thread_create_args *);
|
||||
int cloudabi_sys_thread_exit(struct thread *, struct cloudabi_sys_thread_exit_args *);
|
||||
int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_args *);
|
||||
@ -420,11 +409,9 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_proc_fork AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_proc_raise AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_random_get AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_sock_accept AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi64_sys_sock_recv AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi64_sys_sock_send AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_sock_shutdown AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_sock_stat_get AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi64_sys_thread_create AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_thread_exit AUE_NULL
|
||||
#define CLOUDABI64_SYS_AUE_cloudabi_sys_thread_yield AUE_NULL
|
||||
|
@ -49,12 +49,10 @@
|
||||
#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_cloudabi64_sys_sock_recv 45
|
||||
#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 46
|
||||
#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 47
|
||||
#define CLOUDABI64_SYS_cloudabi_sys_sock_stat_get 48
|
||||
#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 49
|
||||
#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 50
|
||||
#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 51
|
||||
#define CLOUDABI64_SYS_MAXSYSCALL 52
|
||||
#define CLOUDABI64_SYS_cloudabi64_sys_sock_recv 44
|
||||
#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 45
|
||||
#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 46
|
||||
#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 47
|
||||
#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 48
|
||||
#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 49
|
||||
#define CLOUDABI64_SYS_MAXSYSCALL 50
|
||||
|
@ -50,12 +50,10 @@ const char *cloudabi64_syscallnames[] = {
|
||||
"cloudabi_sys_proc_fork", /* 41 = cloudabi_sys_proc_fork */
|
||||
"cloudabi_sys_proc_raise", /* 42 = cloudabi_sys_proc_raise */
|
||||
"cloudabi_sys_random_get", /* 43 = cloudabi_sys_random_get */
|
||||
"cloudabi_sys_sock_accept", /* 44 = cloudabi_sys_sock_accept */
|
||||
"cloudabi64_sys_sock_recv", /* 45 = cloudabi64_sys_sock_recv */
|
||||
"cloudabi64_sys_sock_send", /* 46 = cloudabi64_sys_sock_send */
|
||||
"cloudabi_sys_sock_shutdown", /* 47 = cloudabi_sys_sock_shutdown */
|
||||
"cloudabi_sys_sock_stat_get", /* 48 = cloudabi_sys_sock_stat_get */
|
||||
"cloudabi64_sys_thread_create", /* 49 = cloudabi64_sys_thread_create */
|
||||
"cloudabi_sys_thread_exit", /* 50 = cloudabi_sys_thread_exit */
|
||||
"cloudabi_sys_thread_yield", /* 51 = cloudabi_sys_thread_yield */
|
||||
"cloudabi64_sys_sock_recv", /* 44 = cloudabi64_sys_sock_recv */
|
||||
"cloudabi64_sys_sock_send", /* 45 = cloudabi64_sys_sock_send */
|
||||
"cloudabi_sys_sock_shutdown", /* 46 = cloudabi_sys_sock_shutdown */
|
||||
"cloudabi64_sys_thread_create", /* 47 = cloudabi64_sys_thread_create */
|
||||
"cloudabi_sys_thread_exit", /* 48 = cloudabi_sys_thread_exit */
|
||||
"cloudabi_sys_thread_yield", /* 49 = cloudabi_sys_thread_yield */
|
||||
};
|
||||
|
@ -58,12 +58,10 @@ struct sysent cloudabi64_sysent[] = {
|
||||
{ 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 41 = cloudabi_sys_proc_fork */
|
||||
{ AS(cloudabi_sys_proc_raise_args), (sy_call_t *)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 42 = cloudabi_sys_proc_raise */
|
||||
{ AS(cloudabi_sys_random_get_args), (sy_call_t *)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = cloudabi_sys_random_get */
|
||||
{ AS(cloudabi_sys_sock_accept_args), (sy_call_t *)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi_sys_sock_accept */
|
||||
{ AS(cloudabi64_sys_sock_recv_args), (sy_call_t *)cloudabi64_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi64_sys_sock_recv */
|
||||
{ AS(cloudabi64_sys_sock_send_args), (sy_call_t *)cloudabi64_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi64_sys_sock_send */
|
||||
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi_sys_sock_shutdown */
|
||||
{ AS(cloudabi_sys_sock_stat_get_args), (sy_call_t *)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_sock_stat_get */
|
||||
{ AS(cloudabi64_sys_thread_create_args), (sy_call_t *)cloudabi64_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi64_sys_thread_create */
|
||||
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 50 = cloudabi_sys_thread_exit */
|
||||
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 51 = cloudabi_sys_thread_yield */
|
||||
{ AS(cloudabi64_sys_sock_recv_args), (sy_call_t *)cloudabi64_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi64_sys_sock_recv */
|
||||
{ AS(cloudabi64_sys_sock_send_args), (sy_call_t *)cloudabi64_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi64_sys_sock_send */
|
||||
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi_sys_sock_shutdown */
|
||||
{ AS(cloudabi64_sys_thread_create_args), (sy_call_t *)cloudabi64_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi64_sys_thread_create */
|
||||
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_thread_exit */
|
||||
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi_sys_thread_yield */
|
||||
};
|
||||
|
@ -407,16 +407,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_sock_accept */
|
||||
case 44: {
|
||||
struct cloudabi_sys_sock_accept_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->unused; /* void * */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* cloudabi64_sys_sock_recv */
|
||||
case 45: {
|
||||
case 44: {
|
||||
struct cloudabi64_sys_sock_recv_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->in; /* const cloudabi64_recv_in_t * */
|
||||
@ -425,7 +417,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
break;
|
||||
}
|
||||
/* cloudabi64_sys_sock_send */
|
||||
case 46: {
|
||||
case 45: {
|
||||
struct cloudabi64_sys_sock_send_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->in; /* const cloudabi64_send_in_t * */
|
||||
@ -434,31 +426,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_sock_shutdown */
|
||||
case 47: {
|
||||
case 46: {
|
||||
struct cloudabi_sys_sock_shutdown_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
iarg[1] = p->how; /* cloudabi_sdflags_t */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_sock_stat_get */
|
||||
case 48: {
|
||||
struct cloudabi_sys_sock_stat_get_args *p = params;
|
||||
iarg[0] = p->sock; /* cloudabi_fd_t */
|
||||
uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
|
||||
iarg[2] = p->flags; /* cloudabi_ssflags_t */
|
||||
*n_args = 3;
|
||||
break;
|
||||
}
|
||||
/* cloudabi64_sys_thread_create */
|
||||
case 49: {
|
||||
case 47: {
|
||||
struct cloudabi64_sys_thread_create_args *p = params;
|
||||
uarg[0] = (intptr_t) p->attr; /* cloudabi64_threadattr_t * */
|
||||
*n_args = 1;
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_thread_exit */
|
||||
case 50: {
|
||||
case 48: {
|
||||
struct cloudabi_sys_thread_exit_args *p = params;
|
||||
uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
|
||||
iarg[1] = p->scope; /* cloudabi_scope_t */
|
||||
@ -466,7 +449,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
break;
|
||||
}
|
||||
/* cloudabi_sys_thread_yield */
|
||||
case 51: {
|
||||
case 49: {
|
||||
*n_args = 0;
|
||||
break;
|
||||
}
|
||||
@ -1183,21 +1166,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_sock_accept */
|
||||
case 44:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
break;
|
||||
case 1:
|
||||
p = "userland void *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi64_sys_sock_recv */
|
||||
case 45:
|
||||
case 44:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
@ -1213,7 +1183,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi64_sys_sock_send */
|
||||
case 46:
|
||||
case 45:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
@ -1229,7 +1199,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_sock_shutdown */
|
||||
case 47:
|
||||
case 46:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
@ -1241,24 +1211,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_sock_stat_get */
|
||||
case 48:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "cloudabi_fd_t";
|
||||
break;
|
||||
case 1:
|
||||
p = "userland cloudabi_sockstat_t *";
|
||||
break;
|
||||
case 2:
|
||||
p = "cloudabi_ssflags_t";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* cloudabi64_sys_thread_create */
|
||||
case 49:
|
||||
case 47:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "userland cloudabi64_threadattr_t *";
|
||||
@ -1268,7 +1222,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_thread_exit */
|
||||
case 50:
|
||||
case 48:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "userland cloudabi_lock_t *";
|
||||
@ -1281,7 +1235,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
};
|
||||
break;
|
||||
/* cloudabi_sys_thread_yield */
|
||||
case 51:
|
||||
case 49:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -1511,43 +1465,33 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_sock_accept */
|
||||
case 44:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "cloudabi_fd_t";
|
||||
break;
|
||||
/* cloudabi64_sys_sock_recv */
|
||||
case 45:
|
||||
case 44:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi64_sys_sock_send */
|
||||
case 46:
|
||||
case 45:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_sock_shutdown */
|
||||
case 47:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_sock_stat_get */
|
||||
case 48:
|
||||
case 46:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi64_sys_thread_create */
|
||||
case 49:
|
||||
case 47:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "cloudabi_tid_t";
|
||||
break;
|
||||
/* cloudabi_sys_thread_exit */
|
||||
case 50:
|
||||
case 48:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "void";
|
||||
break;
|
||||
/* cloudabi_sys_thread_yield */
|
||||
case 51:
|
||||
case 49:
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
@ -282,9 +282,7 @@ typedef uint64_t cloudabi_rights_t;
|
||||
#define CLOUDABI_RIGHT_POLL_PROC_TERMINATE 0x0000000040000000
|
||||
#define CLOUDABI_RIGHT_POLL_WAIT 0x0000000080000000
|
||||
#define CLOUDABI_RIGHT_PROC_EXEC 0x0000000100000000
|
||||
#define CLOUDABI_RIGHT_SOCK_ACCEPT 0x0000000200000000
|
||||
#define CLOUDABI_RIGHT_SOCK_SHUTDOWN 0x0000008000000000
|
||||
#define CLOUDABI_RIGHT_SOCK_STAT_GET 0x0000010000000000
|
||||
|
||||
typedef uint16_t cloudabi_roflags_t;
|
||||
#define CLOUDABI_SOCK_RECV_FDS_TRUNCATED 0x0001
|
||||
@ -328,12 +326,6 @@ typedef uint8_t cloudabi_signal_t;
|
||||
#define CLOUDABI_SIGXCPU 25
|
||||
#define CLOUDABI_SIGXFSZ 26
|
||||
|
||||
typedef uint8_t cloudabi_ssflags_t;
|
||||
#define CLOUDABI_SOCKSTAT_CLEAR_ERROR 0x01
|
||||
|
||||
typedef uint32_t cloudabi_sstate_t;
|
||||
#define CLOUDABI_SOCKSTATE_ACCEPTCONN 0x00000001
|
||||
|
||||
typedef uint16_t cloudabi_subclockflags_t;
|
||||
#define CLOUDABI_SUBSCRIPTION_CLOCK_ABSTIME 0x0001
|
||||
|
||||
@ -418,15 +410,4 @@ _Static_assert(offsetof(cloudabi_lookup_t, flags) == 4, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi_lookup_t) == 8, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi_lookup_t) == 4, "Incorrect layout");
|
||||
|
||||
typedef struct {
|
||||
_Alignas(1) char ss_unused[40];
|
||||
_Alignas(2) cloudabi_errno_t ss_error;
|
||||
_Alignas(4) cloudabi_sstate_t ss_state;
|
||||
} cloudabi_sockstat_t;
|
||||
_Static_assert(offsetof(cloudabi_sockstat_t, ss_unused) == 0, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi_sockstat_t, ss_error) == 40, "Incorrect layout");
|
||||
_Static_assert(offsetof(cloudabi_sockstat_t, ss_state) == 44, "Incorrect layout");
|
||||
_Static_assert(sizeof(cloudabi_sockstat_t) == 48, "Incorrect layout");
|
||||
_Static_assert(_Alignof(cloudabi_sockstat_t) == 4, "Incorrect layout");
|
||||
|
||||
#endif
|
||||
|
@ -401,45 +401,27 @@ ENTRY(cloudabi_sys_random_get)
|
||||
ret
|
||||
END(cloudabi_sys_random_get)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_accept)
|
||||
str x2, [sp, #-8]
|
||||
mov w8, #44
|
||||
svc #0
|
||||
ldr x2, [sp, #-8]
|
||||
b.cs 1f
|
||||
str w0, [x2]
|
||||
mov w0, wzr
|
||||
1:
|
||||
ret
|
||||
END(cloudabi_sys_sock_accept)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_recv)
|
||||
mov w8, #45
|
||||
mov w8, #44
|
||||
svc #0
|
||||
ret
|
||||
END(cloudabi_sys_sock_recv)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_send)
|
||||
mov w8, #46
|
||||
mov w8, #45
|
||||
svc #0
|
||||
ret
|
||||
END(cloudabi_sys_sock_send)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_shutdown)
|
||||
mov w8, #47
|
||||
mov w8, #46
|
||||
svc #0
|
||||
ret
|
||||
END(cloudabi_sys_sock_shutdown)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_stat_get)
|
||||
mov w8, #48
|
||||
svc #0
|
||||
ret
|
||||
END(cloudabi_sys_sock_stat_get)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_create)
|
||||
str x1, [sp, #-8]
|
||||
mov w8, #49
|
||||
mov w8, #47
|
||||
svc #0
|
||||
ldr x2, [sp, #-8]
|
||||
b.cs 1f
|
||||
@ -450,12 +432,12 @@ ENTRY(cloudabi_sys_thread_create)
|
||||
END(cloudabi_sys_thread_create)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_exit)
|
||||
mov w8, #50
|
||||
mov w8, #48
|
||||
svc #0
|
||||
END(cloudabi_sys_thread_exit)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_yield)
|
||||
mov w8, #51
|
||||
mov w8, #49
|
||||
svc #0
|
||||
ret
|
||||
END(cloudabi_sys_thread_yield)
|
||||
|
@ -365,43 +365,27 @@ ENTRY(cloudabi_sys_random_get)
|
||||
bx lr
|
||||
END(cloudabi_sys_random_get)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_accept)
|
||||
str r2, [sp, #-4]
|
||||
mov ip, #44
|
||||
swi 0
|
||||
ldrcc r2, [sp, #-4]
|
||||
strcc r0, [r2]
|
||||
movcc r0, $0
|
||||
bx lr
|
||||
END(cloudabi_sys_sock_accept)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_recv)
|
||||
mov ip, #45
|
||||
mov ip, #44
|
||||
swi 0
|
||||
bx lr
|
||||
END(cloudabi_sys_sock_recv)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_send)
|
||||
mov ip, #46
|
||||
mov ip, #45
|
||||
swi 0
|
||||
bx lr
|
||||
END(cloudabi_sys_sock_send)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_shutdown)
|
||||
mov ip, #47
|
||||
mov ip, #46
|
||||
swi 0
|
||||
bx lr
|
||||
END(cloudabi_sys_sock_shutdown)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_stat_get)
|
||||
mov ip, #48
|
||||
swi 0
|
||||
bx lr
|
||||
END(cloudabi_sys_sock_stat_get)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_create)
|
||||
str r1, [sp, #-4]
|
||||
mov ip, #49
|
||||
mov ip, #47
|
||||
swi 0
|
||||
ldrcc r2, [sp, #-4]
|
||||
strcc r0, [r2]
|
||||
@ -410,12 +394,12 @@ ENTRY(cloudabi_sys_thread_create)
|
||||
END(cloudabi_sys_thread_create)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_exit)
|
||||
mov ip, #50
|
||||
mov ip, #48
|
||||
swi 0
|
||||
END(cloudabi_sys_thread_exit)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_yield)
|
||||
mov ip, #51
|
||||
mov ip, #49
|
||||
swi 0
|
||||
bx lr
|
||||
END(cloudabi_sys_thread_yield)
|
||||
|
@ -389,43 +389,26 @@ ENTRY(cloudabi_sys_random_get)
|
||||
ret
|
||||
END(cloudabi_sys_random_get)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_accept)
|
||||
mov $44, %eax
|
||||
int $0x80
|
||||
jc 1f
|
||||
mov 12(%esp), %ecx
|
||||
mov %eax, (%ecx)
|
||||
xor %eax, %eax
|
||||
1:
|
||||
ret
|
||||
END(cloudabi_sys_sock_accept)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_recv)
|
||||
mov $45, %eax
|
||||
mov $44, %eax
|
||||
int $0x80
|
||||
ret
|
||||
END(cloudabi_sys_sock_recv)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_send)
|
||||
mov $46, %eax
|
||||
mov $45, %eax
|
||||
int $0x80
|
||||
ret
|
||||
END(cloudabi_sys_sock_send)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_shutdown)
|
||||
mov $47, %eax
|
||||
mov $46, %eax
|
||||
int $0x80
|
||||
ret
|
||||
END(cloudabi_sys_sock_shutdown)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_stat_get)
|
||||
mov $48, %eax
|
||||
int $0x80
|
||||
ret
|
||||
END(cloudabi_sys_sock_stat_get)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_create)
|
||||
mov $49, %eax
|
||||
mov $47, %eax
|
||||
int $0x80
|
||||
jc 1f
|
||||
mov 8(%esp), %ecx
|
||||
@ -436,12 +419,12 @@ ENTRY(cloudabi_sys_thread_create)
|
||||
END(cloudabi_sys_thread_create)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_exit)
|
||||
mov $50, %eax
|
||||
mov $48, %eax
|
||||
int $0x80
|
||||
END(cloudabi_sys_thread_exit)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_yield)
|
||||
mov $51, %eax
|
||||
mov $49, %eax
|
||||
int $0x80
|
||||
ret
|
||||
END(cloudabi_sys_thread_yield)
|
||||
|
@ -993,28 +993,6 @@ ENTRY(cloudabi_sys_random_get)
|
||||
ret
|
||||
END(cloudabi_sys_random_get)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_accept)
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
mov 8(%ebp), %ecx
|
||||
mov %ecx, -16(%ebp)
|
||||
mov 12(%ebp), %ecx
|
||||
mov %ecx, -8(%ebp)
|
||||
movl $0, -4(%ebp)
|
||||
mov $44, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $16, %ecx
|
||||
int $0x80
|
||||
test %eax, %eax
|
||||
jnz 1f
|
||||
mov 16(%ebp), %ecx
|
||||
mov -16(%ebp), %edx
|
||||
mov %edx, 0(%ecx)
|
||||
1:
|
||||
pop %ebp
|
||||
ret
|
||||
END(cloudabi_sys_sock_accept)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_recv)
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
@ -1026,7 +1004,7 @@ ENTRY(cloudabi_sys_sock_recv)
|
||||
mov 16(%ebp), %ecx
|
||||
mov %ecx, -8(%ebp)
|
||||
movl $0, -4(%ebp)
|
||||
mov $45, %eax
|
||||
mov $44, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $24, %ecx
|
||||
int $0x80
|
||||
@ -1045,7 +1023,7 @@ ENTRY(cloudabi_sys_sock_send)
|
||||
mov 16(%ebp), %ecx
|
||||
mov %ecx, -8(%ebp)
|
||||
movl $0, -4(%ebp)
|
||||
mov $46, %eax
|
||||
mov $45, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $24, %ecx
|
||||
int $0x80
|
||||
@ -1060,7 +1038,7 @@ ENTRY(cloudabi_sys_sock_shutdown)
|
||||
mov %ecx, -16(%ebp)
|
||||
mov 12(%ebp), %ecx
|
||||
mov %ecx, -8(%ebp)
|
||||
mov $47, %eax
|
||||
mov $46, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $16, %ecx
|
||||
int $0x80
|
||||
@ -1068,31 +1046,13 @@ ENTRY(cloudabi_sys_sock_shutdown)
|
||||
ret
|
||||
END(cloudabi_sys_sock_shutdown)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_stat_get)
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
mov 8(%ebp), %ecx
|
||||
mov %ecx, -24(%ebp)
|
||||
mov 12(%ebp), %ecx
|
||||
mov %ecx, -16(%ebp)
|
||||
movl $0, -12(%ebp)
|
||||
mov 16(%ebp), %ecx
|
||||
mov %ecx, -8(%ebp)
|
||||
mov $48, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $24, %ecx
|
||||
int $0x80
|
||||
pop %ebp
|
||||
ret
|
||||
END(cloudabi_sys_sock_stat_get)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_create)
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
mov 8(%ebp), %ecx
|
||||
mov %ecx, -16(%ebp)
|
||||
movl $0, -12(%ebp)
|
||||
mov $49, %eax
|
||||
mov $47, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $16, %ecx
|
||||
int $0x80
|
||||
@ -1114,7 +1074,7 @@ ENTRY(cloudabi_sys_thread_exit)
|
||||
movl $0, -12(%ebp)
|
||||
mov 12(%ebp), %ecx
|
||||
mov %ecx, -8(%ebp)
|
||||
mov $50, %eax
|
||||
mov $48, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $16, %ecx
|
||||
int $0x80
|
||||
@ -1123,7 +1083,7 @@ END(cloudabi_sys_thread_exit)
|
||||
ENTRY(cloudabi_sys_thread_yield)
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
mov $51, %eax
|
||||
mov $49, %eax
|
||||
mov %ebp, %ecx
|
||||
sub $16, %ecx
|
||||
int $0x80
|
||||
|
@ -419,45 +419,27 @@ ENTRY(cloudabi_sys_random_get)
|
||||
ret
|
||||
END(cloudabi_sys_random_get)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_accept)
|
||||
push %rdx
|
||||
mov $44, %eax
|
||||
syscall
|
||||
pop %rcx
|
||||
jc 1f
|
||||
mov %eax, (%rcx)
|
||||
xor %eax, %eax
|
||||
1:
|
||||
ret
|
||||
END(cloudabi_sys_sock_accept)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_recv)
|
||||
mov $45, %eax
|
||||
mov $44, %eax
|
||||
syscall
|
||||
ret
|
||||
END(cloudabi_sys_sock_recv)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_send)
|
||||
mov $46, %eax
|
||||
mov $45, %eax
|
||||
syscall
|
||||
ret
|
||||
END(cloudabi_sys_sock_send)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_shutdown)
|
||||
mov $47, %eax
|
||||
mov $46, %eax
|
||||
syscall
|
||||
ret
|
||||
END(cloudabi_sys_sock_shutdown)
|
||||
|
||||
ENTRY(cloudabi_sys_sock_stat_get)
|
||||
mov $48, %eax
|
||||
syscall
|
||||
ret
|
||||
END(cloudabi_sys_sock_stat_get)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_create)
|
||||
push %rsi
|
||||
mov $49, %eax
|
||||
mov $47, %eax
|
||||
syscall
|
||||
pop %rcx
|
||||
jc 1f
|
||||
@ -468,12 +450,12 @@ ENTRY(cloudabi_sys_thread_create)
|
||||
END(cloudabi_sys_thread_create)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_exit)
|
||||
mov $50, %eax
|
||||
mov $48, %eax
|
||||
syscall
|
||||
END(cloudabi_sys_thread_exit)
|
||||
|
||||
ENTRY(cloudabi_sys_thread_yield)
|
||||
mov $51, %eax
|
||||
mov $49, %eax
|
||||
syscall
|
||||
ret
|
||||
END(cloudabi_sys_thread_yield)
|
||||
|
@ -258,34 +258,25 @@
|
||||
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 cloudabi32_sys_sock_recv( \
|
||||
44 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
|
||||
cloudabi_fd_t sock, \
|
||||
const cloudabi32_recv_in_t *in, \
|
||||
cloudabi32_recv_out_t *out); }
|
||||
|
||||
46 AUE_NULL STD { void cloudabi32_sys_sock_send( \
|
||||
45 AUE_NULL STD { void cloudabi32_sys_sock_send( \
|
||||
cloudabi_fd_t sock, \
|
||||
const cloudabi32_send_in_t *in, \
|
||||
cloudabi32_send_out_t *out); }
|
||||
|
||||
47 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
|
||||
46 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_sdflags_t how); }
|
||||
|
||||
48 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_sockstat_t *buf, \
|
||||
cloudabi_ssflags_t flags); }
|
||||
|
||||
49 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
|
||||
47 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
|
||||
cloudabi32_threadattr_t *attr); }
|
||||
|
||||
50 AUE_NULL STD { void cloudabi_sys_thread_exit( \
|
||||
48 AUE_NULL STD { void cloudabi_sys_thread_exit( \
|
||||
cloudabi_lock_t *lock, \
|
||||
cloudabi_scope_t scope); }
|
||||
|
||||
51 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
|
||||
49 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
|
||||
|
@ -258,34 +258,25 @@
|
||||
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 cloudabi64_sys_sock_recv( \
|
||||
44 AUE_NULL STD { void cloudabi64_sys_sock_recv( \
|
||||
cloudabi_fd_t sock, \
|
||||
const cloudabi64_recv_in_t *in, \
|
||||
cloudabi64_recv_out_t *out); }
|
||||
|
||||
46 AUE_NULL STD { void cloudabi64_sys_sock_send( \
|
||||
45 AUE_NULL STD { void cloudabi64_sys_sock_send( \
|
||||
cloudabi_fd_t sock, \
|
||||
const cloudabi64_send_in_t *in, \
|
||||
cloudabi64_send_out_t *out); }
|
||||
|
||||
47 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
|
||||
46 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_sdflags_t how); }
|
||||
|
||||
48 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
|
||||
cloudabi_fd_t sock, \
|
||||
cloudabi_sockstat_t *buf, \
|
||||
cloudabi_ssflags_t flags); }
|
||||
|
||||
49 AUE_NULL STD { cloudabi_tid_t cloudabi64_sys_thread_create( \
|
||||
47 AUE_NULL STD { cloudabi_tid_t cloudabi64_sys_thread_create( \
|
||||
cloudabi64_threadattr_t *attr); }
|
||||
|
||||
50 AUE_NULL STD { void cloudabi_sys_thread_exit( \
|
||||
48 AUE_NULL STD { void cloudabi_sys_thread_exit( \
|
||||
cloudabi_lock_t *lock, \
|
||||
cloudabi_scope_t scope); }
|
||||
|
||||
51 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
|
||||
49 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
|
||||
|
@ -628,13 +628,8 @@ static struct syscall decoded_syscalls[] = {
|
||||
.args = { { CloudABISignal, 0 } } },
|
||||
{ .name = "cloudabi_sys_random_get", .ret_type = 1, .nargs = 2,
|
||||
.args = { { BinString | OUT, 0 }, { Int, 1 } } },
|
||||
{ .name = "cloudabi_sys_sock_accept", .ret_type = 1, .nargs = 2,
|
||||
.args = { { Int, 0 }, { CloudABISockStat | OUT, 1 } } },
|
||||
{ .name = "cloudabi_sys_sock_shutdown", .ret_type = 1, .nargs = 2,
|
||||
.args = { { Int, 0 }, { CloudABISDFlags, 1 } } },
|
||||
{ .name = "cloudabi_sys_sock_stat_get", .ret_type = 1, .nargs = 3,
|
||||
.args = { { Int, 0 }, { CloudABISockStat | OUT, 1 },
|
||||
{ CloudABISSFlags, 2 } } },
|
||||
{ .name = "cloudabi_sys_thread_exit", .ret_type = 1, .nargs = 2,
|
||||
.args = { { Ptr, 0 }, { CloudABIMFlags, 1 } } },
|
||||
{ .name = "cloudabi_sys_thread_yield", .ret_type = 1, .nargs = 0 },
|
||||
@ -753,25 +748,6 @@ static struct xlat cloudabi_clockid[] = {
|
||||
XEND
|
||||
};
|
||||
|
||||
static struct xlat cloudabi_errno[] = {
|
||||
X(E2BIG) X(EACCES) X(EADDRINUSE) X(EADDRNOTAVAIL)
|
||||
X(EAFNOSUPPORT) X(EAGAIN) X(EALREADY) X(EBADF) X(EBADMSG)
|
||||
X(EBUSY) X(ECANCELED) X(ECHILD) X(ECONNABORTED) X(ECONNREFUSED)
|
||||
X(ECONNRESET) X(EDEADLK) X(EDESTADDRREQ) X(EDOM) X(EDQUOT)
|
||||
X(EEXIST) X(EFAULT) X(EFBIG) X(EHOSTUNREACH) X(EIDRM) X(EILSEQ)
|
||||
X(EINPROGRESS) X(EINTR) X(EINVAL) X(EIO) X(EISCONN) X(EISDIR)
|
||||
X(ELOOP) X(EMFILE) X(EMLINK) X(EMSGSIZE) X(EMULTIHOP)
|
||||
X(ENAMETOOLONG) X(ENETDOWN) X(ENETRESET) X(ENETUNREACH)
|
||||
X(ENFILE) X(ENOBUFS) X(ENODEV) X(ENOENT) X(ENOEXEC) X(ENOLCK)
|
||||
X(ENOLINK) X(ENOMEM) X(ENOMSG) X(ENOPROTOOPT) X(ENOSPC)
|
||||
X(ENOSYS) X(ENOTCONN) X(ENOTDIR) X(ENOTEMPTY) X(ENOTRECOVERABLE)
|
||||
X(ENOTSOCK) X(ENOTSUP) X(ENOTTY) X(ENXIO) X(EOVERFLOW)
|
||||
X(EOWNERDEAD) X(EPERM) X(EPIPE) X(EPROTO) X(EPROTONOSUPPORT)
|
||||
X(EPROTOTYPE) X(ERANGE) X(EROFS) X(ESPIPE) X(ESRCH) X(ESTALE)
|
||||
X(ETIMEDOUT) X(ETXTBSY) X(EXDEV) X(ENOTCAPABLE)
|
||||
XEND
|
||||
};
|
||||
|
||||
static struct xlat cloudabi_fdflags[] = {
|
||||
X(FDFLAG_APPEND) X(FDFLAG_DSYNC) X(FDFLAG_NONBLOCK)
|
||||
X(FDFLAG_RSYNC) X(FDFLAG_SYNC)
|
||||
@ -833,16 +809,6 @@ static struct xlat cloudabi_signal[] = {
|
||||
XEND
|
||||
};
|
||||
|
||||
static struct xlat cloudabi_ssflags[] = {
|
||||
X(SOCKSTAT_CLEAR_ERROR)
|
||||
XEND
|
||||
};
|
||||
|
||||
static struct xlat cloudabi_ssstate[] = {
|
||||
X(SOCKSTATE_ACCEPTCONN)
|
||||
XEND
|
||||
};
|
||||
|
||||
static struct xlat cloudabi_ulflags[] = {
|
||||
X(UNLINK_REMOVEDIR)
|
||||
XEND
|
||||
@ -2262,21 +2228,6 @@ print_arg(struct syscall_args *sc, unsigned long *args, long *retval,
|
||||
case CloudABISignal:
|
||||
fputs(xlookup(cloudabi_signal, args[sc->offset]), fp);
|
||||
break;
|
||||
case CloudABISockStat: {
|
||||
cloudabi_sockstat_t ss;
|
||||
if (get_struct(pid, (void *)args[sc->offset], &ss, sizeof(ss))
|
||||
!= -1) {
|
||||
fprintf(fp, "%s, ", xlookup(
|
||||
cloudabi_errno, ss.ss_error));
|
||||
fprintf(fp, "%s }", xlookup_bits(
|
||||
cloudabi_ssstate, ss.ss_state));
|
||||
} else
|
||||
fprintf(fp, "0x%lx", args[sc->offset]);
|
||||
break;
|
||||
}
|
||||
case CloudABISSFlags:
|
||||
fputs(xlookup_bits(cloudabi_ssflags, args[sc->offset]), fp);
|
||||
break;
|
||||
case CloudABITimestamp:
|
||||
fprintf(fp, "%lu.%09lus", args[sc->offset] / 1000000000,
|
||||
args[sc->offset] % 1000000000);
|
||||
|
Loading…
x
Reference in New Issue
Block a user