Commit graph

812 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
a96aca09c1 Thread-secure user-space heap. 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
1830ab64ee Fix memccpy(3) being terribly broken. 2014-06-27 16:17:47 +02:00
Jonas 'Sortie' Termansen
874baffd57 Fix wrongly named system call constants. 2014-06-27 15:49:55 +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
202cf40881 Fix libc/msr/wrmsr.cpp not containing its own file path. 2014-06-12 00:05:40 +02:00
Jonas 'Sortie' Termansen
8b3e94af38 Fix x86 longjmp(3) not restoring ebx. 2014-06-02 18:56:04 +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
b30878e816 Fix libc files not including <stdalign.h> if using alignas(3). 2014-05-28 22:18:54 +02:00
Jonas 'Sortie' Termansen
bfcd7768d2 Fix libc files not including <assert.h> if using static_assert(3). 2014-05-28 22:18:54 +02:00
Jonas 'Sortie' Termansen
534eb3ddd8 Fix libk being built with -mmmx, -msse and -msse2 on x86_64. 2014-05-28 17:42:19 +02:00
Jonas 'Sortie' Termansen
7db2ea81ab Fix warning about converting a signed value to an unsigned value. 2014-05-16 15:12:59 +02:00
Jonas 'Sortie' Termansen
73cea916d9 Fix suboptimal heap chunk spliting. 2014-05-16 14:48:27 +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
57cddb5cc2 Fix libc files not including their associated header. 2014-05-16 14:21:13 +02:00
Jonas 'Sortie' Termansen
76036892c2 Fix missing parentheses in grp and pwd implementation. 2014-05-16 14:06:36 +02:00
Jonas 'Sortie' Termansen
8591bcef7b Fix getopt_long(3) not handling invalid options and long options properly. 2014-04-24 00:03:52 +02:00
Jonas 'Sortie' Termansen
01b8acbc90 Fix calloc not erroring on multiplication overflow. 2014-04-24 00:03:51 +02:00
Jonas 'Sortie' Termansen
159d8881ec Fix files relying on <unistd.h> including <ioleast.h>. 2014-04-06 00:19:05 +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
3c160977bf Fix wrong allocation failure check in dscandir_r(3). 2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen
8d41d3ceb0 Fix <string.h> including <strings.h>. 2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen
2161a0e0e3 Fix canonicalize_file_name_at(3) not handling file paths correctly. 2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen
e8cfd5bf85 Handle NULL strings in vprintf_callback(3). 2014-03-17 19:22:13 +01: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
e677c455d8 Use getdomainname(2) in uname(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
02c18f868f Fix vscanf_callback(3) not ungetcing the last character when stopping. 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
af9ea5df04 Add %m support to vprintf_callback(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
0117c4fbc7 Improve ix86 and x86_64 data types ABI.
Increase gid_t to an unsigned 64-bit integer.
Increase id_t to an unsigned 64-bit integer.
Increase pid_t to a signed 64-bit integer.
Increase time_t to a signed 64-bit integer.
Increase uid_t to an unsigned 64-bit integer.

Note: This is an incompatible ABI change.
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
1b3f4b36d8 Fix strtol(3) handling negative numbers incorrectly. 2014-03-17 17:00:00 +01:00
Jonas 'Sortie' Termansen
00a3579940 Fix basename(3) and dirname(3) returning incorrect strings. 2014-03-17 16:59:59 +01:00
Jonas 'Sortie' Termansen
2e855f4095 Fix buffer overflow in execvpe(3). 2014-03-17 16:59:59 +01:00
Jonas 'Sortie' Termansen
fc713baba3 Rename libc-sortix to libk. 2014-03-01 14:37:42 +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
f13074afd1 Improve basename(3) and dirname(3). 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
d39437966d Split libc/wctype/wctype.cpp into multiple files. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
ba8557075c Split libc/ctype/ctype.cpp into multiple files. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
df666103b3 Update libc/stdlib/rand.cpp to current coding conventions. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
9cd3cdf79c Update libc/locale/setlocale.cpp to current coding conventions. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
71f9f882d1 Fix readdir(3) not preserving errno in case of end-of-directory condition. 2014-03-01 14:37:40 +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
5dd70aa4ff Split libc/dirent/fddir-sortix.cpp into multiple files. 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
6788f0096e Preprocess assembly files with the C preprocessor. 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
98a87fa1e5 Rename Sortix kernel directory to kernel. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen
18d2695439 Add libdl and librt to libc. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen
4c1d36fd11 Fix setuid(2) calling sys_getuid rather than sys_setuid. 2014-02-23 14:47:22 +01:00
Jonas 'Sortie' Termansen
478db91c3e Fix setgid(2) calling sys_getgid rather than sys_setgid. 2014-02-23 14:47:22 +01:00
Jonas 'Sortie' Termansen
aa9f642df2 Fix seteuid(2) calling sys_geteuid rather than sys_seteuid. 2014-02-23 14:47:22 +01:00
Jonas 'Sortie' Termansen
3163f4600d Fix setegid(2) calling sys_getegid rather than sys_setegid. 2014-02-23 14:47:21 +01:00
Jonas 'Sortie' Termansen
142b2c66c4 Fix symlinkat(2) calling sys_linkat rather than sys_symlinkat. 2014-02-23 14:47:21 +01:00
Jonas 'Sortie' Termansen
4227d97f55 Fix send(2) calling sys_recv rather than sys_send. 2014-02-23 14:47:21 +01:00
Jonas 'Sortie' Termansen
31c310036c Fix lseek changing errno in fdio_install_fd when no real error occurs. 2014-02-16 12:38:04 +01:00
Jonas 'Sortie' Termansen
fd5b40de26 Fix wrong return types in towlower(3) and towupper(3) implementations. 2014-02-13 15:49:48 +01:00
Jonas 'Sortie' Termansen
061eddff91 Silence uninitialized variable warning in wcrtomb(3). 2014-02-06 00:15:03 +01:00
Jonas 'Sortie' Termansen
140dfe22fc Fix memory leak in getlogin_r(3). 2014-02-06 00:15:03 +01:00
Jonas 'Sortie' Termansen
5c58b65546 Fix range check in sigismember(3). 2014-02-02 23:14:02 +01:00
Jonas 'Sortie' Termansen
6af85a5dd8 Fix negated return value in sigisemptyset(3). 2014-02-02 23:14:02 +01:00
Jonas 'Sortie' Termansen
b5d80ee5d1 Fix %T in strftime(3) being incorrectly implemented. 2014-01-19 22:47:52 +01:00
Jonas 'Sortie' Termansen
187cdf03dc Fix accept4 ignoring addrlen parameter as input. 2014-01-19 00:32:11 +01:00
Jonas 'Sortie' Termansen
6473d72621 Fix bugs in vprintf_callback(3) and improve %c and %s support. 2014-01-18 16:30:56 +01:00
Jonas 'Sortie' Termansen
021256ad8e Fix struct kernel_dirent::d_namlen being called d_namelen. 2014-01-18 16:30:56 +01:00
Jonas 'Sortie' Termansen
bfc8570bb8 Fix libc function implementations without extern "C" linkage. 2014-01-18 16:30:56 +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
7bc8ccd46f Fix unportable gid_t and uid_t parsing in fgetpwent_r(3). 2013-12-30 20:46:22 +01:00
Jonas 'Sortie' Termansen
ace4a6cc54 Fix unportable gid_t parsing in fgetgrent_r(3). 2013-12-30 20:46:22 +01:00
Jonas 'Sortie' Termansen
ac3928bfc8 Fix unportable pid_t printing in calltrace(3). 2013-12-30 20:46:22 +01:00
Jonas 'Sortie' Termansen
f47cb98b97 Fix wrong return type in getpgid(2) implementation. 2013-12-30 20:19:00 +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
48931408f4 Make FILE a macro that expands to FILE.
This solves a compatibility problem with libgmp that erroneously attempts to
detect whether <stdio.h> has been included, but doesn't know what the include
guards for Sortix libc are.
2013-12-19 17:42:07 +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
33bf0d93ad Avoid libc conflicts with libstdc++. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
2302350d78 Remove <sortix/kernel/platform.h>. 2013-12-17 14:30:45 +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
9d4bc2a15f Grow kernel heap upwards.
Previously the kernel heap grew downwards for historical reasons. There is no
reason for this and it simplifies the heap implementation if it only grows
upwards. This also rearranges how the kernel virtual memory is allocated to
suit an upwards-growing heap.
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
8018a85a30 Fix wrong base parsing in strtol(3). 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
e31b98c5a1 Improve standards conformance of asctime_r(3). 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
011ea58176 Rewrite vprintf_callback(3). 2013-12-17 14:30:44 +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
3166413eef Properly implement memmove(3). 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
ca2de62ea7 Use the <pwd.h> API in getlogin_r(3). 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
8c0e0235d6 Refactor fcntl(2) ABI.
This is an incompatible ABI change.
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
Jonas 'Sortie' Termansen
329881f38d Add wmemcpy(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
3c3bb32431 Add wmemchr(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
f32e1c7951 Add wcsstr(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
2e46a6ce8c Add wcspbrk(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
b944052a2e Add wcsxfrm(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
2db8bc088d Add wcsncmp(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
adb3bf543f Add wmemcmp(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
efc0eb2829 Add getrusage(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
7a5e549612 Add getrlimit(3) and setrlimit(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
13f09cc515 Add prlimit(2). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
a6f38947f2 Add getpriority(2) and setpriority(2). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
1469c89b87 Add id_t to <sys/types.h>. 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
04019cab9e Add mmap(2), mprotect(2) and munmap(2). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
930be00966 Don't write errors to stderr in dlopen(3) and dlsym(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
30d35a98dd Add sigandset(3), sigisemptyset(3), signotset(3), and sigorset(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
d5a7901b25 Add getopt(3) and getopt_long(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
bb2a1b3e73 Add dprintf(3) and vdprintf(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
91eb5f3af9 Split libc/stdio/sprint.cpp into multiple files. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
edce6b9c2b Split libc/stdio/print.cpp into multiple files. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
2f49694031 Add flockfile(3), ftrylockfile(3), and funlockfile(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
405173fc04 Add strftime_l(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
070a319006 Split stdlib/abs.cpp into multiple files. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
02013158e7 Add imaxdiv(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
a9d8712435 Add wcscoll(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
8d674a43e1 Add wcsto{l,ll,ul,ull,imax,umax}(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
cba75809fe Declare wchar_t in inttypes.h. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
5a127a429c Add overflow support to strtol and clean up the code. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
1df749498a Refactor strtol functions. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
cdc5a9673e Add strtoimax(3) and strtoumax(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
d79808f85f Split gnu_error(3) and perror(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
0c43765bbf Add strdupa(3) and strndupa(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
fdbcea19dc Add ffs(3), ffsl(3), and ffsll(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
6ea9a0d509 Merge strings.h into string.h. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
bc20ef464c Split pread and pwrite into their own files. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
12d6f1fd73 Add killpg(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
f1888f9e8b Add strlcat(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
a1655ca43b Add strerror_l(3) and strerror_r(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
4ac3c313ae Add strlcpy(3). 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
2518e4fc40 Add strxfrm_l(3). 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
5bda12c8fc Add strcoll_l(3). 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
e6a23c5365 Update libc/dirent/fddir-sortix to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
290ee1a6a6 Update libc/dirent/dir to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
8707a0d309 Update libc/stdio/fdio to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
2fa4df7576 Update libc/stdio/stdio to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
878dbd819f Update libc/ctype/ctype to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
5980be9b3c Add Sortix Math Library.
This work is based in part on code from NetBSD libm, libc and kernel.

The library is partly public domain and partly BSD-style licensed.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
14c32c3433 Move libc initialization functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
89a2c44493 Move stdio.h functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
a329235397 Move timespec.h functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
106c269c62 Move sys/readdirents.h functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
d162eac516 Move sys/ioctl.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
49cb00ab3f Move sys/kernelinfo.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
29fc8bf8c8 Move dlfcn.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
575e536442 Move error.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
bd15083e65 Move errno.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
e8bc31b798 Move sys/select.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
c4715aef59 Move utime.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
03ac25a6e2 Move calltrace.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
d6c8dd6983 Move sys/display.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
de36488e63 Move sys/termmode.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
59b28682b4 Move auxiliary libc files into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
9e6cfc3e13 Move sys/wait.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
ecb5744afb Move sys/uio.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
ecbb19273b Move sys/stat.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
0d4a25396b Move unistd.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
bff6b077da Move signal.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
50ae094c6f Move poll.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
7668d2bc0b Move locale.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
ed60c08c2c Move fcntl.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
c69b5fc34d Move pwd.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
6259878db3 Move grp.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
3d18ed9a43 Move ctype.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
78b0cf7b6a Move wctype.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
e87e891ca3 Move assert.h functions into their directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
18356edb69 Move stdlib.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
ab0177113f Move fsmarshall.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
9c4f25ae7c Move libgen.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
7bec450367 Add _D_EXACT_NAMLEN and _D_ALLOC_NAMLEN macros to dirent.h. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
cab9f561ea Add feature macros to dirent.h describing struct dirent. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
441777de28 Add versionsort(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
ed3814abca Add strverscmp(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
9bd82e1d80 Add alphasort(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
7de9273bef Add scandir(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
edb2682f55 Move dirent.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
c377f33072 Remove duplicate declaration of addr_t. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
b88853de81 Remove obsolete PLATFORM_X86 and PLATFORM_X64 macros. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
4dad48271a Move wchar.h functions into their own directory. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
7a0beab011 Move string.h functions into their own directory. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
20b67f18bc Update libc system calls to follow coding conventions. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
7a6b4920ce Rename SYSCALL_WAIT to SYSCALL_WAITPID. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
938f722dcb Add tcsetpgrp(2) and tcgetpgrp(2). 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
be0ece3fe0 Add setpgid(2) and getpgid(2). 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
740187674a Add reference counting filesystem messages. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
5d1fe2620b Add mkpartition(2). 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
d2aab888d1 Add chroot(2), fchroot(2) and fchrootat(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
ddf3dd329f Add fchdirat(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
36bb159941 Add big and small endian data types to <endian.h>. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
3c6ecd6512 Add umask(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
1940d9560e Add timezone support. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
2c164844f2 Add mktime(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
519b054a24 Add gmtime_r(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
f7b5d6e55b Add difftime(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
ad51b5a070 Add clock(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
0903f4edc2 Add times(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
3938f80055 Add timens(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
a15ffa955b Obsolete uptime(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
71a2fef5f6 Add clock_nanosleep(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
1e2550c0d5 Add clock_*(2) API. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
2d94cd1246 Add alarm(2) and alarmns(2). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
df5deac29b Add support for per-process timers. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
7fc085f469 Add pw_gecos to struct passwd. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
ef32b3fcbe Add {,p}{read,write}v(2). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
b3e7aafff8 Add psignal(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
7f543dc910 Add strto{f,d,ld}(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
28a4fe477b Add tmpnam(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
881776f72b Declare obsolete POSIX declarations. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
ee4acf731c Add mblen(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
bf66d5bb76 Add mbrlen(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
12947b0bdf Add fgetpos(3) and fsetpos(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
3c94199720 Add ENOLOCK. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
1a67e969c3 Add EPROTOTYPE. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
ad19a88473 Add ENFILE. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
d16d327f32 Add EDEADLK. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
9f3cb1cf56 Add ENOTCONN. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
d28a85bd87 Add ENOPROTOOPT. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
369253450a Add ENOMSG. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
1b116d5cd4 Add ENOBUFS. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
1e89d641d4 Add ENETUNREACH. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
c8a73cdd40 Add ENETRESET. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
670f612e12 Add ENETDOWN. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
db02cd569b Add EMSGSIZE. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
62734a008b Add EHOSTUNREACH. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
fd6b3cce91 Add EDESTADDRREQ. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
1adef1d0e2 Add EFAULT. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
4eb06d9063 Add EISCONN. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
8427ee7a0f Add EADDRNOTAVAIL. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
5e9bd04cc7 Add sysconf(_SC_PAGESIZE). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
c829cb3c20 Add d_ino to struct dirent. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
f174660e2b Add sigprocmask(2) stub. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
6dbff1991b Add sigset functions. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
e88d492efd Add sigaction(2). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
615bf32c60 Forward declare <signal.h> API. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
29df8b3092 Add confstr(3). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
5260d22492 Simplify STDFOO_FILENO macros. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
2b3f3d0bc4 Add sysconf(3). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
f1fb806f72 Add getlogin(2) and getlogin_r(2). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
57003dd777 Add gethostname(2). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
931c0d1bc5 Add inttypes.h format and scan macros. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
3eeec255c0 Use alternate restrict keyword when unavailable. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
d7c8e1e6df Add O_ACCMODE. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
09ddd20fb6 Add alloca.h. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
c514dda0b2 Add O_NONBLOCK support to sockets. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
aca2a41401 Implement setjmp(3) and longjmp(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
70a661e1ab Add dirname(3) and basename(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
8cc4c6cb03 Add tmpfile(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
cab4293090 Add wcstombs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
8e0d659cec Add wcsrtombs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
9e242e9cd7 Add mbstowcs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
9c336562a7 Add mbsrtowcs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
eb9e027697 Add wcstok(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
b4945e88b2 Add wcscspn(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
1938db2c25 Add wcsspn(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
1902f2d797 Add wcsrchr(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
7734074ba7 Add wcsncpy(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
3ec03badf3 Add wcsncat(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
c4da23f1f5 Add wcscmp(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
ff33adeb7f Add wcschr{,nul}(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
10d01d8098 Add wcscat(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
93eda97b84 Add wcslen(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
8f1e1018c7 Add wcscpy(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
01a82b2882 Add ttyname(2). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
3c4b4ace0c Add ECONNRESET. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
9e04af42a9 Add ECONNABORTED. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
74a3081d5b Add ESHUTDOWN. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
7f1a542f7b Add EALREADY. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
cf9719526e Add EINPROGRESS. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
552ecf521e Add EDOM. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
17f51aca20 Add <__/limits.h> stub. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
694f043bea Add __pure2 attribute to features.h. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
79a49b2015 Add socket interface. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
ee106231c4 Add utimensat(2) and futimens(2). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
472155173d Adopt struct timespec as the kernel time format.
Note: Incompatible ABI change.
2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
46b86892de Add __PRAGMA_WARNING for inserting warnings. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
cc5302af31 Add atof(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
b852fbcc9b Add ctime{,_r}(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
c6d1285337 Add pathconf(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
6da33c469b Add grent(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
dab4b8a981 Add pwent(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
7ef559e2e1 Add asctime{,_r}(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
440e34ef62 Add strftime(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
8162011b5d Add <time.h> header forward declarations.
Note that many of the functions are not yet implemented.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
dbc6c8c663 Add ioctl(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ade239f18b Add {g,s}et{e,}{g,u}id(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
068c12be04 Add sig_atomic_t. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ac1d64fd7e Refactor descriptor flags and security. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
915169bdae Bootstrap program_invocation_name. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
1e20b0e7ec Add freopen(3). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
476b27c301 Refactor FILE creation and destruction. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
a90e6d5d16 Implement stdio line buffering semantics. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
15c48f4efc Add PATH variable. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
f29abd73ec Add fsync(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
25b70f0e1c Add ECONNREFUSED. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
633f4bb55c Add ETIMEDOUT. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
d2b6543558 Add EADDRINUSE. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
279f15398f Add ENOTSOCK. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
8a72874548 Add EAFNOSUPPORT. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
c7d833686a Add EPROTONOSUPPORT. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
971fc090b6 Add select(2). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
729bfa3c32 Add readlink{,at}(2). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
9d3937fe9e Add realpath(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
0ce3d61cb9 Add canonicalize_file_name{,_at}(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
1a3aa45c2c Add srand(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
6d86af8d60 Avoid noreturn macro conflict in <stdlib.h>. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
2630c7cb4e Add div(3), ldiv(3) and lldiv(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
c26cb897a0 Use malloc in memmove instead of operator new. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
fc8d64013d Refactor datatype declarations. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
54da838c79 Refactor kernel address space allocation. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
6e22ee877d Provide __/wordsize.h. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
8180797aa7 Support field widths in %c printf conversion. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
4e46b40b4c Add support for ' ' and '+' flags to printf. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
a023f2a348 Add alternate flag to printf. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
e70887cf3d Add endian.h. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
bb1c80f68e Add byteswap.h. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
7098317c09 Only define the restrict macro if it hasn't already been. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
7b21a9eabd Always declare usleep(2). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
d3b9bdb3ba Provide envp to the main function. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
e8e5f14a5d Add popen(3) and pclose(3). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
2d86b7dcf2 Add system(3). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
6b790a3184 Conditionally calltrace in abort(3). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
f6371bfcec Add calltrace(3) function. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
133e5d4410 Make program_invocation_name a macro. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
03ab6cf26e Add program_invocation_short_name(3). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
b9d633108d Add wctype(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
05219a27f2 Add mbrtowc(3), mbtowc(3), wcrtomb(3), wctomb(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
e52c6c0966 Add support for * field width in printf and %s field width. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
4f9bbd1717 Add octal and adjusted blank support to printf. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
c25e4a1842 Add creat(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
391d844aca FILE backend controls return value of fclose. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
06e2025a87 Add support for useless 't' mode in fopen. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ad7690c74 Rewrite stdio functions.
These changes aim to make the stdio functions much more stable, flexible,
correct and bugfree.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
8e0aefda20 Add rename(2) and renameat(2). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ba7f26bf0 Refactor kernel time API and add timespec API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
b2b55bc34a Add poll(2) and ppoll(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
e76073cc4f Add user-space filesystem API. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
500d853f77 Add removeat(3) and split remove(3) into its own file. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
deeedf9e5d Add lchown(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
3b35dad9f7 Add AT_REMOVEFILE flag to unlinkat(2).
This allows unlinkat(2) to delete files and directories in the same call,
which is useful for the implementation of remove(3).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
1fa2df3e6a Replace system calls that accept a path with *at versions. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
921deb6eeb Add linkat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
2ef2269168 Add fchmodat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
f21462bf18 Add fchmod(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
c1280bedb0 Add fchown(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
cb4569c615 Add fchownat(2). 2013-12-17 14:30:25 +01:00