Kernel 0.94+

This commit is contained in:
Rémy GIBERT 2021-01-14 22:39:36 +01:00
parent 9869d45149
commit 5939ec4615
10 changed files with 135 additions and 506 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -28,8 +28,8 @@ CS.START cld
.DA 0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #64 SS
.DA #4 ZP
.DA #64 Stack Size
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
*--------------------------------------
* Relocation Table

View File

@ -30,9 +30,10 @@ CS.START cld
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START Code Length To Relocate
.DA 0 Data Segment to Allocate
.DA 0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #64 Stack Size
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
*--------------------------------------
* Relocation Table
@ -264,9 +265,9 @@ CS.QUIT lda hReplyBuf
CS.END
MSG.NOATK .AZ "AppleTalk Not Loaded."
MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n"
MSG.GETINFO .AS "Network/Node:$%h%h/$%h\r\n"
.AS "Bridge : $%h\r\n"
.AZ "HWID/ROMVER :$%h%h/$%h\r\n"
MSG.GETINFO .AS "Network/Node:%h%h/%h\r\n"
.AS "Bridge : %h\r\n"
.AZ "HWID/ROMVER :%h%h/%h\r\n"
MSG.USAGE .AZ "Usage : ATLOGON <SERVER> [USER] [PASSWORD]"
*--------------------------------------
.DUMMY

View File

@ -83,11 +83,8 @@ D2MoveHead.SEI ldx Slotn0
cmp MoveTo
beq .8
sta IO.D2.Ph0Off,x
nop
nop
sta IO.D2.Ph0Off,y
sta IO.D2.Ph0Off,x
bcs .2
* Current < Target, must move in
@ -136,10 +133,7 @@ D2MoveHead.SEI ldx Slotn0
.4 tay
sta IO.D2.Ph0On,x
nop
nop
sta IO.D2.Ph0On,y
lda #IO.D2.SeekTimeF
jsr D2.Wait100usecA
@ -147,10 +141,8 @@ D2MoveHead.SEI ldx Slotn0
.8 jsr D2.Wait25600usec
sta IO.D2.Ph0Off,x
nop
nop
sta IO.D2.Ph0Off,y
sta IO.D2.Ph0Off,x
rts
*--------------------------------------
D2.Wait25600usec
@ -512,7 +504,14 @@ D2WriteTrackPtr2
jsr $200
bcs .9
plp
clc
rts
.9 plp
sec
rts
*--------------------------------------
MAN

View File

@ -333,9 +333,9 @@ TrkWriter.Start lda IO.D2.ReadProt,x
lda (ZPPtr1),y
iny
bne .10 no chance this happens because mem blocks are $FFF0 aligned....
inc ZPPtr1+1
* bne .10 no chance this happens because mem blocks are $FFF0 aligned....
* inc ZPPtr1+1
.10 cmp #$80 if CC, it is a sync byte
ora #$80 make sure Bit7 high
@ -367,6 +367,7 @@ TrkWriter.Start lda IO.D2.ReadProt,x
nop (2) Sync 40us byte : add 8 cycles
nop (2)
nop (2)
bra .1 (3)
* 32us Byte,same page : 5+2 (beq failed) +2+2+5+4+2+3 (bne succeeded) + 2 +2 + 3 (bcs succeeded) = 32
@ -379,6 +380,7 @@ TrkWriter.Start lda IO.D2.ReadProt,x
nop (2) Sync 40us byte : add 8 cycles
nop (2)
nop (2)
bra .1 (3)
.8 pha (3) make sure 32us elapsed before switching to read mode (beq(3)+pha(3)=beq(2)+cmp(2)+ora(2))

View File

