Commit graph

182 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
fab7b7dfc8 Rewrite cp(1). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
4e095906fb Add -c option to shell. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
7637e835b5 Allow setting shell username and hostname. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
36f8d6e273 Add exit-on-error option to shell. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
71be9b9b08 Add support for shell scripts. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
dbab4e7683 Add shell non-interactive mode and shell comments. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
94dcefb05c Improve implementation of rm(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
25aebe4cd8 Align ls long format. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
cd48a35074 Add colors to sh(1) and ls(1).
This makes Sortix a happier place to be.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
0453ff9532 Add ln(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
c32dac0e16 Add which(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
fe542c9276 Add rmdir(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
2169710127 Add mkdir(1). 2013-12-17 14:30:27 +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
9634a0c3d2 Add --version option to chvideomode(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
8a2630fbee Add --version option to column(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
238de22ce8 Add --version option to kernelinfo(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
5f003c2d87 Add --version option to ls(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
9986edce84 Add --version option to head(1) and tail(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
3879c0a774 Add --version option to type(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
9a08acb8f3 Add --version option to uname(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
59edfdb787 Remove <readparamstring.h>. 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
7eb9e3c33f Refactor Sortix build system and de-autoconf mxmpp. 2013-12-17 14:30:22 +01:00
Jonas 'Sortie' Termansen
f8793bc53e Port chvideomode to <sys/display.h> interface. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
9a608e5bb2 Fix exit code in chvideomode. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
53005fc01f Fix shell buffer overflow on long argument lists. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
c8b795aab3 Correctly request SIZE_MAX in chvideomode. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
1ca946af2f Fix ls exit code. 2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen
cd1df6d088 Correct error detection in echo(1). 2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen
7a8687e063 Handle ANSI Escape codes in column(1). 2012-12-14 14:18:38 +01:00
Jonas 'Sortie' Termansen
a041c107d5 Fix shell crash if PWD is unset. 2012-12-14 14:18:02 +01:00
Jonas 'Sortie' Termansen
9cf092d32e Use cross compiler in build system. 2012-12-14 14:13:33 +01:00
Jonas 'Sortie' Termansen
0b94239912 Fix missing WEXITSTATUS in init and kernel. 2012-09-09 23:08:03 +02:00
Jonas 'Sortie' Termansen
ab1901976c Add support for escaping spaces and tabs in shell. 2012-09-09 21:03:02 +02:00
Jonas 'Sortie' Termansen
b9b697f2cb Implement proper W* error codes in sys/wait.h and kernel.
Note that signals can't really kill a process at this time.
2012-09-09 12:21:39 +02:00
Jonas 'Sortie' Termansen
1369aa9da9 Fix wrong datatypes to printf in ls.
gcc still complains, but that is because uintmax_t is declared incorrectly.
2012-09-09 12:20:58 +02:00
Jonas 'Sortie' Termansen
46d02b784b Fix compile warnings in userspace programs. 2012-09-08 20:55:43 +02:00
Jonas 'Sortie' Termansen
d855c6cec7 Add warnings to userspace compile flags. 2012-09-08 20:33:52 +02:00
Jonas 'Sortie' Termansen
c9eb1b2cb3 Better collection of zombie processes.
Note that there seems to be a deadlock if a process exits when there are
zombies around. Init also doesn't handle zombie children correctly as there
is sent no SIGCHLD signal yet.
2012-09-08 19:25:13 +02:00
Jonas 'Sortie' Termansen
32a1be0008 Increased tab size from 4 to 8. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen
13c0ab638a Sort the output of ls(1). 2012-09-08 18:45:52 +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
fc811af890 Increased shell limit for line length.
Yes this is hacky, I'll fix it with a better shell.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen
66b8d23713 Init defaults $objtype to $cputype. 2012-09-08 18:45:41 +02:00
Jonas 'Sortie' Termansen
e230854ee9 Removed the idle program. 2012-09-08 18:45:41 +02:00
Jonas 'Sortie' Termansen
f1f0c44a12 Made the shell more compatible with signals. 2012-09-08 18:45:41 +02:00
Jonas 'Sortie' Termansen
47ae712419 pager(1) now detects the terminal resolution. 2012-07-31 16:48:56 +02:00
Jonas 'Sortie' Termansen
ce43f9c306 Add chvideomode(1) using the /dev/video interface. 2012-07-30 19:00:24 +02:00
Jonas 'Sortie' Termansen
ab7ee4fd1e column(1) now queries the terminal width. 2012-07-30 00:35:42 +02:00
Jonas 'Sortie' Termansen
829e63f0e9 editor(1) now bails if the terminal resolution isn't 80x25.
This isn't perfect, but support for other resolutions is near!
2012-07-29 23:41:36 +02:00
Jonas 'Sortie' Termansen
5eb48d32fb Fixed a bug in --usage of uname(1). 2012-07-26 18:51:50 +02:00
Jonas 'Sortie' Termansen
ba07631aa2 uname(1) now behaves much more like its GNU coreutils counterpart. 2012-07-26 16:04:45 +02:00
Jonas 'Sortie' Termansen
38f06d505c Better detection of environmental variables in mxsh. 2012-07-24 19:56:33 +02:00
Jonas 'Sortie' Termansen
b7788610da Added error detection to echo(1). 2012-07-24 19:56:32 +02:00
Jonas 'Sortie' Termansen
12326f2e34 Added $LINES and $COLUMNS to the shell.
This tests the fancy new system call tcgetwinsize(2).
2012-07-24 18:51:22 +02:00
Jonas 'Sortie' Termansen
92c5533820 Improved the implementation of the exec* functions. 2012-04-30 21:10:02 +02:00
Jonas 'Sortie' Termansen
042aeb0181 Added the $PWD environmental variable to the shell. 2012-04-13 23:01:04 +02:00
Jonas 'Sortie' Termansen
b554eb2dfb The shell now implements $$, $PPID, and $? as normal variables. 2012-04-13 22:41:07 +02:00
Jonas 'Sortie' Termansen
a24e86e751 init(1) now restarts the shell upon crash. 2012-04-13 21:47:47 +02:00
Jonas 'Sortie' Termansen
2331a1a234 Added hacky support for environmental variables to the shell. 2012-04-03 22:03:58 +02:00
Jonas 'Sortie' Termansen
9ab0bc5474 Added {,p}{read,write}{all,least}(3). 2012-03-24 15:34:30 +01: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
fa6d445b0d Added type(1), a replacement for the "traditional" Sortix cat(1).
cat(1) now work as you would expect.
2012-03-16 15:56:09 +01:00
Jonas 'Sortie' Termansen
a6a296a971 Fixed bug where pager(1) prints a line too much. 2012-03-11 18:16:55 +01:00
Jonas 'Sortie' Termansen
5e317c9726 Made kernelinfo(1) a little more friendly on bad string name. 2012-03-11 18:14:21 +01:00
Jonas 'Sortie' Termansen
c403c1d798 Greatly improved ls(1). 2012-03-11 17:58:25 +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
dc0f78f6b7 Added copyright headers to benchmarks, games and utilities.
It's all GPLv3 or later.
2012-03-11 15:57:13 +01:00
Jonas 'Sortie' Termansen
9ed2031dd2 pager(1) now supports reading from stdin. 2012-03-07 21:06:29 +01:00
Jonas 'Sortie' Termansen
bd7cb5195a Removed debug string from mxsh(1). 2012-03-07 18:26:02 +01:00
Jonas 'Sortie' Termansen
87248fbce9 Aded kernelinfo(1) as a frontend of kernelinfo(2). 2012-03-07 18:20:40 +01:00
Jonas 'Sortie' Termansen
a7658d5b8c uname(1) now uses kernelinfo(2) to determine kernel version. 2012-03-07 18:06:23 +01:00
Jonas 'Sortie' Termansen
7d4c79bc8c Improved error message upon line reading failure in head(1) and tail(1). 2012-03-07 15:52:59 +01:00
Jonas 'Sortie' Termansen
563f831545 The shell now support the >> operator.
Note that the RAM filesystem, however, doesn't.
2012-03-04 16:50:44 +01:00
Jonas 'Sortie' Termansen
3c12de760f cat(1) now only uses "traditional" mode if both stdin and stdout isatty(2). 2012-03-04 16:49:51 +01:00
Jonas 'Sortie' Termansen
617c4333c6 Added head(1), tail(1). 2012-03-03 00:29:24 +01:00
Jonas 'Sortie' Termansen
7b9e15baf2 Made cat(1) read from stdin if it isn't a tty. 2012-03-02 18:15:55 +01:00
Jonas 'Sortie' Termansen
98d1ccfa7d Improved the shell with pipes, background processes and semicolons.
It's really hacky, but it's an improvement.
2012-03-02 18:02:31 +01:00
Jonas 'Sortie' Termansen
0ed0082070 Added execv(3) and execve(3).
Removed the older libmaxsi system call.
2012-03-02 15:00:11 +01:00
Jonas 'Sortie' Termansen
f2f4b2ca60 Better argument parsing in column(1). 2012-03-01 16:59:53 +01:00
Jonas 'Sortie' Termansen
158909033e ls(1) now pipe(2) into column(1) if stdout(3) isatty(2).
This saves precious screen space as Sortix only supports 25-line ttys.
2012-03-01 14:37:28 +01:00
Jonas 'Sortie' Termansen
caddf8c191 Added column(1). 2012-03-01 14:36:56 +01:00
Jonas 'Sortie' Termansen
081bb6481c Added pwd(1). 2012-03-01 00:27:30 +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
ff9221de1a Updated ls(1) to use the DIR API. 2012-01-15 00:51:35 +01:00
Jonas 'Sortie' Termansen
d6d404f3f0 Added a simple pager program while we wait for less(1) to be ported. 2011-12-26 17:23:40 +01:00
Jonas 'Sortie' Termansen
fdbd4ca90d Implemented large parts of the stdio(3), including fprintf.
Made FILE an interface to various backends. This allows application writers
to override the standard FILE API functions with their own backends. This
is highly unportable - it'd be nice if a real standard existed for this.
glibc already does something like this internally, but AFAIK you can't hook
into it.

Added fdopen(3), fopen(3), fregister(3), funregister(3), fread(3),
fwrite(3), fseek(3), clearerr(3), ferror(3), feof(3), rewind(3), ftell(3),
fflush(3), fclose(3), fileno(3), fnewline(3), fcloseall(3), memset(3),
stdio(3), vfprintf(3), fprintf(3), and vprintf(3).

Added a file-descriptor backend to the FILE API.

fd's {0, 1, 2} are now initialized as stdin, stdout, and stderr when the
standard library initializes.

fcloseall(3) is now called on exit(3).

decl/intn_t_.h now @include(size_t.h) instead of declaring it itself.

Added <stdint.h>.

The following programs now flush stdout: cat(1), clear(1), editor(1),
init(1), mxsh(1).

printf(3) is now hooked up against vprintf(3), while Maxsi::PrintF
remains using the system call, for now.
2011-12-24 04:28:34 +01:00
Jonas 'Sortie' Termansen
b5fe020b7a Fixed bad variable name in uptime(1), it's usecs not msecs. 2011-12-23 19:53:47 +01:00
Jonas 'Sortie' Termansen
ee125f01e2 Made the memstat program a little more 64-bit friendly.
I think.
2011-12-23 16:54:34 +01:00
Steve Dougherty
567786d26b Added calc, an integer-based reverse polish notation calculator. 2011-12-17 11:40:16 +01:00
Jonas 'Sortie' Termansen
854d9b171a uptime(2) now reports usecs instead of msecs. 2011-12-04 21:27:21 +01:00
Jonas 'Sortie' Termansen
f5b46a89ed uname(1) now reports whether the system is 32-bit or 64-bit. 2011-12-01 15:30:17 +01:00
Jonas 'Sortie' Termansen
8c146f14c0 Added uptime(1). 2011-11-28 16:29:53 +01:00
Jonas 'Sortie' Termansen
d96d790de7 Oops, meant 'used' instead of 'free' in memstat. 2011-11-26 21:10:08 +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
9152443816 Added memstat, a program for displaying memory usage. 2011-11-26 20:14:57 +01:00
Jonas 'Sortie' Termansen
f45def4a68 cat(1) now writes to fd 1 instead of /dev/tty. 2011-11-26 19:14:08 +01:00
Jonas 'Sortie' Termansen
4cac495121 mxsh now ignores trailing whitespace. 2011-11-26 13:27:15 +01:00