Commit Graph

426 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 74247eb71e Rewrite malloc(3). 2014-12-03 21:32:50 +01:00
Jonas 'Sortie' Termansen 52abb4d899 Refuse to implement gethostent(3). 2014-12-03 14:19:58 +01:00
Jonas 'Sortie' Termansen 3ad7ab4fc3 Add gethostname(2) and sethostname(2). 2014-12-03 13:58:29 +01:00
Jonas 'Sortie' Termansen 3a3fc76c8c Remove tmpnam(3). 2014-12-02 18:00:38 +01:00
Jonas 'Sortie' Termansen 6ccc39c678 Warn on asctime and ctime use. 2014-12-02 18:00:38 +01:00
Jonas 'Sortie' Termansen 36c70760a0 Warn on sprintf use. 2014-12-02 18:00:23 +01:00
Jonas 'Sortie' Termansen f4d9fda6de Honor feature macros in <dirent.h>. 2014-12-01 23:34:43 +01:00
Jonas 'Sortie' Termansen 0da847ac85 Add remaining standard errno values. 2014-12-01 22:51:07 +01:00
Jonas 'Sortie' Termansen ec7e0cc9a6 Add cbprintf(3) and vcbprintf(3).
Thanks to Owen Shepherd of the Public Domain C Library for helping design
and formalize these interfaces.
2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen 8643c37102 Remove __flbf(3). 2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen 2f393b2646 Remove _flushlbf(3). 2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen 3778dae725 Remove __fsetlocking(3). 2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen 35708fa900 Retire calltrace support in favor of the kernel debugger. 2014-12-01 21:38:06 +01:00
Jonas 'Sortie' Termansen a25f1a931e Initialize stdin, stdout and stderr at compile time. 2014-12-01 18:45:11 +01:00
Jonas 'Sortie' Termansen 8570f46734 Indirectly fflush(3) from fshutdown(3). 2014-12-01 18:45:11 +01:00
Jonas 'Sortie' Termansen 97e1551c81 Indirectly free(3) buffers in fshutdown(3). 2014-12-01 18:45:11 +01:00
Jonas 'Sortie' Termansen 9fec909970 Indirectly closedir(3) from exit(3). 2014-12-01 18:45:10 +01:00
Jonas 'Sortie' Termansen 5e60007904 Remove dcloseall() and fcloseall(). 2014-12-01 16:29:43 +01:00
Jonas 'Sortie' Termansen 392472af5c Add semaphores API. 2014-11-30 19:31:40 +01:00
Jonas 'Sortie' Termansen edb19f2394 Add arc4random(3). 2014-11-28 13:35:51 +01:00
Jonas 'Sortie' Termansen e460be7a72 Add getentropy(2). 2014-11-28 13:35:51 +01:00
Jonas 'Sortie' Termansen 5c702ed44b Add stresep(3). 2014-11-27 21:01:13 +01:00
Jonas 'Sortie' Termansen 58a1383723 Add strsep(3). 2014-11-27 21:01:13 +01:00
Jonas 'Sortie' Termansen 577f2f700b Add shutdown(2). 2014-11-27 01:39:53 +01:00
Jonas 'Sortie' Termansen 3760420fbb Add fpathconf(2). 2014-11-27 01:36:52 +01:00
Jonas 'Sortie' Termansen ad8d025c32 Rename <sortix/syscallnum.h> to <sortix/syscall.h>. 2014-11-27 01:18:58 +01:00
Jonas 'Sortie' Termansen 53aa659743 Add ESTALE. 2014-11-27 00:20:54 +01:00
Jonas 'Sortie' Termansen 95fcb94648 Add explicit_bzero(3). 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen 4ee15987fa Add timingsafe_memcmp(3). 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen 6dfd2fb6fa Add <netinet/tcp.h>. 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen d7290e1fad Add memrchr(3). 2014-11-27 00:10:13 +01:00
Jonas 'Sortie' Termansen 5e295b8d94 Honor feature macros in <arpa/inet.h>. 2014-11-26 23:34:14 +01:00
Jonas 'Sortie' Termansen bb84370c34 Add type limits and print/scan specifiers to <sys/types.h>. 2014-11-26 23:34:14 +01:00
Jonas 'Sortie' Termansen ac7124e1e6 Add wcslcat(3) and wcslcpy(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen 429f823f1f Add wcsnlen(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen e4dd7c0d5a Add wcsncasecmp(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen 01b7754c29 Add wcsdup(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen 8ed26bb26e Add wcscasecmp(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen 34935845b4 Add wcpncpy(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen c9b17d5490 Add wcpcpy(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen 9ca343c5e4 Add wcsftime(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen a1e9c15bca Add wcstof(3), wcstod(3) and wcstold(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen 01402052f6 Add tcgetblob(2) and tcsetblob(2). 2014-11-25 18:40:50 +01:00
Jonas 'Sortie' Termansen d6067f9da7 Add btowc(3) and wctob(3). 2014-11-25 17:48:54 +01:00
Jonas 'Sortie' Termansen f41964fcab Reimplement wchar conversion API. 2014-11-24 17:41:26 +01:00
Jonas 'Sortie' Termansen 550ba54a8f Honor feature macros in <wchar.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen 95491e44ac Honor feature macros in <unistd.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen 38b15f2e9f Honor feature macros in <string.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen 571daf8aaf Honor feature macros in <stdio.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen de5ac01a0b Honor feature macros in <stdint.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen ead7cc00be Honor feature macros in <inttypes.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen fbbb33287b Implement standard library feature macros. 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen 7f7fd66039 Add isascii(3). 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen bcf0720a59 Add versionsort_r(3). 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen 12652fe557 Add alphasort_r(3). 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen 71ae173b37 Add dscandir_r(3). 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen 5dbd89d2aa Delay heap initialization until first heap expansion. 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen 07fd50d5c6 Add wcwidth(3) and wcswidth(3). 2014-11-18 18:10:23 +01:00
Jonas 'Sortie' Termansen a24ecf4b83 Add getsockopt(2) and setsockopt(2). 2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen 708bcb4735 Add recvmsg(2) and sendmsg(2). 2014-11-18 16:27:19 +01:00
Jonas 'Sortie' Termansen c428ec4d83 Add fmemopen(3). 2014-11-17 18:47:44 +01:00
Jonas 'Sortie' Termansen d7c54161b2 Revise stdio implementation. 2014-10-19 17:13:49 +02:00
Jonas 'Sortie' Termansen a9cf3cc684 Add qsort_r(3). 2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen 234f186a7d Ensure system call indices are valid expressions in libc syscall stubs. 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen 01f6606b74 Fix FILE being a macro. 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen 771dc573ee Add attribute format to standard library headers. 2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen 1a99dc5048 Fix <timespec.h> including <stdbool.h> in C++. 2014-08-23 21:30:16 +02:00
Jonas 'Sortie' Termansen 30cd318c17 Implement signals.
Note: This is an incompatible ABI change.
2014-07-22 13:25:39 +02:00
Jonas 'Sortie' Termansen f1f272390b Add ESIGPENDING. 2014-07-20 15:09:16 +02:00
Jonas 'Sortie' Termansen 1ddd404ff9 Thread-secure stdio. 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen 0618b8a68f Thread secure errno(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen f69b6c845c Add pthread_sigmask(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen c8a3a858b0 Add libpthread. 2014-07-08 17:41:50 +02:00
Jonas 'Sortie' Termansen b607900a00 Fix <dirent.h> not being C89 friendly. 2014-07-07 17:52:33 +02:00
Jonas 'Sortie' Termansen 9f0e9f2fd4 Fix overlapping socket level constants. 2014-06-17 23:53:26 +02:00
Jonas 'Sortie' Termansen 4ea6aa710c Add exit_thread(2). 2014-06-12 00:05:40 +02:00
Jonas 'Sortie' Termansen f332cf96d4 Add sched_yield(2). 2014-05-29 17:16:49 +02:00
Jonas 'Sortie' Termansen af23f7ad5e Add rdmsr(2) and wrmsr(2). 2014-05-29 17:14:30 +02:00
Jonas 'Sortie' Termansen 1f72c1637c Maintain fsbase and gsbase as per-thread registers.
Note: This is an incompatible ABI change.
2014-05-29 17:07:42 +02:00
Jonas 'Sortie' Termansen 0f80611403 Fix C++ comments in <sys/types.h>. 2014-05-16 14:31:24 +02:00
Jonas 'Sortie' Termansen 4cc3bd4e92 Fix C++ comments in <fsmarshall-msg.h>. 2014-05-16 14:31:24 +02:00
Jonas 'Sortie' Termansen bcbc974a05 Fix usage of inline keyword in <timespec.h>. 2014-05-16 14:31:24 +02:00
Jonas 'Sortie' Termansen f2857047b0 Fix non-portable asm keyword usage in in system header. 2014-05-16 14:21:13 +02:00
Jonas 'Sortie' Termansen 580418341c Fix getpagesize(2) visibility in <unistd.h>. 2014-04-05 17:04:48 +02:00
Jonas 'Sortie' Termansen 05b0713bfa Fix mktemp(3) prototype visibility in <stdlib.h>. 2014-04-05 17:02:49 +02:00
Jonas 'Sortie' Termansen 8d41d3ceb0 Fix <string.h> including <strings.h>. 2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen 564f99b3ae Move O_ACCMODE into kernel headers. 2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen f6f5035706 Add tzset(3). 2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen 8c00a4145c Refactor kernel PAT, MTRR, and MSR usage. 2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen d50e8f1bce Document gethostid(3) and sethostid(3) as obsolete. 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 4ee83c9466 Refuse to implement broken POSIX advisory file locks. 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen a935148f60 Add statvfs(2), fstatvfs(2) and fstatvfsat(2). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 2fe13d33c9 Add asprintf(3) and vasprintf(3). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 2fe3595feb Add getumask(2). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 9771f29138 Add syslog(3). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen c6978d7d6e Add getdomainname(2). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 1986bc2ba2 Add vscanf_callback(3). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen e91cde379a Rewrite getenv(3), setenv(3), unsetenv(3) and clearenv(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen 687096ec8a Add uname(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen f34279cc60 Add ttyname_r(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen a0a8ed61d8 Add pipe2(2). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen eaf1618537 Add tcgetwincurpos(2). 2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen d5241349cc Move OFF_MIN and OFF_MAX to <sys/types.h>. 2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen 823d3a3e2f Add fsblkcnt_t and fsfilcnt_t. 2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen 512c9d3f08 Improve wchar declarations in <wchar.h>, <wctype.h> and <stdint.h>. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen 28f49e53bf Add C11 static_assert to <assert.h>. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen da933464e5 Add d_namlen, d_dev, and d_type to struct dirent. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen ddce6045e0 Split libc/dirent/dir.cpp into multiple files. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen d7467e98be Move the declaration of the DIR structure into its own header. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen 8a49c47742 Include <stdarg.h> in <wchar.h>. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen b08455c4d3 Remove mxmpp. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen 7c3df4e4f7 Fix <FILE.h> not being wrapped in __BEGIN_DECLS and __END_DECLS. 2014-01-18 16:30:55 +01:00
Jonas 'Sortie' Termansen a4220d5b5f Fix incorrect usage of __is_sortix_foo macros in preprocessor conditionals.
These macros might not be defined, in which case this usage would have
generated warnings had they not been in system headers.
2014-01-18 16:30:55 +01:00
Jonas 'Sortie' Termansen 4cffc6b77b Add fnmatch(3). 2013-12-19 17:42:08 +01:00
Jonas 'Sortie' Termansen 500d3bb38b Add symlink(2) and symlinkat(2) stub. 2013-12-19 17:42:08 +01:00
Jonas 'Sortie' Termansen 6a9eee3238 Add brand.h. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen c833b054d5 Add <argp.h>. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 0d3e35bd82 Add symbol size to SYSCALL_FUNCTION macro assembly. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen dbd07b6ade Update <sys/syscall.h> to current coding conventions. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen d43a044575 Refactor assert(3). 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen b9e463965b Split libc/stdlib/on_exit.cpp into multiple files. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen db185ece7d Add <ar.h> header. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen 30a95dfa1e Split parts of <features.h> into <sys/cdefs.h>. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 8961a99280 Add AF_LOCAL and PF_LOCAL. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 3785beb7f5 Implement the <grp.h> API properly. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen a7e1207e0f Implement the <pwd.h> API properly. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen 69f2a3ef91 Add ENOGROUP. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen dd269e9d51 Add ENOUSER. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen 396765eaba Remove getdtablesize(3).
This interface has been replaced with sysconf(_SC_OPEN_MAX). Note that this
implementation currently reports this as 0x10000, but there really is no
such limit in Sortix at this time.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen bae68066eb Add struct iovec to sys/socket.h. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen 5933ac5210 Rename O_CREAT to O_CREATE. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen e901ad8105 Move the declaration of the FILE structure into its own header. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen a212ec0ee3 Split libc/unistd/ioleast.cpp into multiple files. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen 4e520c8c36 Remove sortix_gets(3). 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen b399ece14b Add dup3(2). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 9700623737 Remove obsolete __SORTIX_SHOW_UNIMPLEMENTED feature macro. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 69eb2f0e5f Update <errno.h> to current coding conventions. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen ad1c6e0ed7 Remove <sys/__/types.h> inclusion from <features.h>. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 5b6d49b060 Remove useless extern keyword from libc header function prototypes. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen f79508fbc9 Remove __POSIX_OBSOLETE feature macro. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 52f67b436d Provide the full <stdint.h> in all system components. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 8044afc7e8 Provide the restrict keyword in all system components. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen bea3ed6f50 Detect internal system component build macros in <features.h>. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 798554f21c Update <features.h> to current coding conventions. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen ad84bc75c8 Change kernel internal build macro to __is_sortix_kernel. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 3a30ba57ef Change libc internal build macro to __is_sortix_libc. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen c24b162ef3 Add __sortix_libc__ feature macro. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen fd4b35f986 Add mkstemp(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen f105c8f3be Add wmemset(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen 9039553c15 Add wmemmove(3). 2013-12-17 14:30:42 +01:00