diff options
Diffstat (limited to 'include/gbos.inc')
| -rw-r--r-- | include/gbos.inc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/gbos.inc b/include/gbos.inc index 9b44b33..aca92e3 100644 --- a/include/gbos.inc +++ b/include/gbos.inc @@ -125,7 +125,8 @@ DEF SYS_BPEEK EQU 24 ; [debug] read a disk block (B=block, E=off -> A) DEF SYS_MKDIR EQU 25 ; make a directory (DE=path -> A=0/$FF) DEF SYS_CHDIR EQU 26 ; change directory (DE=path -> A=0/$FF) DEF SYS_OPENDIR EQU 27 ; point ls at a directory (DE=path -> A=0/$FF) -DEF SYS_MAX EQU 28 +DEF SYS_PIPE EQU 28 ; make a pipe (-> A=read fd; write=A+1) +DEF SYS_MAX EQU 29 ; SYS_KILL (9) is now implemented (B=pid -> A=0/$FF; pid 1 is immortal) ; (SYS_OPEN=4 / SYS_CLOSE=5 are now implemented by the filesystem) @@ -179,6 +180,11 @@ DEF OF_MODE EQU 2 DEF OF_POS EQU 3 DEF OF_SIZE EQU 5 +; anonymous pipes +DEF PIPE_MAX EQU 2 ; concurrent pipes +DEF PIPE_BUFSZ EQU 64 ; ring buffer bytes per pipe +DEF PIPE_FD_BASE EQU $F0 ; pipe fds: $F0+idx*2 (read), +1 (write); $FF=console + ; ----------------------------------------------------------------------------- ; Program table indices (see programs.asm). exec() takes one of these in B. ; ----------------------------------------------------------------------------- @@ -204,5 +210,6 @@ DEF PROG_SPIN EQU 18 DEF PROG_BLK EQU 19 DEF PROG_MKDIR EQU 20 DEF PROG_COUNT EQU 21 +DEF PROG_PTEST EQU 22 ENDC |
