]> git.sur5r.net Git - cc65/blob - libsrc/atari/close.s
Added o65 symbol export capability
[cc65] / libsrc / atari / close.s
1 ;
2 ; Christian Groessler, May-2000
3 ;
4 ; int close(int fd);
5 ;
6
7         .include "atari.inc"
8         .export _close
9         .import __do_oserror,popax,__oserror
10         .import fdtoiocb_down,__inviocb
11
12 .proc   _close
13         jsr     popax
14         jsr     fdtoiocb_down           ; get iocb index into X and decr. usage count
15         bmi     inverr
16         bne     ok                      ; not last one -> don't close yet
17 ;       asl     a
18 ;       asl     a
19 ;       asl     a
20 ;       asl     a
21 ;       tax
22         lda     #CLOSE
23         sta     ICCOM,x
24         jsr     CIOV
25         bmi     closerr
26 ok:     ldx     #0
27         stx     __oserror               ; clear system specific error code
28         txa
29         rts
30
31 inverr: jmp     __inviocb
32 closerr:jmp     __do_oserror
33
34 .endproc
35