e244c150c2
Kernel, libc: Add ECHILD
2022-10-30 19:24:26 +01:00
3effe8b004
Kernel: Add EACCES to std/errno.h
2022-10-28 17:02:27 +02:00
7d20c507b1
Kernel, libc, userspace: Implement command-line arguments (argv)
...
The only thing missing now is for sh to pass them on.
2022-10-26 18:57:06 +02:00
0dec5f7bad
libc: Add dummy getcwd()
2022-10-24 17:05:28 +02:00
cf94ca2a4e
Kernel: Update libk's string.h
2022-10-22 19:06:06 +02:00
b2f5a0502f
Kernel, libc: Implement O_NONBLOCK
2022-10-21 21:51:03 +02:00
93207820b3
libc: Add a few errors to errno.h
...
As well as ino_t, which I forgot in the fstat() commit :)
2022-10-21 18:34:01 +02:00
b035795eb3
Kernel: Move errno.h and (k)assert.h out of the main include directory
...
This is mostly so IDEs don't pick them up instead of the userspace headers :)
2022-10-19 17:41:23 +02:00
8c0a57f0c2
Kernel: Copy strrchr, dirname and basename over from libc
2022-10-16 14:36:25 +02:00
aca1367158
Kernel: Switch to strlcpy() as well
...
Surprisingly, most uses of strncpy() are in places where strncpy() is actually a better choice.
For example, copying to a fixed-length char array in a structure.
2022-10-15 17:30:34 +02:00
bcbf43e55c
Kernel/std: Add strdup()
2022-10-12 18:03:54 +02:00
0e46ea8ada
Finally, a text renderer that actually works. We can now see the kernel messages without a serial port :)
2022-10-01 14:27:45 +02:00
6bd3529f32
Port liballoc to get proper kmalloc/kcalloc/krealloc/kfree functions.
...
Yes, that's not completely-from-scratch.
But let's be honest, am I going to do everything from scratch? Probably not. I'm not making my own bootloader.
And making a proper smaller-than-4-KB allocator is not something I want to do.
Plus, liballoc works perfectly in this rewrite, seeing as the MM code actually works, instead of leaking all your poor memory
And liballoc_{lock, unlock} can be actually defined, since we have spinlocks here!
2022-09-24 22:40:59 +02:00
18140a55ec
Make strstr take a const char* as a needle instead of a char*
2022-09-15 18:42:18 +02:00
e3e2952661
Consistent naming
2022-09-10 18:06:46 +02:00
9de9eacb1d
add strstr
2022-09-08 17:02:16 +02:00
c9e13f0128
Add attribute(format) to *printf to detect ill-formed calls to those functions
2022-09-06 18:25:38 +02:00
1367e88d88
Finally implement %l and %z format modifiers
...
Finally, we can use %zx with a 64-bit number instead of %x%x with 2 32-bit values split from a 64-bit number!
2022-09-05 16:59:45 +02:00
1b727a66ea
Ready. Set. Go!
2022-09-05 16:13:51 +02:00