* system calls - file 5

 name Syscals5

 text

 ext _errno,ret3,ret3a,ret5,ret5a

 lib sysdef

* FSTAT(fildes, bufad)

  global _fstat
_fstat  ldd 4,s
  pshs d
  ldb #ofstat
  pshs b
  ldd 5,s
  leax 0,s
  sys indx
  bec 1f
  std _errno
  ldd #-1
  leas 3,s
  rts
1 leas 3,s
  ldx 4,s
  ldb #13
  leax 16,x
2 lda 0,x
  sta 1,x
  leax -1,x
  decb
  bne 2b
  clr 1,x
  ldd #0
  rts


* STAT(pathnam, bufad)

  global _stat
_stat ldd 4,s
  pshs d
  ldd 4,s
  pshs d
  ldb #status
  pshs b
  leax 0,s
  sys indx
  bec 1f
  std _errno
  ldd #-1
  leas 5,s
  rts
1 leas 5,s
  ldx 4,s
  ldb #13
  leax 16,x
2 lda 0,x
  sta 1,x
  leax -1,x
  decb
  bne 2b
  clr 1,x
  ldd #0
  rts

