Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. format MS COFF
  2.  
  3. include "snd.inc"
  4. include "proc32.inc"
  5.  
  6. section '.text' align 16 code readable executable
  7.  
  8. public _GetMasterVol@4
  9.  
  10. extrn hrdwSound  
  11.  
  12. align 4
  13. proc _GetMasterVol@4 stdcall, pvol:dword
  14.            locals
  15.              handle     dd ?
  16.              io_code    dd ?
  17.              input      dd ?
  18.              inp_size   dd ?
  19.              output     dd ?
  20.              out_size   dd ?
  21.            endl
  22.            
  23.            push ebx
  24.            push ecx
  25.            mov eax, [hrdwSound]
  26.            mov ecx, [pvol]
  27.            xor ebx, ebx
  28.            mov [handle], eax
  29.            mov [io_code], DEV_GET_MASTERVOL
  30.            mov [input], ebx
  31.            mov [inp_size], ebx
  32.            mov [output], ecx
  33.            mov [out_size], 4
  34.  
  35.            mov eax, 68
  36.            mov ebx, 17
  37.            lea ecx, [handle]
  38.            int 0x40
  39.            pop ecx
  40.            pop ebx
  41.            ret
  42. endp
  43.  
  44. if 0
  45. align 4
  46. proc _GetDevInfo@8 stdcall, hSrv:dword, p_info:dword
  47.            locals
  48.              handle     dd ?
  49.              io_code    dd ?
  50.              input      dd ?
  51.              inp_size   dd ?
  52.              output     dd ?
  53.              out_size   dd ?
  54.            endl
  55.            
  56.            push ebx
  57.            mov eax, [hSrv]
  58.            xor ebx, ebx
  59.            mov ecx, [p_info]
  60.  
  61.            mov [handle], eax
  62.            mov [io_code], DEV_GET_INFO
  63.            mov [input], ebx
  64.            mov [inp_size], ebx
  65.            mov [output], ecx
  66.            mov [out_size], CTRL_INFO_SIZE
  67.  
  68.            lea eax, [handle]
  69.            stdcall CallServiceEx, eax
  70.            pop ebx
  71.            ret
  72. endp
  73.  
  74. end if