Subversion Repositories Kolibri OS

Rev

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]