Bananymous
5a6b43fc90
LibC: Remove debug printing from getnameinfo
2025-06-02 11:39:18 +03:00
Bananymous
317f413746
LibC: Implement very hacky posix_memalign
...
I did not even test this and i know the code is super hacky. I could not
bother with writing proper code for this xD
2025-06-02 11:39:18 +03:00
Bananymous
895909b7fa
LibC: Add CMSG_* definitions to sys/socket.h
2025-06-02 11:39:18 +03:00
Bananymous
2ee8b6c8b4
LibC: Add more definitions to netinet/in.h
...
These are non-standard but a lot of UNIX-likes have them networking
software attempts to use them
2025-06-02 11:39:18 +03:00
Bananymous
022bb69782
LibC: Implement inet_aton
...
This is not POSIX but IMO it makes sense to have the counter part to
inet_ntoa
2025-06-02 11:39:18 +03:00
Bananymous
b7948551ff
userspace: Add empty libm and libpthread
...
These making porting stuff easier. I could not find a way to tell CMake
that the system does not have threads library
2025-06-02 11:39:18 +03:00
Bananymous
e9f8471a28
BAN: Return UTF::invalid from byte_length instead of 0
2025-06-02 11:39:18 +03:00
Bananymous
4656b11256
LibC: actually use ATEXIT_MAX for atexit limit
2025-06-02 10:43:49 +03:00
Bananymous
2b48933f29
LibC: Implement all functions from complex.h
2025-06-01 13:48:03 +03:00
Bananymous
4ac6cbe70e
LibC: Add some missing wchar.h functions
...
isw* functions are just wrappers to is*
tow* functions are just wrappers to to*
2025-06-01 13:48:03 +03:00
Bananymous
cc07c3df94
LibC: Add basic strxfrm{,_l}
2025-06-01 13:48:03 +03:00
Bananymous
31bcad2535
LibC: Implement truncate
2025-06-01 13:48:03 +03:00
Bananymous
b75970958e
Kernel/LibC: Implement unlinkat
2025-06-01 13:48:03 +03:00
Bananymous
91756c057e
LibC: Add all of the missing POSIX definitions in unistd.h and limits.h
2025-06-01 13:48:03 +03:00
Bananymous
df7f245cf8
LibC: Implement pthread_atfork
...
Again this code is not tested but *feels* right :D
2025-06-01 13:48:03 +03:00
Bananymous
dbdefa0f4a
LibC: Implement pthread cancelation
...
This code is not tested at all but it looks correct xD
2025-06-01 13:48:03 +03:00
Bananymous
56fdf6002c
Kernel/LibC: Implement pthread_kill
2025-06-01 13:48:03 +03:00
Bananymous
c957f1ddca
LibC: Cleanup pthread code and add some pthread_attr functions
...
errno, pthread cleanup and pthread id are now stored in uthread. This
allows using these without TLS
2025-06-01 13:48:03 +03:00
Bananymous
423386a052
LibC: Add memory.h that just includes string.h
...
There are a lot of ports trying to include memory.h. This is not posix
but glibc just includes string.h. I think this is just to privide mem*
functionss...?
2025-06-01 13:48:03 +03:00
Bananymous
1c882ea361
DynamicLoader: Don't print TODOs on PT_GNU_ headers
...
These should be either handled by kernel or just used as optimizations.
There is no requirement to handle them in dynamic loader
2025-06-01 13:48:03 +03:00
Bananymous
b1065fa01d
Kernel/LibC: Add ppoll syscall and fix poll
...
poll is now using its own syscall instead of wrapping aroung pselect.
This adds less overhead on top of poll and adds support for POLLHUP
2025-06-01 13:48:03 +03:00
Bananymous
1bd454b8fd
Kernel/LibC: Implement utime* family functions
...
This patch adds *working*
- utime
- utimes
- utimensat
- futimens
2025-06-01 13:48:03 +03:00
Bananymous
37dea8aee7
userspace: Implement basic `less` program
...
This is very simple and only supports couple of flags and scrolling
2025-05-29 01:00:28 +03:00
Bananymous
69c4940b27
LibC: Fix `signal` return value
...
signal was returning `func` when it should've returned the old handler
2025-05-29 00:58:30 +03:00
Bananymous
7691b019e2
LibC: Fix printf %c modifier for null byte
2025-05-28 03:10:01 +03:00
Bananymous
f55d6b11c5
LibC: Implement `mblen`
2025-05-28 03:10:01 +03:00
Bananymous
f52877abb4
LibC: Implement `readv` and `writev`
2025-05-28 03:10:01 +03:00
Bananymous
ee7c9b6731
LibC: Add simple `getnameinfo`
...
This doesn't actually do any name resolution but just formats input to
string.
2025-05-28 03:10:01 +03:00
Bananymous
4721344518
LibC: Don't fail `getaddrinfo` if node is null
2025-05-28 03:10:01 +03:00
Bananymous
e0d986dcd7
LibC: Add missing u_char and u_short types
2025-05-28 03:10:01 +03:00
Bananymous
c7be3dcd5b
LibC: Add timer{add,sub,clear,isset,cmp}
...
These are not POSIX but used by used by some ports
2025-05-28 03:10:01 +03:00
Bananymous
89c9bfd052
Kernel/LibC: Implement `socketpair` for UNIX sockets
2025-05-28 03:10:01 +03:00
Bananymous
12b93567f7
Kernel/LibC: Implement `getpeername`
2025-05-28 03:10:01 +03:00
Bananymous
8aa4e4ff1e
LibC: Implement `clearenv`
...
This is GNU extension but seems nice to have :D
2025-05-28 03:10:01 +03:00
Bananymous
7eade002a7
LibC: Fix `mktime`
...
yday calculation was off so results were always off for march-december
2025-05-28 03:10:01 +03:00
Bananymous
a8f8d27f4e
LibC: Implement basic tzset()
...
I still don't have timezone support so this just sets values to UTC
2025-05-28 03:10:01 +03:00
Bananymous
356935bd4f
LibC: Fix strtou{,l,ll} for negative values
...
Also set endp if base is invalid
2025-05-28 03:10:01 +03:00
Bananymous
bce3dd045f
LibC: Fix strncat return value
2025-05-28 03:10:01 +03:00
Bananymous
44b762f916
Kernel/LibC: Implement pwrite and make pread non-locking
2025-05-28 03:10:01 +03:00
Bananymous
5d80c880c8
LibC: Fix `FILE` buffering once again :D
2025-05-28 03:10:01 +03:00
Bananymous
b907263f35
LibC: Implement basic tmpfile
2025-05-28 03:10:01 +03:00
Bananymous
0f0accf82c
LibC: Don't use `false` in pthread initializers
2025-05-28 03:10:01 +03:00
Bananymous
ddcf414107
LibC: Fix netinet/in.h and arpa/inet.h definitions
2025-05-28 03:10:01 +03:00
Bananymous
b90cfa8e5c
test-window: poll events instead of sleeping
2025-05-13 10:19:13 +03:00
Bananymous
e7f0cd0c4b
stat: Fix return value when one of stats fails
2025-05-13 10:19:13 +03:00
Bananymous
0661b339a0
test-tcp: Fix name resolution
...
Comparison was the wrong way around so hostname lookup always failed.
2025-05-13 10:19:13 +03:00
Bananymous
1bcd1edbf5
Kernel/LibC: Implement basic epoll
...
This implementation is on top of inodes instead of fds as linux does it.
If I start finding ports/software that relies on epoll allowing
duplicate inodes, I will do what linux does.
I'm probably missing multiple epoll_notify's which may cause hangs but
the system seems to work fine :dd:
2025-05-13 10:18:05 +03:00
Bananymous
a8844ddd28
WindowServer: Send mouse release to same window as mouse press
2025-05-13 10:16:21 +03:00
Bananymous
c18fefd5f3
BuildSystem: Cleanup cmake library linking
2025-05-07 18:42:37 +03:00
Bananymous
2a6dc6a7b7
LibGUI: Add missing Texture files
2025-05-07 17:21:29 +03:00