Commit Graph

472 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 60b9a84a51 execv(3) now passes environ(7) to execve(2). 2012-04-04 01:38:45 +02:00
Jonas 'Sortie' Termansen 33645eb347 <unistd.h> now declares environ(7) if _WANT_ENVIRON.
Note that it is very bad style of programs to access it directly.
2012-04-04 01:37:05 +02:00
Jonas 'Sortie' Termansen 05b29ce25a Renamed rfork(2) to sfork(2) to avoid compatibility issues.
sfork is much like rfork except sharing is default for everything.

Eventually, I'll make a rfork(3) wrapper function around sfork(2) to
provide compatibility to BSD programs.

I don't like Linux clone(2): that's some messy function.
2012-04-04 00:29:25 +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 dd5157da6a Implemented setenv(3), putenv(3), getenv(3), clearenv(3), sortix_getenv(3),
unsetenv(3), envlength(3), getenvindexed(3), and environ(7).

This provides the user-space foundation for environmental variables.

Note that this works over fork(2), but not execve(2) yet.
2012-04-03 20:23:28 +02:00
Jonas 'Sortie' Termansen 5d59f0ed03 Added EBOUND. 2012-04-02 20:24:56 +02:00
Jonas 'Sortie' Termansen 95a088fec5 Added a dummy implementation rfork(2) equal to fork(2).
Note that in my implementation, you share per default, unless you ask.
2012-04-02 16:30:13 +02:00
Jonas 'Sortie' Termansen b3b1f6af66 Make sure that the right bits.h file is always included. 2012-03-27 16:36:55 +02:00
Jonas 'Sortie' Termansen cd0e402bbb Added {,l,ll,imax}abs(3). 2012-03-27 16:36:55 +02:00
Jonas 'Sortie' Termansen 554b2e44cc Added a Page::IsAligned inline function. 2012-03-26 16:46:26 +02:00
Jonas 'Sortie' Termansen 9ab0bc5474 Added {,p}{read,write}{all,least}(3). 2012-03-24 15:34:30 +01:00
Jonas 'Sortie' Termansen c62eb09cdc Added stubs for pread(2) and pwrite(2).
These are not implemented yet because the current kernel design is bad.

