Rev 4922 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4922 | Rev 5011 | ||
---|---|---|---|
Line 9... | Line 9... | ||
9 | cmd_bye: |
9 | cmd_bye: |
Line 10... | Line 10... | ||
10 | 10 | ||
11 | ; Send BYE message to the server |
11 | ; Send BYE message to the server |
12 | mov dword[buf_cmd], "BYE" + 13 shl 24 |
12 | mov dword[buf_cmd], "BYE" + 13 shl 24 |
13 | mov byte[buf_cmd+4], 10 |
13 | mov byte[buf_cmd+4], 10 |
Line 14... | Line 14... | ||
14 | mcall send, [socketnum], buf_cmd, 5, 0 |
14 | mcall send, [controlsocket], buf_cmd, 5, 0 |
15 | 15 | ||
16 | ; Close the control connection |
16 | ; Close the control connection |
Line 17... | Line 17... | ||
17 | mcall close, [socketnum] |
17 | mcall close, [controlsocket] |
Line 18... | Line 18... | ||
18 | jmp main |
18 | jmp main |
19 | 19 | ||
20 | 20 | ||
Line 21... | Line 21... | ||
21 | cmd_pwd: |
21 | cmd_pwd: |
Line 22... | Line 22... | ||
22 | 22 | ||
Line 36... | Line 36... | ||
36 | mov edi, buf_cmd |
36 | mov edi, buf_cmd |
37 | repne scasb |
37 | repne scasb |
38 | lea esi, [edi - buf_cmd] |
38 | lea esi, [edi - buf_cmd] |
39 | mov word [edi - 2], 0x0a0d |
39 | mov word [edi - 2], 0x0a0d |
Line 40... | Line 40... | ||
40 | 40 | ||
Line 41... | Line 41... | ||
41 | mcall send, [socketnum], buf_cmd, , 0 |
41 | mcall send, [controlsocket], buf_cmd, , 0 |
Line 42... | Line 42... | ||
42 | 42 | ||
Line 53... | Line 53... | ||
53 | mov edi, buf_cmd |
53 | mov edi, buf_cmd |
54 | repne scasb |
54 | repne scasb |
55 | lea esi, [edi - buf_cmd] |
55 | lea esi, [edi - buf_cmd] |
56 | mov word [edi - 2], 0x0a0d |
56 | mov word [edi - 2], 0x0a0d |
Line 57... | Line 57... | ||
57 | 57 | ||
Line 58... | Line 58... | ||
58 | mcall send, [socketnum], buf_cmd, , 0 |
58 | mcall send, [controlsocket], buf_cmd, , 0 |
Line 59... | Line 59... | ||
59 | 59 | ||
Line 65... | Line 65... | ||
65 | 65 | ||
Line 66... | Line 66... | ||
66 | mov [operation], OPERATION_LIST |
66 | mov [operation], OPERATION_LIST |
67 | 67 | ||
68 | mov dword[buf_cmd], "LIST" |
68 | mov dword[buf_cmd], "LIST" |
Line 69... | Line 69... | ||
69 | mov word[buf_cmd+4], 0x0a0d |
69 | mov word[buf_cmd+4], 0x0a0d |
Line 70... | Line 70... | ||
70 | mcall send, [socketnum], buf_cmd, 6, 0 |
70 | mcall send, [controlsocket], buf_cmd, 6, 0 |
Line 107... | Line 107... | ||
107 | xor al, al |
107 | xor al, al |
108 | mov edi, buf_cmd |
108 | mov edi, buf_cmd |
109 | repne scasb |
109 | repne scasb |
110 | lea esi, [edi - buf_cmd] |
110 | lea esi, [edi - buf_cmd] |
111 | mov dword[edi - 2], 0x0a0d |
111 | mov dword[edi - 2], 0x0a0d |
112 | mcall send, [socketnum], buf_cmd, , 0 |
112 | mcall send, [controlsocket], buf_cmd, , 0 |
Line 113... | Line 113... | ||
113 | 113 | ||
114 | invoke con_write_asciiz, buf_cmd ; print command |
114 | invoke con_write_asciiz, buf_cmd ; print command |
Line 115... | Line 115... | ||
115 | jmp wait_for_servercommand |
115 | jmp wait_for_servercommand |
Line 120... | Line 120... | ||
120 | 120 | ||
Line 121... | Line 121... | ||
121 | ; Request filename list from the server |
121 | ; Request filename list from the server |
Line -... | Line 122... | ||
- | 122 | ||
122 | 123 | call open_dataconnection |
|
123 | call open_dataconnection |
124 | |
124 | 125 | mov [ptr_fname], 0 |
|
125 | mov [size_fname], 0 |
126 | mov [size_fname], 0 |
Line 126... | Line 127... | ||
126 | mov dword[buf_cmd], "NLST" |
127 | mov dword[buf_cmd], "NLST" |
Line 127... | Line 128... | ||
127 | mov word[buf_cmd+4], 0x0a0d |
128 | mov word[buf_cmd+4], 0x0a0d |
Line 152... | Line 153... | ||
152 | xor al, al |
153 | xor al, al |
153 | mov edi, buf_cmd |
154 | mov edi, buf_cmd |
154 | repne scasb |
155 | repne scasb |
155 | lea esi, [edi - buf_cmd] |
156 | lea esi, [edi - buf_cmd] |
156 | mov word [edi - 2], 0x0a0d |
157 | mov word [edi - 2], 0x0a0d |
157 | mcall send, [socketnum], buf_cmd, , 0 |
158 | mcall send, [controlsocket], buf_cmd, , 0 |
Line 158... | Line 159... | ||
158 | 159 | ||
Line 159... | Line 160... | ||
159 | jmp wait_for_servercommand |
160 | jmp wait_for_servercommand |
Line 160... | Line 161... | ||
160 | 161 | ||
- | 162 | ||
- | 163 | cmd_lcwd: |
|
161 | 164 | ||
162 | cmd_lcwd: |
165 | mov esi, buf_cmd+5 |
163 | 166 | cmp byte[esi], 10 |
|
164 | mov esi, buf_cmd+5 |
167 | je .print |
165 | mov ecx, 256-5 |
168 | mov ecx, 256-5 |
Line 171... | Line 174... | ||
171 | je .done |
174 | je .done |
172 | loop .loop |
175 | loop .loop |
173 | .done: |
176 | .done: |
174 | mov byte[esi-1], 0 |
177 | mov byte[esi-1], 0 |
175 | mcall 30, 1, buf_cmd+5 ; set working directory |
178 | mcall 30, 1, buf_cmd+5 ; set working directory |
- | 179 | .print: |
|
176 | mcall 30, 2, buf_cmd, 256 ; and read it again |
180 | mcall 30, 2, buf_cmd, 256 ; and read it again |
Line 177... | Line 181... | ||
177 | 181 | ||
178 | invoke con_write_asciiz, str_lcwd |
182 | invoke con_write_asciiz, str_lcwd |
179 | invoke con_write_asciiz, buf_cmd |
183 | invoke con_write_asciiz, buf_cmd |
Line 184... | Line 188... | ||
184 | 188 | ||
Line 185... | Line 189... | ||
185 | cmd_cdup: |
189 | cmd_cdup: |
186 | 190 | ||
187 | mov dword[buf_cmd], "CDUP" |
191 | mov dword[buf_cmd], "CDUP" |
Line 188... | Line 192... | ||
188 | mov word[buf_cmd+4], 0x0d0a |
192 | mov word[buf_cmd+4], 0x0d0a |
Line 189... | Line 193... | ||
189 | mcall send, [socketnum], buf_cmd, 6, 0 |
193 | mcall send, [controlsocket], buf_cmd, 6, 0 |
Line 200... | Line 204... | ||
200 | mov edi, buf_cmd |
204 | mov edi, buf_cmd |
201 | repne scasb |
205 | repne scasb |
202 | lea esi, [edi - buf_cmd] |
206 | lea esi, [edi - buf_cmd] |
203 | mov word [edi - 2], 0x0a0d |
207 | mov word [edi - 2], 0x0a0d |
Line 204... | Line 208... | ||
204 | 208 | ||
Line 205... | Line 209... | ||
205 | mcall send, [socketnum], buf_cmd, , 0 |
209 | mcall send, [controlsocket], buf_cmd, , 0 |
Line 206... | Line 210... | ||
206 | 210 | ||
Line 216... | Line 220... | ||
216 | mov edi, buf_cmd |
220 | mov edi, buf_cmd |
217 | repne scasb |
221 | repne scasb |
218 | lea esi, [edi - buf_cmd] |
222 | lea esi, [edi - buf_cmd] |
219 | mov word [edi - 2], 0x0a0d |
223 | mov word [edi - 2], 0x0a0d |
Line 220... | Line 224... | ||
220 | 224 | ||
Line 221... | Line 225... | ||
221 | mcall send, [socketnum], buf_cmd, , 0 |
225 | mcall send, [controlsocket], buf_cmd, , 0 |
Line 222... | Line 226... | ||
222 | 226 |