mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-09 00:29:28 +00:00
CIFS:First blood....
This commit is contained in:
parent
09dd4f076d
commit
97acd2e1ce
Binary file not shown.
|
@ -198,9 +198,11 @@ MSG1.D .AZ "Dynamic"
|
||||||
MSG.USAGE .AS "Usage : Add a static entry, DNSINFO <host> <IP>\r\n"
|
MSG.USAGE .AS "Usage : Add a static entry, DNSINFO <host> <IP>\r\n"
|
||||||
.AZ " Dump DNS Cache, DNSINFO\r\n"
|
.AZ " Dump DNS Cache, DNSINFO\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
DST.IP .BS 4
|
DST.IP .BS 4
|
||||||
DS.END
|
DS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/bin/dnsinfo.s
|
SAVE usr/src/bin/dnsinfo.s
|
||||||
|
|
|
@ -11,6 +11,12 @@ S.NETBIOS .EQ 4
|
||||||
S.SMB.H.PROTO .EQ 0 \xFF 'SMB'
|
S.SMB.H.PROTO .EQ 0 \xFF 'SMB'
|
||||||
S.SMB.H.CMD .EQ 4
|
S.SMB.H.CMD .EQ 4
|
||||||
S.SMB.H.CMD.CLOSE .EQ $04
|
S.SMB.H.CMD.CLOSE .EQ $04
|
||||||
|
S.SMB.H.CMD.FLUSH .EQ $05
|
||||||
|
S.SMB.H.CMD.DELETE .EQ $06
|
||||||
|
S.SMB.H.CMD.RENAME .EQ $07
|
||||||
|
|
||||||
|
S.SMB.H.CMD.SEEK .EQ $12
|
||||||
|
|
||||||
S.SMB.H.CMD.READ.ANDX .EQ $2E
|
S.SMB.H.CMD.READ.ANDX .EQ $2E
|
||||||
S.SMB.H.CMD.WRITE.ANDX .EQ $2F
|
S.SMB.H.CMD.WRITE.ANDX .EQ $2F
|
||||||
S.SMB.H.CMD.TRANS2 .EQ $32
|
S.SMB.H.CMD.TRANS2 .EQ $32
|
||||||
|
|
|
@ -9,17 +9,17 @@ CIFS2.ChMod
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.FStat
|
CIFS.FStat
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS2.FStat
|
CIFS2.FStat >DEBUG
|
||||||
txa
|
lda #MLI.E.BADCALL
|
||||||
ora #$80
|
|
||||||
|
|
||||||
* lda #MLI.E.BADCALL
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.Stat >STYA pPath resolved path
|
CIFS.Stat >STYA pPath resolved path
|
||||||
|
|
||||||
jsr ClearSocket
|
jsr ClearSocket
|
||||||
|
|
||||||
|
jsr GetGTX
|
||||||
|
|
||||||
jsr MakeTrans2Req
|
jsr MakeTrans2Req
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
@ -31,14 +31,22 @@ CIFS.Stat >STYA pPath resolved path
|
||||||
cpx #SMB.QueryPathInfo.Len
|
cpx #SMB.QueryPathInfo.Len
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
jsr AppendPath
|
jsr ReqT2SetupPtr2
|
||||||
|
|
||||||
lda #0
|
jsr AppendPathPtr2
|
||||||
sta (ZPReqPtr),y
|
|
||||||
iny
|
|
||||||
|
|
||||||
jsr SetT2ReqLenYA
|
tya
|
||||||
|
|
||||||
|
inc +1 for \0
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc ZPReqLen
|
||||||
|
sta ZPReqLen
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
inc ZPReqLen+1
|
||||||
|
|
||||||
|
.2 jsr SetT2ReqLen
|
||||||
jsr WriteSocket
|
jsr WriteSocket
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -55,21 +63,25 @@ CIFS2.Stat jsr ReadSocket
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
|
lda hResp
|
||||||
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
lda #MLI.E.FNOTFND
|
lda #MLI.E.FNOTFND
|
||||||
bra .99
|
bra .99
|
||||||
|
|
||||||
.1 >PULLW ZPPtr2 Stat Buffer
|
.1 jsr GetRespDataOffset
|
||||||
|
jsr FileInfo2StatBuf
|
||||||
|
|
||||||
|
>PULLW ZPPtr2 Stat Buffer
|
||||||
|
|
||||||
inc pStack Skip Filename
|
inc pStack Skip Filename
|
||||||
inc pStack
|
inc pStack
|
||||||
|
|
||||||
jsr GetRespDataOffset
|
|
||||||
jsr FileInfo2StatBuf
|
|
||||||
jsr StatBuf2Ptr2
|
jsr StatBuf2Ptr2
|
||||||
|
|
||||||
lda hResp
|
lda hResp
|
||||||
>SYSCALL2 FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
stz CIFS.Status
|
stz CIFS.Status
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
@ -92,6 +104,8 @@ CIFS2.Stat jsr ReadSocket
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.MKDir >STYA pPath resolved path
|
CIFS.MKDir >STYA pPath resolved path
|
||||||
|
|
||||||
|
jsr GetGTX
|
||||||
|
|
||||||
jsr MakeTrans2Req
|
jsr MakeTrans2Req
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
@ -130,7 +144,7 @@ CIFS2.MKDir jsr ReadSocket
|
||||||
|
|
||||||
lda #MLI.E.DUPFILE
|
lda #MLI.E.DUPFILE
|
||||||
sec
|
sec
|
||||||
|
|
||||||
.8 jsr FreeRespData
|
.8 jsr FreeRespData
|
||||||
|
|
||||||
stz CIFS.Status
|
stz CIFS.Status
|
||||||
|
@ -191,6 +205,8 @@ CIFS.ReadDir jsr GetPFD
|
||||||
|
|
||||||
jsr ClearSocket
|
jsr ClearSocket
|
||||||
|
|
||||||
|
jsr GetGTX
|
||||||
|
|
||||||
ldy #S.FD.DIR.EPB
|
ldy #S.FD.DIR.EPB
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
beq .1
|
beq .1
|
||||||
|
@ -238,7 +254,7 @@ CIFS.ReadDir.Next
|
||||||
dey
|
dey
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 Search ID
|
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 Search ID
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
txa
|
txa
|
||||||
iny
|
iny
|
||||||
|
@ -301,7 +317,7 @@ CIFS2.ReadDir jsr GetPFD
|
||||||
beq .91
|
beq .91
|
||||||
|
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
|
|
||||||
ldy #S.FD.DIR.FC
|
ldy #S.FD.DIR.FC
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
iny
|
iny
|
||||||
|
@ -320,13 +336,13 @@ CIFS2.ReadDir jsr GetPFD
|
||||||
|
|
||||||
>LDYA BufPtr
|
>LDYA BufPtr
|
||||||
ldx hBuf
|
ldx hBuf
|
||||||
|
|
||||||
stz CIFS.Status
|
stz CIFS.Status
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 stz CIFS.Status
|
.9 stz CIFS.Status
|
||||||
|
|
||||||
jmp FreeRespData
|
jmp FreeRespData
|
||||||
|
|
||||||
.90 cmp #E.NODATA
|
.90 cmp #E.NODATA
|
||||||
|
@ -531,30 +547,51 @@ CIFS.FOpen >STYA pPath resolved path
|
||||||
cpx #SMB.ComCreate.H.Len
|
cpx #SMB.ComCreate.H.Len
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
phy save Y = LEN
|
jsr ReqSetupPtr2
|
||||||
|
|
||||||
jsr GetPathLen
|
jsr AppendPathPtr2
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H+6
|
tya
|
||||||
|
|
||||||
|
ldy #S.NETBIOS+S.SMB.H+6 NameLength
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
ply
|
inc +1 for \0
|
||||||
phy
|
|
||||||
|
|
||||||
sta (ZPReqPtr),y
|
|
||||||
|
|
||||||
iny Skip ByteCount
|
|
||||||
iny
|
|
||||||
|
|
||||||
jsr AppendPath
|
|
||||||
|
|
||||||
lda #0
|
ldy ByteCountOfs
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
iny
|
|
||||||
|
|
||||||
pla
|
clc
|
||||||
|
adc ZPReqLen
|
||||||
|
sta ZPReqLen
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
inc ZPReqLen+1
|
||||||
|
|
||||||
jsr SetReqLenYAtA
|
.2 lda #0
|
||||||
|
ror
|
||||||
|
iny ByteCountOfs+1
|
||||||
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
|
jsr SetReqLen
|
||||||
|
|
||||||
|
ldx #1 FILE_OPEN
|
||||||
|
|
||||||
|
ldy #3 fopen flags
|
||||||
|
lda (pStack),y
|
||||||
|
bpl .3 O.CREATE
|
||||||
|
|
||||||
|
ldx #3 FILE_OPEN_IF
|
||||||
|
|
||||||
|
.3 bit #O.APPEND
|
||||||
|
bmi .4
|
||||||
|
|
||||||
|
ldx #5 FILE_OVERWRITE_IF
|
||||||
|
|
||||||
|
.4 txa
|
||||||
|
|
||||||
|
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 CreateDisposition
|
||||||
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
jsr WriteSocket
|
jsr WriteSocket
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -576,7 +613,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||||
lda #MLI.E.DUPFILE
|
lda #MLI.E.DUPFILE
|
||||||
sec
|
sec
|
||||||
bra .80
|
bra .80
|
||||||
|
|
||||||
.8 >LDYAI S.FD.REG
|
.8 >LDYAI S.FD.REG
|
||||||
>SYSCALL2 GetMem
|
>SYSCALL2 GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
|
@ -595,7 +632,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||||
pha
|
pha
|
||||||
iny
|
iny
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
|
|
||||||
ldy #S.FD.REG.REF+1
|
ldy #S.FD.REG.REF+1
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
dey
|
dey
|
||||||
|
@ -608,7 +645,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||||
>PUSHA
|
>PUSHA
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHWZ mod
|
>PUSHWZ mod
|
||||||
txa hFD
|
txa hFD
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
@ -638,7 +675,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||||
CIFS.FClose jsr GetPFD
|
CIFS.FClose jsr GetPFD
|
||||||
|
|
||||||
jsr GetGtx
|
jsr GetGtx
|
||||||
|
|
||||||
ldx #S.SMB.H.CMD.CLOSE
|
ldx #S.SMB.H.CMD.CLOSE
|
||||||
jsr RequestSetupX
|
jsr RequestSetupX
|
||||||
|
|
||||||
|
@ -651,28 +688,22 @@ CIFS.FClose jsr GetPFD
|
||||||
cpx #SMB.ComClose.H.Len
|
cpx #SMB.ComClose.H.Len
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
phy save Y = LEN
|
sty ZPReqLen
|
||||||
|
stz ZPReqLen+1
|
||||||
|
|
||||||
ldy #S.FD.REG.REF
|
ldy #S.FD.REG.REF
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
pha
|
pha
|
||||||
iny
|
iny
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H+2 FileID
|
ldy #S.NETBIOS+S.SMB.H+2 FileID
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
pla
|
pla
|
||||||
dey
|
dey
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
ply
|
|
||||||
|
|
||||||
tya
|
jsr SetReqLen
|
||||||
|
|
||||||
iny Skip ByteCount
|
|
||||||
iny
|
|
||||||
|
|
||||||
jsr SetReqLenYAtA
|
|
||||||
|
|
||||||
jsr WriteSocket
|
jsr WriteSocket
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -696,12 +727,12 @@ CIFS2.FClose sta hFILE
|
||||||
lda #MLI.E.DUPFILE
|
lda #MLI.E.DUPFILE
|
||||||
sec
|
sec
|
||||||
bra .80
|
bra .80
|
||||||
|
|
||||||
.8 lda hFILE
|
.8 lda hFILE
|
||||||
jsr CIFS.CloseDir
|
jsr CIFS.CloseDir
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.80 jsr FreeRespData
|
.80 jsr FreeRespData
|
||||||
|
|
||||||
stz CIFS.Status
|
stz CIFS.Status
|
||||||
|
@ -731,11 +762,11 @@ CIFS2.FRead
|
||||||
clc
|
clc
|
||||||
>RET 5
|
>RET 5
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.FWrite ldy #4
|
CIFS.FWrite ldy #4 hNod
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
|
||||||
jsr GetPFD
|
jsr GetPFD
|
||||||
|
|
||||||
jsr GetGTX
|
jsr GetGTX
|
||||||
|
|
||||||
ldx #S.SMB.H.CMD.WRITE.ANDX
|
ldx #S.SMB.H.CMD.WRITE.ANDX
|
||||||
|
@ -750,38 +781,110 @@ CIFS.FWrite ldy #4
|
||||||
cpx #SMB.ComWrite.H.Len
|
cpx #SMB.ComWrite.H.Len
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
sty LenOfs
|
jsr ReqSetupPtr2
|
||||||
|
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
sty ZPReqLen
|
|
||||||
stz ZPReqLen+1
|
|
||||||
|
|
||||||
ldy #S.FD.REG.REF
|
ldy #S.FD.REG.REF
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
pha
|
pha
|
||||||
iny
|
iny
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H+6 FileID
|
ldy #S.NETBIOS+S.SMB.H+6 FileID
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
pla
|
pla
|
||||||
dey
|
dey
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
jsr SetReqLen
|
jsr SetReqLen
|
||||||
|
|
||||||
jsr WriteSocket
|
jsr WriteSocket
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jmp Sleep
|
ldy #1 DataLen HI
|
||||||
|
lda (pStack),y
|
||||||
|
beq .7
|
||||||
|
|
||||||
|
dec
|
||||||
|
sta (pStack),y
|
||||||
|
|
||||||
|
ldy #3 DataPtr HI
|
||||||
|
lda (pStack),y
|
||||||
|
inc
|
||||||
|
sta (pStack),y
|
||||||
|
|
||||||
|
bra .8
|
||||||
|
|
||||||
|
.7 lda #0
|
||||||
|
sta (pStack) DataLen LO
|
||||||
|
|
||||||
|
.8 jmp Sleep
|
||||||
|
|
||||||
.9 >RET 5
|
.9 >RET 5
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS2.FWrite ldy #4
|
CIFS2.FWrite ldy #4
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
|
||||||
jsr ReadSocket
|
jsr ReadSocket
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -794,12 +897,16 @@ CIFS2.FWrite ldy #4
|
||||||
|
|
||||||
lda #MLI.E.IO
|
lda #MLI.E.IO
|
||||||
sec
|
sec
|
||||||
|
|
||||||
.8 jsr FreeRespData
|
.8 jsr FreeRespData
|
||||||
|
|
||||||
stz CIFS.Status
|
ldy #1
|
||||||
|
lda (pStack),y
|
||||||
|
ora (pStack)
|
||||||
|
clc
|
||||||
|
beq .90
|
||||||
|
|
||||||
>RET 5
|
jmp Sleep2
|
||||||
|
|
||||||
.9 cmp #E.NODATA
|
.9 cmp #E.NODATA
|
||||||
bne .99
|
bne .99
|
||||||
|
@ -814,7 +921,8 @@ CIFS2.FWrite ldy #4
|
||||||
.98 lda #MLI.E.IO
|
.98 lda #MLI.E.IO
|
||||||
|
|
||||||
.99 sec
|
.99 sec
|
||||||
stz CIFS.Status
|
|
||||||
|
.90 stz CIFS.Status
|
||||||
|
|
||||||
>RET 5
|
>RET 5
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -829,10 +937,8 @@ CIFS2.FEOF
|
||||||
CIFS.Remove
|
CIFS.Remove
|
||||||
CIFS2.Remove
|
CIFS2.Remove
|
||||||
CIFS.Rename
|
CIFS.Rename
|
||||||
CIFS2.Rename
|
CIFS2.Rename >DEBUG
|
||||||
* lda #MLI.E.BADCALL
|
lda #MLI.E.BADCALL
|
||||||
txa
|
|
||||||
ora #$80
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -35,7 +35,7 @@ auxtype .BS 2
|
||||||
ZPRespPtr .BS 2
|
ZPRespPtr .BS 2
|
||||||
|
|
||||||
bFlag .BS 1
|
bFlag .BS 1
|
||||||
LenOfs .BS 1
|
ByteCountOfs .BS 1
|
||||||
|
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -536,6 +536,7 @@ CIFS.CallBack bit CIFS.Status
|
||||||
|
|
||||||
phy
|
phy
|
||||||
pha
|
pha
|
||||||
|
|
||||||
ldy #S.PS.PID
|
ldy #S.PS.PID
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
cmp CIFS.PID
|
cmp CIFS.PID
|
||||||
|
@ -574,9 +575,7 @@ GetGTX lda MountTable+2
|
||||||
>STYA ZPCtxPtr
|
>STYA ZPCtxPtr
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MakeTrans2Req jsr GetGTX
|
MakeTrans2Req ldx #S.SMB.H.CMD.TRANS2
|
||||||
|
|
||||||
ldx #S.SMB.H.CMD.TRANS2
|
|
||||||
jsr RequestSetupX
|
jsr RequestSetupX
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
@ -601,15 +600,13 @@ RequestSetupX phx
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
>STYA ZPReqPtr
|
>STYA ZPReqPtr
|
||||||
|
|
||||||
plx
|
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.1 lda (ZPCtxPtr),y
|
.1 lda (ZPCtxPtr),y
|
||||||
cpy #S.NETBIOS+S.SMB.H.CMD
|
cpy #S.NETBIOS+S.SMB.H.CMD
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
txa
|
pla
|
||||||
|
|
||||||
.2 sta (ZPReqPtr),y
|
.2 sta (ZPReqPtr),y
|
||||||
iny
|
iny
|
||||||
|
@ -618,13 +615,52 @@ RequestSetupX phx
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GetPathLen ldy #$ff
|
ReqSetupPtr2 sty ByteCountOfs
|
||||||
|
|
||||||
|
iny
|
||||||
|
iny +2 for ByteCount
|
||||||
|
|
||||||
|
ReqT2SetupPtr2 sty ZPReqLen
|
||||||
|
stz ZPReqLen+1
|
||||||
|
|
||||||
|
tya
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc ZPReqPtr
|
||||||
|
sta ZPPtr2
|
||||||
|
|
||||||
|
lda ZPReqPtr+1
|
||||||
|
adc #0
|
||||||
|
sta ZPPtr2+1
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
AppendPathPtr2 ldx #0
|
||||||
|
|
||||||
|
ldy #$ff
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
lda (pPath),y
|
lda (pPath),y
|
||||||
bne .1
|
beq .4
|
||||||
|
|
||||||
tya
|
.2 cmp #'/'
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
lda #'\'
|
||||||
|
|
||||||
|
.3 sta (ZPPtr2),y
|
||||||
|
tax
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.4 cpx #'\'
|
||||||
|
bne .5
|
||||||
|
|
||||||
|
dey
|
||||||
|
|
||||||
|
.5
|
||||||
|
* lda #0
|
||||||
|
sta (ZPPtr2),y
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
AppendPath ldx #0
|
AppendPath ldx #0
|
||||||
|
@ -654,21 +690,6 @@ AppendPath ldx #0
|
||||||
|
|
||||||
.5 rts
|
.5 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SetReqLen lda ZPReqLen
|
|
||||||
sec
|
|
||||||
sbc LenOfs
|
|
||||||
|
|
||||||
ldy LenOfs
|
|
||||||
sta (ZPReqPtr),y
|
|
||||||
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda ZPReqLen+1
|
|
||||||
sbc #0
|
|
||||||
sta (ZPReqPtr),y
|
|
||||||
|
|
||||||
bra SetReqLenNETBIOS
|
|
||||||
*--------------------------------------
|
|
||||||
* Y = LEN from S.NETBIOS.TYPE
|
* Y = LEN from S.NETBIOS.TYPE
|
||||||
* A = Ptr to LEN Word
|
* A = Ptr to LEN Word
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -691,12 +712,12 @@ SetReqLenYAtA sty ZPReqLen
|
||||||
iny
|
iny
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
bra SetReqLenNETBIOS
|
bra SetReqLen
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SetT2ReqLenYA sty ZPReqLen
|
SetT2ReqLenYA sty ZPReqLen
|
||||||
stz ZPReqLen+1
|
stz ZPReqLen+1
|
||||||
|
|
||||||
tya
|
SetT2ReqLen lda ZPReqLen
|
||||||
sec
|
sec
|
||||||
sbc #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7
|
sbc #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7
|
||||||
|
|
||||||
|
@ -712,13 +733,13 @@ SetT2ReqLenYA sty ZPReqLen
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+2
|
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+2
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
|
*--------------------------------------
|
||||||
SetReqLenNETBIOS
|
SetReqLen lda ZPReqLen
|
||||||
lda ZPReqLen
|
|
||||||
sec
|
sec
|
||||||
sbc #S.NETBIOS
|
sbc #S.NETBIOS
|
||||||
ldy #S.NETBIOS.LEN+2
|
ldy #S.NETBIOS.LEN+2
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
lda ZPReqLen+1
|
lda ZPReqLen+1
|
||||||
sec
|
sec
|
||||||
sbc /S.NETBIOS
|
sbc /S.NETBIOS
|
||||||
|
@ -733,7 +754,7 @@ Sleep ldy #S.PS.PID
|
||||||
|
|
||||||
dec CIFS.Status
|
dec CIFS.Status
|
||||||
|
|
||||||
stz CIFS.Retries
|
Sleep2 stz CIFS.Retries
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
|
@ -1008,16 +1029,16 @@ SMB.ComCreate.H .DA #24 WORD COUNT
|
||||||
.BS 2 NameLength
|
.BS 2 NameLength
|
||||||
.HS 00000000 Flags
|
.HS 00000000 Flags
|
||||||
.HS 00000000 RootDirectoryFID
|
.HS 00000000 RootDirectoryFID
|
||||||
.BS 4 DesiredAccess
|
.HS 00000010 DesiredAccess = GENERIC_ALL
|
||||||
.HS 0000000000000000 AllocationSize
|
.HS 0000000000000000 AllocationSize
|
||||||
.HS 00000000 ExtFileAttributes
|
.HS 00000000 ExtFileAttributes
|
||||||
.HS 00000000 ShareAccess
|
.HS 00000000 ShareAccess
|
||||||
.BS 4 CreateDisposition
|
.BS 4 CreateDisposition
|
||||||
.HS 00000000 CreateOptions
|
.HS 00000000 CreateOptions
|
||||||
.HS 00000000 ImpersonationLevel
|
.HS 00000000 ImpersonationLevel
|
||||||
.HS 00 SecurityFlags
|
.HS 00 SecurityFlags
|
||||||
SMB.ComCreate.H.Len .EQ *-SMB.ComCreate.H
|
SMB.ComCreate.H.Len .EQ *-SMB.ComCreate.H
|
||||||
* .BS 2 ByteCount
|
* .BS 2 ByteCount
|
||||||
* .AZ "path\file"
|
* .AZ "path\file"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SMB.ComClose.H .DA #3 WORD COUNT
|
SMB.ComClose.H .DA #3 WORD COUNT
|
||||||
|
@ -1026,6 +1047,27 @@ SMB.ComClose.H .DA #3 WORD COUNT
|
||||||
.HS 0000 ByteCount
|
.HS 0000 ByteCount
|
||||||
SMB.ComClose.H.Len .EQ *-SMB.ComClose.H
|
SMB.ComClose.H.Len .EQ *-SMB.ComClose.H
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
SMB.ComFlush.H .DA #1 WORD COUNT
|
||||||
|
.BS 2 FID
|
||||||
|
.HS 0000 ByteCount
|
||||||
|
SMB.ComFlush.H.Len .EQ *-SMB.ComFlush.H
|
||||||
|
*--------------------------------------
|
||||||
|
SMB.ComDelete.H .DA #1 WORD COUNT
|
||||||
|
.HS 0000 SearchAttributes
|
||||||
|
SMB.ComDelete.H.Len .EQ *-SMB.ComDelete.H
|
||||||
|
* .BS 2 ByteCount
|
||||||
|
* .HS 04 BufferFormat
|
||||||
|
* .AZ "path\file"
|
||||||
|
*--------------------------------------
|
||||||
|
SMB.ComRename.H .DA #1 WORD COUNT
|
||||||
|
.HS 0000 SearchAttributes
|
||||||
|
SMB.ComRename.H.Len .EQ *-SMB.ComRename.H
|
||||||
|
* .BS 2 ByteCount
|
||||||
|
* .HS 04 BufferFormat
|
||||||
|
* .AZ "oldpath"
|
||||||
|
* .HS 04 BufferFormat
|
||||||
|
* .AZ "newpath"
|
||||||
|
*--------------------------------------
|
||||||
SMB.ComRead.H .DA #10 WORD COUNT
|
SMB.ComRead.H .DA #10 WORD COUNT
|
||||||
.HS FF000000 NO MORE CMD
|
.HS FF000000 NO MORE CMD
|
||||||
.BS 2 FID
|
.BS 2 FID
|
||||||
|
@ -1042,11 +1084,11 @@ SMB.ComWrite.H .DA #12 WORD COUNT
|
||||||
.BS 2 FID
|
.BS 2 FID
|
||||||
.BS 4 Offset
|
.BS 4 Offset
|
||||||
.HS 00000000 Timeout
|
.HS 00000000 Timeout
|
||||||
.HS 0001 WriteMode=WritethroughMode
|
.HS 0100 WriteMode=WritethroughMode
|
||||||
.HS 0000 Remaining
|
.HS 0000 Remaining
|
||||||
.HS 0000 Reserved
|
.HS 0000 Reserved
|
||||||
.BS 2 DataLength
|
.BS 2 DataLength
|
||||||
.BS 2 DataOffset
|
.DA S.SMB.H+SMB.ComWrite.H.Len DataOffset
|
||||||
SMB.ComWrite.H.Len .EQ *-SMB.ComWrite.H
|
SMB.ComWrite.H.Len .EQ *-SMB.ComWrite.H
|
||||||
* .BS 2 ByteCount
|
* .BS 2 ByteCount
|
||||||
* DATA.....
|
* DATA.....
|
||||||
|
|
|
@ -43,11 +43,15 @@ PFT.CheckPathYA >PUSHYA
|
||||||
|
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.3 lda K.Buf256,y path is "/FILTER/..." ?
|
.3 lda K.Buf256,y
|
||||||
cmp #'/'
|
beq .4 path is "/FILTER" ?
|
||||||
|
|
||||||
|
cmp #'/' path is "/FILTER/..." ?
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
lda Flt.Table.cbLO-1,x
|
iny
|
||||||
|
|
||||||
|
.4 lda Flt.Table.cbLO-1,x
|
||||||
sta .7+1
|
sta .7+1
|
||||||
|
|
||||||
lda Flt.Table.cbHI-1,x
|
lda Flt.Table.cbHI-1,x
|
||||||
|
@ -57,9 +61,8 @@ PFT.CheckPathYA >PUSHYA
|
||||||
|
|
||||||
pla discard JSR return @
|
pla discard JSR return @
|
||||||
pla
|
pla
|
||||||
|
|
||||||
lda /K.Buf256 pass full path to handler
|
lda /K.Buf256 pass full path to handler
|
||||||
iny skip "/"
|
|
||||||
* ldy #K.Buf256
|
|
||||||
|
|
||||||
.6 ldx #$ff SELF MODIFIED SYSCALL #
|
.6 ldx #$ff SELF MODIFIED SYSCALL #
|
||||||
|
|
||||||
|
|
|
@ -311,6 +311,7 @@ STDIO.Get1 >PUSHA
|
||||||
>PUSHA
|
>PUSHA
|
||||||
inc read 1 byte
|
inc read 1 byte
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
ldx #SYS.FRead
|
||||||
jmp K.FRead
|
jmp K.FRead
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # ungetc
|
* # ungetc
|
||||||
|
@ -834,6 +835,7 @@ K.PrintF.1 sec format string->ptr2
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHWI K.IOBuf
|
>PUSHWI K.IOBuf
|
||||||
>PUSHW PrintF.Cnt Writing to File/dev...
|
>PUSHW PrintF.Cnt Writing to File/dev...
|
||||||
|
ldx #SYS.FWrite Needed by PFT
|
||||||
jsr K.FWrite
|
jsr K.FWrite
|
||||||
bcc .81
|
bcc .81
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user