Commit Graph

212 Commits

Author SHA1 Message Date
Wildan M c119eba845 Define feature macros in unistd 2026-03-13 21:19:35 +07:00
Wildan M 8810e143ec Fix blkcnt_t type 2026-02-24 07:47:35 +07:00
auronandace 4b3d1aa5ca change sa_flags in sigaction to int to match spec 2026-02-19 09:46:56 +00:00
auronandace e8118dc293 removed the C locale bits header 2026-02-11 15:38:42 +00:00
Wildan M 2c522c355f Fix wchar_t redefinition in C++ 2026-01-27 14:40:23 +07:00
Wildan M 632b3a9a4f Fix SIZE_MAX for i586 2026-01-25 01:09:39 +07:00
Connor-GH 6356142c79 stdio.h: add std{in,out,err} macros; regex.h: add REG_MINIMAL macro 2026-01-23 09:41:19 -06:00
Wildan M 5476770359 Define max limits in rust 2026-01-17 18:17:35 +07:00
Jeremy Soller 375061a69c Add sys/sysmacros.h from musl (fixes last commit) 2026-01-16 12:47:06 -07:00
Jeremy Soller 03c370d7f3 Fix dev_t type and add sys/sysmacros.h include from musl 2026-01-16 12:42:58 -07:00
Jeremy Soller b833e44293 Revert "Remove bits/stdlib"
This reverts commit 8867ba80df.
2026-01-15 18:40:23 -07:00
Pascal Reich 08f93dfbdc add mathematical constants 2026-01-12 12:38:28 -07:00
Wildan M 8867ba80df Remove bits/stdlib 2025-12-28 19:43:54 +07: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 549cae066f Add sys/queue.h from NetBSD like Alpine Linux does 2025-11-20 09:37:09 -07:00
Wildan M 1712290deb Define posix_dent for posix_getdents 2025-10-12 20:25:37 +07:00
Andrzej J. Skalski 42493b88eb fixing bindgen c++ [[noreturn]] issue. 2025-08-30 11:30:34 -06:00
Jeremy Soller fd9a1c9668 Workaround clang issue with [[noreturn]] in C files 2025-08-24 18:30:13 -06: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
Jeremy Soller f170902a29 Add u_int types for compatibility 2025-08-13 09:36:26 -06:00
Josh Megnauth cfe00d3316 Add paths.h for Fish
Fish only requires BSHELL. The constants are implementation specific so
this header will evolve as needed.

Cbindgen doesn't emit defines for strings (even CStrs) so I only
provided what's needed for Fish in a C header for now with the ideal
implementation, in Rust, unbuilt.
2025-08-09 01:16:12 -04:00
Ron Williams b7589a63c5 Fixes to improve signals for openposixtestsuite 2025-08-04 07:37:14 -06:00
Josh Megnauth e677ad55d5 Better priorities & LOG_UPTO for syslog.h
* Fix PERROR to match musl/glibc better
* More unit tests + enabled on Linux
* Pack priority and facility into one i32 and check the bits with
  bitflags
* Add LOG_UPTO (logic is straight from musl)

Not done:
* "%m" - this could just be added to printf
* LOG_CONS
2025-08-01 23:45:26 -04:00
Josh Megnauth 64d9847e37 Linux support for syslog.h
Linux's syslog is a local socket, so this uses the recent UDS work.

* Most of redox.rs is refactored into mod.rs now which has all of the C
  facing functions and consts.
* I wrapped the global logger in a Mutex instead of a RwLock. The logger
  is almost always locked for writing so a Mutex is simpler as RwLock
  provides no benefits.
* I implemented LOG_PERROR which also prints errors to stderr as well as
  the log.
* Syslog should be sys/syslog.h with syslog.h as an alias (the
  original code only had syslog.h).
2025-07-24 21:46:49 -04:00
Bendeguz Pisch 4fc80ea7b0 Implement syslog functionality 2025-07-17 22:49:51 -06:00
Ron Williams 770dc71816 Fix CI, Add signal.h constants 2025-07-11 20:28:45 -06:00
Jeremy Soller 38cca8acc0 Fix select macros 2025-05-06 11:34:48 -06:00
Jeremy Soller 3402246d87 define NFDBITS 2025-05-05 21:05:07 -06:00
Jeremy Soller bce8eac3c7 Move CMSG functions to C macros 2025-05-03 11:21:27 -06:00
4lDO2 37b60b67e0 Add and fix test for kill&waitpid. 2025-04-19 19:27:02 +02:00
Jeremy Soller ed575e9259 Implement sigsetjmp on all archs 2025-04-11 20:18:27 -06:00
Jeremy Soller b3fbea62da Define __uint32_t and __uint64_t for openlibm 2025-04-11 15:47:57 -06:00
Josh Megnauth 27cd6a2b88 fix: USHRT_MAX is too large
The original expanded to 16 nibbles which is technically correct because
the standard defines USHRT_MAX as being at LEAST 65535. However, in
practice everything seems to set the max as the max length of two bytes.
2025-02-18 00:06:58 -05:00
Peter Limkilde Svendsen b3f36faf87 Add pvalloc() 2025-02-11 21:13:51 +01:00
Bendeguz Pisch 35a3efd936 Implement sigsetjmp and siglongjmp for X64 2025-01-04 00:29:19 +00:00
bitstr0m ce7e553ae9 Implement cpio.h 2024-12-17 10:38:43 +00:00
Josh Megnauth 96de114be8 Add stdnoreturn.h
This header is more or less the same across libc implementations.

`musl` uses its `_Noreturn` macro to detect which `noreturn`
should be used: C11 or GCC's extension as a fallback.

`glibc` simply defines `noreturn` as `_Noreturn`.

This implementation is based off of `musl`'s.

`_Noreturn` is deprecated as of C23.
2024-11-27 01:25:53 -05:00
Jeremy Soller 09bcfd0711 Merge branch 'errno-const-macros' into 'master'
Test errno constant macros, make ENOTSUP available in Rust

See merge request redox-os/relibc!556
2024-11-17 16:16:47 +00:00
Peter Limkilde Svendsen 42011f28d8 Test errno constant macros, make ENOTSUP available in Rust 2024-11-17 16:16:47 +00:00
Jeremy Soller caac784caa Merge branch 'iso646' into 'master'
Add iso646.h and corresponding tests

See merge request redox-os/relibc!555
2024-11-17 16:16:11 +00:00
Josh Megnauth 5348273ccc Emit C attributes via cbindgen 2024-11-17 16:15:07 +00:00
Peter Limkilde Svendsen 56d05e2cdc Add iso646.h and corresponding tests 2024-11-10 16:19:15 +01:00
Josh Megnauth bf1ea4e799 Set h_errno for gethostbyname/addr 2024-11-02 12:21:47 +00:00
Andrey Turkin a4122753e6 Initial RISC-V64 support 2024-10-11 06:44:54 +03:00
Jeremy Soller c254ab3219 Add sys/poll.h 2024-10-10 15:06:49 -06:00
4lDO2 30caf55429 Set siginfo_t.si_{pid,uid} from kill signals too. 2024-09-24 19:34:51 +02:00
4lDO2 13e7b77643 Implement basic support for (kernel) rt signals. 2024-09-24 19:34:50 +02:00
4lDO2 284f51b47e Fix struct sigaction defintion. 2024-07-09 15:39:57 +02:00
Jeremy Soller eb3b93d14a Define strtold in C until Rust and cbindgen can use f128 2024-01-12 12:21:20 -07:00
Jeremy Soller 17ac6ef039 Remove inline from strtold 2024-01-12 12:05:47 -07:00