Added documentation.
This commit is contained in:
parent
40a3f39981
commit
c3a65f105f
|
@ -1,22 +0,0 @@
|
|||
# Shells
|
||||
|
||||
Turaco-DOS reserves a portion of main memory for a "shell", a
|
||||
program which exists to load and run other programs, and handle
|
||||
their return values. This shell might be a command line, or some
|
||||
other program that manages other programs, such as a batch file
|
||||
interpreter.
|
||||
|
||||
The active shell has a "resident" portion of memory, which stays
|
||||
in memory as long as the shell is active, and a "transient" portion
|
||||
of memory which is only used while the shell is not running an
|
||||
external program.
|
||||
|
||||
When the shell runs a program, and that program exits, its main
|
||||
function returns a two-byte value; this value is stored in a
|
||||
specific memory address, and used by the shell as the "status"
|
||||
code for the program's exit. Like Unix, a zero value is considered
|
||||
a normal exit, with any positive value being some type of error.
|
||||
|
||||
Additionaly, when running a program, the shell can provide the
|
||||
program with a sequence of arguments, which populate the two
|
||||
arguments to the main() function.
|
|
@ -0,0 +1,10 @@
|
|||
# System Calls
|
||||
|
||||
The system API is exposed to user code using the COP interrupt.
|
||||
The high byte of the C accumulator is loaded with a function number;
|
||||
the other registers are loaded with call-specific data (or nothing),
|
||||
and any return values are placed in the same registers.
|
||||
|
||||
What follows is a list of the system calls, their numbers, and
|
||||
register arguments they take, and what if any values they return.
|
||||
|
|
@ -50,6 +50,10 @@ int file_init(char *pathname, struct file *file);
|
|||
|
||||
int file_open(struct file *file);
|
||||
|
||||
int file_ioctl(struct file *file,
|
||||
unsigned short operation,
|
||||
void *arg);
|
||||
|
||||
// Closes an open file, given a unique ID.
|
||||
int file_close(struct file *file);
|
||||
|
||||
|
|
Loading…
Reference in New Issue