2 ; Oliver Schmidt, 30.12.2004
4 ; File descriptor management for the POSIX I/O routines
12 ; Check for handle >= 256
16 ; Check for handle >= MAX_FDS
20 ; Convert handle to fdtab slot
21 .assert .sizeof(FD) = 4, error
25 ; Check for fdtab slot in use
27 lda fdtab + FD::REF_NUM,y
34 ; Load errno code and return error
41 fdtab: .assert .sizeof(FD) = 4, error
43 .byte $80 ; STDIN_FILENO ::REF_NUM
44 .byte O_RDONLY ; STDIN_FILENO ::FLAGS
45 .addr $0000 ; STDIN_FILENO ::BUFFER
47 .byte $80 ; STDOUT_FILENO::REF_NUM
48 .byte O_WRONLY ; STDOUT_FILENO::FLAGS
49 .addr $0000 ; STDOUT_FILENO::BUFFER
51 .byte $80 ; STDERR_FILENO::REF_NUM
52 .byte O_WRONLY ; STDERR_FILENO::FLAGS
53 .addr $0000 ; STDERR_FILENO::BUFFER
55 .res (MAX_FDS - 3) * .sizeof(FD)