/kernel/trunk/docs/sysfuncr.txt |
---|
1022,6 → 1022,37 |
(§ १¥à¢¨à®¢ ®) |
====================================================================== |
====================== ãªæ¨ï 18, ¯®¤äãªæ¨ï 21 ===================== |
==== ®«ãç¨âì ®¬¥à ᫮⠯à®æ¥áá /¯®â®ª ¯® ¥£® ¨¤¥â¨ä¨ª â®àã ===== |
====================================================================== |
à ¬¥âàë: |
* eax = 18 - ®¬¥à äãªæ¨¨ |
* ebx = 21 - ®¬¥à ¯®¤äãªæ¨¨ |
* ecx = PID/TID (¨¤¥â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª ) |
®§¢à é ¥¬®¥ § 票¥: |
* eax = ®¬¥à ᫮⠯®â®ª ¥á«¨ ® áãé¥áâ¢ã¥â ¨«¨ 0, ¥á«¨ PID/TID |
«®¦ë©. |
====================================================================== |
====================== ãªæ¨ï 18, ¯®¤äãªæ¨ï 22 ===================== |
=========== ¨¨¬¨§ æ¨ï/¢®ááâ ®¢«¥¨¥ ®ª ¯à®æ¥áá /¯®â®ª ========== |
====================================================================== |
à ¬¥âàë: |
* eax = 18 - ®¬¥à äãªæ¨¨ |
* ebx = 22 - ®¬¥à ¯®¤äãªæ¨¨ |
* ecx = ¨¯ ®¯¥à 樨 |
0 - ¬¨¨¬¨§ æ¨ï ®ª (᢮à 稢 ¨¥ ¯ ¥«ì) ¯® ®¬¥àã |
᫮⠯®â®ª |
1 - ¬¨¨¬¨§ æ¨ï ®ª ¯® ¨¤¥â¨ä¨ª â®àã PID/TID |
2 - ®ááâ ®¢«¥¨¥ ¬¨¨¬¨§¨à®¢ ®£® ®ª ¯® á«®âã ¯®â®ª |
3 - ®ááâ ®¢«¥¨¥ ¬¨¨¬¨§¨à®¢ ®£® ®ª ¯® ¨¤¥â¨ä¨ª â®àã |
PID/TID |
* edx = à ¬¥âà ®¯¥à 樨 (®¬¥à ᫮⠨«¨ PID/TID) |
®§¢à é ¥¬®¥ § 票¥: |
* eax = 0 - ãᯥ讥 § ¢¥à襨¥ |
eax = -1 - ®è¨¡ª |
====================================================================== |
==================== ãªæ¨ï 20 - ¨â¥à䥩á MIDI. ==================== |
====================================================================== |
/kernel/trunk/docs/sysfuncs.txt |
---|
1019,6 → 1019,35 |
(reserved) |
====================================================================== |
====================== Function 18, subfunction 21 ===================== |
=== Get number of the slot of process/thread at his identificator ==== |
====================================================================== |
Parameters: |
* eax = 18 - function number |
* ebx = 21 - subfunction number |
* ecx = PID/TID (process/thread identificator) |
Returned value: |
* eax = number of the slot of process/thread, if it really present |
or 0, if PID/TID is false |
====================================================================== |
==================== Function 18, subfunction 22 ===================== |
============= Minimize/restore window of process/thread ============== |
====================================================================== |
Parameters: |
* eax = 18 - function number |
* ebx = 22 - subfunction number |
* ecx = Operation type |
0 - minimize (roll to panel) at number on slot thread |
1 - minimize window at PID/TID identificator |
2 - restore minimized window at slot number of thread |
3 - restore minimized window at PID/TID identificator |
* edx = Operation argument (Number of slot or a PID/TID) |
Returned value: |
* eax = 0 - successfully ending |
eax = -1 - error |
====================================================================== |
==================== Function 20 - MIDI interface. =================== |
====================================================================== |
/kernel/trunk/kernel.asm |
---|
2045,6 → 2045,8 |
; instead of slot |
dd sysfn_mouse_acceleration; 19 = set/get mouse acceleration |
dd sysfn_meminfo ; 20 = get extended memory info |
dd sysfn_pid_to_slot ; 21 = get slot number for pid |
dd sysfn_min_rest_window ; 22 = minimize and restore any window |
sysfn_num = ($ - sys_system_table)/4 |
endg |
2288,6 → 2290,47 |
mov [esp+36],eax |
ret |
; // Alver, 2007-22-08 // { |
sysfn_pid_to_slot: |
mov eax, ebx |
call pid_to_slot |
mov [esp+36], eax |
ret |
sysfn_min_rest_window: |
pushad |
mov eax, ecx ; ebx - operating |
shr ebx, 1 |
jnc @f |
call pid_to_slot |
@@: |
or eax, eax ; eax - number of slot |
jz .error |
cmp eax, 255 ; varify maximal slot number |
ja .error |
xor ecx, ecx |
mov cx, [WIN_STACK + eax*2] ; ecx - window number |
mov eax, ecx |
shr ebx, 1 |
jc .restore |
; .minimize: |
call minimize_window |
jmp .exit |
.restore: |
call restore_minimized_window |
.exit: |
popad |
xor eax, eax |
mov [esp+36], eax |
ret |
.error: |
popad |
xor eax, eax |
dec eax |
mov [esp+36], eax |
ret |
; } \\ Alver, 2007-22-08 \\ |
uglobal |
;// mike.dld, 2006-29-01 [ |
screen_workarea RECT |