ladybird/Kernel
Andreas Kling c30e2c8d44 Implement basic chmod() syscall and /bin/chmod helper.
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-29 04:55:08 +01:00
..
Boot Switch into 1024x768x32bpp VESA LFB mode at boot. 2019-01-09 02:29:11 +01:00
_fs_contents.stock Unbreak ksym loading and make reading /proc/PID/stack not crash. 2019-01-01 02:20:01 +01:00
_start.cpp Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
.bochsrc .bochsrc: Toggle mouse grab with ctrl-alt (works nicer on 1-button mice.) 2019-01-28 02:34:09 +01:00
.gitignore Stub out poll() syscall and LibC wrapper. 2019-01-23 07:28:25 +01:00
Assertions.h Add a simple IDEDiskDevice class that implements DiskDevice from VFS. 2018-10-16 14:17:43 +02:00
CharacterDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
CharacterDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
CMOS.cpp Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
CMOS.h Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
Console.cpp Expose the kernel log buffer through /proc/dmesg. 2019-01-28 22:40:55 +01:00
Console.h Expose the kernel log buffer through /proc/dmesg. 2019-01-28 22:40:55 +01:00
DiskBackedFileSystem.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
DiskBackedFileSystem.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
DiskDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
DiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
DoubleBuffer.cpp Catch anyone trying to use a DoubleBuffer with interrupts disabled. 2019-01-16 01:58:11 +01:00
DoubleBuffer.h Rename SpinLock to Lock. It hasn't been a SpinLock for some time. 2019-01-17 16:25:02 +01:00
elf.h Make it possible to build the Kernel on a macOS host. 2018-12-02 23:34:50 +01:00
ELFImage.cpp Move ELFLoader code into Kernel/. 2018-12-02 20:27:08 +01:00
ELFImage.h Use the entry point address from the ELF header instead of looking up _start. 2018-12-29 03:28:55 +01:00
ELFLoader.cpp Move ELFLoader code into Kernel/. 2018-12-02 20:27:08 +01:00
ELFLoader.h Use the entry point address from the ELF header instead of looking up _start. 2018-12-29 03:28:55 +01:00
ext2_fs.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
ext2_types.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
Ext2FileSystem.cpp Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
Ext2FileSystem.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
FIFO.cpp Allow character devices to block write attempts until there is more space. 2019-01-15 09:17:22 +01:00
FIFO.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FileBackedDiskDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FileBackedDiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FileDescriptor.cpp Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
FileDescriptor.h Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
FileSystem.cpp VFS: Resolve FIXME in Inode::read_entire() about using dynamic allocation. 2019-01-28 22:55:55 +01:00
FileSystem.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
FullDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FullDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
GUIEventDevice.cpp Tear out or duplicate what's unique for WindowServer from Widgets. 2019-01-16 16:03:50 +01:00
GUIEventDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
GUITypes.h Let userland retain the window backing store while drawing into it. 2019-01-24 23:44:19 +01:00
i386.cpp Kernel: Implement lazy FPU state restore. 2019-01-25 07:52:44 +01:00
i386.h Kernel: Implement lazy FPU state restore. 2019-01-25 07:52:44 +01:00
i8253.cpp More coding style changes. 2018-12-03 00:39:25 +01:00
i8253.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
IDEDiskDevice.cpp Ext2FS: Delete inodes when their link count goes to zero. 2019-01-22 16:34:24 +01:00
IDEDiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
init.cpp Kernel: Move RAM size detection to MemoryManager and use what we learn. 2019-01-27 10:17:27 +01:00
InodeIdentifier.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
InodeMetadata.h Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
IO.h Make IO helpers inline and use immediate-encoded ports when possible. 2018-11-02 10:14:26 +01:00
IRQHandler.cpp More coding style changes. 2018-12-03 00:39:25 +01:00
IRQHandler.h More coding style changes. 2018-12-03 00:39:25 +01:00
kassert.h More coding style changes. 2018-12-03 00:39:25 +01:00
Keyboard.cpp Keyboard: Shift+backspace should generate backspace character. 2019-01-25 15:34:02 +01:00
Keyboard.h LibGUI: Start bringing up GTextBox in the standalone world. 2019-01-26 06:39:13 +01:00
KeyCode.h LibGUI: Start bringing up GTextBox in the standalone world. 2019-01-26 06:39:13 +01:00
kmalloc.cpp Kernel: Unbreak symbolication yet another time. 2019-01-27 10:17:56 +01:00
kmalloc.h Kernel: Unbreak symbolication yet another time. 2019-01-27 10:17:56 +01:00
kprintf.cpp Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
kprintf.h Build Painter & friends into LibC. Use it in the GUI test app. 2019-01-14 20:02:51 +01:00
kstdio.h Fix Userland build. 2019-01-13 04:31:16 +01:00
KSyms.cpp Kernel: Remove outdated FIXME. 2019-01-28 22:53:31 +01:00
KSyms.h Unbreak ksym loading and make reading /proc/PID/stack not crash. 2019-01-01 02:20:01 +01:00
ktime.h Fix some minor build warnings. 2018-10-17 16:48:43 +02:00
Limits.h Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
linker.ld Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
makeall.sh Move Widget & friends into LibGUI. 2019-01-19 23:49:56 +01:00
Makefile WindowServer: Rename WSEvent to WSMessage. 2019-01-26 05:28:02 +01:00
makeuserland.sh Start bringing up LibGUI properly (formerly Widgets.) 2019-01-20 05:48:43 +01:00
MasterPTY.cpp PTY: Disallow infinite writing to slaves. 2019-01-25 00:13:54 +01:00
MasterPTY.h PTY: Disallow infinite writing to slaves. 2019-01-25 00:13:54 +01:00
MemoryManager.cpp Kernel: Move RAM size detection to MemoryManager and use what we learn. 2019-01-27 10:17:27 +01:00
MemoryManager.h Kernel: Move RAM size detection to MemoryManager and use what we learn. 2019-01-27 10:17:27 +01:00
mkmap.sh Omit duplicate lines from the ksyms map. 2018-12-03 02:23:49 +01:00
NullDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
NullDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
PIC.cpp Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
PIC.h Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
Process.cpp Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
Process.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
ProcessGUI.cpp Make buttons unpress when the cursor leaves the button rect. 2019-01-27 08:48:34 +01:00
ProcFileSystem.cpp Expose the kernel log buffer through /proc/dmesg. 2019-01-28 22:40:55 +01:00
ProcFileSystem.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
PS2MouseDevice.cpp PS2MouseDevice: Try to synchronize the data reporting stream. 2019-01-17 02:13:21 +01:00
PS2MouseDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
PTYMultiplexer.cpp Coding style fixes in AK. 2019-01-19 22:53:05 +01:00
PTYMultiplexer.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
Queue.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
RandomDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
RandomDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
RTC.cpp Add assertion that RTC year is >= 2018. 2018-10-31 00:27:28 +01:00
RTC.h Add gettimeofday() syscall and LibC wrappers gettimeofday() and time(). 2018-10-25 17:36:18 +02:00
run Add TIOCGWINSZ ioctl so userland can determine terminal geometry. 2018-11-29 03:45:23 +01:00
Scheduler.cpp Kernel: Implement lazy FPU state restore. 2019-01-25 07:52:44 +01:00
Scheduler.h Kernel: Implement lazy FPU state restore. 2019-01-25 07:52:44 +01:00
SlavePTY.cpp PTY: Disallow infinite writing to slaves. 2019-01-25 00:13:54 +01:00
SlavePTY.h Kernel: Make /proc/PID/fds display something useful for character devices. 2019-01-21 02:33:01 +01:00
StdLib.cpp Let's do dword-at-a-time memcpy() and memset() in userspace as well. 2019-01-15 08:14:44 +01:00
StdLib.h Make it possible to build the Kernel on a macOS host. 2018-12-02 23:34:50 +01:00
sync.sh Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
SyntheticFileSystem.cpp Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
SyntheticFileSystem.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
Syscall.cpp Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
Syscall.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
system.h The syncd loop can just be a lambda. 2018-12-24 23:10:48 +01:00
TSS.h Share code between spawn() and exec() implementations. 2018-11-03 10:55:02 +01:00
TTY.cpp Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
TTY.h Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
types.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
UnixTypes.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
VirtualConsole.cpp Flesh out keyboard event support a bit more. 2019-01-21 07:27:26 +01:00
VirtualConsole.h Flesh out keyboard event support a bit more. 2019-01-21 07:27:26 +01:00
VirtualFileSystem.cpp Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
VirtualFileSystem.h Implement basic chmod() syscall and /bin/chmod helper. 2019-01-29 04:55:08 +01:00
ZeroDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
ZeroDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00