Commit Graph

177 Commits

Author SHA1 Message Date
auronandace 49f96a96e6 rename bits_time to bits_timespec for consistency 2026-04-09 10:50:04 +01:00
auronandace a0dd75a011 move unistd bits to cbindgen 2026-04-03 08:58:37 +01:00
Zero aca4df91cf feat(time): Add process_pid to timer_internal_t
Add `process_pid` field to `timer_internal_t` struct.
This field is used by the `alarm()` function to specify the PID of the process
to which the `SIGALRM` signal should be delivered.
2026-03-31 00:19:35 +02:00
Wildan M 6e1199448c Add sysconf posix constants 2026-03-29 17:39:13 +07:00
auronandace 904604020b eliminate more range loops 2026-03-16 08:26:05 +00:00
auronandace 8a2bfa2ed5 tackle some lints 2026-03-10 18:20:06 +00:00
auronandace 798e7e23ea unistd header cleanup 2026-02-27 16:25:22 +00:00
auronandace 4073242e8b signal header cleanup 2026-02-24 16:35:06 +00:00
Jeremy Soller 8cb5b0c71c Merge branch 'fix-with_argv' into 'master'
fix: adjust memory allocation for argv to include null terminator

Closes #261

See merge request redox-os/relibc!989
2026-02-24 08:13:52 -07:00
auronandace 0027ba8068 revert a cast 2026-02-15 21:57:16 +00:00
auronandace 20bdf30526 remove allow warnings and add some lints 2026-02-15 21:38:08 +00:00
auronandace 2c53eb1f6d add improper_ctypes_definitions lint 2026-02-14 16:48:39 +00:00
auronandace 955179ab6f remove code as per feedback 2026-02-13 13:22:05 +00:00
auronandace ff392a029a remove pthread_atfork from unistd and tackle some lints 2026-02-13 12:14:04 +00:00
auronandace 1191d8e1b4 extract timespec to a bits header 2026-02-12 13:07:24 +00:00
auronandace aa13343b2e redox native fixes for unused_must_use 2026-02-11 09:58:50 +00:00
auronandace a3c67e898d add unused_must_use lint 2026-02-11 09:48:47 +00:00
Akshit Gaur 75a3d80fdb Implement pause 2026-02-10 19:17:11 +05:30
Marsman 6a7fb703c9 fix: adjust memory allocation for argv to include null terminator 2026-02-10 11:26:14 +00:00
auronandace 64f18ca89a add unused_mut lint 2026-02-08 09:00:14 +00:00
auronandace 804bb83c34 unistd header cleanup 2026-02-04 10:13:57 +00:00
Ron Williams 2c3201eaeb move timeval to sys_select 2026-01-30 15:53:15 +00:00
Connor-GH e5997cf828 unistd/mod.rs: implement posix_close
This is a valid implementation according to POSIX,
as long as we do not support `POSIX_CLOSE_RESTART`.
2026-01-23 15:52:54 -06:00
sourceturner defd2ce7c3 Deny deny-unsafe_op_in_unsafe_fn on the crate level 2026-01-21 00:41:57 +01:00
sourceturner 61e098eb2c Use unsafe blocks in unistd.h implementation 2026-01-18 21:23:24 +01:00
auronandace d00994be35 getopt cleanup 2026-01-02 09:01:31 +00:00
auronandace 8414205d04 only import the needed types 2025-12-22 17:47:29 +00:00
auronandace 8deb1f32c3 mark two functions unsafe 2025-12-22 17:40:51 +00:00
Jeremy Soller b1c9847b97 Include sys/stat.h and unistd.h in fcntl.h, remove bits/fcntl.h 2025-12-19 13:01:45 -07:00
Jeremy Soller 3765148270 Fix incompatible functions 2025-12-19 12:55:43 -07:00
Jeremy Soller 0405048890 Format limits and sysconf 2025-12-19 11:46:38 -07:00
Jeremy Soller 7e987b67bc Add more limits and expose them through sysconf 2025-12-19 10:18:15 -07:00
Jeremy Soller 4daa52a6bd Implement _Fork, which is fork without pthread_atfork hooks 2025-12-19 08:49:53 -07:00
bjorn3 4dae665cbf Hard code the default scheme to file
Init no longer changes the default scheme to initfs at any point in
time. And for sandboxing you would be switching scheme namespace, not
default scheme.

It should be possible to mix and match relibc version from before and
after this change without breaking exec, though I haven't tested it.
2025-12-07 19:51:45 +01:00
Jeremy Soller a33bb699e6 Remove weak linkage from getopt functions and globals 2025-10-30 14:39:27 -06:00
Wildan M efad028739 Fix getting total memory 2025-10-09 21:15:03 +07:00
Wildan M cc325b8b0a Fix compile 2025-10-09 13:24:03 +07:00
Wildan M a118d5659b Implement reading memory 2025-10-09 13:15:05 +07:00
Wildan M 38a64f2247 Define stub memory constants 2025-10-07 20:27:32 +07: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
Jacob Lorentzon 9c5f11fbc8 Add Out<T> wrapper 2025-09-21 14:36:12 +02:00
Wildan M b541ee43be Change PATH separator to double colon 2025-09-19 21:48:38 +07:00
Josh Megnauth 03c0e3024c Export fexecve
It turns out we have fexecve but it wasn't exported in unistd.h.

Related: #184
2025-09-18 02:38:15 -04: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
Wildan M d527cf455f Implement reading CPU count 2025-09-14 18:45:38 +07:00
Josh Megnauth 51bc7f7d2c Const init pthread_atfork; export in pthread.h
`pthread_atfork` should be exported in pthread.h according to the
standard. We only exported our function in unistd.h. `glibc` exports it
in both pthread.h and unistd.h whereas musl only exports it in pthread.h
(which is standards compliant).

I exported it in both headers. Cbindgen doesn't seem to reexport `pub
use` so I declared the function twice. We might have to reexamine our
`pub use` to check what's exported and what isn't.
2025-09-01 22:21:15 -04:00
Josh Megnauth 9d2f5d95dc Implement confstr (unistd.h)
The implementation for confstr is straightforward. Most of the constants
return 1 on both musl and glibc. The only constant that doesn't is
required for Fish.

I also switched an #[unsafe(no_mangle)] from my last patch back
to a #[no_mangle] because we need to bump cbindgen. #[unsafe(no_mangle)]
is required for Rust 2024.
2025-08-22 22:13:51 -04:00
Josh Megnauth 70ae45ff85 Improve sysconf.h on Linux
I copied the constants and definitions from musl which we can presume is
correct. Relibc is missing some features which affects our sysconf as
well, such as constants in limits.h or a working resources.h.
2025-08-20 02:05:05 -04:00
Josh Megnauth c3c9e3f619 Add termios constant for VDISABLE
_POSIX_VDISABLE is an extension that disables terminal special
characters.

See:
* redox-os/termios!3
* redox-os/base!27
2025-08-14 01:57:24 -04:00