diff options
Diffstat (limited to 'system')
-rw-r--r-- | system/include/dlfcn.h | 9 | ||||
-rw-r--r-- | system/include/emscripten/emscripten.h | 1 | ||||
-rw-r--r-- | system/include/gc.h | 10 | ||||
-rw-r--r-- | system/include/libc/limits.h | 9 | ||||
-rw-r--r-- | system/include/libc/sys/_default_fcntl.h | 2 | ||||
-rw-r--r-- | system/include/libc/sys/features.h | 4 | ||||
-rw-r--r-- | system/include/libc/sys/resource.h | 1 | ||||
-rw-r--r-- | system/include/libc/sys/signal.h | 1 | ||||
-rw-r--r-- | system/include/net/netinet/in.h | 20 | ||||
-rw-r--r-- | system/include/netdb.h | 3 | ||||
-rw-r--r-- | system/include/sys/ioctl.h | 1 | ||||
-rw-r--r-- | system/include/sys/poll.h | 1 | ||||
-rw-r--r-- | system/include/sys/socket.h | 18 | ||||
-rw-r--r-- | system/include/sys/statvfs.h | 2 | ||||
-rw-r--r-- | system/include/sys/un.h | 65 |
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_ */ |