summaryrefslogtreecommitdiff
path: root/LibC/sys
AgeCommit message (Collapse)Author
2019-02-08LibC: Implement enough missing stuff to get bash-5.0 running. :^)Andreas Kling
2019-02-03Get nyancat nyanning in Serenity.Andreas Kling
I found a cute program that renders an animated nyancat in the terminal. This patch adds enough hackery to get it working correctly. :^)
2019-02-03Kernel: Rewrite ProcFS.Andreas Kling
Now the filesystem is generated on-the-fly instead of manually adding and removing inodes as processes spawn and die. The code is convoluted and bloated as I wrote it while sleepless. However, it's still vastly better than the old ProcFS, so I'm committing it. I also added /proc/PID/fd/N symlinks for each of a process's open fd's.
2019-01-31Make stat() work on device files again.Andreas Kling
FileDescriptor will now keep a pointer to the original inode even after opening it resolves to a character device. Fixed up /bin/ls to display major and minor device numbers instead of size for device files.
2019-01-29Implement basic chmod() syscall and /bin/chmod helper.Andreas Kling
Only raw octal modes are supported right now. This patch also changes mode_t from 32-bit to 16-bit to match the on-disk type used by Ext2FS. I also ran into EPERM being errno=0 which was confusing, so I inserted an ESUCCESS in its place.
2019-01-23Kernel: Get rid of Unix namespace.Andreas Kling
This is no longer needed as the Kernel can stand on its own legs now and there won't be any conflict with host system data types.
2019-01-17Oops, forgot to add the select() files to LibC a while ago.Andreas Kling
2019-01-15Make it possible for a process to switch controlling terminals.Andreas Kling
Via the TIOCSCTTY and TIOCNOTTY ioctls.
2018-11-29Add TIOCGWINSZ ioctl so userland can determine terminal geometry.Andreas Kling
(Don't) use this to implement short-form output in ls. I'm too tired to make a nice column formatting algorithm. I just wanted something concise when I type "ls".
2018-11-18Finally hook up the mkdir code to a syscall.Andreas Kling
Added a /bin/mkdir that makes directories. How very neat :^) There are various limitations because of missing functionality.
2018-11-17Various stubs while trying to get an old coreutils to build.Andreas Kling
2018-11-17Make bash-2.05b build with minimal changes.Andreas Kling
This is really neat. :^)
2018-11-16Reimplement tcsetattr/tcgetattr as ioctls.Andreas Kling
2018-11-16Add ioctl() and reimplement tcsetpgrp/tcsetpgrp as ioctls.Andreas Kling
2018-11-10Some improvements to signals.Andreas Kling
- Add sigprocmask() and sigpending(). - Forked children inherit signal dispositions and masks. - Exec clears signal dispositions and masks.
2018-11-09Build LibC and Userland with clang as well.Andreas Kling
2018-11-09Move <utsname.h> to <sys/utsname.h> for correctness.Andreas Kling
2018-11-07Miscellaneous compat work while seeing if GNU coreutils would build.Andreas Kling
2018-11-06Add getwd().Andreas Kling
2018-11-06Add umask().Andreas Kling
2018-11-06Add some basic signal support.Andreas Kling
It only works for sending a signal to a process that's in userspace code. We implement reception by synthesizing a PUSHA+PUSHF in the receiving process (operating on values in the TSS.) The TSS CS:EIP is then rerouted to the signal handler and a tiny return trampoline is constructed in a dedicated region in the receiving process. Also hacked up /bin/kill to be able to send arbitrary signals (kill -N PID)
2018-11-05More work towards getting bash to build.Andreas Kling
Implemented some syscalls: dup(), dup2(), getdtablesize(). FileHandle is now a retainable, since that's needed for dup()'ed fd's. I didn't really test any of this beyond a basic smoke check.
2018-11-05Lots of minor compat stuff while seeing if bash would build.Andreas Kling
We're quite far from bash building, but we'll get there eventually!
2018-11-05Tiny LibC things.Andreas Kling
2018-11-04Mark LibC's assertion faillure helper with __NORETURN.Andreas Kling
2018-10-31Add getpwent() family of functions to LibC.Andreas Kling
Also add a little /etc/passwd database. There's just me in there.
2018-10-31Use ALWAYS_INLINE for ctype inlines.Andreas Kling
2018-10-31A bunch of LibC boilerplate stuff added while trying to get figlet to build.Andreas Kling