Rev 3564 | Rev 3572 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3564 | Rev 3566 | ||
---|---|---|---|
Line 14... | Line 14... | ||
14 | ;; Version 2, June 1991 ;; |
14 | ;; Version 2, June 1991 ;; |
15 | ;; ;; |
15 | ;; ;; |
16 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
16 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 17... | Line 17... | ||
17 | 17 | ||
18 | URLMAXLEN = 1024 |
18 | URLMAXLEN = 1024 |
Line 19... | Line 19... | ||
19 | primary_buffer_size = 4096 |
19 | BUFFERSIZE = 4096 |
20 | 20 | ||
Line 21... | Line 21... | ||
21 | __DEBUG__ = 1 |
21 | __DEBUG__ = 1 |
Line 28... | Line 28... | ||
28 | 28 | ||
29 | db 'MENUET01' ; header |
29 | db 'MENUET01' ; header |
30 | dd 0x01 ; header version |
30 | dd 0x01 ; header version |
31 | dd START ; entry point |
31 | dd START ; entry point |
32 | dd IM_END ; image size |
32 | dd IM_END ; image size |
33 | dd I_END ; required memory |
33 | dd I_END+0x100 ; required memory |
34 | dd I_END ; esp |
34 | dd I_END+0x100 ; esp |
35 | dd params ; I_PARAM |
35 | dd params ; I_PARAM |
Line 36... | Line 36... | ||
36 | dd 0x0 ; I_Path |
36 | dd 0x0 ; I_Path |
37 | 37 | ||
Line 52... | Line 52... | ||
52 | stdcall dll.Load, @IMPORT |
52 | stdcall dll.Load, @IMPORT |
53 | test eax, eax |
53 | test eax, eax |
54 | jnz exit |
54 | jnz exit |
Line 55... | Line 55... | ||
55 | 55 | ||
56 | ; prepare webAddr area |
- | |
57 | 56 | ; prepare webAddr area |
|
58 | mov al, ' ' |
57 | mov al, ' ' |
59 | mov edi, webAddr |
58 | mov edi, webAddr |
60 | mov ecx, URLMAXLEN |
59 | mov ecx, URLMAXLEN |
61 | rep stosb |
60 | rep stosb |
Line 101... | Line 100... | ||
101 | 100 | ||
102 | ; url is followed by shared memory name. |
101 | ; url is followed by shared memory name. |
103 | inc esi |
102 | inc esi |
104 | .done: |
103 | .done: |
105 | mov [shared_name], esi |
- | |
106 | - | ||
107 | mov ah, 22 ; strange way to tell that socket should be opened... |
- | |
108 | call socket_commands |
- | |
109 | 104 | mov [shared_name], esi |
|
Line 110... | Line 105... | ||
110 | jmp still |
105 | jmp still |
111 | 106 | ||
112 | prepare_event: |
107 | prepare_event: |
Line 116... | Line 111... | ||
116 | 111 | ||
117 | red: ; redraw |
112 | red: ; redraw |
Line 118... | Line 113... | ||
118 | call draw_window |
113 | call draw_window |
119 | 114 | ||
120 | still: |
115 | still: |
121 | mcall 23, 1 ; wait here for event |
116 | mcall 10 ; wait here for event |
Line 122... | Line 117... | ||
122 | cmp eax, 1 ; redraw request ? |
117 | cmp eax, 1 ; redraw request ? |
123 | je red |
118 | je red |
Line 129... | Line 124... | ||
129 | je button |
124 | je button |
Line 130... | Line 125... | ||
130 | 125 | ||
131 | cmp eax, 6 ; mouse in buffer ? |
126 | cmp eax, 6 ; mouse in buffer ? |
Line 132... | Line -... | ||
132 | je mouse |
- | |
133 | - | ||
134 | ; Get the web page data from the remote server |
- | |
135 | cmp eax, 8 |
- | |
136 | jne still |
- | |
137 | - | ||
138 | call read_incoming_data |
- | |
139 | - | ||
140 | cmp [status], 4 |
- | |
141 | je .no_send |
- | |
142 | - | ||
143 | mov [onoff], 1 |
- | |
144 | call send_request |
- | |
145 | - | ||
146 | .no_send: |
- | |
147 | call print_status |
- | |
148 | - | ||
149 | cmp [prev_status], 4 |
- | |
150 | jne no_close |
- | |
151 | cmp [status], 4 ; connection closed by server |
- | |
152 | jbe no_close ; respond to connection close command |
- | |
153 | ; draw page |
- | |
154 | call read_incoming_data |
- | |
155 | mcall close, [socketnum] |
- | |
156 | mov [onoff], 0 |
- | |
157 | 127 | je mouse |
|
Line -... | Line 128... | ||
- | 128 | ||
158 | no_close: |
129 | jmp still |
159 | jmp still |
130 | |
Line 160... | Line 131... | ||
160 | 131 | ||
Line 161... | Line -... | ||
161 | key: |
- | |
162 | mcall 2 ; read key |
132 | key: |
163 | 133 | mcall 2 ; read key |
|
Line 164... | Line 134... | ||
164 | stdcall [edit_box_key], dword edit1 |
134 | |
Line 165... | Line -... | ||
165 | - | ||
166 | shr eax, 8 |
135 | stdcall [edit_box_key], dword edit1 |
Line 167... | Line 136... | ||
167 | cmp eax, 13 |
136 | |
168 | je retkey |
137 | cmp ax, 13 shl 8 |
- | 138 | je download |
|
- | 139 | ||
169 | 140 | jmp still |
|
- | 141 | ||
170 | jmp still |
142 | button: |
171 | 143 | ||
- | 144 | mcall 17 ; get id |
|
172 | 145 | cmp ah, 26 |
|
Line 173... | Line 146... | ||
173 | button: |
146 | jne @f |
- | 147 | call save_to_file |
|
- | 148 | jmp still |
|
Line 174... | Line 149... | ||
174 | 149 | @@: |
|
175 | mcall 17 ; get id |
150 | cmp ah, 1 ; button id=1 ? |
176 | cmp ah, 26 |
151 | je exit |
Line 177... | Line 152... | ||
177 | je save |
152 | |
- | 153 | jmp download |
|
- | 154 | ||
- | 155 | mouse: |
|
- | 156 | stdcall [edit_box_mouse], edit1 |
|
- | 157 | jmp still |
|
- | 158 | ||
- | 159 | exit: |
|
- | 160 | or eax, -1 ; close this program |
|
- | 161 | mcall |
|
- | 162 | ||
- | 163 | download: |
|
178 | cmp ah, 1 ; button id=1 ? |
164 | |
- | 165 | DEBUGF 1, "Starting download\n" |
|
- | 166 | ||
- | 167 | call parse_url |
|
- | 168 | call open_socket |
|
- | 169 | call send_request |
|
- | 170 | ||
- | 171 | mcall 68, 12, BUFFERSIZE |
|
- | 172 | mov [buf_ptr], eax |
|
179 | jne noclose |
173 | mov [buf_size], 0 |
Line -... | Line 174... | ||
- | 174 | ||
180 | ; DEBUGF 1, "Closing socket before exit...\n" |
175 | call read_incoming_data |
181 | - | ||
182 | close_end_exit: |
- | |
Line 183... | Line 176... | ||
183 | 176 | ||
- | 177 | mcall close, [socketnum] |
|
- | 178 | ||
184 | exit: |
179 | call parse_result |
185 | or eax, -1 ; close this program |
180 | call save |
- | 181 | ||
Line 186... | Line 182... | ||
186 | mcall |
182 | mcall 68, 13, [final_buffer] |
Line 187... | Line -... | ||
187 | - | ||
188 | mouse: |
183 | |
189 | stdcall [edit_box_mouse], edit1 |
- | |
190 | jmp still |
184 | jmp still |
191 | 185 | ||
Line 192... | Line -... | ||
192 | save: |
- | |
193 | DEBUGF 2, "File saved\n" |
- | |
194 | mcall 70, fileinfo |
- | |
195 | - | ||
196 | mov ecx, [sc.work_text] |
186 | |
Line -... | Line 187... | ||
- | 187 | save: |
|
Line -... | Line 188... | ||
- | 188 | ||
- | 189 | mov ecx, [shared_name] |
|
197 | or ecx, 0x80000000 |
190 | test ecx, ecx |
198 | mcall 4, <10, 93>, , download_complete |
191 | jz @f |
Line -... | Line 192... | ||
- | 192 | cmp [ecx], byte 0 |
|
- | 193 | jnz save_in_shared |
|
- | 194 | @@: |
|
- | 195 | ||
- | 196 | call save_to_file |
|
- | 197 | ||
- | 198 | ; if called from command line, then exit |
|
- | 199 | cmp byte[params], 0 |
|
199 | 200 | jne exit |
|
- | 201 | ||
- | 202 | ret |
|
200 | jmp still |
203 | |
- | 204 | save_in_shared: |
|
- | 205 | ||
- | 206 | mov esi, 1 ; SHM_OPEN+SHM_WRITE |
|
- | 207 | mcall 68, 22 |
|
- | 208 | test eax, eax |
|
- | 209 | jz exit |
|
- | 210 | ||
201 | 211 | sub edx, 4 |
|
- | 212 | jbe exit |
|
- | 213 | ||
- | 214 | mov ecx, [final_size] |
|
- | 215 | cmp ecx, edx |
|
- | 216 | jb @f |
|
- | 217 | ||
- | 218 | mov ecx, edx |
|
- | 219 | @@: |
|
- | 220 | mov [eax], ecx |
|
- | 221 | lea edi, [eax+4] |
|
- | 222 | mov esi, [final_buffer] |
|
- | 223 | mov edx, ecx |
|
- | 224 | shr ecx, 2 |
|
- | 225 | rep movsd |
|
- | 226 | mov ecx, edx |
|
- | 227 | and ecx, 3 |
|
- | 228 | rep movsb |
|
- | 229 | ||
- | 230 | jmp exit |
|
- | 231 | ||
- | 232 | ||
Line 202... | Line 233... | ||
202 | noclose: |
233 | ;**************************************************************************** |
203 | cmp ah, 31 |
234 | ; Function |
204 | jne noup |
235 | ; save_to_file |
Line 231... | Line 262... | ||
231 | ;**************************************************************************** |
262 | ;**************************************************************************** |
232 | send_request: |
263 | send_request: |
Line 233... | Line 264... | ||
233 | 264 | ||
Line 234... | Line -... | ||
234 | DEBUGF 1, "Sending request\n" |
- | |
235 | 265 | DEBUGF 1, "Sending request\n" |
|
236 | pusha |
266 | |
237 | mov esi, string0 |
267 | mov esi, string0 |
238 | mov edi, request |
268 | mov edi, request |
239 | movsd |
269 | movsd |
Line 305... | Line 335... | ||
305 | popa |
335 | popa |
Line 306... | Line 336... | ||
306 | 336 | ||
307 | mov esi, edi |
337 | mov esi, edi |
308 | sub esi, request ; length |
338 | sub esi, request ; length |
309 | xor edi, edi ; flags |
- | |
310 | ;;;;now write \r\nConnection: Close \r\n\r\n |
339 | xor edi, edi ; flags |
311 | mcall send, [socketnum], request ;' HTTP/1.1 .. ' |
- | |
312 | popa |
- | |
313 | ret |
- | |
314 | - | ||
315 | ;**************************************************************************** |
- | |
316 | ; Function |
- | |
317 | ; print_status |
- | |
318 | ; |
- | |
319 | ; Description |
- | |
320 | ; displays the socket/data received status information |
- | |
321 | ; |
- | |
322 | ;**************************************************************************** |
- | |
323 | print_status: |
- | |
324 | pusha |
- | |
325 | mcall 26, 9 |
- | |
326 | cmp eax, [nextupdate] |
- | |
327 | jb status_return |
- | |
328 | - | ||
329 | add eax, 25 |
- | |
330 | mov [nextupdate], eax |
- | |
331 | - | ||
332 | mov ecx, [winys] |
- | |
333 | shl ecx, 16 |
- | |
334 | add ecx, -18 shl 16 + 10 |
- | |
335 | mcall 13, <5, 100>, , 0xffffff |
- | |
336 | - | ||
337 | mov edx, 12 shl 16 - 18 |
- | |
338 | add edx, [winys] |
- | |
339 | xor esi, esi |
- | |
340 | mcall 47, <3, 0>, [status], , |
- | |
341 | - | ||
342 | mov edx, 40 shl 16 - 18 |
- | |
343 | add edx, [winys] |
- | |
344 | mcall , <6, 0>, [pos] |
- | |
345 | - | ||
346 | status_return: |
- | |
347 | popa |
340 | mcall send, [socketnum], request ;' HTTP/1.1 .. ' |
Line 348... | Line 341... | ||
348 | ret |
341 | ret |
349 | 342 | ||
350 | ;**************************************************************************** |
343 | ;**************************************************************************** |
Line 354... | Line 347... | ||
354 | ; Description |
347 | ; Description |
355 | ; receive the web page from the server, storing it without processing |
348 | ; receive the web page from the server, storing it without processing |
356 | ; |
349 | ; |
357 | ;**************************************************************************** |
350 | ;**************************************************************************** |
358 | read_incoming_data: |
351 | read_incoming_data: |
359 | cmp [onoff], 1 |
- | |
360 | je .rid |
- | |
361 | ret |
- | |
Line 362... | Line -... | ||
362 | - | ||
363 | .rid: |
- | |
364 | push esi |
- | |
365 | push edi |
352 | |
Line -... | Line 353... | ||
- | 353 | DEBUGF 1, "Reading incoming data\n" |
|
- | 354 | ||
- | 355 | mov eax, [buf_ptr] |
|
366 | DEBUGF 1, "Reading incoming data\n" |
356 | mov [pos], eax |
367 | 357 | ||
- | 358 | .read: |
|
368 | .read: |
359 | mcall 23, 100 ; 1 second timeout |
369 | ; TODO: implement timeout ! |
360 | .read_dontwait: |
370 | mcall recv, [socketnum], primary_buf, primary_buffer_size, 0 |
361 | mcall recv, [socketnum], [pos], BUFFERSIZE, 0 |
371 | inc eax ; -1 = error (socket closed?) |
362 | inc eax ; -1 = error (socket closed?) |
372 | jz .no_more_data |
363 | jz .no_more_data |
Line 373... | Line 364... | ||
373 | dec eax ; 0 bytes... |
364 | dec eax ; 0 bytes... |
Line 374... | Line 365... | ||
374 | jz .read |
365 | jz .read ; timeout |
375 | 366 | ||
376 | DEBUGF 1, "Got chunk of %u bytes\n", eax |
367 | DEBUGF 1, "Got chunk of %u bytes\n", eax |
377 | 368 | ||
378 | mov edi, [pos] |
369 | add [buf_size], eax |
- | 370 | add [pos], eax |
|
- | 371 | push eax |
|
379 | add [pos], eax |
372 | mov ecx, [buf_size] |
- | 373 | add ecx, BUFFERSIZE |
|
380 | push eax |
374 | mcall 68, 20, , [buf_ptr] ; reallocate memory block (make bigger) |
381 | mcall 68, 20, [pos], [buf_ptr] |
- | |
382 | mov [buf_ptr], eax |
375 | ; TODO: parse header and resize buffer only once |
383 | add edi, eax |
376 | pop eax |
Line 384... | Line 377... | ||
384 | mov esi, primary_buf |
377 | |
- | 378 | cmp eax, BUFFERSIZE |
|
- | 379 | je .read_dontwait |
|
Line 385... | Line 380... | ||
385 | pop ecx ; number of recently read bytes |
380 | jmp .read |
Line 386... | Line -... | ||
386 | lea edx, [ecx - 3] |
- | |
387 | rep movsb |
- | |
388 | - | ||
389 | .no_more_data: |
- | |
390 | - | ||
391 | DEBUGF 1, "No more data\n" |
- | |
392 | - | ||
393 | ; mov [status], 4 ; connection closed by server |
- | |
394 | - | ||
395 | call parse_result |
- | |
396 | - | ||
397 | DEBUGF 1, "Parsing complete\n" |
- | |
398 | - | ||
399 | mov ecx, [shared_name] |
- | |
400 | test ecx, ecx |
- | |
401 | jz @f |
- | |
402 | cmp [ecx], byte 0 |
- | |
403 | jnz save_in_shared |
- | |
404 | @@: |
- | |
405 | - | ||
406 | mcall 70, fileinfo |
- | |
407 | - | ||
408 | DEBUGF 2, "File saved\n" |
- | |
409 | - | ||
410 | mov ecx, [sc.work_text] |
- | |
411 | or ecx, 0x80000000 |
- | |
412 | mcall 4, <10, 93>, , download_complete |
- | |
413 | - | ||
414 | pop edi |
381 | |
Line 415... | Line -... | ||
415 | pop esi |
- | |
Line 416... | Line -... | ||
416 | - | ||
417 | ; if called from command line, then exit |
- | |
418 | cmp byte[params], 0 |
- | |
419 | jne exit |
- | |
420 | - | ||
421 | ret |
- | |
422 | - | ||
423 | save_in_shared: |
- | |
424 | - | ||
425 | mov esi, 1 ; SHM_OPEN+SHM_WRITE |
- | |
426 | mcall 68, 22 |
- | |
427 | test eax, eax |
- | |
428 | jz save_in_shared_done |
- | |
429 | - | ||
430 | sub edx, 4 |
- | |
431 | jbe save_in_shared_done |
- | |
432 | - | ||
433 | mov ecx, [final_size] |
- | |
434 | cmp ecx, edx |
- | |
435 | jb @f |
- | |
436 | - | ||
437 | mov ecx, edx |
- | |
438 | @@: |
- | |
439 | mov [eax], ecx |
- | |
440 | lea edi, [eax+4] |
- | |
441 | mov esi, [final_buffer] |
- | |
442 | mov edx, ecx |
- | |
443 | shr ecx, 2 |
- | |
Line 444... | Line 382... | ||
444 | rep movsd |
382 | .no_more_data: |
445 | mov ecx, edx |
383 | mov eax, [buf_ptr] |
Line 446... | Line 384... | ||
446 | and ecx, 3 |
384 | sub [pos], eax |
447 | rep movsb |
- | |
448 | - | ||
Line 449... | Line 385... | ||
449 | save_in_shared_done: |
385 | |
450 | pop edi |
386 | DEBUGF 1, "No more data\n" |
451 | pop esi |
387 | |
452 | jmp exit |
388 | ret |
453 | 389 | ||
Line 454... | Line 390... | ||
454 | ; this function cuts header, and removes chunk sizes if doc is chunked |
390 | |
455 | ; in: buf_ptr, pos; out: buf_ptr, pos. |
391 | |
Line 558... | Line 494... | ||
558 | 494 | ||
559 | mov ebx, [buf_size] |
495 | mov ebx, [buf_size] |
560 | sub ebx, [body_pos] |
496 | sub ebx, [body_pos] |
561 | cmp eax, ebx |
497 | cmp eax, ebx |
- | 498 | jbe .size_ok |
|
562 | jbe .size_ok |
499 | sub eax, ebx |
563 | DEBUGF 2, "Not all data was received!\n" |
500 | DEBUGF 2, "%u bytes of data are missing!\n", eax |
564 | mov eax, ebx |
501 | mov eax, ebx |
565 | .size_ok: |
502 | .size_ok: |
Line 566... | Line 503... | ||
566 | mov [final_size], eax |
503 | mov [final_size], eax |
Line 620... | Line 557... | ||
620 | 557 | ||
621 | rep movsb |
558 | rep movsb |
Line 622... | Line 559... | ||
622 | jmp .read_size |
559 | jmp .read_size |
623 | - | ||
624 | chunks_end: |
560 | |
- | 561 | chunks_end: |
|
Line 625... | Line -... | ||
625 | ; free old buffer |
- | |
626 | DEBUGF 1, "chunks end\n" |
- | |
627 | 562 | DEBUGF 1, "chunks end\n" |
|
Line 628... | Line 563... | ||
628 | mcall 68, 13, [buf_ptr] |
563 | mcall 68, 13, [buf_ptr] ; free old buffer |
629 | ; done! |
564 | |
630 | ret |
565 | ret |
Line 698... | Line 633... | ||
698 | 633 | ||
Line 699... | Line 634... | ||
699 | ret |
634 | ret |
700 | 635 | ||
701 | ;**************************************************************************** |
636 | ;**************************************************************************** |
702 | ; Function |
637 | ; Function |
703 | ; socket_commands |
638 | ; open_socket |
704 | ; |
639 | ; |
705 | ; Description |
640 | ; Description |
706 | ; opens or closes the socket |
641 | ; opens the socket |
707 | ; |
642 | ; |
708 | ;**************************************************************************** |
- | |
709 | socket_commands: |
- | |
Line 710... | Line 643... | ||
710 | cmp ah, 22 ; open socket |
643 | ;**************************************************************************** |
Line 711... | Line -... | ||
711 | jne tst3 |
- | |
712 | - | ||
713 | DEBUGF 1, "opening socket\n" |
- | |
714 | - | ||
715 | ; Clear all page memory |
- | |
716 | xor eax, eax |
- | |
717 | mov [prev_chunk_end], eax ; 0 |
- | |
718 | cmp [buf_ptr], eax ; 0 |
- | |
719 | jz no_free |
- | |
720 | - | ||
721 | mcall 68, 13, [buf_ptr] ; free buffer |
- | |
722 | - | ||
723 | no_free: |
- | |
724 | xor eax, eax |
- | |
725 | mov [buf_size], eax ; 0 |
644 | open_socket: |
726 | ; Parse the entered url |
645 | |
727 | call parse_url |
646 | DEBUGF 1, "opening socket\n" |
728 | 647 | ||
729 | mov edx, 80 |
648 | mov edx, 80 |
Line 735... | Line 654... | ||
735 | @@: |
654 | @@: |
Line 736... | Line 655... | ||
736 | 655 | ||
737 | mcall socket, AF_INET4, SOCK_STREAM, 0 |
656 | mcall socket, AF_INET4, SOCK_STREAM, 0 |
738 | mov [socketnum], eax |
657 | mov [socketnum], eax |
739 | mcall connect, [socketnum], sockaddr1, 18 |
- | |
Line 740... | Line -... | ||
740 | mov [pagexs], 80 |
- | |
741 | - | ||
742 | push eax |
- | |
743 | xor eax, eax ; 0 |
- | |
744 | mov [pos], eax |
- | |
745 | mov [pagex], eax |
- | |
746 | mov [pagey], eax |
- | |
747 | mov [command_on_off], eax |
- | |
748 | mov [is_body], eax |
658 | mcall connect, [socketnum], sockaddr1, 18 |
Line 749... | Line -... | ||
749 | pop eax |
- | |
750 | ret |
- | |
751 | - | ||
752 | tst3: |
- | |
753 | cmp ah, 24 ; close socket |
- | |
754 | jne no_24 |
- | |
755 | - | ||
Line 756... | Line 659... | ||
756 | mcall close, [socketnum] |
659 | |
757 | no_24: |
660 | ret |
758 | ret |
661 | |
759 | 662 | ||
Line 1053... | Line 956... | ||
1053 | or ecx, 80000000h |
956 | or ecx, 80000000h |
1054 | mcall 4, <102, 59>, , button_text |
957 | mcall 4, <102, 59>, , button_text |
Line 1055... | Line 958... | ||
1055 | 958 | ||
1056 | mcall 12, 2 ; end window redraw |
959 | mcall 12, 2 ; end window redraw |
- | 960 | ret |
|
- | 961 | ||
1057 | ret |
962 | |
1058 | ;----------------------------------------------------------------------------- |
963 | ;----------------------------------------------------------------------------- |
1059 | ; Data area |
964 | ; Data area |
1060 | ;----------------------------------------------------------------------------- |
965 | ;----------------------------------------------------------------------------- |
1061 | align 4 |
966 | align 4 |
Line 1084... | Line 989... | ||
1084 | final_size dd 0 |
989 | final_size dd 0 |
1085 | final_buffer dd 0 |
990 | final_buffer dd 0 |
1086 | db '/rd/1/.download', 0 |
991 | db '/rd/1/.download', 0 |
Line 1087... | Line 992... | ||
1087 | 992 | ||
1088 | body_pos dd 0 |
- | |
1089 | 993 | body_pos dd 0 |
|
1090 | buf_size dd 0 |
994 | buf_size dd 0 |
Line 1091... | Line 995... | ||
1091 | buf_ptr dd 0 |
995 | buf_ptr dd 0 |
1092 | 996 | ||
Line 1106... | Line 1010... | ||
1106 | ;--------------------------------------------------------------------- |
1010 | ;--------------------------------------------------------------------- |
Line 1107... | Line 1011... | ||
1107 | 1011 | ||
1108 | type_pls db 'URL:', 0 |
1012 | type_pls db 'URL:', 0 |
1109 | button_text db 'DOWNLOAD STOP RESAVE', 0 |
1013 | button_text db 'DOWNLOAD STOP RESAVE', 0 |
1110 | download_complete db 'File saved as /rd/1/.download', 0 |
- | |
1111 | display_from dd 20 |
- | |
1112 | pos dd 0 |
- | |
1113 | pagex dd 0 |
- | |
1114 | pagey dd 0 |
- | |
1115 | pagexs dd 80 |
- | |
1116 | command_on_off dd 0 |
- | |
1117 | text_type db 1 |
- | |
1118 | com2 dd 0 |
- | |
1119 | script dd 0 |
- | |
1120 | socketnum dd 0 |
- | |
1121 | - | ||
1122 | addr dd 0 |
- | |
1123 | ya dd 0 |
- | |
1124 | len dd 0 |
- | |
1125 | 1014 | download_complete db 'File saved as /rd/1/.download', 0 |
|
Line 1126... | Line 1015... | ||
1126 | title db 'HTTP Downloader', 0 |
1015 | title db 'HTTP Downloader', 0 |
1127 | 1016 | ||
1128 | ;--------------------------------------------------------------------- |
1017 | ;--------------------------------------------------------------------- |
Line 1129... | Line 1018... | ||
1129 | s_contentlength db 'Content-Length:' |
1018 | s_contentlength db 'Content-Length:' |
1130 | len_contentlength = 15 |
1019 | len_contentlength = 15 |
Line 1131... | Line -... | ||
1131 | - | ||
1132 | s_chunked db 'Transfer-Encoding: chunked' |
- | |
1133 | len_chunked = $ - s_chunked |
- | |
1134 | - | ||
1135 | is_body dd 0 ; 0 if headers, 1 if content |
- | |
1136 | is_chunked dd 0 |
1020 | |
Line 1137... | Line 1021... | ||
1137 | prev_chunk_end dd 0 |
1021 | s_chunked db 'Transfer-Encoding: chunked' |
1138 | cur_chunk_size dd 0 |
1022 | len_chunked = $ - s_chunked |
1139 | 1023 | ||
Line 1165... | Line 1049... | ||
1165 | 1049 | ||
Line 1166... | Line 1050... | ||
1166 | proxyPort dd 80 |
1050 | proxyPort dd 80 |
Line 1167... | Line -... | ||
1167 | - | ||
1168 | shared_name dd 0 |
- | |
1169 | - | ||
1170 | status dd 0x0 |
- | |
1171 | prev_status dd 0x0 |
- | |
1172 | - | ||
1173 | onoff dd 0x0 |
- | |
1174 | - | ||
1175 | nextupdate dd 0 |
1051 | |
1176 | winys dd 400 |
1052 | shared_name dd 0 |
1177 | 1053 | ||
1178 | ;--------------------------------------------------------------------- |
1054 | ;--------------------------------------------------------------------- |
1179 | document_user db 'http://', 0 |
1055 | document_user db 'http://', 0 |
Line 1188... | Line 1064... | ||
1188 | document rb URLMAXLEN |
1064 | document rb URLMAXLEN |
1189 | ;--------------------------------------------------------------------- |
1065 | ;--------------------------------------------------------------------- |
1190 | align 4 |
1066 | align 4 |
1191 | webAddr rb URLMAXLEN+1 |
1067 | webAddr rb URLMAXLEN+1 |
1192 | ;--------------------------------------------------------------------- |
1068 | ;--------------------------------------------------------------------- |
1193 | - | ||
- | 1069 | pos dd ? |
|
1194 | align 4 |
1070 | socketnum dd ? |
1195 | primary_buf rb primary_buffer_size |
1071 | is_chunked dd ? |
- | 1072 | prev_chunk_end dd ? |
|
- | 1073 | cur_chunk_size dd ? |
|
- | 1074 | ;--------------------------------------------------------------------- |
|
Line 1196... | Line 1075... | ||
1196 | 1075 | ||
Line 1197... | Line 1076... | ||
1197 | params rb 1024 |
1076 | params rb 1024 |
Line 1198... | Line 1077... | ||
1198 | 1077 | ||
1199 | request rb 256 |
1078 | request rb 256 |
1200 | 1079 | ||
Line 1201... | Line -... | ||
1201 | proxyAddr rb 256 |
- | |
1202 | proxyUser rb 256 |
- | |
1203 | proxyPassword rb 256 |
1080 | proxyAddr rb 256 |