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
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
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
2f49694031
Add flockfile(3), ftrylockfile(3), and funlockfile(3).
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
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
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
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
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
b88853de81
Remove obsolete PLATFORM_X86 and PLATFORM_X64 macros.
2013-12-17 14:30:37 +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
2c164844f2
Add mktime(3).
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
ad51b5a070
Add clock(3).
2013-12-17 14:30:34 +01:00