Wildan M
c8fce67873
Support SIGEV_SIGNAL and TIMER_ABSTIME
2025-10-16 22:37:24 +07:00
Wildan Mubarok
2efcd20fbc
Implement POSIX timer functions
2025-10-15 08:10:06 -06:00
4lDO2
24cf96393c
Expand Out wrapper and use it in utsname.
2025-10-05 20:01:12 +02:00
Jeremy Soller
82084440ad
Support nightly-2025-10-03
2025-10-03 21:51:10 -06:00
Josh Megnauth
b22f333319
Fix Linux build
2025-09-26 02:05:03 -04:00
Wildan Mubarok
7416ba6ff3
Implement posix_getdents
2025-09-23 10:57:13 -06:00
Josh Megnauth
85c5e889fb
Implement fchmodat
...
Capability based `fchmod`. I also implemented unit tests for chmod,
fchmod, and fchmodat.
The unit tests check Redox-specific behavior, so some of the tests are
disabled for Linux.
2025-09-21 10:04:11 -04:00
Jacob Lorentzon
9c5f11fbc8
Add Out<T> wrapper
2025-09-21 14:36:12 +02:00
Josh Megnauth
c555503a35
Implement readlinkat
...
Like readlink except capability based. Most of this patch is refactoring
fstatat into a reusable, openat-like private function.
2025-09-18 01:27:55 +00:00
Josh Megnauth
c899feb774
Implement fstatat
...
Linux's variant uses the syscall as intended. Redox's variant uses fpath
to build a path to pass to fstat from the file descriptor plus the file
name. Unlike the syscall, this isn't atomic so the liminal space between
fpath/getcwd and fstat is subject to TOCTOU.
Beyond fstatat, I moved the stat test to its correct location and added
an assert since the output of the test is unchecked.
I also added AT_FDCWD which seems to be -100 across Unixes. The other
AT_* constants are unimplemented for now.
2025-08-27 08:21:41 -04:00
4lDO2
32c5e89c82
Return ID of new session in setsid.
2025-04-20 17:10:51 +02:00
4lDO2
a4dc232a33
Impl getres[ug]id C function.
2025-04-19 19:26:59 +02:00
Josh Megnauth
d6ac5f8947
Avoid over allocations & reallocations
...
As we know, vectors amortize the cost of adding new elements by reserving
space for multiple elements when full. This is useful but may lead to
allocating more memory than necessary.
`relibc` generally avoids over allocations by reserving the exact amount
of space when possible. I fixed a few areas that still over allocated or
reallocated unnecessarily by leveraging iterators that are more likely
to know sizes.
2024-11-14 22:53:12 -05:00
Peter Limkilde Svendsen
06fec0b843
Add various basic docstrings
2024-10-27 23:25:57 +01:00
4lDO2
eee603efa8
Remove the "-1 errno" e() function.
2024-09-27 15:35:04 +02:00
4lDO2
8b8b00da01
Use unsigned return values in read()-like Pal fns.
...
Returning a negative number of bytes makes absolutely no sense, besides
the "-1 and errno" pattern, which is now converted to Result<_, Errno>.
2024-09-27 10:39:26 +02:00
4lDO2
986754e7b3
Remove all remaining errno interfaces from Pal.
2024-09-27 10:29:32 +02:00
4lDO2
313b32c815
Switch almost all of Pal to Rusty error handling.
2024-09-27 10:19:44 +02:00
4lDO2
4b687c25d2
Convert more Pal methods to Result.
2024-09-26 16:24:01 +02:00
4lDO2
6e5959b3fa
Convert a bunch of c_int to Result<(), Errno>.
2024-09-26 16:21:34 +02:00
4lDO2
fed49a29af
Properly deallocate thread stack on pthread_exit.
2024-09-24 19:34:53 +02:00
Kamil Koczurek
408a7b2ab6
Add capability to set the default scheme
2024-09-23 14:36:45 +00:00
4lDO2
7e38bb1476
Fix Linux compilation.
2024-09-21 13:42:43 +02:00
Jeremy Soller
1ac8c4834b
Format
2024-09-19 16:09:11 -06:00
Jeremy Soller
1b7d059707
Add getrusage
2024-09-19 16:08:54 -06:00
4lDO2
c0e7af5289
Backwards-compatibly rewrite getdents to use special syscall.
2024-09-11 23:32:19 +02:00
4lDO2
198caa3bc5
Rustify Sys::open and some fs:: error handling.
2024-09-11 23:22:32 +02:00
4lDO2
4bd0d2a1ef
Move pthread::Errno to separate module.
2024-09-11 23:22:29 +02:00
4lDO2
bf26de70e2
Add setresuid/setresgid (suid/sgid stub on Redox).
2024-07-18 23:54:46 +02:00
4lDO2
4c20a9abb2
Enable syscall restart in futex_wait.
2024-07-16 11:55:06 +02:00
4lDO2
4c11b607de
Implement pread and pwrite using the syscalls.
2024-06-14 14:10:47 +02:00
Jacob Lorentzon
1fba2ef10a
Various futex fixes
2024-04-05 20:31:06 +00:00
Peter Limkilde Svendsen
a7137512fa
Use standard casing and mangling for internal errno
2024-03-01 00:25:42 +00:00
Peter Limkilde Svendsen
9093f6bc47
Use Cell representation for errno
2024-02-29 14:07:40 +00:00
Jeremy Soller
6b88ad6271
Merge branch 'inline-core-io' into 'master'
...
Refactor: inline `core_io`
Closes #175
See merge request redox-os/relibc!441
2024-01-03 19:19:58 +00:00
Abdullah Emad
0caf011122
Implement mknod and mknodat
2024-01-03 16:43:28 +00:00
Arthur Paulino
d4eddbf42e
Refactor: inline core_io
...
* Extract the minimal set of definitions from `core_io` to `relibc` itself
* Remove dependency on `core_io`
2023-12-24 17:06:27 -03:00
Darley Barreto
ce1e31d567
Replace C dlmalloc
2023-12-12 15:04:17 +00:00
4lDO2
75d1c67ca2
Switch to a lightweight CStr wrapper
2023-11-04 18:29:38 +00:00
4lDO2
966c59ca0c
Make escalated communication pathless using sendfd.
2023-10-19 17:17:18 +02:00
4lDO2
16b5837d31
Fix Linux compilation error.
2023-10-12 20:10:40 +02:00
Jeremy Soller
afdc26f9cc
Add getgroups/setgroups (stub on redox)
2023-09-13 11:16:59 -06:00
4lDO2
cdd0f67b23
Rustfmt.
2023-05-17 15:28:10 +02:00
David Carlier
bae8bb68df
lockf implementation proposal
2023-05-16 23:40:40 +01:00
Jeremy Soller
848fde933b
Merge branch 'remove_pthreads_emb' into 'master'
...
Replace pthreads-emb with a native implementation
See merge request redox-os/relibc!380
2023-05-11 13:56:11 +00:00
David Carlier
2db85f9a3f
clock_getres/clock_settime additions
2023-05-08 18:52:05 +01:00
4lDO2
7bcfa9cfd9
Fix Linux.
2023-05-06 17:02:53 +02:00
4lDO2
6a658bc33d
Add needed functions for acid to link.
2023-05-06 17:02:51 +02:00
4lDO2
2593101ea7
Get it to compile
2023-05-06 17:02:50 +02:00
David Carlier
5041df0015
setsid implementation
2023-05-04 19:09:32 +01:00