Rev 339 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 339 | Rev 485 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
37 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 38... | Line 38... | ||
38 | 38 | ||
39 | macro eth.get_IP IP { |
39 | macro eth.get_IP IP { |
40 | mov ebx,1 |
40 | mov ebx,1 |
41 | mov eax,52 |
41 | mov eax,52 |
Line 42... | Line 42... | ||
42 | int 0x40 |
42 | mcall |
43 | 43 | ||
Line 44... | Line 44... | ||
44 | mov IP ,eax |
44 | mov IP ,eax |
45 | } |
45 | } |
46 | 46 | ||
47 | macro eth.get_GATEWAY GATEWAY { |
47 | macro eth.get_GATEWAY GATEWAY { |
48 | mov ebx,9 |
48 | mov ebx,9 |
49 | mov eax,52 |
49 | mov eax,52 |
Line 50... | Line 50... | ||
50 | int 0x40 |
50 | mcall |
51 | mov GATEWAY ,eax |
51 | mov GATEWAY ,eax |
52 | } |
52 | } |
53 | 53 | ||
54 | macro eth.get_SUBNET SUBNET { |
54 | macro eth.get_SUBNET SUBNET { |
55 | mov ebx,10 |
55 | mov ebx,10 |
Line 56... | Line 56... | ||
56 | mov eax,52 |
56 | mov eax,52 |
57 | int 0x40 |
57 | mcall |
58 | mov SUBNET ,eax |
58 | mov SUBNET ,eax |
59 | } |
59 | } |
60 | 60 | ||
61 | macro eth.get_DNS DNS { |
61 | macro eth.get_DNS DNS { |
Line 62... | Line 62... | ||
62 | mov ebx,13 |
62 | mov ebx,13 |
63 | mov eax,52 |
63 | mov eax,52 |
64 | int 0x40 |
64 | mcall |
65 | mov DNS ,eax |
65 | mov DNS ,eax |
66 | } |
66 | } |
67 | 67 | ||
Line 68... | Line 68... | ||
68 | macro eth.set_IP IP { |
68 | macro eth.set_IP IP { |
69 | mov ecx,IP |
69 | mov ecx,IP |
70 | mov ebx,3 |
70 | mov ebx,3 |
71 | mov eax,52 |
71 | mov eax,52 |
72 | int 0x40 |
72 | mcall |
73 | } |
73 | } |
Line 74... | Line 74... | ||
74 | 74 | ||
75 | macro eth.set_GATEWAY GATEWAY { |
75 | macro eth.set_GATEWAY GATEWAY { |
76 | mov ecx,GATEWAY |
76 | mov ecx,GATEWAY |
77 | mov ebx,11 |
77 | mov ebx,11 |
78 | mov eax,52 |
78 | mov eax,52 |
79 | int 0x40 |
79 | mcall |
Line 80... | Line 80... | ||
80 | } |
80 | } |
81 | 81 | ||
82 | macro eth.set_SUBNET SUBNET { |
82 | macro eth.set_SUBNET SUBNET { |
83 | mov ecx,SUBNET |
83 | mov ecx,SUBNET |
84 | mov ebx,12 |
84 | mov ebx,12 |
85 | mov eax,52 |
85 | mov eax,52 |
Line 86... | Line 86... | ||
86 | int 0x40 |
86 | mcall |
87 | } |
87 | } |
88 | 88 | ||
89 | macro eth.set_DNS DNS { |
89 | macro eth.set_DNS DNS { |
90 | mov ecx,DNS |
90 | mov ecx,DNS |
91 | mov ebx,14 |
91 | mov ebx,14 |
Line 92... | Line 92... | ||
92 | mov eax,52 |
92 | mov eax,52 |
93 | int 0x40 |
93 | mcall |
94 | } |
94 | } |
95 | 95 | ||
96 | macro eth.set_network_drv conf { |
96 | macro eth.set_network_drv conf { |
97 | mov ecx,conf |
97 | mov ecx,conf |
98 | mov ebx,2 |
98 | mov ebx,2 |
Line 99... | Line 99... | ||
99 | mov eax,52 |
99 | mov eax,52 |
100 | int 0x40 |
100 | mcall |
Line 101... | Line 101... | ||
101 | } |
101 | } |
102 | 102 | ||
103 | macro eth.open_udp local,remote,ip,socket { |
103 | macro eth.open_udp local,remote,ip,socket { |
104 | mov ecx, local |
104 | mov ecx, local |
105 | mov edx, remote |
105 | mov edx, remote |
106 | mov esi, ip |
106 | mov esi, ip |
Line 107... | Line 107... | ||
107 | mov ebx, 0 |
107 | mov ebx, 0 |
108 | mov eax, 53 |
108 | mov eax, 53 |
109 | int 0x40 |
109 | mcall |
110 | 110 | ||
111 | mov socket,eax |
111 | mov socket,eax |
112 | } |
112 | } |
Line 113... | Line 113... | ||
113 | 113 | ||
114 | macro eth.close_udp socket { |
114 | macro eth.close_udp socket { |
115 | mov ecx, socket |
115 | mov ecx, socket |
116 | mov ebx, 1 |
116 | mov ebx, 1 |
117 | mov eax, 53 |
117 | mov eax, 53 |
Line 118... | Line 118... | ||
118 | int 0x40 |
118 | mcall |
119 | } |
119 | } |
Line 120... | Line 120... | ||
120 | 120 | ||
121 | macro eth.poll socket { |
121 | macro eth.poll socket { |
122 | mov ecx, socket |
122 | mov ecx, socket |
123 | mov ebx, 2 |
123 | mov ebx, 2 |
124 | mov eax, 53 |
124 | mov eax, 53 |
125 | int 0x40 |
125 | mcall |
126 | } |
126 | } |
127 | 127 | ||
Line 128... | Line 128... | ||
128 | macro eth.read_byte socket, result { |
128 | macro eth.read_byte socket, result { |
129 | mov ecx, socket |
129 | mov ecx, socket |
130 | mov ebx, 3 |
130 | mov ebx, 3 |
131 | mov eax, 53 |
131 | mov eax, 53 |
132 | int 0x40 |
132 | mcall |
133 | 133 | ||
134 | mov result,bl |
134 | mov result,bl |
Line 135... | Line 135... | ||
135 | } |
135 | } |
136 | 136 | ||
137 | macro eth.read_packet socket, result, buffersize { |
137 | macro eth.read_packet socket, result, buffersize { |
Line 163... | Line 163... | ||
163 | ret |
163 | ret |
164 | @@: |
164 | @@: |
165 | pusha |
165 | pusha |
166 | mov eax,5 |
166 | mov eax,5 |
167 | mov ebx,100 |
167 | mov ebx,100 |
168 | int 0x40 |
168 | mcall |
169 | popa |
169 | popa |
170 | int 0x40 |
170 | mcall |
171 | ret |
171 | ret |
Line 172... | Line 172... | ||
172 | 172 | ||
Line 173... | Line 173... | ||
173 | macro eth.open_tcp local,remote,ip,passive,socket { |
173 | macro eth.open_tcp local,remote,ip,passive,socket { |
174 | 174 | ||
175 | mov ecx, local |
175 | mov ecx, local |
176 | mov edx, remote |
176 | mov edx, remote |
177 | mov esi, ip |
177 | mov esi, ip |
178 | mov edi, passive ; 0 = PASSIVE open |
178 | mov edi, passive ; 0 = PASSIVE open |
179 | mov ebx, 5 |
179 | mov ebx, 5 |
Line 180... | Line 180... | ||
180 | mov eax, 53 |
180 | mov eax, 53 |
181 | int 0x40 |
181 | mcall |
Line 182... | Line 182... | ||
182 | 182 | ||
183 | mov socket,eax |
183 | mov socket,eax |
184 | } |
184 | } |
185 | 185 | ||
186 | macro eth.socket_status socket,result { |
186 | macro eth.socket_status socket,result { |
Line 187... | Line 187... | ||
187 | mov ecx, socket |
187 | mov ecx, socket |
188 | mov ebx, 6 |
188 | mov ebx, 6 |
Line 189... | Line 189... | ||
189 | mov eax, 53 |
189 | mov eax, 53 |
190 | int 0x40 |
190 | mcall |
191 | 191 | ||
192 | mov result,eax |
192 | mov result,eax |
193 | } |
193 | } |
194 | 194 | ||
195 | macro eth.write_tcp socket,length,msg,verify { |
195 | macro eth.write_tcp socket,length,msg,verify { |
Line 196... | Line 196... | ||
196 | mov ecx, socket |
196 | mov ecx, socket |
197 | mov edx, length |
197 | mov edx, length |
198 | mov esi, msg |
198 | mov esi, msg |
199 | mov ebx, 7 |
199 | mov ebx, 7 |
Line 208... | Line 208... | ||
208 | macro eth.read_mac mac { |
208 | macro eth.read_mac mac { |
209 | mov eax, 52 |
209 | mov eax, 52 |
210 | mov ebx, 15 |
210 | mov ebx, 15 |
211 | xor ecx, ecx |
211 | xor ecx, ecx |
212 | pusha |
212 | pusha |
213 | int 0x40 |
213 | mcall |
214 | mov dword[mac],eax |
214 | mov dword[mac],eax |
215 | popa |
215 | popa |
216 | add cl, 4 |
216 | add cl, 4 |
217 | int 0x40 |
217 | mcall |
218 | mov word[mac+4],ax |
218 | mov word[mac+4],ax |
Line 219... | Line 219... | ||
219 | 219 | ||
Line 220... | Line 220... | ||
220 | } |
220 | } |
221 | 221 | ||
222 | macro eth.close_tcp socket { |
222 | macro eth.close_tcp socket { |
223 | mov ecx, socket |
223 | mov ecx, socket |
224 | mov ebx, 8 |
224 | mov ebx, 8 |
225 | mov eax, 53 |
225 | mov eax, 53 |
Line 226... | Line 226... | ||
226 | int 0x40 |
226 | mcall |
227 | } |
227 | } |
228 | 228 | ||
229 | macro eth.check_port port,result { |
229 | macro eth.check_port port,result { |
230 | mov ecx, port |
230 | mov ecx, port |
Line 231... | Line 231... | ||
231 | mov ebx, 9 |
231 | mov ebx, 9 |
232 | mov eax, 53 |
232 | mov eax, 53 |
Line 233... | Line 233... | ||
233 | int 0x40 |
233 | mcall |
234 | 234 | ||
235 | mov result,eax |
235 | mov result,eax |
236 | } |
236 | } |
Line 237... | Line 237... | ||
237 | 237 | ||
238 | macro eth.check_cable result { |
238 | macro eth.check_cable result { |
Line 239... | Line 239... | ||
239 | mov ebx, 10 |
239 | mov ebx, 10 |
240 | mov eax, 53 |
240 | mov eax, 53 |
241 | int 0x40 |
241 | mcall |
242 | 242 | ||
243 | mov result,eax |
243 | mov result,eax |
Line 244... | Line 244... | ||
244 | } |
244 | } |
245 | 245 | ||
Line 246... | Line 246... | ||
246 | macro eth.status status { |
246 | macro eth.status status { |
Line 266... | Line 266... | ||
266 | 266 | ||
267 | mov edx,address |
267 | mov edx,address |
268 | mov eax,52 |
268 | mov eax,52 |
269 | mov ebx,16 |
269 | mov ebx,16 |
270 | xor ecx,ecx |
270 | xor ecx,ecx |
Line 271... | Line 271... | ||
271 | int 0x40 |
271 | mcall |
Line 272... | Line 272... | ||
272 | 272 | ||
Line 278... | Line 278... | ||
278 | mov edx,address |
278 | mov edx,address |
279 | mov eax,52 |
279 | mov eax,52 |
280 | mov ebx,16 |
280 | mov ebx,16 |
281 | xor ecx,ecx |
281 | xor ecx,ecx |
282 | inc ecx |
282 | inc ecx |
283 | int 0x40 |
283 | mcall |
Line 284... | Line 284... | ||
284 | 284 | ||
Line 285... | Line 285... | ||
285 | } |
285 | } |
286 | 286 | ||
Line 306... | Line 306... | ||
306 | test eax, eax |
306 | test eax, eax |
307 | jnz .getdata |
307 | jnz .getdata |
Line 308... | Line 308... | ||
308 | 308 | ||
309 | mov eax,5 |
309 | mov eax,5 |
310 | mov ebx,1 |
310 | mov ebx,1 |
Line 311... | Line 311... | ||
311 | int 0x40 |
311 | mcall |
312 | 312 | ||
313 | inc edx |
313 | inc edx |
Line 329... | Line 329... | ||
329 | dec edx |
329 | dec edx |
330 | jz abort |
330 | jz abort |
Line 331... | Line 331... | ||
331 | 331 | ||
332 | mov eax,5 ; wait here for event |
332 | mov eax,5 ; wait here for event |
333 | mov ebx,10 |
333 | mov ebx,10 |
Line 334... | Line 334... | ||
334 | int 0x40 |
334 | mcall |
335 | 335 | ||
Line 336... | Line 336... | ||
336 | jmp @r |
336 | jmp @r |