Rev 4467 | Rev 4627 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4467 | Rev 4470 | ||
---|---|---|---|
Line 190... | Line 190... | ||
190 | 190 | ||
191 | align 4 |
191 | align 4 |
Line 192... | Line 192... | ||
192 | proc service_proc stdcall, ioctl:dword |
192 | proc service_proc stdcall, ioctl:dword |
193 | 193 | ||
Line 194... | Line 194... | ||
194 | mov edx, [ioctl] |
194 | mov edx, [ioctl] |
195 | mov eax, [IOCTL.io_code] |
195 | mov eax, [edx + IOCTL.io_code] |
196 | 196 | ||
197 | ;------------------------------------------------------ |
197 | ;------------------------------------------------------ |
Line 198... | Line 198... | ||
198 | ;--------------- |
198 | ;--------------- |
199 | cmp eax, 0 ;SRV_GETVERSION |
199 | cmp eax, 0 ;SRV_GETVERSION |
200 | jne @F ;--------------- |
200 | jne @F ;--------------- |
201 | 201 | ||
Line 202... | Line 202... | ||
202 | cmp [IOCTL.out_size], 4 |
202 | cmp [edx + IOCTL.out_size], 4 |
203 | jb .fail |
203 | jb .fail |
Line 212... | Line 212... | ||
212 | cmp eax, 1 ;SRV_HOOK |
212 | cmp eax, 1 ;SRV_HOOK |
213 | jne @F ;--------- |
213 | jne @F ;--------- |
Line 214... | Line 214... | ||
214 | 214 | ||
Line 215... | Line 215... | ||
215 | DEBUGF 1, "Checking if device is already listed..\n" |
215 | DEBUGF 1, "Checking if device is already listed..\n" |
Line 216... | Line 216... | ||
216 | 216 | ||
217 | mov eax, [IOCTL.input] |
217 | mov eax, [edx + IOCTL.input] |
218 | 218 | ||
219 | cmp [IOCTL.inp_size], 3 |
219 | cmp [edx + IOCTL.inp_size], 3 |
Line 220... | Line 220... | ||
220 | jb .fail |
220 | jb .fail |
221 | cmp byte [eax], 1 |
221 | cmp byte [eax], 1 |
222 | je .pci |
222 | je .pci |
223 | 223 | ||
Line 224... | Line 224... | ||
224 | cmp [IOCTL.inp_size], 4 |
224 | cmp [edx + IOCTL.inp_size], 4 |
Line 249... | Line 249... | ||
249 | loop .nextdevice |
249 | loop .nextdevice |
Line 250... | Line 250... | ||
250 | 250 | ||
251 | .firstdevice_pci: |
251 | .firstdevice_pci: |
Line 252... | Line 252... | ||
252 | call create_new_struct |
252 | call create_new_struct |
253 | 253 | ||
254 | mov eax, [IOCTL.input] |
254 | mov eax, [edx + IOCTL.input] |
255 | movzx ecx, byte[eax+1] |
255 | movzx ecx, byte[eax+1] |
256 | mov [device.pci_bus], ecx |
256 | mov [device.pci_bus], ecx |
Line 288... | Line 288... | ||
288 | 288 | ||
289 | 289 | ||
Line 290... | Line 290... | ||
290 | .firstdevice_isa: |
290 | .firstdevice_isa: |
291 | call create_new_struct |
291 | call create_new_struct |
292 | 292 | ||
293 | mov eax, [IOCTL.input] |
293 | mov eax, [edx + IOCTL.input] |
294 | movzx ecx, word [eax+1] |
294 | movzx ecx, word [eax+1] |