Subversion Repositories Kolibri OS

Rev

Rev 3794 | Rev 3802 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3794 Rev 3800
Line 1... Line -...
1
cmd_list:
-
 
2
 
-
 
3
        call    open_dataconnection
-
 
4
 
-
 
5
        mov     dword[s], "LIST"
-
 
6
        mov     byte[s+4], 0x0a
-
 
7
        mcall   send, [socketnum], s, 5, 0
-
 
8
 
-
 
9
        jmp     wait_for_servercommand
-
 
10
 
-
 
11
 
-
 
12
cmd_help:
1
cmd_help:
Line 13... Line 2...
13
 
2
 
14
        push    str_help
3
        push    str_help
Line 15... Line 4...
15
        call    [con_write_asciiz]
4
        call    [con_write_asciiz]
Line -... Line 5...
-
 
5
 
-
 
6
        jmp     wait_for_usercommand
-
 
7
 
-
 
8
cmd_bye:
-
 
9
 
-
 
10
        mcall   close, [socketnum]
-
 
11
        mcall   close, [datasocket]
16
 
12
 
Line 17... Line 13...
17
        jmp     wait_for_usercommand
13
        jmp     main
18
 
14
 
Line 35... Line 31...
35
 
31
 
Line 36... Line 32...
36
        mcall   send, [socketnum], s, , 0
32
        mcall   send, [socketnum], s, , 0
Line -... Line 33...
-
 
33
 
-
 
34
        jmp     wait_for_servercommand
-
 
35
 
-
 
36
cmd_dele:
-
 
37
 
-
 
38
        mov     dword[s], "DELE"
-
 
39
        mov     byte[s], " "
-
 
40
 
-
 
41
        mov     ecx, 256
-
 
42
        xor     al, al
-
 
43
        mov     edi, s
-
 
44
        repne scasb
-
 
45
        lea     esi, [edi - s - 1]
-
 
46
 
-
 
47
        mcall   send, [socketnum], s, , 0
-
 
48
 
-
 
49
        jmp     wait_for_servercommand
-
 
50
 
-
 
51
cmd_list:
-
 
52
 
-
 
53
        call    open_dataconnection
-
 
54
 
-
 
55
        mov     [operation], OPERATION_LIST
-
 
56
 
-
 
57
        mov     dword[s], "LIST"
-
 
58
        mov     byte[s+4], 0x0a
-
 
59
        mcall   send, [socketnum], s, 5, 0
Line 37... Line 60...
37
 
60
 
Line 38... Line 61...
38
        jmp     wait_for_servercommand
61
        jmp     wait_for_servercommand
Line -... Line 62...
-
 
62
 
-
 
63
 
-
 
64
cmd_retr:
-
 
65
 
-
 
66
        call    open_dataconnection
-
 
67
 
-
 
68
        mov     [operation], OPERATION_RETR
-
 
69
 
-
 
70
        mov     [filestruct.subfn], 2   ; create/rewrite file
-
 
71
        mov     [filestruct.offset], 0
-
 
72
        mov     [filestruct.offset+4], 0
-
 
73
        mov     [filestruct.size], 0
-
 
74
        mov     [filestruct.ptr], 0
-
 
75
 
-
 
76
        lea     esi, [s+5]
-
 
77
        mov     edi, filestruct.name
-
 
78
        mov     ecx, 256-5
-
 
79
        call    set_filename
-
 
80
 
39
 
81
        mcall   70, filestruct
40
 
82
        cmp     eax, -1
Line 41... Line 83...
41
cmd_retr:
83
;        je      fileerror
42
 
84
 
43
        call    open_dataconnection
85
        mov     [filestruct.subfn], 3   ; write to file
44
 
86
 
45
        mov     dword[s], "RETR"
87
        mov     dword[s], "RETR"
46
        mov     byte[s+4], " "
-
 
47
 
88
        mov     byte[s+4], " "
Line 48... Line 89...
48
        mov     ecx, 256
89
 
Line 49... Line 90...
49
        xor     al, al
90
        mov     ecx, 256
Line 50... Line 91...
50
        mov     edi, s
91
        xor     al, al
Line -... Line 92...
-
 
92
        mov     edi, s
-
 
93
        repne scasb
-
 
94
        lea     esi, [edi - s - 1]
-
 
95
        mcall   send, [socketnum], s, , 0
-
 
96
 
-
 
97
        jmp     wait_for_servercommand
-
 
98
 
-
 
99
 
-
 
100
cmd_stor:
-
 
101
 
-
 
102
        call    open_dataconnection
-
 
103
 
-
 
104
        mov     [operation], OPERATION_STOR
51
        repne scasb
105
 
52
        lea     esi, [edi - s - 1]
106
        mov     [filestruct.subfn], 0   ; read file
Line 53... Line 107...
53
 
107
        mov     [filestruct.offset], 0
54
        mcall   send, [socketnum], s, , 0
108
        mov     [filestruct.offset+4], 0
55
 
109
        mov     [filestruct.size], BUFFERSIZE
56
        jmp     wait_for_servercommand
110
        mov     [filestruct.ptr], buffer_ptr2
57
 
111
 
58
 
-
 
59
cmd_stor:
112
        lea     esi, [s+5]
Line 60... Line 113...
60
 
113
        mov     edi, filestruct.name
61
        call    open_dataconnection
114
        mov     ecx, 256-5
-
 
115
        call    set_filename
-
 
116
 
-
 
117
        mov     dword[s], "STOR"
-
 
118
        mov     byte[s+4], " "
-
 
119
 
-
 
120
        mov     ecx, 256
-
 
121
        xor     al, al
-
 
122
        mov     edi, s
-
 
123
        repne scasb
-
 
124
        lea     esi, [edi - s - 1]
-
 
125
        mcall   send, [socketnum], s, , 0
-
 
126
 
-
 
127
        jmp     wait_for_servercommand
-
 
128
 
-
 
129
 
-
 
130
 
-
 
131
; esi   = source ptr
-
 
132
; edi   = dest ptr
-
 
133
; ecx   = max length of source buffer
-
 
134
set_filename:
-
 
135
 
-
 
136
  .loop:
-
 
137
        lodsb
-
 
138
        test    al, al