view 3rdparty/packages/cc/sources/stat.a @ 1942:b41df77588b0

printer is now scbbp sio is now scbbt All references changed in various files
author boisy
date Sat, 26 Nov 2005 22:51:50 +0000
parents 0198655f2552
children
line wrap: on
line source

*
*  Status system calls
*

 ifp1
 use ..../defs/os9defs.a
 endc
 psect stat_a,0,0,1,0,0

* getstat(code,path,buffer)
getstat:
 lda 5,s get the path number
 ldb 3,s get the code
 beq getst30 code 0?
 cmpb #1 code 1?
 beq getst40
 cmpb #6 code 6?
 beq getst40

 cmpb #2
 beq getst10
 cmpb #5
 beq getst10

* can't do other codes
 ldb #208 illegal service request
 lbra _os9err

* codes 2 or 5
getst10 pshs u
 os9 I$GETSTT
 bcc getst20
 puls u restore register variable
 lbra _os9err

getst20 stx [8,s] store MSW
 ldx 8,s get address of destination
 stu 2,x store LSW
 puls u restore register variable
 clra
 clrb
 rts

* code 0 - 32 bytes into buffer
getst30 ldx 6,s
getst40 os9 I$GETSTT
 lbra _sysret

* setstat(code,path,buffer)
* OR setstat(code,path,offset)
setstat:
 lda 5,s get path number
 ldb 3,s get code
 beq setst10

 cmpb #2
 beq setst20

 ldb #208 illegal code
 lbra _os9err

setst10 ldx 6,s get buffer address
 os9 I$SETSTT
 lbra _sysret

setst20 pshs u save register variable
 ldx 8,s get MSW
 ldu 10,s get LSW
 os9 I$SETSTT
 puls u
 lbra _sysret
 endsect