However, I need the stubs for other code.
2012-03-24 15:23:07 +01:00
Jonas 'Sortie' Termansen 757184fd5c Added EEOF. 2012-03-24 15:19:16 +01:00
Jonas 'Sortie' Termansen 1ba4417b19 Removed dead ancient code. 2012-03-22 01:04:27 +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 e496c07764 Added a <libmaxsi/integer.h> header with divide-round-up functions. 2012-03-21 16:23:05 +01:00
Jonas 'Sortie' Termansen ea11c20689 Added a way for discover refcount of Refcounted classes. 2012-03-21 16:20:41 +01:00
Jonas 'Sortie' Termansen 0f099c65ca The virtual memory fork code can now handle ENOMEM conditions.
(forkbombs now don't panic the system!)
2012-03-19 02:39:11 +01:00
Jonas 'Sortie' Termansen e0e0cadf4a Changed error message for ENOMEM to something sensible. 2012-03-19 02:26:32 +01:00
Jonas 'Sortie' Termansen 02d309a92d Began development of Sortix 0.7 2012-03-18 23:35:04 +01:00
Jonas 'Sortie' Termansen 2709d17455 Updated version number to 0.6. 2012-03-18 22:49:38 +01:00
Jonas 'Sortie' Termansen 8a8b8e47b7 Fixed spelling error in README. 2012-03-18 22:46:58 +01:00
Jonas 'Sortie' Termansen 051ec170f5 Updated the README with information about the upcoming 0.6 release. 2012-03-18 21:36:11 +01:00
Jonas 'Sortie' Termansen c9ab4fa6b4 The sortix vga terminal now can delete tabs and newlines properly.
A nice little vga attribute array takes care of remembering what indexes
actually contains a character.
2012-03-18 18:06:13 +01:00
Jonas 'Sortie' Termansen 14a9149f17 Added detection for an obscure bug to let users know I know about it. 2012-03-18 17:36:31 +01:00
Jonas 'Sortie' Termansen d564603460 Fixed kernel stack overflow and premature EOF in the unix pipe code.
This usually caused the system to lock up when much data was transferred
over pipes, for instance: $ cd /bin ; cat cat | cat
2012-03-18 16:14:26 +01:00
Jonas 'Sortie' Termansen c7c0fc603a Fixed initial kernel stack being wrong size. 2012-03-17 20:17:12 +01:00
Jonas 'Sortie' Termansen 969c0e8048 Cleaned up sortix/kernel.cpp and it now uses the new coding style.
All kernel.cpp code related to jssortix was removed as it is not supported
any longer.
2012-03-17 20:11:37 +01:00
Jonas 'Sortie' Termansen 4f3e22140c Fixed x64 memory leaks upon process termination. 2012-03-17 18:14:57 +01:00
Jonas 'Sortie' Termansen 0364ce6f55 Added a new COM Port driver.
Any detected COM ports available as /dev/comN.

It currently utilizes AGAIN to do polling in user-space. This prevents it
from locking up the whole system and makes it respond to the SIGINT hack.

There is also a more reliable and faster polling-blocking mode, but it locks
up the entire system.

The main interrupt mode is broken, perhaps by a bug in VirtualBox.
2012-03-17 15:48:42 +01:00
Jonas 'Sortie' Termansen f54cb6ab94 Added EAGAIN and made read(1) and write(1) retry if they get it. 2012-03-17 15:35:45 +01:00
Jonas 'Sortie' Termansen 1ff0321400 Added a stub for Syscall::Yield() which is used by broken code.
The whole system call interface is currently stupid.
2012-03-17 15:14:42 +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 5ec4e33196 Removed the last reference to the old kernel HTTP server. 2012-03-16 16:56:16 +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 a353706011 Updated the README. 2012-03-14 15:14:21 +01:00
Jonas 'Sortie' Termansen e0eabd0e5f <dirent.h> now declares size_t. 2012-03-12 02:03:46 +01:00
Jonas 'Sortie' Termansen 8399b1a2ee Made <sys/types.h> more POSIX compliant. 2012-03-12 02:00:00 +01:00
Jonas 'Sortie' Termansen 3cab1113cf Made EOPNOTSUPP an alias for ENOTSUP. 2012-03-12 01:46:12 +01:00
Jonas 'Sortie' Termansen 2cdeb575f8 Renamed EACCESS to EACCES.
Stupid POSIX.
2012-03-12 01:43:00 +01:00
Jonas 'Sortie' Termansen 6de3c462be Added EMFILE. 2012-03-12 01:37:50 +01:00
Jonas 'Sortie' Termansen 44e2537d7b Added mode_t to <sys/types.h>.
Gonna do something about that header.
2012-03-12 01:31:48 +01:00
Jonas 'Sortie' Termansen d564574cd0 Added fseterr(3). 2012-03-12 01:31:48 +01:00
Jonas 'Sortie' Termansen 366cc2549a Added the stdio_ext(3) API.
The API is available in <stdio.h> without __ prefix if _SORTIX_SOURCE.
2012-03-12 00:38:48 +01:00
Jonas 'Sortie' Termansen d033a58b10 Added a hacky definition of MB_CUR_MAX. 2012-03-11 20:49:50 +01:00
Jonas 'Sortie' Termansen 4ad0d360da Added EILSEQ. 2012-03-11 20:44:57 +01:00
Jonas 'Sortie' Termansen 9fa5690d79 Added time_t declaration to <time.h>. 2012-03-11 20:38:55 +01:00
Jonas 'Sortie' Termansen 5b916b5f63 Added F_SETFL and F_GETFL to fcntl(2).
This is a bit of a hacky implementation.
2012-03-11 20:29:00 +01:00
Jonas 'Sortie' Termansen beb88d0443 Added EPIPE. 2012-03-11 20:11:32 +01:00
Jonas 'Sortie' Termansen a6a296a971 Fixed bug where pager(1) prints a line too much. 2012-03-11 18:16:55 +01:00