A2osX/LIB/LIBCIFS.S.IO.txt

1001 lines
14 KiB
Plaintext
Raw Normal View History

2021-05-19 12:44:47 +00:00
NEW
AUTO 3,1
*--------------------------------------
CIFS.ChTyp
CIFS2.ChTyp
*--------------------------------------
CIFS.ChMod
CIFS2.ChMod
*--------------------------------------
CIFS.FStat
*--------------------------------------
2021-06-17 17:38:34 +00:00
CIFS2.FStat >DEBUG
lda #MLI.E.BADCALL
2021-05-19 12:44:47 +00:00
sec
rts
*--------------------------------------
CIFS.Stat >STYA pPath resolved path
jsr ClearSocket
2021-06-17 17:38:34 +00:00
2021-06-19 17:46:36 +00:00
jsr GetCTX
2021-06-17 17:38:34 +00:00
2021-06-03 17:43:28 +00:00
jsr MakeTrans2Req
2021-05-19 12:44:47 +00:00
ldx #0
.1 lda SMB.QueryPathInfo,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.QueryPathInfo.Len
bne .1
2021-06-17 17:38:34 +00:00
jsr ReqT2SetupPtr2
2021-05-19 12:44:47 +00:00
2021-06-17 17:38:34 +00:00
jsr AppendPathPtr2
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
jsr SetT2ReqLen
2021-06-11 17:20:35 +00:00
jsr WriteSocket
2021-05-19 12:44:47 +00:00
bcs .9
jmp Sleep
.9 >RET 4
*--------------------------------------
CIFS2.Stat jsr ReadSocket
bcs .9
jsr GetRespData
2021-06-19 17:46:36 +00:00
jsr CheckSMBStatus
bcs .90
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
jsr GetRespDataPtr1
2021-06-17 17:38:34 +00:00
jsr FileInfo2StatBuf
>PULLW ZPPtr2 Stat Buffer
2021-05-19 12:44:47 +00:00
inc pStack Skip Filename
inc pStack
jsr StatBuf2Ptr2
2021-06-19 17:46:36 +00:00
jmp Exit.OK
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
.9 jsr Exit.NODATA
beq .99
.90 >POP 4
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
.99 rts
2021-05-19 12:44:47 +00:00
*--------------------------------------
CIFS.MKDir >STYA pPath resolved path
2021-06-19 17:46:36 +00:00
jsr GetCtx
2021-06-17 17:38:34 +00:00
2021-06-03 17:43:28 +00:00
jsr MakeTrans2Req
2021-05-19 12:44:47 +00:00
ldx #0
.1 lda SMB.CreateDirectory,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.CreateDirectory.Len
bne .1
jsr AppendPath
lda #0
sta (ZPReqPtr),y
iny
jsr SetT2ReqLenYA
2021-06-11 17:20:35 +00:00
jsr WriteSocket
2021-05-19 12:44:47 +00:00
bcs .9
jmp Sleep
.9 >RET 4
*--------------------------------------
CIFS2.MKDir jsr ReadSocket
bcs .9
jsr GetRespData
2021-06-19 17:46:36 +00:00
jsr CheckSMBStatus
bcs .90
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
jmp Exit.OK
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
.9 jsr Exit.NODATA
beq .99
.90 >POP 4
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
.99 rts
2021-05-19 12:44:47 +00:00
*--------------------------------------
CIFS.OpenDir >STYA pPath resolved path
>LDYAI S.FD.DIR
>SYSCALL2 GetMem
bcs .9
>STYA ZPPtr2
lda #S.FD.T.DIR
sta (ZPPtr2)
lda hHandler
ldy #S.FD.PFT
sta (ZPPtr2),y
lda #0
ldy #S.FD.DIR.EPB
sta (ZPPtr2),y EOF Flag
iny
sta (ZPPtr2),y
iny
sta (ZPPtr2),y
>PUSHW pPath
>PUSHWI 0
txa
>PUSHA
>SYSCALL2 mknod
.9 rts
*--------------------------------------
CIFS2.OpenDir lda #MLI.E.BADCALL
sec
rts
*--------------------------------------
CIFS.ReadDir jsr GetPFD
jsr ClearSocket
2021-06-19 17:46:36 +00:00
jsr GetCtx
2021-06-17 17:38:34 +00:00
2021-05-19 12:44:47 +00:00
ldy #S.FD.DIR.EPB
lda (pFD),y
beq .1
lda #MLI.E.EOF
sec
rts
.1 iny
lda (pFD),y
iny
ora (pFD),y
bne CIFS.ReadDir.Next
2021-06-03 17:43:28 +00:00
jsr MakeTrans2Req
2021-05-19 12:44:47 +00:00
ldx #0
.2 lda SMB.FindFirst2,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.FindFirst2.Len
bne .2
bra CIFS.ReadDir.Send
CIFS.ReadDir.Next
2021-06-03 17:43:28 +00:00
jsr MakeTrans2Req
2021-05-19 12:44:47 +00:00
ldx #0
.2 lda SMB.FindNext2,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.FindNext2.Len
bne .2
phy
ldy #S.FD.DIR.FC+1
lda (pFD),y
tax
dey
lda (pFD),y
2021-06-17 17:38:34 +00:00
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 Search ID
2021-05-19 12:44:47 +00:00
sta (ZPReqPtr),y
txa
iny
sta (ZPReqPtr),y
ply
CIFS.ReadDir.Send
lda (pPath)
beq .1
jsr AppendPath
lda #'\'
sta (ZPReqPtr),y
iny
.1 lda #'*'
sta (ZPReqPtr),y
iny
lda #0
sta (ZPReqPtr),y
iny
jsr SetT2ReqLenYA
2021-06-11 17:20:35 +00:00
jsr WriteSocket
2021-05-19 12:44:47 +00:00
bcs .9
jmp Sleep
.9 rts
*--------------------------------------
CIFS2.ReadDir jsr GetPFD
jsr ReadSocket
2021-06-19 17:46:36 +00:00
bcs .9
2021-05-19 12:44:47 +00:00
jsr GetRespData
2021-06-19 17:46:36 +00:00
jsr CheckSMBStatus
bcs .90
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
ldy #S.FD.DIR.FC
2021-05-19 12:44:47 +00:00
lda (pFD),y
iny
ora (pFD),y
sta bFlag
bne .2
ldy #S.NETBIOS+S.SMB.H+S.TRANS2.H+1 Search ID
lda (ZPRespPtr),y
tax
dey
ora (ZPRespPtr),y
2021-06-19 17:46:36 +00:00
beq .90
2021-05-19 12:44:47 +00:00
lda (ZPRespPtr),y
2021-06-17 17:38:34 +00:00
2021-05-19 12:44:47 +00:00
ldy #S.FD.DIR.FC
sta (pFD),y
iny
txa
sta (pFD),y
2021-06-19 17:46:36 +00:00
.2 jsr GetRespDataPtr1
2021-05-19 12:44:47 +00:00
jsr CIFS2.ReadDir.GetBuf
2021-06-19 17:46:36 +00:00
bcs .99
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
jsr GetRespDataPtr1
2021-05-19 12:44:47 +00:00
jsr CIFS2.ReadDir.FillBuf
lda hResp
>SYSCALL2 FreeMem
>LDYA BufPtr
ldx hBuf
2021-06-17 17:38:34 +00:00
2021-05-19 12:44:47 +00:00
stz CIFS.Status
clc
2021-06-19 17:46:36 +00:00
.90 rts
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
.9 jmp Exit.NODATA
2021-05-19 12:44:47 +00:00
2021-06-19 17:46:36 +00:00
.99 jmp Exit.KO
2021-05-19 12:44:47 +00:00
*--------------------------------------
CIFS2.ReadDir.GetBuf
ldy #S.NETBIOS+S.SMB.H+S.TRANS2.H Search Count
lda bFlag
bne .10
iny
iny
.10 iny
iny
lda (ZPRespPtr),y End Of Search
phy
ldy #S.FD.DIR.EPB
sta (pFD),y
ply
dey
dey
lda (ZPRespPtr),y Search Count
beq .99
tax
lda #1 +Ending 0
sta ZPPtr2
stz ZPPtr2+1
.1 lda ZPPtr2
clc
adc #S.STAT
sta ZPPtr2
bcc .2
inc ZPPtr2+1
.2 lda ZPPtr1
clc
adc #22
sta ZPPtr1
bcc .3
inc ZPPtr1+1
.3 lda (ZPPtr1) Filename Len
pha
sec
adc ZPPtr2
sta ZPPtr2
bcc .4
inc ZPPtr2+1
.4 pla
inc
sec
adc ZPPtr1
sta ZPPtr1
bcc .5
inc ZPPtr1+1
.5 dex
bne .1
>LDYA ZPPtr2
>SYSCALL2 GetMem
bcs .9
>STYA BufPtr
>STYA ZPPtr2
stx hBuf
.9 rts
.99 lda #MLI.E.EOF
sec
rts
*--------------------------------------
CIFS2.ReadDir.FillBuf
ldy #S.NETBIOS+S.SMB.H+S.TRANS2.H Search Count
lda bFlag
bne .10
iny
iny
.10 lda (ZPRespPtr),y
tax
.1 jsr FileInfo2StatBuf
lda ZPPtr1
sec skip Filename Len
adc #22
sta ZPPtr1
bcc .2
inc ZPPtr1+1
.2 ldy #$ff
.3 iny
lda (ZPPtr1),y
sta (ZPPtr2),y
bne .3
tya
sec
adc ZPPtr1
sta ZPPtr1
bcc .4
inc ZPPtr1+1
.4 tya
sec
adc ZPPtr2
sta ZPPtr2
bcc .5
inc ZPPtr2+1
.5 jsr StatBuf2Ptr2
lda #S.STAT
clc
adc ZPPtr2
sta ZPPtr2
bcc .7
inc ZPPtr2+1
.7 dex
bne .1
lda #0
sta (ZPPtr2)
rts
*--------------------------------------
CIFS.CloseDir tax
lda Nod.Table.hName-2,x
beq .1
phx
stz Nod.Table.hName-2,x
>SYSCALL2 FreeMem
plx
.1 lda Nod.Table.hFD-2,x
stz Nod.Table.hFD-2,x
>SYSCALL2 FreeMem
stz CIFS.Status
clc
rts
*--------------------------------------
CIFS2.CloseDir lda #MLI.E.INVPATH
sec
rts
*--------------------------------------
CIFS.ChOwn
CIFS2.ChOwn
lda #MLI.E.BADCALL
sec
rts
2021-06-05 15:48:54 +00:00
*--------------------------------------
2021-06-06 19:06:49 +00:00
CIFS.FOpen >STYA pPath resolved path
2021-06-05 15:48:54 +00:00
2021-06-19 17:46:36 +00:00
jsr GetCtx
2021-06-11 17:20:35 +00:00
2021-06-06 19:06:49 +00:00
ldx #S.SMB.H.CMD.NT.CREATE.ANDX
jsr RequestSetupX
2021-05-19 12:44:47 +00:00
2021-05-22 21:05:12 +00:00
ldx #0
2021-06-06 19:06:49 +00:00
.1 lda SMB.ComCreate.H,x
2021-05-22 21:05:12 +00:00
sta (ZPReqPtr),y
iny
inx
2021-06-06 19:06:49 +00:00
cpx #SMB.ComCreate.H.Len
2021-05-22 21:05:12 +00:00
bne .1
2021-05-19 12:44:47 +00:00
2021-06-17 17:38:34 +00:00
jsr ReqSetupPtr2
jsr AppendPathPtr2
tya
ldy #S.NETBIOS+S.SMB.H+6 NameLength
2021-06-06 19:06:49 +00:00
sta (ZPReqPtr),y
2021-05-19 12:44:47 +00:00
2021-06-17 17:38:34 +00:00
inc +1 for \0
ldy ByteCountOfs
sta (ZPReqPtr),y
2021-06-19 17:46:36 +00:00
lda #0
2021-06-17 17:38:34 +00:00
ror
iny ByteCountOfs+1
sta (ZPReqPtr),y
2021-05-22 21:05:12 +00:00
2021-06-17 17:38:34 +00:00
jsr SetReqLen
ldx #1 FILE_OPEN
ldy #3 fopen flags
lda (pStack),y
bpl .3 O.CREATE
2021-06-06 19:06:49 +00:00
2021-06-17 17:38:34 +00:00
ldx #3 FILE_OPEN_IF
2021-05-22 21:05:12 +00:00
2021-06-17 17:38:34 +00:00
.3 bit #O.APPEND
bmi .4
ldx #5 FILE_OVERWRITE_IF
2021-05-22 21:05:12 +00:00
2021-06-17 17:38:34 +00:00
.4 txa
2021-06-05 15:48:54 +00:00
2021-06-17 17:38:34 +00:00
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 CreateDisposition
sta (ZPReqPtr),y
2021-05-22 21:05:12 +00:00
2021-06-11 17:20:35 +00:00
jsr WriteSocket
2021-06-06 19:06:49 +00:00
bcs .9
jmp Sleep
.9 >RET 6
*--------------------------------------
CIFS2.FOpen jsr ReadSocket
bcs .9
jsr GetRespData
2021-06-19 17:46:36 +00:00
jsr CheckSMBStatus
bcs .90
2021-06-22 18:59:02 +00:00
2021-06-19 17:46:36 +00:00
>LDYAI S.FD.REG
2021-06-06 19:06:49 +00:00
>SYSCALL2 GetMem
2021-06-19 17:46:36 +00:00
bcs .91
2021-06-06 19:06:49 +00:00
2021-06-11 17:20:35 +00:00
>STYA pFD
2021-06-06 19:06:49 +00:00
lda #S.FD.T.REG
2021-06-11 17:20:35 +00:00
sta (pFD)
2021-06-06 19:06:49 +00:00
lda hHandler
ldy #S.FD.PFT
2021-06-11 17:20:35 +00:00
sta (pFD),y
2021-06-06 19:06:49 +00:00
ldy #S.NETBIOS+S.SMB.H+6 FileID
lda (ZPRespPtr),y
2021-05-22 21:05:12 +00:00
pha
2021-06-06 19:06:49 +00:00
iny
lda (ZPRespPtr),y
2021-06-17 17:38:34 +00:00
2021-06-06 19:06:49 +00:00
ldy #S.FD.REG.REF+1
2021-06-11 17:20:35 +00:00
sta (pFD),y
2021-06-06 19:06:49 +00:00
dey
pla
2021-06-11 17:20:35 +00:00
sta (pFD),y
2021-06-06 19:06:49 +00:00
ldy #4 path
2021-05-22 21:05:12 +00:00
2021-06-06 19:06:49 +00:00
lda (pStack),y
>PUSHA
lda (pStack),y
>PUSHA
2021-06-17 17:38:34 +00:00
2021-06-06 19:06:49 +00:00
>PUSHWZ mod
txa hFD
>PUSHA
>SYSCALL2 mknod
2021-05-22 21:05:12 +00:00
2021-06-19 17:46:36 +00:00
.91 jsr FreeRespData
2021-06-22 18:59:02 +00:00
stz CIFS.Status
2021-06-19 17:46:36 +00:00
bra .90
2021-06-06 19:06:49 +00:00
2021-06-19 17:46:36 +00:00
.9 jsr Exit.NODATA
beq .99
.90 >POP 6
2021-06-22 18:59:02 +00:00
2021-06-19 17:46:36 +00:00
.99 rts
2021-06-06 19:06:49 +00:00
*--------------------------------------
CIFS.FClose jsr GetPFD
2021-06-19 17:46:36 +00:00
jsr GetCtx
2021-06-17 17:38:34 +00:00
2021-06-06 19:06:49 +00:00
ldx #S.SMB.H.CMD.CLOSE
jsr RequestSetupX
ldx #0
2021-06-11 17:20:35 +00:00
.1 lda SMB.ComClose.H,x
2021-05-22 21:05:12 +00:00
sta (ZPReqPtr),y
iny
2021-06-06 19:06:49 +00:00
inx
2021-06-11 17:20:35 +00:00
cpx #SMB.ComClose.H.Len
2021-06-06 19:06:49 +00:00
bne .1
2021-06-17 17:38:34 +00:00
sty ZPReqLen
stz ZPReqLen+1
2021-06-11 17:20:35 +00:00
ldy #S.FD.REG.REF
lda (pFD),y
pha
iny
lda (pFD),y
2021-06-17 17:38:34 +00:00
2021-06-11 17:20:35 +00:00
ldy #S.NETBIOS+S.SMB.H+2 FileID
sta (ZPReqPtr),y
pla
dey
sta (ZPReqPtr),y
2021-06-17 17:38:34 +00:00
jsr SetReqLen
2021-05-22 21:05:12 +00:00
2021-06-11 17:20:35 +00:00
jsr WriteSocket
2021-05-22 21:05:12 +00:00
bcs .9
jmp Sleep
2021-06-06 19:06:49 +00:00
.9 rts
2021-05-22 21:05:12 +00:00
*--------------------------------------
2021-06-06 19:06:49 +00:00
CIFS2.FClose sta hFILE
jsr ReadSocket
2021-05-22 21:05:12 +00:00
bcs .9
jsr GetRespData
2021-06-19 17:46:36 +00:00
jsr CheckSMBStatus
bcs .99
2021-06-17 17:38:34 +00:00
2021-06-19 17:46:36 +00:00
lda hFILE
2021-06-06 19:06:49 +00:00
jsr CIFS.CloseDir
2021-06-19 17:46:36 +00:00
jmp Exit.OK
2021-05-22 21:05:12 +00:00
2021-06-19 17:46:36 +00:00
.9 jmp Exit.NODATA
2021-05-22 21:05:12 +00:00
2021-06-19 17:46:36 +00:00
.99 rts
2021-05-19 12:44:47 +00:00
*--------------------------------------
2021-06-22 18:59:02 +00:00
CIFS.FRead ldy #4 hNod
lda (pStack),y
jsr GetPFD
jsr GetCtx
ldx #S.SMB.H.CMD.READ.ANDX
jsr RequestSetupX
ldx #0
.1 lda SMB.ComRead.H,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.ComRead.H.Len
bne .1
jsr ReqSetupPtr2
ldy #S.FD.REG.REF
lda (pFD),y
pha
iny
lda (pFD),y
ldy #S.NETBIOS+S.SMB.H+6 FileID
sta (ZPReqPtr),y
pla
dey
sta (ZPReqPtr),y
jsr SetReqLen
jsr WriteSocket
bcs .9
jmp Sleep
.9 >RET 5
2021-06-06 19:06:49 +00:00
*--------------------------------------
2021-06-22 18:59:02 +00:00
CIFS2.FRead jsr ReadSocket
bcs .9
jsr GetRespData
jsr CheckSMBStatus
bcs .90
lda hResp
>SYSCALL2 FreeMem
ldy #1
lda (pStack),y
ora (pStack)
2021-06-06 19:06:49 +00:00
clc
2021-06-22 18:59:02 +00:00
beq .90
stz CIFS.Status Back to CIFS.FRead for next chunk
jmp Sleep2
.9 jsr Exit.NODATA
beq .99
.90 >POP 5
.99 rts
2021-06-06 19:06:49 +00:00
*--------------------------------------
2021-06-17 17:38:34 +00:00
CIFS.FWrite ldy #4 hNod
2021-06-11 17:20:35 +00:00
lda (pStack),y
2021-06-17 17:38:34 +00:00
2021-06-11 17:20:35 +00:00
jsr GetPFD
2021-06-17 17:38:34 +00:00
2021-06-19 17:46:36 +00:00
jsr GetCtx
2021-06-11 17:20:35 +00:00
ldx #S.SMB.H.CMD.WRITE.ANDX
jsr RequestSetupX
ldx #0
.1 lda SMB.ComWrite.H,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.ComWrite.H.Len
bne .1
2021-06-17 17:38:34 +00:00
jsr ReqSetupPtr2
2021-06-11 17:20:35 +00:00
ldy #S.FD.REG.REF
lda (pFD),y
pha
iny
lda (pFD),y
2021-06-17 17:38:34 +00:00
2021-06-11 17:20:35 +00:00
ldy #S.NETBIOS+S.SMB.H+6 FileID
sta (ZPReqPtr),y
pla
dey
sta (ZPReqPtr),y
2021-06-17 17:38:34 +00:00
ldy #3 DataPtr HI
lda (pStack),y
sta ZPPtr1+1
dey DataPtr LO
lda (pStack),y
sta ZPPtr1
dey DataLen HI
lda (pStack),y
beq .5
lda #0
ldx #1 write $100
bra .6
.5 dey DataLen LO
lda (pStack),y
ldx #0 write $0xx
.6 pha
ldy #S.NETBIOS+S.SMB.H+21 DataLength
clc
adc #2
sta (ZPReqPtr),y
iny
txa
adc #0
sta (ZPReqPtr),y
pla
pha
clc
adc ZPReqLen
sta ZPReqLen
txa
adc ZPReqLen+1
sta ZPReqLen+1
pla
pha
ldy ByteCountOfs
sta (ZPReqPtr),y
txa
iny
sta (ZPReqPtr),y
ldy #0
plx
.70 lda (ZPPtr1),y
sta (ZPPtr2),y
iny
dex
bne .70
2021-06-11 17:20:35 +00:00
jsr SetReqLen
jsr WriteSocket
bcs .9
2021-06-17 17:38:34 +00:00
ldy #1 DataLen HI
lda (pStack),y
beq .7
2021-06-19 17:46:36 +00:00
dec DataLen - $100
2021-06-17 17:38:34 +00:00
sta (pStack),y
ldy #3 DataPtr HI
lda (pStack),y
2021-06-19 17:46:36 +00:00
inc DataPtr + $100
2021-06-17 17:38:34 +00:00
sta (pStack),y
2021-06-19 17:46:36 +00:00
jmp Sleep
2021-06-17 17:38:34 +00:00
.7 lda #0
2021-06-19 17:46:36 +00:00
sta (pStack) DataLen = 0
2021-06-17 17:38:34 +00:00
2021-06-19 17:46:36 +00:00
jmp Sleep
2021-06-11 17:20:35 +00:00
.9 >RET 5
2021-06-06 19:06:49 +00:00
*--------------------------------------
2021-06-19 17:46:36 +00:00
CIFS2.FWrite jsr ReadSocket
2021-06-11 17:20:35 +00:00
bcs .9
jsr GetRespData
2021-06-19 17:46:36 +00:00
jsr CheckSMBStatus
bcs .90
2021-06-17 17:38:34 +00:00
2021-06-19 17:46:36 +00:00
lda hResp
>SYSCALL2 FreeMem
2021-06-11 17:20:35 +00:00
2021-06-17 17:38:34 +00:00
ldy #1
lda (pStack),y
ora (pStack)
clc
beq .90
2021-06-11 17:20:35 +00:00
2021-06-22 18:59:02 +00:00
stz CIFS.Status Back to CIFS.FWrite for next chunk
2021-06-17 17:38:34 +00:00
jmp Sleep2
2021-06-11 17:20:35 +00:00
2021-06-19 17:46:36 +00:00
.9 jsr Exit.NODATA
beq .99
2021-06-11 17:20:35 +00:00
2021-06-19 17:46:36 +00:00
.90 >POP 5
.99 rts
2021-06-06 19:06:49 +00:00
*--------------------------------------
2021-05-19 12:44:47 +00:00
CIFS.FFlush
CIFS2.FFlush
CIFS.FSeek
CIFS2.FSeek
CIFS.FTell
CIFS2.FTell
CIFS.FEOF
2021-06-19 17:46:36 +00:00
CIFS2.FEOF >DEBUG
2021-06-17 17:38:34 +00:00
lda #MLI.E.BADCALL
2021-05-19 12:44:47 +00:00
sec
rts
*--------------------------------------
2021-06-19 17:46:36 +00:00
CIFS.Remove >STYA pPath resolved path
jsr ClearSocket
jsr GetCTX
ldx #S.SMB.H.CMD.DELETE
jsr RequestSetupX
ldx #0
.1 lda SMB.ComDelete.H,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.ComDelete.H.Len
bne .1
jsr ReqSetupPtr2
lda #$04 BufferFormat
jsr PutBytePtr2
jsr AppendPathPtr2
tya
inc +1 for BufferFormat
inc +1 for \0
jsr Add2ByteCount
jsr SetReqLen
jsr WriteSocket
bcs .9
jmp Sleep
.9 rts
*--------------------------------------
CIFS2.Remove jsr ReadSocket
bcs .9
jsr GetRespData
jsr CheckSMBStatus
bcs .99
jmp Exit.OK
.9 jmp Exit.NODATA
.99 rts
*--------------------------------------
CIFS.Rename >STYA pPath resolved src path
jsr ClearSocket
jsr GetCTX
ldx #S.SMB.H.CMD.RENAME
jsr RequestSetupX
ldx #0
.1 lda SMB.ComRename.H,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.ComRename.H.Len
bne .1
jsr ReqSetupPtr2
lda #$04 BufferFormat
jsr PutBytePtr2
jsr AppendPathPtr2
tya
inc +1 for BufferFormat
inc +1 for \0
jsr Add2ByteCount
lda (pStack)
sta pPath
ldy #1
lda (pStack),y
sta pPath+1
lda #$04 BufferFormat
jsr PutBytePtr2
jsr AppendPathPtr2
tya
inc +1 for BufferFormat
inc +1 for \0
jsr Add2ByteCount
jsr SetReqLen
jsr WriteSocket
bcs .9
jmp Sleep
.9 >RET 4
*--------------------------------------
CIFS2.Rename jsr ReadSocket
bcs .9
jsr GetRespData
jsr CheckSMBStatus
bcs .99
2021-06-22 18:59:02 +00:00
jsr Exit.OK
bra .99
2021-06-19 17:46:36 +00:00
.9 jmp Exit.NODATA
.99 >RET 4
*--------------------------------------
2021-05-19 12:44:47 +00:00
MAN
SAVE usr/src/lib/libcifs.io.s
LOAD usr/src/lib/libcifs.s
ASM