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
56fdf6002c
Kernel/LibC: Implement pthread_kill
2025-06-01 13:48:03 +03:00
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
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
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
1bd454b8fd
Kernel/LibC: Implement utime* family functions
...
This patch adds *working*
- utime
- utimes
- utimensat
- futimens
2025-06-01 13:48:03 +03:00
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
7691b019e2
LibC: Fix printf %c modifier for null byte
2025-05-28 03:10:01 +03:00
f55d6b11c5
LibC: Implement mblen
2025-05-28 03:10:01 +03:00
f52877abb4
LibC: Implement readv and writev
2025-05-28 03:10:01 +03:00
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
4721344518
LibC: Don't fail getaddrinfo if node is null
2025-05-28 03:10:01 +03:00
e0d986dcd7
LibC: Add missing u_char and u_short types
2025-05-28 03:10:01 +03:00
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
89c9bfd052
Kernel/LibC: Implement socketpair for UNIX sockets
2025-05-28 03:10:01 +03:00
12b93567f7
Kernel/LibC: Implement getpeername
2025-05-28 03:10:01 +03:00
8aa4e4ff1e
LibC: Implement clearenv
...
This is GNU extension but seems nice to have :D
2025-05-28 03:10:01 +03:00
7eade002a7
LibC: Fix mktime
...
yday calculation was off so results were always off for march-december
2025-05-28 03:10:01 +03:00
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
356935bd4f
LibC: Fix strtou{,l,ll} for negative values
...
Also set endp if base is invalid
2025-05-28 03:10:01 +03:00
bce3dd045f
LibC: Fix strncat return value
2025-05-28 03:10:01 +03:00
44b762f916
Kernel/LibC: Implement pwrite and make pread non-locking
2025-05-28 03:10:01 +03:00
5d80c880c8
LibC: Fix FILE buffering once again :D
2025-05-28 03:10:01 +03:00
b907263f35
LibC: Implement basic tmpfile
2025-05-28 03:10:01 +03:00
0f0accf82c
LibC: Don't use false in pthread initializers
2025-05-28 03:10:01 +03:00
ddcf414107
LibC: Fix netinet/in.h and arpa/inet.h definitions
2025-05-28 03:10:01 +03:00
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
c18fefd5f3
BuildSystem: Cleanup cmake library linking
2025-05-07 18:42:37 +03:00
2a6dc6a7b7
LibGUI: Add missing Texture files
2025-05-07 17:21:29 +03:00
f959905adf
LibGUI: Rework window rendering
...
Abstract drawing surface to Texture. All windows now contain a texture
matching its size.
2025-05-05 23:08:01 +03:00
f78c7e7926
LibGUI: Add API to block until window events are available
2025-05-05 22:33:00 +03:00
f14774d034
libc: fix tmpnam when no name is found
2025-05-05 19:17:16 +03:00
c08c63f420
libc: reorder destructor and fflush in exit
2025-05-05 19:16:52 +03:00
5c37f198cb
WindowServer/LibGUI: Allow windows to set minimum size
2025-05-05 18:19:59 +03:00
7798145c74
WindowServer: Implement window resizing
...
windows can now set resizable attribute which allows window server to
resize them
2025-05-05 03:14:50 +03:00
fcfadd7c74
LibGUI: Add background color for windows
...
This is used when resizing a window to fill the empty space
2025-05-05 03:12:31 +03:00
76d4e6bd18
LibGUI: Add support for changing window title
2025-05-05 01:10:05 +03:00
82f4975f45
LibC: Save callee saved registers on setjmp
2025-05-04 13:54:35 +03:00
d457e6ad6a
LibC: Fix printf e/E modifier for negative exponents
2025-05-04 13:42:17 +03:00
abf7c8e68a
LibC: Implement difftime
2025-05-04 13:42:17 +03:00
1a38d0c31e
LibC: Add g/G modifiers to printf
2025-05-04 13:42:17 +03:00
006a196e4a
LibC: optimize strpbrk, str{,c}spn, strtok{,_r}
...
These matches are now detected with bitmasks instead of looping over the
second string
2025-04-24 01:39:49 +03:00
8834241417
LibC: Fix scanf %n modifier
...
Old code was always returning off by one
2025-04-22 09:55:38 +03:00
96740d6be4
LibC: Make inet_addr spec compliant
...
I was not doing any error checking, basically i validated anything that
started with atleast a single digit.
2025-04-22 09:40:46 +03:00
33a0f562d3
resolver: Add support for CNAME
...
Also rework resolver's send format and convert test-tcp and nslookup to
use getaddrinfo
2025-04-22 08:36:44 +03:00
808c97020a
Kernel/LibC: Implement SA_RESTART
...
I have been thinking how to do this for a long time but I finally
figured out a semi-clean way
2025-04-22 02:42:44 +03:00
5c9710c78b
LibC: Implement strcoll_l
2025-04-22 00:48:26 +03:00
028c7a822f
LibC: Don't define SCHAR_MAX in locale.c
2025-04-21 22:21:40 +03:00
543bb3cc4b
LibC: Rework malloc locking add proper realloc
2025-04-21 20:29:28 +03:00
b774f147da
LibC: Implement dummy pthread_attr_{get,set}detachstate
...
detached threads are not yet supported, but this allows implementation
to make sure threads are joinable.
2025-04-21 19:58:01 +03:00