Rev 4467 | Rev 5045 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4467 | Rev 4470 | ||
---|---|---|---|
Line 265... | Line 265... | ||
265 | 265 | ||
266 | align 4 |
266 | align 4 |
Line 267... | Line 267... | ||
267 | proc service_proc stdcall, ioctl:dword |
267 | proc service_proc stdcall, ioctl:dword |
268 | 268 | ||
Line 269... | Line 269... | ||
269 | mov edx, [ioctl] |
269 | mov edx, [ioctl] |
Line 270... | Line 270... | ||
270 | mov eax, [IOCTL.io_code] |
270 | mov eax, [edx + IOCTL.io_code] |
271 | 271 | ||
Line 272... | Line 272... | ||
272 | ;------------------------------------------------------ |
272 | ;------------------------------------------------------ |
273 | 273 | ||
274 | cmp eax, 0 ;SRV_GETVERSION |
274 | cmp eax, 0 ;SRV_GETVERSION |
275 | jne @F |
275 | jne @F |
Line 276... | Line 276... | ||
276 | 276 | ||
277 | cmp [IOCTL.out_size], 4 |
277 | cmp [edx + IOCTL.out_size], 4 |
Line 278... | Line 278... | ||
278 | jb .fail |
278 | jb .fail |
279 | mov eax, [IOCTL.output] |
279 | mov eax, [edx + IOCTL.output] |
280 | mov [eax], dword API_VERSION |
280 | mov [eax], dword API_VERSION |
281 | 281 | ||
Line 282... | Line 282... | ||
282 | xor eax, eax |
282 | xor eax, eax |
283 | ret |
283 | ret |
Line 284... | Line 284... | ||
284 | 284 | ||
285 | ;------------------------------------------------------ |
285 | ;------------------------------------------------------ |
286 | @@: |
286 | @@: |
Line 287... | Line 287... | ||
287 | cmp eax, 1 ;SRV_HOOK |
287 | cmp eax, 1 ;SRV_HOOK |
Line 327... | Line 327... | ||
327 | mov [device.unload], unload |
327 | mov [device.unload], unload |
328 | mov [device.name], my_service |
328 | mov [device.name], my_service |
Line 329... | Line 329... | ||
329 | 329 | ||
Line 330... | Line 330... | ||
330 | ; save the pci bus and device numbers |
330 | ; save the pci bus and device numbers |
331 | 331 | ||
332 | mov eax, [IOCTL.input] |
332 | mov eax, [edx + IOCTL.input] |
333 | movzx ecx, byte[eax+1] |
333 | movzx ecx, byte[eax+1] |
334 | mov [device.pci_bus], ecx |
334 | mov [device.pci_bus], ecx |