Commit Graph

55 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen e76073cc4f Add user-space filesystem API. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 1444683ea8 Refactor kernel VFS.
Note: This is an incompatible ABI change.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 90036ca6a8 Update copyright headers of old files to the current format. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen eb5be61d20 Fix trailing blank lines. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen c0fabc2e8d Move remainder of Maxsi::String into kernel tree. 2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen 2206412e14 Replace Maxsi::String::Reject with strcspn. 2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen e5cf6c18f7 Replace Maxsi::String::Compare with strcmp. 2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen 70da61f5d1 Replace Maxsi::String::Copy with strcpy. 2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen 5e4dadbba0 Replace Maxsi::String::Length with strlen. 2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen 5e7bf8527c Move <libmaxsi/sortedlist.h> into kernel tree. 2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen b4374f66b7 Replace <libmaxsi/memory.h> with <string.h>. 2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen 5d082b3bbb Replace Maxsi::Error:: with <errno.h>. 2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen 42754f1728 Replace ASSERT with assert of <assert.h>. 2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen 3095503b9b Correct usage of deprecated nat and byte data types. 2012-12-14 14:13:33 +01:00
Jonas 'Sortie' Termansen 3fd270f7a2 Remove trailing whitespace. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 17a93359dd Add . and .. support to kernel filesystems.
This makes the hack in ls(1) not needed and is hence removed.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen 459a1b2b3f Thread secured initfs. 2012-08-04 18:35:23 +02:00
Jonas 'Sortie' Termansen f3532081aa Added a filesystem utility class for providing a fixed buffer. 2012-08-01 13:07:31 +02:00
Jonas 'Sortie' Termansen 78f0c6c094 The video framework is now exposed as /dev/video.
This provides easy user-space access to the framebuffer.
2012-07-30 19:00:24 +02:00
Jonas 'Sortie' Termansen 494636b8eb Added some filesystem utility classes. 2012-07-24 19:56:33 +02:00
Jonas 'Sortie' Termansen c39473157a Implemented a new initrd format with better inode support.
This enables useful features such as directories, CRC32 checksums, and other
useful features. The initrdfs in the kernel is now hooked up against the new
API, although the kernel's current limited FS support is a problem for now.
To work around that, directories are not supported at runtime, although the
internal API understands them wonderfully. This will be fixed when the
kernel gets a real VFS.
2012-07-02 17:40:52 +02:00
Jonas 'Sortie' Termansen 93abeda32e Fixed buffer overflow in devfs.cpp. 2012-04-14 22:03:55 +02:00
Jonas 'Sortie' Termansen db79994e64 Refactored all the sortix headers into a include directory.
Also got rid of trailing white space. That corrupted .git/.

Big ass-commit because of recovered .git directory.
2012-03-22 00:52:29 +01:00
Jonas 'Sortie' Termansen 798b421d16 Refactored devfs so new devices can easily be added. 2012-03-17 15:11:35 +01:00
Jonas 'Sortie' Termansen 6e536ba8f9 Fixed error codes in sortix/fs/devfs. 2012-03-11 17:55:52 +01:00
Jonas 'Sortie' Termansen 245e8bf0e3 Fixed error codes in sortix/fs/initfs. 2012-03-11 17:55:23 +01:00
Jonas 'Sortie' Termansen f45cf8327a Forgot to enable the /bin /dev hack in sortix/fs/ramfs.cpp. 2012-03-11 17:30:13 +01:00
Jonas 'Sortie' Termansen cadac5ce2a Moved the /bin and /dev hack into the kernel.
This makes ls seem less hacky.
2012-03-11 17:25:32 +01:00
Jonas 'Sortie' Termansen 028867ab9d Removed the unused and deprecated old <libmaxsi/sortix-keyboard.h> API.
This has been entirely replaced by stdin and <sys/termmode.h>.
2012-02-10 13:46:26 +01:00
Jonas 'Sortie' Termansen c4264d9c2a Ported the user-space programs to use stdin for keyboard access.
The old keyboard API is hereby deprecated and unused.
2012-02-10 13:46:26 +01:00
Jonas 'Sortie' Termansen ecc3114f2a Refactored the system to use the new Terminal interface.
This will allow development of a better terminal providing stdin.

Added new system calls settermmode(2) and gettermmode(2) declared in
<sys/termmode.h>. They allow querying and changing the current mode of
terminals (enabling raw keyboard data, signal handling, line buffering,
UTF-8 encoding stdin, and more). However, all that is unsupported by the
current terminal device driver.

Added KBKEY_ENCODE and KBKEY_DECODE macros to <sys/keycodes.h> which allows
encoding the kbkey format in UTF-32 characters.
2012-01-22 16:48:57 +01:00
Jonas 'Sortie' Termansen ba2cb5103a Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
Jonas 'Sortie' Termansen c8c34d3cdd readdirents(2) now properly reports ERANGE. 2012-01-15 00:43:13 +01:00
Jonas 'Sortie' Termansen f476a82498 Fixed idention error in ramfs. 2012-01-14 23:19:31 +01:00
Jonas 'Sortie' Termansen c94f6b64c3 readdirents(2) now returns ERANGE if insufficient storage space
was provided, but that the needed size could be copied to d_namelen.
2012-01-14 23:06:18 +01:00
Jonas 'Sortie' Termansen d3ad36b181 Made detected ATA devices available as /dev/ataN block devices. 2012-01-08 14:21:36 +01:00
Jonas 'Sortie' Termansen bd1b1fe3bc Added isatty(2), which is used by editor. 2011-11-26 21:00:40 +01:00
Jonas 'Sortie' Termansen 3f50a335bb devfs now correctly manages sizes of files.
This fixes a regression caused by the RAM fix a few commits ago.
2011-11-26 21:00:37 +01:00
Jonas 'Sortie' Termansen ce9787a439 Greatly reduced RAM usage in ramfs. 2011-11-26 20:25:25 +01:00
Jonas 'Sortie' Termansen b6a0fd0374 Removed deprecated VGA API and moved it to /dev/vga. 2011-11-25 13:38:31 +01:00
Jonas 'Sortie' Termansen 724305f3a7 Merge commit '7a233f2938f4e28d61504853e2f6daf4904aab33'
Conflicts:
	sortix/fs/ramfs.cpp
2011-11-24 15:38:45 +01:00
Jonas 'Sortie' Termansen e72d086a8f Disallow / in filenames in ramfs. 2011-11-23 17:51:18 +01:00
Jonas 'Sortie' Termansen 5bf22b2c4a ramfs doesn't allow opening files as directories. 2011-11-23 14:14:59 +01:00
Jonas 'Sortie' Termansen 1b56d01f17 Improved error codes in devfs. 2011-11-22 17:56:58 +01:00
Jonas 'Sortie' Termansen 9f35df813e Implemented errno(3), added support in both kernel and utils. 2011-11-22 17:26:47 +01:00
Jonas 'Sortie' Termansen 8678ad6444 / is no longer a valid filename under ramfs. 2011-11-22 15:33:47 +01:00
Jonas 'Sortie' Termansen 324a9a1a22 Fixed bug in initfs causing panics. 2011-11-22 12:44:23 +01:00
Jonas 'Sortie' Termansen 55240fb3f5 Added devfs, with files /tty and /null and mounted it at /dev. 2011-11-21 21:49:13 +01:00
Jonas 'Sortie' Termansen 8b2b52b9f6 Added unlink(2) and rm(1). 2011-11-21 19:01:56 +01:00
Jonas 'Sortie' Termansen 0b90ab534f ramfs now supports O_TRUNC. 2011-11-21 00:12:20 +01:00