aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/include/dlfcn.h9
-rw-r--r--system/include/emscripten/emscripten.h1
-rw-r--r--system/include/gc.h10
-rw-r--r--system/include/libc/limits.h9
-rw-r--r--system/include/libc/sys/_default_fcntl.h2
-rw-r--r--system/include/libc/sys/features.h4
-rw-r--r--system/include/libc/sys/resource.h1
-rw-r--r--system/include/libc/sys/signal.h1
-rw-r--r--system/include/net/netinet/in.h20
-rw-r--r--system/include/netdb.h3
-rw-r--r--system/include/sys/ioctl.h1
-rw-r--r--system/include/sys/poll.h1
-rw-r--r--system/include/sys/socket.h18
-rw-r--r--system/include/sys/statvfs.h2
-rw-r--r--system/include/sys/un.h65
15 files changed, 141 insertions, 6 deletions
diff --git a/system/include/dlfcn.h b/system/include/dlfcn.h
index 6854dab0..3a4edd00 100644
--- a/system/include/dlfcn.h
+++ b/system/include/dlfcn.h
@@ -3,10 +3,11 @@
extern "C" {
#endif
-#define RTLD_LAZY 1
-#define RTLD_NOW 2
-#define RTLD_GLOBAL 4
-#define RTLD_LOCAL 8
+#define RTLD_DEFAULT 0
+#define RTLD_LAZY 1
+#define RTLD_NOW 2
+#define RTLD_GLOBAL 4
+#define RTLD_LOCAL 8
typedef struct {
const char *dli_fname;
diff --git a/system/include/emscripten/emscripten.h b/system/include/emscripten/emscripten.h
index 871a7162..3eefe0b8 100644
--- a/system/include/emscripten/emscripten.h
+++ b/system/include/emscripten/emscripten.h
@@ -31,6 +31,7 @@ extern "C" {
*/
extern void emscripten_run_script(const char *script);
extern int emscripten_run_script_int(const char *script);
+extern char *emscripten_run_script_string(const char *script); // uses a single buffer - shared between calls!
extern void emscripten_async_run_script(const char *script, int millis);
/*
diff --git a/system/include/gc.h b/system/include/gc.h
index 996bc9ec..e0419dcb 100644
--- a/system/include/gc.h
+++ b/system/include/gc.h
@@ -8,7 +8,7 @@
extern "C" {
#endif
-void __attribute__((used)) __GC_KEEPALIVE__() {
+static void __attribute__((used)) __GC_KEEPALIVE__() {
// Force inclusion of necessary dlmalloc functions
static int times = 1;
void *x = malloc(times);
@@ -44,6 +44,14 @@ void GC_MAYBE_COLLECT();
/* Forces a GC. Mainly useful for testing, but call it if you know a good time to GC in your app. */
void GC_FORCE_COLLECT();
+typedef void (*GC_finalization_proc)(void *func, void *arg);
+extern void (*GC_finalizer_notifier)();
+
+extern int GC_finalize_on_demand;
+extern int GC_java_finalization;
+
+void GC_enable_incremental();
+
#ifdef __cplusplus
}
#endif
diff --git a/system/include/libc/limits.h b/system/include/libc/limits.h
index 93362b88..3f1def0f 100644
--- a/system/include/libc/limits.h
+++ b/system/include/libc/limits.h
@@ -144,3 +144,12 @@
#define PATH_MAX 4096
#endif
+/* XXX EMSCRIPTEN */
+#ifndef _LIBC_LIMITS2_H_
+#define _LIBC_LIMITS2_H_ 1
+
+#define _POSIX_PATH_MAX PATH_MAX
+#define PTHREAD_STACK_MIN 0
+
+#endif
+
diff --git a/system/include/libc/sys/_default_fcntl.h b/system/include/libc/sys/_default_fcntl.h
index 188e25c4..379147ed 100644
--- a/system/include/libc/sys/_default_fcntl.h
+++ b/system/include/libc/sys/_default_fcntl.h
@@ -207,6 +207,8 @@ extern int _open64 _PARAMS ((const char *, int, ...));
/* XXX Emscripten */
#define POSIX_FADV_DONTNEED 135
+#define POSIX_FADV_SEQUENTIAL 136
+#define POSIX_FADV_RANDOM 137
int posix_fadvise(int fd, off_t offset, off_t len, int advice);
int posix_fallocate(int fd, off_t offset, off_t len);
#define LOCK_SH 1
diff --git a/system/include/libc/sys/features.h b/system/include/libc/sys/features.h
index 9faf2b89..87a520a0 100644
--- a/system/include/libc/sys/features.h
+++ b/system/include/libc/sys/features.h
@@ -25,6 +25,10 @@
extern "C" {
#endif
+#if EMSCRIPTEN
+#define _POSIX_REALTIME_SIGNALS 1
+#endif
+
/* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */
#ifdef __rtems__
diff --git a/system/include/libc/sys/resource.h b/system/include/libc/sys/resource.h
index f39dcb33..abcfd34d 100644
--- a/system/include/libc/sys/resource.h
+++ b/system/include/libc/sys/resource.h
@@ -27,6 +27,7 @@ struct rusage {
};
/* XXX Emscripten */
+#define PRIO_PROCESS 0
int getrusage(int who, struct rusage *r_usage);
/* XXX Emscripten */
diff --git a/system/include/libc/sys/signal.h b/system/include/libc/sys/signal.h
index 543b626e..910ccf78 100644
--- a/system/include/libc/sys/signal.h
+++ b/system/include/libc/sys/signal.h
@@ -114,6 +114,7 @@ struct sigaction
_sig_func_ptr sa_handler;
sigset_t sa_mask;
int sa_flags;
+ void (*sa_sigaction)(int, siginfo_t *, void *); /* XXX EMSCRIPTEN */
};
#endif /* defined(__rtems__) */
diff --git a/system/include/net/netinet/in.h b/system/include/net/netinet/in.h
index 2e4e4e57..2ac98dfe 100644
--- a/system/include/net/netinet/in.h
+++ b/system/include/net/netinet/in.h
@@ -48,6 +48,26 @@ struct ip_mreq {
struct in_addr imr_interface;
};
+#define IP_MULTICAST_IF 32
+#define IP_MULTICAST_TTL 33
+#define IP_MULTICAST_LOOP 34
+#define IP_ADD_MEMBERSHIP 35
+#define IP_DROP_MEMBERSHIP 36
+#define IP_UNBLOCK_SOURCE 37
+#define IP_BLOCK_SOURCE 38
+#define IP_ADD_SOURCE_MEMBERSHIP 39
+#define IP_DROP_SOURCE_MEMBERSHIP 40
+#define IP_MSFILTER 41
+#define MCAST_JOIN_GROUP 42
+#define MCAST_BLOCK_SOURCE 43
+#define MCAST_UNBLOCK_SOURCE 44
+#define MCAST_LEAVE_GROUP 45
+#define MCAST_JOIN_SOURCE_GROUP 46
+#define MCAST_LEAVE_SOURCE_GROUP 47
+#define MCAST_MSFILTER 48
+#define IP_MULTICAST_ALL 49
+#define IP_UNICAST_IF 50
+
#ifdef __cplusplus
}
#endif
diff --git a/system/include/netdb.h b/system/include/netdb.h
index 20f876df..6e069448 100644
--- a/system/include/netdb.h
+++ b/system/include/netdb.h
@@ -9,6 +9,7 @@ extern "C" {
#define TRY_AGAIN 2
#define NO_RECOVERY 3
#define NO_DATA 4
+#define NO_ADDRESS 5
#define IP_TOS 1
#define IP_TTL 2
@@ -48,6 +49,8 @@ void endhostent(void);
void herror(const char* s);
const char* hstrerror(int err);
+extern int h_errno;
+
#ifdef __cplusplus
}
#endif
diff --git a/system/include/sys/ioctl.h b/system/include/sys/ioctl.h
index 12857ae3..c54d4ccc 100644
--- a/system/include/sys/ioctl.h
+++ b/system/include/sys/ioctl.h
@@ -12,6 +12,7 @@ extern "C" {
#define TIOCGWINSZ 80 // bogus
#define FIONREAD 1
+#define FIONBIO 2
int ioctl(int d, int request, ...);
diff --git a/system/include/sys/poll.h b/system/include/sys/poll.h
index 55e85237..7521ed0e 100644
--- a/system/include/sys/poll.h
+++ b/system/include/sys/poll.h
@@ -11,6 +11,7 @@ extern "C" {
#define POLLNVAL 4
#define POLLERR 8
#define POLLHUP 16
+#define POLLPRI 32
struct pollfd {
int fd;
diff --git a/system/include/sys/socket.h b/system/include/sys/socket.h
index e33dbefd..10ba5ce8 100644
--- a/system/include/sys/socket.h
+++ b/system/include/sys/socket.h
@@ -11,8 +11,11 @@ extern "C" {
// Note that the values of these constants are mostly arbitrary numbers.
#define SOMAXCONN 128
+#define PF_LOCAL 1
+#define PF_UNIX PF_LOCAL
#define PF_INET 2
#define SO_BROADCAST 6
+#define AF_UNIX PF_UNIX
#define AF_UNSPEC 100
#define SOCK_STREAM 200
@@ -25,8 +28,14 @@ extern "C" {
#define SO_LINGER 70
#define SO_NOSIGPIPE 80
#define SO_KEEPALIVE 90
+#define SO_OOBINLINE 100
+#define SO_NO_CHECK 110
+#define SO_PRIORITY 120
+#define SO_LINGER 130
+#define SO_BSDCOMPAT 140
-#define SHUT_RDWR 1
+#define SHUT_RD 1
+#define SHUT_RDWR 2
typedef unsigned int sa_family_t;
#define AF_INET 1
@@ -72,6 +81,13 @@ struct linger {
int l_linger;
};
+#define SIOCATMARK 0x8905
+
+#define SOCK_RAW 111
+#define SOCK_SEQPACKET 555
+
+#define PF_APPLETALK 5
+
#ifdef __cplusplus
}
#endif
diff --git a/system/include/sys/statvfs.h b/system/include/sys/statvfs.h
index 192be153..8e17f817 100644
--- a/system/include/sys/statvfs.h
+++ b/system/include/sys/statvfs.h
@@ -22,6 +22,8 @@ struct statvfs {
int statvfs(const char *path, struct statvfs *s);
+#define ST_RDONLY 0
+
#ifdef __cplusplus
}
#endif
diff --git a/system/include/sys/un.h b/system/include/sys/un.h
new file mode 100644
index 00000000..b70425fb
--- /dev/null
+++ b/system/include/sys/un.h
@@ -0,0 +1,65 @@
+/*-
+ * Copyright (c) 1982, 1986, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * 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.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
+ *
+ * @(#)un.h 8.3 (Berkeley) 2/19/95
+ * $FreeBSD$
+ */
+
+#ifndef _SYS_UN_H_
+#define _SYS_UN_H_
+
+#include <sys/cdefs.h>
+#include <sys/_types.h>
+
+/*
+ * Definitions for UNIX IPC domain.
+ */
+struct sockaddr_un {
+ unsigned char sun_len; /* sockaddr len including null */
+ sa_family_t sun_family; /* AF_UNIX */
+ char sun_path[104]; /* path name (gag) */
+};
+
+#if __BSD_VISIBLE
+
+/* Socket options. */
+#define LOCAL_PEERCRED 0x001 /* retrieve peer credentials */
+#define LOCAL_CREDS 0x002 /* pass credentials to receiver */
+#define LOCAL_CONNWAIT 0x004 /* connects block until accepted */
+
+#ifndef _KERNEL
+
+/* actual length of an initialized sockaddr_un */
+#define SUN_LEN(su) \
+ (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
+
+#endif /* !_KERNEL */
+
+#endif /* __BSD_VISIBLE */
+
+#endif /* !_SYS_UN_H_ */