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