Subversion Repositories Kolibri OS

Rev

Rev 2983 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2983 Rev 3155
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                                 ;;
2
;;                                                                 ;;
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved.    ;;
3
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved.    ;;
4
;; Distributed under terms of the GNU General Public License       ;;
4
;; Distributed under terms of the GNU General Public License       ;;
5
;;                                                                 ;;
5
;;                                                                 ;;
6
;; i8255x (Intel eepro 100) driver for KolibriOS                   ;;
6
;; i8255x (Intel eepro 100) driver for KolibriOS                   ;;
7
;;                                                                 ;;
7
;;                                                                 ;;
8
;;    Written by hidnplayr@kolibrios.org                           ;;
8
;;    Written by hidnplayr@kolibrios.org                           ;;
Line 215... Line 215...
215
 
215
 
216
        cmp     eax, 0 ;SRV_GETVERSION
216
        cmp     eax, 0 ;SRV_GETVERSION
Line 217... Line 217...
217
        jne     @F
217
        jne     @F
218
 
218
 
219
        cmp     [IOCTL.out_size], 4
219
        cmp     [IOCTL.out_size], 4
220
        jl      .fail
220
        jb      .fail
Line 221... Line 221...
221
        mov     eax, [IOCTL.output]
221
        mov     eax, [IOCTL.output]
222
        mov     [eax], dword API_VERSION
222
        mov     [eax], dword API_VERSION
Line 228... Line 228...
228
  @@:
228
  @@:
229
        cmp     eax, 1 ;SRV_HOOK
229
        cmp     eax, 1 ;SRV_HOOK
230
        jne     .fail
230
        jne     .fail
Line 231... Line 231...
231
 
231
 
232
        cmp     [IOCTL.inp_size], 3               ; Data input must be at least 3 bytes
232
        cmp     [IOCTL.inp_size], 3               ; Data input must be at least 3 bytes
Line 233... Line 233...
233
        jl      .fail
233
        jb      .fail
234
 
234
 
235
        mov     eax, [IOCTL.input]
235
        mov     eax, [IOCTL.input]
Line 592... Line 592...
592
        [eax+00]:2,[eax+01]:2,[eax+02]:2,[eax+03]:2,[eax+04]:2,[eax+05]:2,\
592
        [eax+00]:2,[eax+01]:2,[eax+02]:2,[eax+03]:2,[eax+04]:2,[eax+05]:2,\
593
        [eax+06]:2,[eax+07]:2,[eax+08]:2,[eax+09]:2,[eax+10]:2,[eax+11]:2,\
593
        [eax+06]:2,[eax+07]:2,[eax+08]:2,[eax+09]:2,[eax+10]:2,[eax+11]:2,\
594
        [eax+13]:2,[eax+12]:2
594
        [eax+13]:2,[eax+12]:2
Line 595... Line 595...
595
 
595
 
596
        cmp     dword [esp+8], 1500
596
        cmp     dword [esp+8], 1500
597
        jg      .error                          ; packet is too long
597
        ja      .error                          ; packet is too long
598
        cmp     dword [esp+8], 60
598
        cmp     dword [esp+8], 60
Line 599... Line 599...
599
        jl      .error                          ; packet is too short
599
        jb      .error                          ; packet is too short
600
 
600
 
601
        set_io  0
601
        set_io  0
602
        in      ax, dx
602
        in      ax, dx