Bananymous
4bf11ec349
LibC: complex.h undefs I before defining it
2023-06-02 17:13:09 +03:00
Bananymous
d821012eed
LibC: mbstate_t is empty struct
2023-06-02 17:10:29 +03:00
Bananymous
35c6edd989
LibC: fix sig_atomic_t definition
2023-06-02 17:08:43 +03:00
Bananymous
ab61b49aca
Kernel: Add SYS_EXEC syscall
2023-05-31 20:57:33 +03:00
Bananymous
341f7e41e5
LibC: Fix some headers to make gcc build again
2023-05-30 01:17:45 +03:00
Bananymous
0c316ebfb2
Kernel: Add SYS_SLEEP
2023-05-28 22:34:48 +03:00
Bananymous
6fdbe6f9c2
Kernel: Add bareboness fork() function
2023-05-28 18:08:49 +03:00
Bananymous
f79250c4d4
LibC: Rewrite all the headers.
...
We now have more or less posix issue 2018 conforming libc headers.
This was a really time consuming and boring operation but it had to
be done.
Now we get to actually start implementing libc :)
2023-05-26 22:31:21 +03:00
Bananymous
9e0abbc2f0
Kernel: Add bareboness possibility to set termios
2023-05-26 22:31:21 +03:00
Bananymous
53f4b5a9da
LibC: add function declarations to sys/stat.h
2023-05-11 15:11:33 +03:00
Bananymous
1d4a6c3a42
LibC: add function declarations to dirent.h
2023-05-11 01:42:52 +03:00
Bananymous
40083e4aa1
LibC: add definitions to math.h
2023-05-11 01:40:42 +03:00
Bananymous
bd929bff07
LibC: add defines in stdio.h
2023-05-11 01:39:16 +03:00
Bananymous
cd4a0530fa
LibC: add function declarations to unistd.h
2023-05-11 00:34:03 +03:00
Bananymous
273fdd2235
LibC: add function declarations to string.h
2023-05-11 00:34:03 +03:00
Bananymous
b20f2e8d31
LibC: add function declarations to math.h
2023-05-11 00:34:03 +03:00
Bananymous
e756cde2b1
LibC: define all errnos and strerror{name,desk}_np
2023-05-11 00:34:03 +03:00
Bananymous
de18d3e64d
LibC: add function declarations to time.h
2023-05-11 00:34:03 +03:00
Bananymous
441999ba9f
LibC: add more types to sys/types.h
2023-05-11 00:33:53 +03:00
Bananymous
dd046b1ace
LibC: Add dummy signal.h
2023-05-10 23:20:27 +03:00
Bananymous
926aa238ab
LibC: add toupper, tolower in ctype.h
2023-05-10 23:13:56 +03:00
Bananymous
01fa521a03
LibC: Add dummy setjmp.h
2023-05-10 23:00:53 +03:00
Bananymous
f31da19266
LibC: Add dummy locale.h
2023-05-10 22:58:07 +03:00
Bananymous
ac12132ac0
LibC: add math.h with floorl
2023-05-10 22:35:42 +03:00
Bananymous
f43bfcb398
LibC: add better error string support
2023-05-10 02:22:31 +03:00
Bananymous
d5ce4c9d2c
LibC: add probably functional *printf
...
I wrote a general printf function that takes an putc function
pointer. We can use this to implement all the printf family
functions. I haven't done thorough testing with this, but it seems
to be functional for the most part
2023-05-10 02:00:28 +03:00
Bananymous
10d9b72da1
LibC: syscall() now returns -1 on error and updates errno
2023-05-07 01:51:39 +03:00
Bananymous
5bfcf6783e
LibC: add proper stdlib.h header
...
Function declarations taken from the posix specifications
2023-04-27 15:14:03 +03:00
Bananymous
94f8a657f1
LibC: add link to posix stdio.h
2023-04-27 14:16:25 +03:00
Bananymous
b15deb420f
LibC: Write mostly functioning stdio
2023-04-23 14:32:37 +03:00
Bananymous
fe87c08a02
LibC: add needed stubs to build executables with our compiler
2023-04-12 17:53:02 +03:00
Bananymous
8d6db168d6
Kernel: remove message from BAN::Error
...
We don't store the error message anymore in BAN::Error.
Instead we store a error code that can be mapped into a string.
This allows BAN::Error to only take 4 bytes instead of 128.
We should also make some kernel initialization just panic instead
of returning errors since they are required for succesfull boot
anyway.
2023-04-11 23:25:21 +03:00
Bananymous
e760bafeeb
LibC: add stubs for a lot of functions
2023-04-05 23:58:40 +03:00
Bananymous
12351d5cb6
LibC: sys/types uses 'typedef' instead of 'using'
2023-04-05 15:03:24 +03:00
Bananymous
22c72d8c70
LibC: Add errno ENOTTY
2023-04-05 02:47:37 +03:00
Bananymous
fe10ea85db
LibC: Add unistd.h with STD{IN,OUT,ERR}_FILENO definitions
2023-04-05 00:59:48 +03:00
Bananymous
914f718767
LibC: add device macros in sys/sysmacros.h
2023-04-03 10:59:15 +03:00
Bananymous
f4db246658
LibC: add ENOBUFS errno
2023-03-29 10:58:25 +03:00
Bananymous
a011c0384f
LibC: add dirent.h
2023-03-25 02:08:33 +02:00
Bananymous
0d356c5bbc
LibC: Add stat structure
2023-03-24 18:08:22 +02:00
Bananymous
8ac1ae1574
LibC: add more typedefs to sys/types
2023-03-23 19:24:12 +02:00
Bananymous
5831c72aad
LibC: add errno NAMETOOLONG
2023-03-23 14:48:42 +02:00
Bananymous
0c582b4490
LibC: add errno ENOTEMPTY
2023-03-19 05:43:40 +02:00
Bananymous
61caf566fc
LibC: add errno EEXISTS
2023-03-19 04:17:39 +02:00
Bananymous
ceb53533be
LibC: add fcntl.h with some defines
2023-03-17 21:18:41 +02:00
Bananymous
e2707b9416
LibC: Add EBADF errno
2023-03-16 16:22:11 +02:00
Bananymous
4493c9bbe6
LibC: Add ENTOSUP errno
2023-03-16 16:03:51 +02:00
Bananymous
1b7625581d
Kernel: Add basic concept of Processes
...
We now create Shell as a process that has its own threads
2023-03-16 12:17:04 +02:00
Bananymous
10ef3c6a54
LibC: add declarations for malloc and free
2023-03-04 02:59:48 +02:00
Bananymous
52aa98ba25
Kernel+LibC: Add some errno codes
...
Kernel now returns ENOMEM and other errnos, so we dont have to write
error messages
2023-03-02 21:10:44 +02:00
Bananymous
5cd97e44e2
LibC: Add strcmp and strncmp
2023-02-23 15:57:33 +02:00
Bananymous
fd16c1cf58
LibC: Add is*() functions to libc
2023-01-16 20:05:51 +02:00
Bananymous
f4b614aa61
LibC: Add some new functions
2022-12-13 00:51:57 +02:00
Bananymous
123382eace
Fixes :)
2022-11-15 21:42:14 +02:00
Bananymous
b185ed4fd3
Libc is now written in C++
2022-11-14 00:31:24 +02:00
Bananymous
5a3596170c
Add strcpy and strncpy
2022-11-12 23:47:06 +02:00
Bananymous
e6b4866ab0
Initial commit. We have a booting kernel
2022-11-12 21:04:47 +02:00