Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3764 → Rev 3765

/kernel/trunk/drivers/sound.asm
149,10 → 149,27
public service_proc
public version
 
struct SRV
srv_name rb 16 ;ASCIIZ string
magic dd ? ;+0x10 ;'SRV '
size dd ? ;+0x14 ;size of structure SRV
fd dd ? ;+0x18 ;next SRV descriptor
bk dd ? ;+0x1C ;prev SRV descriptor
base dd ? ;+0x20 ;service base address
entry dd ? ;+0x24 ;service START function
srv_proc dd ? ;+0x28 ;user mode service handler
srv_proc_ex dd ? ;+0x2C ;kernel mode service handler
ends
 
 
section '.flat' code readable align 16
 
proc START stdcall, state:dword
 
mov eax, [srv_entry]
test eax, eax
jnz .done
 
cmp [state], 1
jne .stop
 
164,6 → 181,8
call detect_controller
ret
.stop:
jmp eax
.done:
xor eax, eax
ret
endp
237,7 → 256,11
end if
 
stdcall GetService, dword[edi+4]
test eax, eax
jz .err
 
mov edx, [eax+SRV.entry]
mov [srv_entry], edx
ret
 
.err:
377,6 → 400,8
 
version dd (5 shl 16) or (API_VERSION and 0xFFFF)
 
srv_entry dd 0
 
intelac97 db 'INTELAC97', 0
vt823x db 'VT823X', 0
sis db 'SIS', 0