Mercurial > hg > Members > kono > nitros9-code
view 3rdparty/packages/cc/sources/access.a @ 1558:4a4ff4d844ef
ccdisk.asm: this is "newdisk" found on google, replaces old ccdisk which
had severe reliability problems.
rbfdefs: since "newdisk" uses the same step codes as cc3disk, rbfdefs was
modified to reflect this.
sysgo.asm: Date changed to May 14, 2004 to reflect updated 03.02.01
release.
ChangeLogs: reflect updated version info.
author | boisy |
---|---|
date | Thu, 13 May 2004 14:19:49 +0000 |
parents | 0198655f2552 |
children |
line wrap: on
line source
* * File access system calls * pmode equ $0b r/w for owner, r for others ifp1 use ..../defs/os9defs.a endc psect access_a,0,0,2,0,0 * access(name,mode) access: ldx 2,s lda 5,s os9 I$OPEN bcs access10 os9 I$CLOSE access10 lbra _sysret * open(name,mode) open: ldx 2,s lda 5,s os9 I$OPEN lbcs _os9err tfr a,b clra rts * close(fd) close: lda 3,s os9 I$CLOSE lbra _sysret * mknod(name,mode) mknod: ldx 2,s ldb 5,s os9 I$MAKDIR lbra _sysret * creat(fname,mode) creat: ldx 2,s lda 5,s tfr a,b proto attr andb #%00100100 save exec bits orb #pmode default modes os9 I$CREATE bcs creat10 crret tfr a,b clra rts creat10 cmpb #E$CEF already there? lbne _os9err no - can't cope lda 5,s get the mode bita #$80 trying to create a directory? lbne _os9err yes, forget it anda #7 access mode bits ldx 2,s get the name again os9 I$OPEN try to open it lbcs _os9err pshs a,u ldx #0 leau ,x ldb #2 os9 I$SETSTT set the file size to zero puls a,u bcc crret pshs b os9 I$CLOSE puls b lbra _os9err * unlink(fname) unlink: ldx 2,s os9 I$DELETE lbra _sysret * dup(fildes) dup: lda 3,s os9 I$DUP lbcs _os9err tfr a,b clra rts endsect