Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 664 → Rev 665

/kernel/trunk/core/syscall.inc
213,6 → 213,7
dd sys_debug_services ; 69-Debug
dd file_system_lfn ; 70-Common file system interface, version 2
dd syscall_windowsettings ; 71-Window settings
dd sys_sendwindowmsg ; 72-Send window message
 
times 255 - ( ($-servetable) /4 ) dd undefined_syscall
 
/kernel/trunk/docs/sysfuncr.txt
2198,14 → 2198,15
* eax = 47 - ­®¬¥à ä㭪樨
* ebx = ¯ à ¬¥âàë ¯à¥®¡à §®¢ ­¨ï ç¨á«  ¢ ⥪áâ:
* bl = 0 - ecx ᮤ¥à¦¨â ç¨á«®
* bl = 1 - ecx ᮤ¥à¦¨â 㪠§ â¥«ì ­  dword-ç¨á«®, «¨¡® qword-ç¨á«®
* bl = 1 - ecx ᮤ¥à¦¨â 㪠§ â¥«ì ­  dword/qword-ç¨á«®
* bh = 0 - ®â®¡à ¦ âì ¢ ¤¥áïâ¨ç­®© á¨á⥬¥ áç¨á«¥­¨ï
* bh = 1 - ®â®¡à ¦ âì ¢ è¥áâ­ ¤æ â¥à¨ç­®© á¨á⥬¥
* bh = 2 - ®â®¡à ¦ âì ¢ ¤¢®¨ç­®© á¨á⥬¥
* ¡¨âë 16-21 = ᪮«ìª® æ¨äà ®â®¡à ¦ âì
* ¡¨âë 22-29 § à¥§¥à¢¨à®¢ ­ë ¨ ¤®«¦­ë ¡ëâì ãáâ ­®¢«¥­ë ¢ 0
* ¡¨â 30 - ãáâ ­®¢«¥­ ¢ 1, ¥á«¨ âॡã¥âáï ¢ë¢®¤ qword (64-¡¨â­®£®) ç¨á« 
* ¡¨â 31 - ãáâ ­®¢«¥­ ¢ 1, ¥á«¨ âॡã¥âáï ¢ë¢®¤ ç¨á«  ¡¥§ ¯ãáâëå ­ã«¥© ¢ áâ àè¨å à §à鸞å
* ¡¨â 30 ãáâ ­®¢«¥­ = ¢ë¢®¤¨âì qword (64-¡¨â­®¥ ç¨á«®);
¯à¨ í⮬ ¤®«¦­® ¡ëâì bl = 1
* ¡¨â 31 ãáâ ­®¢«¥­ = ­¥ ¢ë¢®¤¨âì ¢¥¤ã騥 ­ã«¨ ç¨á« 
* ecx = ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ â¥«ì (¯à¨ bl=1)
* edx = [ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ¯® ®á¨ y]
* esi = 0xX0RRGGBB:
4593,6 → 4594,20
* —⮡ë ã¡à âì § £®«®¢®ª, ¯¥à¥¤ ©â¥ NULL ¢ ecx.
 
======================================================================
================ ”ã­ªæ¨ï 72 - ¯®á« âì á®®¡é¥­¨¥ ®ª­ã. ================
======================================================================
 
--- ®¤äã­ªæ¨ï 1 - ¯®á« âì á®®¡é¥­¨¥ á ¯ à ¬¥â஬  ªâ¨¢­®¬ã ®ª­ã. ----
 à ¬¥âàë:
* eax = 72 - ­®¬¥à ä㭪樨
* ebx = 1 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ª®¤ ᮡëâ¨ï: 2 ¨«¨ 3
* edx = ª®¤ ª« ¢¨è¨ ¤«ï ecx=2, ¨¤¥­â¨ä¨ª â®à ª­®¯ª¨ ¤«ï ecx=3
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0 - ãᯥ譮
* eax = 1 - ¡ãä¥à § ¯®«­¥­
 
======================================================================
========== ”ã­ªæ¨ï -1 - § ¢¥àè¨âì ¢ë¯®«­¥­¨¥ ¯®â®ª /¯à®æ¥áá  =========
======================================================================
 à ¬¥âàë:
/kernel/trunk/docs/sysfuncs.txt
2169,14 → 2169,14
* eax = 47 - function number
* ebx = parameters of conversion number to text:
* bl = 0 - ecx contains number
* bl = 1 - ecx contains pointer to dword-number, or qword-number
* bl = 1 - ecx contains pointer to dword/qword-number
* bh = 0 - display in decimal number system
* bh = 1 - display in hexadecimal system
* bh = 2 - display in binary system
* bits 16-21 = how many digits to display
* bits 22-29 reserved and must be set to 0
* bit 30 - set in 1, if the output of qword (64-bites) number
* bit 31 - set in 1, if the output of number without empty zero in high bits is required
* bit 30 set = display qword (64-bit) number (must be bl=1)
* bit 31 set = do not display leading zeroes of the number
* ecx = number (if bl=0) or pointer (if bl=1)
* edx = [coordinate on axis x]*65536 + [coordinate on axis y]
* esi = 0xX0RRGGBB:
4548,6 → 4548,20
* Pass NULL in ecx to remove caption.
 
======================================================================
=============== Function 72 - send message to a window. ==============
======================================================================
 
- Subfunction 1 - send message with parameter to the active window. --
Parameters:
* eax = 72 - function number
* ebx = 1 - subfunction number
* ecx = event code: 2 or 3
* edx = parameter: key code for ecx=2, button identifier for ecx=3
Returned value:
* eax = 0 - success
* eax = 1 - buffer is full
 
======================================================================
=============== Function -1 - terminate thread/process ===============
======================================================================
Parameters:
/kernel/trunk/gui/event.inc
493,6 → 493,40
mov [esp+36], eax
ret
 
sys_sendwindowmsg:
dec eax
jnz .ret
cmp ebx, 3
jz .sendbtn
cmp ebx, 2
jnz .ret
.sendkey:
pushf
cli
movzx eax, byte [KEY_COUNT]
cmp al, 120
jae .overflow
inc eax
mov [KEY_COUNT], al
mov [KEY_COUNT+eax], cl
jmp .ok
.overflow:
popf
mov dword [esp+36], 1
ret
.sendbtn:
pushf
cli
cmp byte [BTN_COUNT], 0
jnz .overflow
mov byte [BTN_COUNT], 1
mov [BTN_BUFF], ecx
.ok:
popf
and dword [esp+36], 0
.ret:
ret
 
get_event_for_app:
 
pushad
/kernel/trunk/kernel.asm
1454,7 → 1454,8
jne .continue
dec eax
cmp eax,1
jne @r
ja @r
mov al,1
.continue:
and eax,0x3f
ret