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
