aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-09-25 19:02:40 -0700
committerAlon Zakai <alonzakai@gmail.com>2011-09-25 19:02:40 -0700
commit62650456eb2a0618116dc443a52103f473ff332b (patch)
tree40dd54bbe0e79677de214d80244c9664e1918d44
parent80e2f0333d58b56fb33f91f17574158f3a39e04c (diff)
add some defines to fcntl
-rw-r--r--src/settings.js6
-rw-r--r--system/include/libc/sys/_default_fcntl.h6
2 files changed, 11 insertions, 1 deletions
diff --git a/src/settings.js b/src/settings.js
index 0832dae1..a58acc62 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -128,7 +128,11 @@ INCLUDE_FULL_LIBRARY = 0; // Whether to include the whole library rather than ju
// The default value here has been generated from system/include. If you
// modify those files, or use different headers, you will need to override
// this.
-C_DEFINES = {"S_IWRITE":"0000200", "_POSIX_CPUTIME":"1", "O_RDONLY":"0", "_POSIX_C_SOURCE":"2", "__FILENAME_MAX__":"255", "DEFFILEMODE":"0000400", "PTHREAD_PRIO_NONE":"0", "_S_IFMT":"0170000", "_O_TEXT":"131072", "_FNOINHERIT":"262144", "F_WRLCK":"2", "_POSIX_JOB_CONTROL":"1", "_FASYNC":"64", "__BUFSIZ__":"16", "S_IRUSR":"0000400", "F_UNLCK":"3", "_FDEFER":"32", "_O_EXCL":"2048", "AT_SYMLINK_NOFOLLOW":"2", "S_IFDIR":"0040000", "_POSIX_THREAD_ATTR_STACKSIZE":"200112", "_IFDIR":"0040000", "_POSIX_TIMERS":"1", "_IFLNK":"0120000", "FNDELAY":"16384", "_POSIX2_C_DEV":"200112", "_FCREAT":"512", "_POSIX_THREAD_CPUTIME":"1", "FAPPEND":"8", "O_CREAT":"512", "_POSIX_ADVISORY_INFO":"200112", "_MB_EXTENDED_CHARSETS_WINDOWS":"1", "_POSIX_V6_LPBIG_OFFBIG":"-1", "PTHREAD_MUTEX_ERRORCHECK":"2", "_XBS5_ILP32_OFF32":"-1", "_POSIX_THREAD_SPORADIC_SERVER":"1", "FD_CLOEXEC":"1", "F_DUPFD_CLOEXEC":"14", "_XBS5_LP64_OFF64":"-1", "_POSIX_SHARED_MEMORY_OBJECTS":"200112", "_POSIX_MEMORY_PROTECTION":"200112", "_POSIX_DEVCTL_DIRECTION":"1", "S_IRGRP":"0000040", "FDEFER":"32", "S_IFCHR":"0020000", "F_SETOWN":"6", "_POSIX_THREAD_PRIO_PROTECT":"1", "___int_least16_t_defined":"1", "PTHREAD_SCOPE_SYSTEM":"1", "S_ISGID":"0002000", "_POSIX_INTERRUPT_CONTROL":"1", "FEXCL":"2048", "PTHREAD_SCOPE_PROCESS":"0", "_S_IFDIR":"0040000", "F_RSETLK":"11", "_POSIX_READER_WRITER_LOCKS":"200112", "F_UNLKSYS":"4", "__RAND_MAX":"2147483647", "PTHREAD_CREATE_JOINABLE":"1", "_S_IFIFO":"0010000", "FEXLOCK":"256", "_FNDELAY":"16384", "_POSIX_SPORADIC_SERVER":"1", "_MB_EXTENDED_CHARSETS_ISO":"1", "PTHREAD_STACK_MIN":"200", "O_APPEND":"8", "_POSIX_DEVICE_CONTROL":"1", "_POSIX_V6_ILP32_OFF32":"-1", "_POSIX_SPIN_LOCKS":"200112", "O_NOCTTY":"32768", "UTIME_NOW":"-2", "O_ACCMODE":"3", "_FSHLOCK":"128", "_POSIX_REGEXP":"1", "___int_least32_t_defined":"1", "_UNIX98_THREAD_MUTEX_ATTRIBUTES":"1", "_FTRUNC":"1024", "_POSIX_BARRIERS":"200112", "_POSIX_FSYNC":"200112", "F_SETLKW":"9", "_POSIX_RAW_SOCKETS":"200112", "O_RDWR":"2", "FOPEN":"-1", "F_RGETLK":"10", "F_DUPFD":"0", "__LARGE64_FILES":"1", "_S_IFCHR":"0020000", "_XOPEN_SHM":"1", "AT_SYMLINK_FOLLOW":"4", "_S_IWRITE":"0000200", "FSYNC":"8192", "_POSIX_CHOWN_RESTRICTED":"1", "FNOCTTY":"32768", "__USE_XOPEN2K":"1", "PTHREAD_MUTEX_DEFAULT":"3", "_IFSOCK":"0140000", "_FNOCTTY":"32768", "_IFIFO":"0010000", "PTHREAD_PROCESS_PRIVATE":"0", "_IFREG":"0100000", "S_BLKSIZE":"1024", "_POSIX_VERSION":"200112", "O_TRUNC":"1024", "_O_CREAT":"512", "___int64_t_defined":"1", "S_IFREG":"0100000", "O_TEXT":"131072", "_POSIX_THREAD_PRIO_INHERIT":"1", "F_GETLK":"7", "S_IWOTH":"0000002", "F_GETFD":"1", "_XBS5_ILP32_OFFBIG":"1", "S_IFMT":"0170000", "_O_RDWR":"2", "_FREAD":"1", "F_GETFL":"3", "_FWRITE":"2", "F_RDLCK":"1", "S_IRWXO":"0000004", "SCHED_SPORADIC":"4", "S_IRWXU":"0000400", "_O_NOINHERIT":"262144", "_POSIX_THREAD_SAFE_FUNCTIONS":"200112", "_IFMT":"0170000", "_POSIX2_CHAR_TERM":"200112", "F_SETLK":"8", "S_IWUSR":"0000200", "FNBIO":"4096", "ALLPERMS":"0004000", "_POSIX_V6_LP64_OFF64":"-1", "_POSIX_MEMLOCK_RANGE":"200112", "PTHREAD_INHERIT_SCHED":"1", "F_RSETLKW":"13", "F_SETFD":"2", "S_IFLNK":"0120000", "___int16_t_defined":"1", "_S_IREAD":"0000400", "_FNONBLOCK":"16384", "F_SETFL":"4", "_POSIX_SHELL":"1", "FMARK":"16", "___int8_t_defined":"1", "_POSIX2_UPE":"200112", "MALLOC_ALIGNMENT":"16", "PTHREAD_MUTEX_RECURSIVE":"1", "PTHREAD_CREATE_DETACHED":"0", "_POSIX2_VERSION":"200112", "FWRITE":"2", "FREAD":"1", "O_CLOEXEC":"262144", "H8300":"1", "ITIMER_PROF":"2", "FNONBIO":"16384", "_FNBIO":"4096", "O_WRONLY":"1", "_POSIX_MONOTONIC_CLOCK":"200112", "O_NOINHERIT":"262144", "ACCESSPERMS":"0000400", "PTHREAD_EXPLICIT_SCHED":"2", "_POSIX_PRIORITIZED_IO":"1", "PATH_MAX":"4096", "F_CNVT":"12", "_POSIX_THREAD_PROCESS_SHARED":"200112", "_POSIX2_C_BIND":"200112", "SCHED_OTHER":"0", "FCREAT":"512", "_POSIX_SPAWN":"1", "S_IFIFO":"0010000", "_POSIX_MEMLOCK":"1", "S_ISVTX":"0001000", "SCHED_FIFO":"1", "S_IXUSR":"0000100", "UTIME_OMIT":"-1", "S_ENFMT":"0002000", "O_SYNC":"8192", "S_IRWXG":"0000040", "PTHREAD_PROCESS_SHARED":"1", "_IFBLK":"0060000", "_FEXLOCK":"256", "_XOPEN_VERSION":"600", "_POSIX_SYNCHRONIZED_IO":"200112", "S_IROTH":"0000004", "_POSIX_MAPPED_FILES":"200112", "FASYNC":"64", "ARG_MAX":"4096", "_POSIX_NO_TRUNC":"1", "_XOPEN_ENH_I18N":"1", "AT_EACCESS":"1", "F_GETOWN":"5", "PTHREAD_MUTEX_NORMAL":"0", "_FEXCL":"2048", "_O_TRUNC":"1024", "ITIMER_REAL":"0", "_S_IEXEC":"0000100", "_POSIX_ASYNCHRONOUS_IO":"1", "PTHREAD_PRIO_INHERIT":"1", "FTRUNC":"1024", "S_IXOTH":"0000001", "O_NONBLOCK":"16384", "FSHLOCK":"128", "___int32_t_defined":"1", "_POSIX2_RE_DUP_MAX":"255", "_O_APPEND":"8", "_FLOAT_ARG":"<type 'float'>", "_POSIX_MESSAGE_PASSING":"200112", "S_ISUID":"0004000", "_READ_WRITE_RETURN_TYPE":"<type 'int'>", "_O_WRONLY":"1", "_POSIX_THREAD_PRIORITY_SCHEDULING":"200112", "_S_IFREG":"0100000", "_O_BINARY":"65536", "_XOPEN_CRYPT":"1", "_O_RAW":"65536", "_FTEXT":"131072", "_POSIX2_SW_DEV":"200112", "_POSIX_PRIORITY_SCHEDULING":"200112", "_LARGEFILE64_SOURCE":"1", "_POINTER_INT":"<type 'long'>", "_POSIX_SEMAPHORES":"200112", "_IFCHR":"0020000", "_FMARK":"16", "_POSIX_IPV6":"200112", "S_IREAD":"0000400", "_LONG_LONG_TYPE":"<type 'long'>", "S_IFSOCK":"0140000", "___int_least8_t_defined":"1", "_POSIX_V6_ILP32_OFFBIG":"1", "_FBINARY":"65536", "_FOPEN":"-1", "_O_RDONLY":"0", "O_BINARY":"65536", "SCHED_RR":"2", "_FAPPEND":"8", "ITIMER_VIRTUAL":"1", "S_IXGRP":"0000010", "AT_REMOVEDIR":"8", "_XBS5_LPBIG_OFFBIG":"-1", "O_EXCL":"2048", "S_IFBLK":"0060000", "_POSIX_TIMEOUTS":"1", "_POSIX_THREAD_ATTR_STACKADDR":"1", "S_IWGRP":"0000020", "_POSIX_THREADS":"200112", "S_IEXEC":"0000100", "_POSIX_REALTIME_SIGNALS":"200112", "PTHREAD_PRIO_PROTECT":"2", "AT_FDCWD":"-2", "_FSYNC":"8192", "_POSIX_SAVED_IDS":"1"}
+C_DEFINES = {"S_IWRITE":"0000200", "_POSIX_CPUTIME":"1", "O_RDONLY":"0", "_POSIX_C_SOURCE":"2", "__FILENAME_MAX__":"255", "DEFFILEMODE":"0000400", "PTHREAD_PRIO_NONE":"0", "_S_IFMT":"0170000", "_O_TEXT":"131072", "_FNOINHERIT":"262144", "F_WRLCK":"2", "_POSIX_JOB_CONTROL":"1", "_FASYNC":"64", "__BUFSIZ__":"16", "S_IRUSR":"0000400", "F_UNLCK":"3", "_FDEFER":"32", "_O_EXCL":"2048", "AT_SYMLINK_NOFOLLOW":"2", "S_IFDIR":"0040000", "_POSIX_THREAD_ATTR_STACKSIZE":"200112", "_IFDIR":"0040000", "_POSIX_TIMERS":"1", "_IFLNK":"0120000", "FNDELAY":"16384", "_POSIX2_C_DEV":"200112", "_FCREAT":"512", "_POSIX_THREAD_CPUTIME":"1", "FAPPEND":"8", "O_CREAT":"512", "_POSIX_ADVISORY_INFO":"200112", "_MB_EXTENDED_CHARSETS_WINDOWS":"1", "_POSIX_V6_LPBIG_OFFBIG":"-1", "PTHREAD_MUTEX_ERRORCHECK":"2", "_XBS5_ILP32_OFF32":"-1", "_POSIX_THREAD_SPORADIC_SERVER":"1", "FD_CLOEXEC":"1", "F_DUPFD_CLOEXEC":"14", "_XBS5_LP64_OFF64":"-1", "_POSIX_SHARED_MEMORY_OBJECTS":"200112", "_POSIX_MEMORY_PROTECTION":"200112", "_POSIX_DEVCTL_DIRECTION":"1", "S_IRGRP":"0000040", "FDEFER":"32", "S_IFCHR":"0020000", "F_SETOWN":"6", "_POSIX_THREAD_PRIO_PROTECT":"1", "___int_least16_t_defined":"1", "PTHREAD_SCOPE_SYSTEM":"1", "S_ISGID":"0002000", "_POSIX_INTERRUPT_CONTROL":"1", "FEXCL":"2048", "PTHREAD_SCOPE_PROCESS":"0", "_S_IFDIR":"0040000", "F_RSETLK":"11", "_POSIX_READER_WRITER_LOCKS":"200112", "F_UNLKSYS":"4", "__RAND_MAX":"2147483647", "PTHREAD_CREATE_JOINABLE":"1", "_S_IFIFO":"0010000", "FEXLOCK":"256", "_FNDELAY":"16384", "_POSIX_SPORADIC_SERVER":"1", "_MB_EXTENDED_CHARSETS_ISO":"1", "PTHREAD_STACK_MIN":"200", "O_APPEND":"8", "_POSIX_DEVICE_CONTROL":"1", "_POSIX_V6_ILP32_OFF32":"-1", "_POSIX_SPIN_LOCKS":"200112", "O_NOCTTY":"32768", "UTIME_NOW":"-2", "O_ACCMODE":"3", "_FSHLOCK":"128", "_POSIX_REGEXP":"1", "___int_least32_t_defined":"1", "_UNIX98_THREAD_MUTEX_ATTRIBUTES":"1", "_FTRUNC":"1024", "_POSIX_BARRIERS":"200112", "_POSIX_FSYNC":"200112", "F_SETLKW":"9", "_POSIX_RAW_SOCKETS":"200112", "O_RDWR":"2", "FOPEN":"-1", "F_RGETLK":"10", "F_DUPFD":"0", "__LARGE64_FILES":"1", "_S_IFCHR":"0020000", "_XOPEN_SHM":"1", "AT_SYMLINK_FOLLOW":"4", "_S_IWRITE":"0000200", "FSYNC":"8192", "_POSIX_CHOWN_RESTRICTED":"1", "FNOCTTY":"32768", "__USE_XOPEN2K":"1", "PTHREAD_MUTEX_DEFAULT":"3", "_IFSOCK":"0140000", "_FNOCTTY":"32768", "_IFIFO":"0010000", "PTHREAD_PROCESS_PRIVATE":"0", "_IFREG":"0100000", "S_BLKSIZE":"1024", "_POSIX_VERSION":"200112", "O_TRUNC":"1024", "_O_CREAT":"512", "___int64_t_defined":"1", "S_IFREG":"0100000", "O_TEXT":"131072", "_POSIX_THREAD_PRIO_INHERIT":"1", "F_GETLK":"7", "S_IWOTH":"0000002", "F_GETFD":"1", "_XBS5_ILP32_OFFBIG":"1", "S_IFMT":"0170000", "_O_RDWR":"2", "_FREAD":"1", "F_GETFL":"3", "_FWRITE":"2", "F_RDLCK":"1", "S_IRWXO":"0000004", "SCHED_SPORADIC":"4", "S_IRWXU":"0000400", "_O_NOINHERIT":"262144", "_POSIX_THREAD_SAFE_FUNCTIONS":"200112", "_IFMT":"0170000", "_POSIX2_CHAR_TERM":"200112", "F_SETLK":"8", "S_IWUSR":"0000200", "FNBIO":"4096", "ALLPERMS":"0004000", "_POSIX_V6_LP64_OFF64":"-1", "_POSIX_MEMLOCK_RANGE":"200112", "PTHREAD_INHERIT_SCHED":"1", "F_RSETLKW":"13", "F_SETFD":"2", "S_IFLNK":"0120000", "___int16_t_defined":"1", "_S_IREAD":"0000400", "_FNONBLOCK":"16384", "F_SETFL":"4", "_POSIX_SHELL":"1", "FMARK":"16", "___int8_t_defined":"1", "_POSIX2_UPE":"200112", "MALLOC_ALIGNMENT":"16", "PTHREAD_MUTEX_RECURSIVE":"1", "PTHREAD_CREATE_DETACHED":"0", "_POSIX2_VERSION":"200112", "FWRITE":"2", "FREAD":"1", "O_CLOEXEC":"262144", "H8300":"1", "ITIMER_PROF":"2", "FNONBIO":"16384", "_FNBIO":"4096", "O_WRONLY":"1", "_POSIX_MONOTONIC_CLOCK":"200112", "O_NOINHERIT":"262144", "ACCESSPERMS":"0000400", "PTHREAD_EXPLICIT_SCHED":"2", "_POSIX_PRIORITIZED_IO":"1", "PATH_MAX":"4096", "F_CNVT":"12", "_POSIX_THREAD_PROCESS_SHARED":"200112", "_POSIX2_C_BIND":"200112", "SCHED_OTHER":"0", "FCREAT":"512", "_POSIX_SPAWN":"1", "S_IFIFO":"0010000", "_POSIX_MEMLOCK":"1", "S_ISVTX":"0001000", "SCHED_FIFO":"1", "S_IXUSR":"0000100", "UTIME_OMIT":"-1", "S_ENFMT":"0002000", "O_SYNC":"8192", "S_IRWXG":"0000040", "PTHREAD_PROCESS_SHARED":"1", "_IFBLK":"0060000", "_FEXLOCK":"256", "_XOPEN_VERSION":"600", "_POSIX_SYNCHRONIZED_IO":"200112", "S_IROTH":"0000004", "_POSIX_MAPPED_FILES":"200112", "FASYNC":"64", "ARG_MAX":"4096", "_POSIX_NO_TRUNC":"1", "_XOPEN_ENH_I18N":"1", "AT_EACCESS":"1", "F_GETOWN":"5", "PTHREAD_MUTEX_NORMAL":"0", "_FEXCL":"2048", "_O_TRUNC":"1024", "ITIMER_REAL":"0", "_S_IEXEC":"0000100", "_POSIX_ASYNCHRONOUS_IO":"1", "PTHREAD_PRIO_INHERIT":"1", "FTRUNC":"1024", "S_IXOTH":"0000001", "O_NONBLOCK":"16384", "FSHLOCK":"128", "___int32_t_defined":"1", "_POSIX2_RE_DUP_MAX":"255", "_O_APPEND":"8", "_FLOAT_ARG":"<type 'float'>", "_POSIX_MESSAGE_PASSING":"200112", "S_ISUID":"0004000", "_READ_WRITE_RETURN_TYPE":"<type 'int'>", "_O_WRONLY":"1", "_POSIX_THREAD_PRIORITY_SCHEDULING":"200112", "_S_IFREG":"0100000", "_O_BINARY":"65536", "_XOPEN_CRYPT":"1", "_O_RAW":"65536", "_FTEXT":"131072", "_POSIX2_SW_DEV":"200112", "_POSIX_PRIORITY_SCHEDULING":"200112", "_LARGEFILE64_SOURCE":"1", "_POINTER_INT":"<type 'long'>", "_POSIX_SEMAPHORES":"200112", "_IFCHR":"0020000", "_FMARK":"16", "_POSIX_IPV6":"200112", "S_IREAD":"0000400", "_LONG_LONG_TYPE":"<type 'long'>", "S_IFSOCK":"0140000", "___int_least8_t_defined":"1", "_POSIX_V6_ILP32_OFFBIG":"1", "_FBINARY":"65536", "_FOPEN":"-1", "_O_RDONLY":"0", "O_BINARY":"65536", "SCHED_RR":"2", "_FAPPEND":"8", "ITIMER_VIRTUAL":"1", "S_IXGRP":"0000010", "AT_REMOVEDIR":"8", "_XBS5_LPBIG_OFFBIG":"-1", "O_EXCL":"2048", "S_IFBLK":"0060000", "_POSIX_TIMEOUTS":"1", "_POSIX_THREAD_ATTR_STACKADDR":"1", "S_IWGRP":"0000020", "_POSIX_THREADS":"200112", "S_IEXEC":"0000100", "_POSIX_REALTIME_SIGNALS":"200112", "PTHREAD_PRIO_PROTECT":"2", "AT_FDCWD":"-2", "_FSYNC":"8192", "_POSIX_SAVED_IDS":"1",
+ F_GETLK64: 20,
+ F_SETLK64: 21,
+ F_SETLKW64: 22
+};
SHOW_LABELS = 0; // Show labels in the generated code
diff --git a/system/include/libc/sys/_default_fcntl.h b/system/include/libc/sys/_default_fcntl.h
index 1884136c..d44a858e 100644
--- a/system/include/libc/sys/_default_fcntl.h
+++ b/system/include/libc/sys/_default_fcntl.h
@@ -128,6 +128,12 @@ extern "C" {
#define F_DUPFD_CLOEXEC 14 /* As F_DUPFD, but set close-on-exec flag */
#endif
+/* XXX Emscripten: 3 more not really needed ones */
+#define F_GETLK64 20
+#define F_SETLK64 21
+#define F_SETLKW64 22
+
+
/* fcntl(2) flags (l_type field of flock structure) */
#define F_RDLCK 1 /* read lock */
#define F_WRLCK 2 /* write lock */