Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2554 hidnplayr 1
 
2
 
3
 
4
        mov     eax, [esi]
5
        and     eax, not 0x20202020     ; convert to upper case
6
 
7
        mov     edi, commands           ; list of commands to scan
8
  .scanloop:
9
        cmp     eax, [edi]
10
        jb      .error
11
        jl      .try_next
12
13
        jmp     dword [edi+4]
14
15
 
16
        add     edi, 8
17
 
18
        jne     .scanloop
19
20
  .error:
21
        ret
22
 
23
24
align 4
25
 
26
 
27
        db 'ABOR'
28
        dd cmdABOR
29
 
30
        db 'CWD', 0
31
        dd cmdCWD
32
 
33
        db 'DELE'
34
        dd cmdDELE
35
 
36
        db 'LIST'
37
        dd cmdLIST
38
 
39
        db 'NLST'
40
        dd cmdNLST
41
 
42
        db 'NOOP'
43
        dd cmdNOOP
44
 
45
        db 'PWD', 0
46
        dd cmdPWD
47
 
48
        db 'PORT'
49
        dd cmdPORT
50
 
51
        db 'QUIT'
52
        dd cmdQUIT
53
 
54
        db 'RETR'
55
        dd cmdRETR
56
 
57
        db 'STOR'
58
        dd cmdSTOR
59
 
60
        db 'SYST'
61
        dd cmdSYST
62
 
63
        db 'TYPE'
64
        dd cmdTYPE
65
 
66
        db 'USER'
67
        dd cmdUSER
68
 
69
        db 'XPWD'
70
        dd cmdPWD
71
 
72
        db 0                    ; end marker
73
74
 
75
align 4
76
 
77
 
78
        ret
79
80
 
81
cmdCWD:
82
 
83
        ret
84
85
 
86
cmdDELE:
87
 
88
        ret
89
90
 
91
cmdLIST:
92
 
93
        ret
94
95
 
96
cmdNLST:
97
 
98
        ret
99
100
 
101
cmdNOOP:
102
 
103
        ret
104
105
 
106
cmdPWD:
107
 
108
        ret
109
110
 
111
cmdPORT:
112
 
113
        ret
114
115
 
116
cmdQUIT:
117
 
118
        ret
119
120
 
121
cmdRETR:
122
 
123
        ret
124
125
 
126
cmdSTOR:
127
 
128
        ret
129
130
 
131
cmdSYST:
132
 
133
        ret
134
135
 
136
cmdTYPE:
137
 
138
        ret
139
140
 
141
cmdUSER:
142
 
143
        ret
144
145
 
146
147
 
148
 
149
 
150
str220  db '220 KolibriOS FTP Daemon 1.0', 13, 10
151
.length = $ - str220
152
str221  db '221 Bye!', 13, 10
153
str225  db '225 Abort successful', 13, 10
154
str226  db '226 Transfer OK, Closing connection', 13, 10
155
str230  db '230 You are now logged in.', 13, 10
156
str250  db '250 command successful', 13, 10
157
str257  db '257 ""', 13, 10
158
str331  db '331 Please specify the password.', 13, 10
159
str500  db '500 Unsupported command', 13, 10
160
str550  db '550 No such file', 13, 10
161