summaryrefslogtreecommitdiffstats
path: root/sys/contrib
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2015-08-05 13:09:46 +0000
committered <ed@FreeBSD.org>2015-08-05 13:09:46 +0000
commit85a31ef593bd4b59a3a80bfb5bf8003430a1b41f (patch)
tree61e18cdcad41f82860be1ad7464bafb7461736a8 /sys/contrib
parentc03b18934d413aec21ae9586ad012f7efd44e6c5 (diff)
downloadFreeBSD-src-85a31ef593bd4b59a3a80bfb5bf8003430a1b41f.zip
FreeBSD-src-85a31ef593bd4b59a3a80bfb5bf8003430a1b41f.tar.gz
Import the latest CloudABI system call definitions and table.
We're going to need these for next code I'm going to send out for review: support for poll() and kqueue() on CloudABI.
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/cloudabi/syscalldefs_md.h6
-rw-r--r--sys/contrib/cloudabi/syscalldefs_mi.h9
2 files changed, 11 insertions, 4 deletions
diff --git a/sys/contrib/cloudabi/syscalldefs_md.h b/sys/contrib/cloudabi/syscalldefs_md.h
index a7045c2..f2e3705 100644
--- a/sys/contrib/cloudabi/syscalldefs_md.h
+++ b/sys/contrib/cloudabi/syscalldefs_md.h
@@ -186,6 +186,7 @@ typedef struct {
MEMBER(cloudabi_clockid_t) clock_id;
MEMBER(cloudabi_timestamp_t) timeout;
MEMBER(cloudabi_timestamp_t) precision;
+ MEMBER(uint16_t) flags;
} clock;
// CLOUDABI_EVENTTYPE_CONDVAR: Release a lock and wait on a
@@ -202,6 +203,7 @@ typedef struct {
// called without blocking.
struct {
MEMBER(cloudabi_fd_t) fd;
+ MEMBER(uint16_t) flags;
} fd_readwrite;
// CLOUDABI_EVENT_LOCK_RDLOCK and CLOUDABI_EVENT_LOCK_WRLOCK: Wait
@@ -224,15 +226,17 @@ ASSERT_OFFSET(subscription_t, clock.identifier, 16, 16);
ASSERT_OFFSET(subscription_t, clock.clock_id, 24, 24);
ASSERT_OFFSET(subscription_t, clock.timeout, 32, 32);
ASSERT_OFFSET(subscription_t, clock.precision, 40, 40);
+ASSERT_OFFSET(subscription_t, clock.flags, 48, 48);
ASSERT_OFFSET(subscription_t, condvar.condvar, 16, 16);
ASSERT_OFFSET(subscription_t, condvar.lock, 20, 24);
ASSERT_OFFSET(subscription_t, condvar.condvar_scope, 24, 32);
ASSERT_OFFSET(subscription_t, condvar.lock_scope, 25, 33);
ASSERT_OFFSET(subscription_t, fd_readwrite.fd, 16, 16);
+ASSERT_OFFSET(subscription_t, fd_readwrite.flags, 20, 20);
ASSERT_OFFSET(subscription_t, lock.lock, 16, 16);
ASSERT_OFFSET(subscription_t, lock.lock_scope, 20, 24);
ASSERT_OFFSET(subscription_t, proc_terminate.fd, 16, 16);
-ASSERT_SIZE(subscription_t, 48, 48);
+ASSERT_SIZE(subscription_t, 56, 56);
typedef struct {
MEMBER(PTR(IDENT(threadentry_t))) entry_point; // Entry point.
diff --git a/sys/contrib/cloudabi/syscalldefs_mi.h b/sys/contrib/cloudabi/syscalldefs_mi.h
index 151a3dc..adce208 100644
--- a/sys/contrib/cloudabi/syscalldefs_mi.h
+++ b/sys/contrib/cloudabi/syscalldefs_mi.h
@@ -204,9 +204,6 @@
#define CLOUDABI_O_EXCL 0x4
#define CLOUDABI_O_TRUNC 0x8
-// File descriptor passed to poll() to poll just once.
-#define CLOUDABI_POLL_ONCE 0xffffffff
-
// File descriptor returned to pdfork()'s child process.
#define CLOUDABI_PROCESS_CHILD 0xffffffff
@@ -326,6 +323,12 @@
#define CLOUDABI_SUBSCRIPTION_ENABLE 0x10
#define CLOUDABI_SUBSCRIPTION_ONESHOT 0x20
+// cloudabi_subscription_t::clock.flags.
+#define CLOUDABI_SUBSCRIPTION_CLOCK_ABSTIME 0x1
+
+// cloudabi_subscription_t::fd_readwrite.flags.
+#define CLOUDABI_SUBSCRIPTION_FD_READWRITE_POLL 0x1
+
// unlinkat().
#define CLOUDABI_UNLINK_REMOVEDIR 0x1
OpenPOWER on IntegriCloud