@ -15,13 +15,10 @@ NEW
.DUMMY
.OR ZPLIB
ZS.START
hSocket .BS 1
hReq .BS 1
ZPReqPtr .BS 2
ZPReqLen .BS 2
ZPCtxPtr .BS 2
hResp .BS 1
ZPRespPtr .BS 2
ZPPtr1 .BS 2
@ -83,10 +80,8 @@ LIB.LOAD >LDYA L.LIBTCPIP
>SYSCALL GetMem
bcs .9
>STYA ZPReqPtr
stx hReq
* clc
.9 rts
*--------------------------------------
@ -137,7 +132,6 @@ CIFS.Negotiate lda (pStack)
ldx #LIBTCPIP.Recv
jsr GO.LIBTCPIP
bcc .3
cmp #E.NODATA
@ -153,6 +147,9 @@ CIFS.Negotiate lda (pStack)
ldy #3
lda (ZPRespPtr),y
clc
adc #4 + NETBIOS header
sta ZPPtr1
tay
lda #0
@ -161,10 +158,7 @@ CIFS.Negotiate lda (pStack)
>STYA ZPCtxPtr
ldy #3
lda (ZPRespPtr),y
tay
ldy ZPPtr1
.4 dey
lda (ZPRespPtr),y
@ -172,6 +166,9 @@ CIFS.Negotiate lda (pStack)
tya
bne .4
ldy #S.NETBIOS+S.SMB.H.FLAGS
sta (ZPCtxPtr),y
phx
lda hResp
@ -187,8 +184,7 @@ CIFS.Negotiate lda (pStack)
.98 lda #MLI.E.IO
.99 >POP 2
rts
.99 >RET 2
*--------------------------------------
* >PUSHB hSocket
* >PUSHB hSMBContext
@ -205,10 +201,14 @@ CIFS.SessionSetup
.10 dec
sta (pStack)
ldy #5 hSMBContext
jsr GetSMBCtx
lda hReq
>SYSCALL GetMemPtr
>STYA ZPReqPtr
ldx #S.SMB.H.CMD.SESSION.SETUP.ANDX
ldy #0
@ -257,7 +257,7 @@ CIFS.SessionSetup
pla
jsr GetReqLenYAtA
jsr SetReqLenYAtA
>PUSHYA
>PUSHW ZPReqPtr
@ -314,12 +314,11 @@ CIFS.SessionSetup
.98 lda #MLI.E.IO
sec
.99 >POP 7
rts
.99 >RET 7
*--------------------------------------
* >PUSHB hSocket
* >PUSHB hSMBContext
* >PUSHW path
* >PUSHW pathname
* >PUSHB 0
* >LIBCALL TreeConnect
* (SMBContext updated with TID)
@ -335,6 +334,17 @@ CIFS.TreeConnect
ldy #3 hSMBContext
jsr GetSMBCtx
lda hReq
>SYSCALL GetMemPtr
>STYA ZPReqPtr
ldy #1 pathname
lda (pStack),y
sta ZPPtr1
iny
lda (pStack),y
sta ZPPtr1+1
ldx #S.SMB.H.CMD.TREE.CONNECT.ANDX
ldy #0
@ -367,13 +377,6 @@ CIFS.TreeConnect
sta (ZPReqPtr),y PASSWORD = "\0"
iny
ldy #1
lda (pStack),y
sta ZPPtr1
iny
lda (pStack),y
sta ZPPtr1+1
.3 lda (ZPPtr1)
inc ZPPtr1
bne .31
@ -396,7 +399,7 @@ CIFS.TreeConnect
pla
jsr GetReqLenYAtA
jsr SetReqLenYAtA
>PUSHYA
>PUSHW ZPReqPtr
@ -452,8 +455,7 @@ CIFS.TreeConnect
.98 lda #MLI.E.IO
sec
.99 >POP 5
rts
.99 >RET 5
*--------------------------------------
CIFS.Mount
*--------------------------------------
@ -517,16 +519,19 @@ GetSMBCtx lda (pStack),y
* Y = LEN from S.NETBIOS.TYPE
* A = Ptr to LEN Word
*--------------------------------------
GetReqLenYAtA sty ZPReqLen
SetReqLenYAtA sty ZPReqLen
stz ZPReqLen+1
sta ZPPtr1
pha
tya
dec
dec
sec
sbc ZPPtr1
ply
sta (ZPReqPtr),y
iny
lda #0
@ -543,14 +548,7 @@ GetReqLenYAtA sty ZPReqLen
dey
sta (ZPReqPtr),y
lda ZPReqLen
clc
adc #S.TCP
tay
lda ZPReqLen+1
adc /S.TCP
>LDYA ZPReqLen
rts
*--------------------------------------
GetRespData sta hResp
@ -573,6 +571,9 @@ CS.END
LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
aLIBTCPIP .BS 2
hSocket .BS 1
hReq .BS 1
hResp .BS 1
*--------------------------------------
SMB.TRANSPORT .DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
@ -623,14 +624,14 @@ SMB.SessionSetup.H
.DA 2 MAX MPX COUNT
.HS 0000 VC NUMBER
.HS 00000000 SESSION KEY
.DA 0 CI PASS LEN
.DA 0 CS PASS LEN
.DA 0 CI PASS LEN (ANSI)
.DA 0 CS PASS LEN (UNICODE)
.HS 00000000
.HS 00000000 CAPABILITIES
SMB.SessionSetup.H.Len .EQ *-SMB.SessionSetup.H
* .BS 2 ByteCount
SMB.SessionSetup.Guest
.AZ "" Password
* .AZ "" Password
.AZ "Guest" Account Name
.AZ "?" Primary Domain
SMB.SessionSetup.Guest.Len .EQ *-SMB.SessionSetup.Guest

