forked from KolibriOS/kolibrios
a5c7901579
git-svn-id: svn://kolibrios.org@573 a494cfbc-eb01-0410-851d-a64ba20cac60
64 lines
1.5 KiB
NASM
64 lines
1.5 KiB
NASM
format MS COFF
|
|
|
|
include "snd.inc"
|
|
include "proc32.inc"
|
|
|
|
section '.text' align 16 code readable executable
|
|
|
|
public _GetBufferSize@8
|
|
public _GetBufferFree@8
|
|
|
|
extrn hSound
|
|
|
|
align 4
|
|
_GetBufferSize@8: ;str:dword, p_size:dword
|
|
|
|
push ebx
|
|
push ecx
|
|
|
|
lea eax, [esp+16]
|
|
lea ebx, [esp+12] ;[stream]
|
|
|
|
push 4 ;.out_size
|
|
push eax ;.output
|
|
push 4 ;.inp_size
|
|
push ebx ;.input
|
|
push SND_GETBUFFSIZE;.code
|
|
push dword [hSound] ;.handle
|
|
|
|
mov eax, 68
|
|
mov ebx, 17
|
|
mov ecx, esp
|
|
int 0x40
|
|
add esp, 24
|
|
pop ecx
|
|
pop ebx
|
|
ret 8
|
|
|
|
align 4
|
|
_GetBufferFree@8: ;str:dword, p_free:dword
|
|
push ebx
|
|
push ecx
|
|
|
|
lea ebx, [esp+12] ;[stream]
|
|
push 0 ;storage for free_space
|
|
mov eax, esp
|
|
|
|
push 4 ;.out_size
|
|
push eax ;.output
|
|
push 4 ;.inp_size
|
|
push ebx ;.input
|
|
push SND_GETFREESPACE ;.code
|
|
push dword [hSound] ;.handle
|
|
|
|
mov eax, 68
|
|
mov ebx, 17
|
|
mov ecx, esp
|
|
int 0x40
|
|
add esp, 24
|
|
mov ecx, [esp+20] ; p_free
|
|
pop dword [ecx]
|
|
pop ecx
|
|
pop ebx
|
|
ret 8
|