View File

@ -59,7 +59,7 @@ L59BD lda bloknml
ldy #$05
.1 asl
.1 asl
rol XRW.ReqTrack
dey
bne .1
@ -307,7 +307,7 @@ L596F ldy #$FF index to last byte of data to write.
XRW.SectorIO lda #2
sta XRW.RecalibrateCnt
sta XRW.BadSeek
jsr XRW.DEBUG
bit XRW.bWrite
bpl .1
@ -386,9 +386,9 @@ XRW.SectorIO lda #2
.LIST ON
XRW.Write lda IO.D2.ReadProt,x PREWRITE MODE
.LIST OFF
lda IO.D2.ReadMode,x
lda nbuf2
sta pcl
@ -521,10 +521,11 @@ wrefd5 ldx #$60 (2) restore slot. warning: modified by prenib
clc (2)
* jsr XRW.Write.RTS (6+6)
jsr XRW.Write.RTS (6+6)
* lda #$FF (2)
* nop (2)
nop (2)
nop (2)
* jsr wnibl (15,6) write turn off byte.
@ -710,7 +711,7 @@ XRW.Read.RTS rts
*--------------------------------------
XRW.Seek ldx XRW.UnitIndex
pha save target track
jsr XRW.Trk2Qtrk
sta XRW.TargetQTrack
@ -729,16 +730,12 @@ XRW.Seek ldx XRW.UnitIndex
cmp XRW.TargetQTrack
beq .8
sta IO.D2.Ph0Off,x
nop
nop
sta IO.D2.Ph0Off,y
nop
nop
sta IO.D2.Ph0Off,x
bcs .2
* Current < Target, must move in
inc
.HS B0 BCS
@ -760,7 +757,7 @@ XRW.Seek ldx XRW.UnitIndex
bcs .3
* Current < Target, must move in
inc
.HS B0 BCS
@ -779,27 +776,21 @@ XRW.Seek ldx XRW.UnitIndex
phx
tax
pla
.4 tay
sta IO.D2.Ph0On,x
nop
nop
lda $C0EC
sta IO.D2.Ph0On,y
nop
nop
lda $C0EC
jsr XRW.WaitSeekTime
bra .1
.8 jsr XRW.Wait25600usec
sta IO.D2.Ph0Off,x
nop
nop
sta IO.D2.Ph0Off,y
nop
nop
sta IO.D2.Ph0Off,x
rts
*--------------------------------------
XRW.WaitSeekTime
@ -810,7 +801,7 @@ XRW.Wait25600usec
lda #0
XRW.Wait100usecA
phx
.1 ldx #18 (2)
.2 dex (2)
@ -903,7 +894,7 @@ XRW.ReadAddr ldy #$FC
eor #$DE
bne .99
ldy XRW.UnitIndex
lda XRW.AddrField.V
sta XRW.D2VolNum-1,y
@ -949,6 +940,47 @@ XRW.TestWP ldx A2L
rol write protect-->carry-->bit 0=1
lda IO.D2.RData,x keep in read mode
rts
*--------------------------------------
XRW.DEBUG sta CLRPAGE2
lda #"R"
bit XRW.bWrite
bpl .1
lda #"W"
.1 sta $723
lda XRW.ReqTrack
pha
lsr
lsr
lsr
lsr
jsr .7
sta $724
pla
jsr .7
sta $725
lda XRW.ReqSector
pha
lsr
lsr
lsr
lsr
jsr .7
sta $726
pla
jsr .7
sta $727
rts
.7 and #$0F
ora #$B0
cmp #"9"+1
bcc .8
adc #6
.8 rts
*--------------------------------------
.LIST ON
XRW.FREE .EQ $D540-*

View File

@ -22,13 +22,9 @@ TIMEOUT.MAX .EQ 250 25 sec.
ZS.START
ZPIPCfgPtr .BS 2
hSocket .BS 1
hResp .BS 1
ZPRespPtr .BS 2
TimeOut .BS 1
hSMBContext .BS 1
hMount .BS 1
ZPPtr1 .BS 2
ZPPtr2 .BS 2
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
@ -53,15 +49,10 @@ CS.START cld
.DA CS.QUIT
L.LIBTCPIP .DA LIBTCPIP
L.LIBCIFS .DA LIBCIFS
L.MSG.TCPIPERR .DA MSG.TCPIPERR
L.MSG.USAGE .DA MSG.USAGE
L.MSG.TCPIPERR .DA MSG.TCPIPERR
L.MSG.UNKNOWN .DA MSG.UNKNOWN
L.MSG.SESSION .DA MSG.SESSION
L.SMB.NegReq .DA SMB.NegReq
L.SMB.SessSetup .DA SMB.SessSetup
L.SMB.TreeConnReq .DA SMB.TreeConnReq
L.SMB.QueryPathInfo .DA SMB.QueryPathInfo
L.SMB.FindFirstReq .DA SMB.FindFirstReq
L.MSG.CONNECTED .DA MSG.CONNECTED
.DA 0
*--------------------------------------
* Called once at process creation
@ -108,7 +99,7 @@ CS.RUN lda hSocket
bcs .9
sta hSMBContext
>DEBUG
>PUSHB hSocket
>PUSHB hSMBContext
>PUSHWI 0
@ -224,12 +215,13 @@ CS.RUN.CheckArgs
>SYSCALL ArgV
clc
CS.RUN.CheckArgs.RTS
rts
*--------------------------------------
CS.RUN.Connect >PUSHBI 0 no protocol
lda #S.SOCKET.T.SEQPKT
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
bcs .9
bcs CS.RUN.CheckArgs.RTS
sta hSocket
@ -266,188 +258,14 @@ CS.RUN.Connect >PUSHBI 0 no protocol
.7 >SYSCALL Freemem
.8 clc
.9 rts
*--------------------------------------
CS.RUN.Negotiate
lda #TIMEOUT.MAX
sta TimeOut
.1 >PUSHWI SMB.NegReq.end-SMB.NegReq
>PUSHW L.SMB.NegReq
lda hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
bcc .2
>SLEEP
ldx TimeOut
bne .1
bra .99
.2 >SLEEP
lda hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
bcc .3
cmp #E.NODATA
beq .2
bra .99
.3 sta hResp
>SYSCALL GetMemPtr
>STYA ZPRespPtr
ldy #$3f
lda (ZPRespPtr),y
bne .9
ldy #$5B
lda (ZPRespPtr),y
cmp #5
bne .9
lda hResp
>SYSCALL FreeMem
* clc
rts
.9 lda hResp
>SYSCALL FreeMem
.99 lda #MLI.E.INVPATH
sec
rts
*--------------------------------------
CS.RUN.SessSetup
lda #TIMEOUT.MAX
sta TimeOut
.1 >PUSHWI SMB.SessSetup.end-SMB.SessSetup
>PUSHW L.SMB.SessSetup
lda hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
bcc .2
>SLEEP
ldx TimeOut
bne .1
bra .99
.2 >SLEEP
lda hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
bcc .3
cmp #E.NODATA
beq .2
bra .99
.3 sta hResp
>SYSCALL GetMemPtr
>STYA ZPRespPtr
ldy #$3f
lda (ZPRespPtr),y
bne .9
ldy #$56
lda (ZPRespPtr),y
sta SMB.TreeConnReq.UID
iny
lda (ZPRespPtr),y
sta SMB.TreeConnReq.UID+1
>PUSHW L.MSG.SESSION
lda #$63
clc
adc ZPRespPtr
tay
lda #0
adc ZPRespPtr+1
.8 >PUSHW L.MSG.CONNECTED
lda #1
>SYSCALL ArgV
>PUSHYA
>PUSHBI 2
>SYSCALL PrintF
lda hResp
>SYSCALL FreeMem
* clc
rts
.9 lda hResp
>SYSCALL FreeMem
.99 lda #MLI.E.INVPATH
sec
rts
*--------------------------------------
CS.RUN.TreeConn lda #TIMEOUT.MAX
sta TimeOut
.1 >PUSHWI SMB.TreeConnReq.end-SMB.TreeConnReq
>PUSHW L.SMB.TreeConnReq
lda hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
bcc .2
>SLEEP
ldx TimeOut
bne .1
bra .99
.2 >SLEEP
lda hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
bcc .3
cmp #E.NODATA
beq .2
bra .99
.3 sta hResp
>SYSCALL GetMemPtr
>STYA ZPRespPtr
ldy #$3f
lda (ZPRespPtr),y
bne .9
ldy #$52
lda (ZPRespPtr),y
sta SMB.FindFirstReq.TID
iny
lda (ZPRespPtr),y
sta SMB.FindFirstReq.TID+1
ldy #$56
lda (ZPRespPtr),y
sta SMB.FindFirstReq.UID
iny
lda (ZPRespPtr),y
sta SMB.FindFirstReq.UID+1
lda hResp
>SYSCALL FreeMem
* clc
rts
.9 lda hResp
>SYSCALL FreeMem
.99 lda #MLI.E.INVPATH
sec
rts
.9 rts
*--------------------------------------
CS.DOEVENT lda (pEvent)
bpl .9 is it a TIMER event?
@ -459,9 +277,6 @@ CS.DOEVENT lda (pEvent)
.9 sec do not discard TIMER event
rts
*--------------------------------------
* Called once, when RUN exited with CS
* Put code for unloading LIB here
*--------------------------------------
CS.QUIT lda hMount
beq .1
@ -493,231 +308,10 @@ LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
LIBCIFS .AZ "libcifs"
hLIBCIFS .BS 1
MSG.TCPIPERR .AZ "CIFSD:TCP/IP Not initialized properly."
MSG.USAGE .AZ "Usage : CIFSD <ip|host> sharename mountpoint"
MSG.TCPIPERR .AZ "CIFSD:TCP/IP Not initialized properly."
MSG.UNKNOWN .AZ "CIFSD:%s: Unknown host\r\n"
MSG.SESSION .AZ "CIFSD:Connected to: %s\r\n"
*--------------------------------------
SMB.NegReq .DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.NegReq.end-1-*
.DA #SMB.NegReq.end-1-*
.DA #$FF
.AS "SMB"
.DA #S.SMB.H.CMD.NEGOTIATE
.HS 00000000
.DA #0 S.SMB.H.FLAGS
.DA S.SMB.H.FLAGS2.LONGNAMES
.DA 0 PIDHI
.HS 0000000000000000 SECFEAT
.DA 0 RSVD
.DA $FFFF TID
.DA $FEFF PIDLO
.DA 0 UID
.DA 0 MID
.DA #0 WORD COUNT
.DA #SMB.NegReq.end-2-*
.DA /SMB.NegReq.end-2-*
.DA #2
.AZ "PC NETWORK PROGRAM 1.0"
.DA #2
.AZ "LANMAN1.0"
.DA #2
.AZ "Windows for Workgroups 3.1a"
.DA #2
.AZ "LM1.2X002"
.DA #2
.AZ "LANMAN2.1"
.DA #2
.AZ "NT LM 0.12"
.DA #2
.AZ "SMB 2.002"
.DA #2
.AZ "SMB 2.???"
SMB.NegReq.end .EQ *
*--------------------------------------
SMB.SessSetup .DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.SessSetup.end-1-*
.DA #SMB.SessSetup.end-1-*
.DA #$FF
.AS "SMB"
.DA #S.SMB.H.CMD.SESSION.SETUP.ANDX
.HS 00000000
.DA #0 S.SMB.H.FLAGS
.DA S.SMB.H.FLAGS2.LONGNAMES
.DA 0 PIDHI
.HS 0000000000000000 SECFEAT
.DA 0 RSVD
.DA $FFFF TID
.DA $FEFF PIDLO
.DA 0 UID
.DA 0 MID
.DA #13 WORD COUNT
.HS FF000000 NO MORE CMD
.DA 1280 MAX BUFFER
.DA 2 MAX MPX COUNT
.HS 0000 VC NUMBER
.HS 00000000 SESSION KEY
.DA 0 CI PASS LEN
.DA 0 CS PASS LEN
.HS 00000000
.HS 00000000 CAPABILITIES
.DA #SMB.SessSetup.end-2-*
.DA /SMB.SessSetup.end-2-*
* .AZ "" Password
.AZ "Guest" Account Name
.AZ "?" Primary Domain
.AZ "A2osX" Native OS
.AZ "A2osX-CIFSD" Native LANMAN
SMB.SessSetup.end .EQ *
*--------------------------------------
SMB.TreeConnReq .DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.TreeConnReq.end-1-*
.DA #SMB.TreeConnReq.end-1-*
.DA #$FF
.AS "SMB"
.DA #S.SMB.H.CMD.TREE.CONNECT.ANDX
.HS 00000000
.DA #0 S.SMB.H.FLAGS
.DA S.SMB.H.FLAGS2.LONGNAMES
.DA 0 PIDHI
.HS 0000000000000000 SECFEAT
.DA 0 RSVD
SMB.TreeConnReq.TID
.DA $FFFF TID
.DA $FEFF PIDLO
SMB.TreeConnReq.UID
.DA 0 UID
.DA 0 MID
.DA #4 WORD COUNT
.HS FF000000 NO MORE CMD
.DA 0
.DA 1 PASSWORD LEN
.DA #SMB.TreeConnReq.end-2-*
.DA /SMB.TreeConnReq.end-2-*
.AZ "" PASSWORD
.AZ "_temp" PATH
.AZ "?????"
SMB.TreeConnReq.end .EQ *
*--------------------------------------
* https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-cifs/9b171bbf-c6d8-4c88-ac85-23c795cbb5d3
*--------------------------------------
SMB.QueryPathInfo
.DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.QueryPathInfo.end-1-*
.DA #SMB.QueryPathInfo.end-1-*
.DA #$FF
.AS "SMB"
.DA #S.SMB.H.CMD.TRANSACTION2
.HS 00000000
.DA #0 S.SMB.H.FLAGS
.DA S.SMB.H.FLAGS2.LONGNAMES
.DA 0 PIDHI
.HS 0000000000000000 SECFEAT
.DA 0 RSVD
SMB.QueryPathInfo.TID
.DA $FFFF TID
.DA $FEFF PIDLO
SMB.QueryPathInfo.UID
.DA 0 UID
.DA 0 MID
* Trans2
.DA #15 WORD COUNT
.DA SMB.QueryPathInfo.PrmCnt TotalParamCount
.DA 0 TotalDataCount
.DA 10 MaxParameterCount
.DA 460 MaxDataCount
.DA #1 MaxSetupCount
.HS 00 Reserved1
.DA 0 Flags
.HS 00000000 Timeout
.HS 0000 Reserved2
.DA SMB.QueryPathInfo.PrmCnt ParameterCount
.DA 66 ParameterOffset
.HS 0000 DataCount
.HS 0000 DataOffset
.DA #1 SetupCount
.HS 00 Reserved3
* TRANS2_QUERY_PATH_INFORMATION
.DA 5 TRANS2_QUERY_PATH_INFORMATION
.DA SMB.QueryPathInfo.PrmCnt+1 INCLUDING Padding byte below
.HS 00 Padding
SMB.QueryPathInfo.Prm
.DA $0001 InformationLevel
.HS 00000000 SearchStorageType
.AZ "server.met" FileName
SMB.QueryPathInfo.PrmCnt .EQ *-SMB.QueryPathInfo.Prm
SMB.QueryPathInfo.end
*--------------------------------------
SMB.FindFirstReq
.DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.FindFirstReq.end-1-*
.DA #SMB.FindFirstReq.end-1-*
.DA #$FF
.AS "SMB"
.DA #S.SMB.H.CMD.TRANSACTION2
.HS 00000000
.DA #0 S.SMB.H.FLAGS
.DA S.SMB.H.FLAGS2.LONGNAMES
.DA 0 PIDHI
.HS 0000000000000000 SECFEAT
.DA 0 RSVD
SMB.FindFirstReq.TID
.DA $FFFF TID
.DA $FEFF PIDLO
SMB.FindFirstReq.UID
.DA 0 UID
.DA 0 MID
* Trans2
.DA #15 WORD COUNT
.DA SMB.FindFirstReq.PrmCnt TotalParamCount
.DA 0 TotalDataCount
.DA 10 MaxParameterCount
.DA 460 MaxDataCount
.DA #1 MaxSetupCount
.HS 00 Reserved1
.DA 0 Flags
.HS 00000000 Timeout
.HS 0000 Reserved2
.DA SMB.FindFirstReq.PrmCnt ParameterCount
.DA 66 ParameterOffset
.HS 0000 DataCount
.HS 0000 DataOffset
.DA #1 SetupCount
.HS 00 Reserved3
* FIND_FIRST2
.DA 1 TRANS2_FIND_FIRST2
.DA SMB.FindFirstReq.PrmCnt+1 INCLUDING Padding byte below
.HS 00 Padding
SMB.FindFirstReq.Prm
.DA $0016 SearchAttributes
.DA 1024 SearchCount
.DA 3 Flags
.DA $0001 InformationLevel
.HS 00000000 SearchStorageType
.AZ "\*.*" FileName
SMB.FindFirstReq.PrmCnt .EQ *-SMB.FindFirstReq.Prm
SMB.FindFirstReq.end
MSG.CONNECTED .AZ "CIFSD:Connected to: %s\r\n"
*--------------------------------------
.DUMMY
.OR 0