git-svn-id: svn://kolibrios.org@608 a494cfbc-eb01-0410-851d-a64ba20cac60

This commit is contained in:
Alver 2007-08-22 22:34:57 +00:00
parent 13095ae856
commit 47fe4cff9c
3 changed files with 103 additions and 0 deletions

View File

@ -1021,6 +1021,37 @@ dd 533
* +32: dword: à §¬¥à ­ ¨¡®«ì襣® ¢ë¤¥«¥­­®£® ¡«®ª  ¢ ªãç¥ ï¤à 
(§ à¥§¥à¢¨à®¢ ­®)
======================================================================
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 21 =====================
==== <20>®«ãç¨âì ­®¬¥à  á«®â  ¯à®æ¥áá /¯®â®ª  ¯® ¥£® ¨¤¥­â¨ä¨ª â®àã =====
======================================================================
<EFBFBD> à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 21 - ­®¬¥à ¯®¤ä㭪樨
* ecx = PID/TID (¨¤¥­â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª )
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = ­®¬¥à á«®â  ¯®â®ª  ¥á«¨ ®­ áãé¥áâ¢ã¥â ¨«¨ 0, ¥á«¨ PID/TID
«®¦­ë©.
======================================================================
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 22 =====================
=========== Œ¨­¨¬¨§ æ¨ï/¢®ááâ ­®¢«¥­¨¥ ®ª­  ¯à®æ¥áá /¯®â®ª  ==========
======================================================================
<EFBFBD> à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 22 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ’¨¯ ®¯¥à æ¨¨
0 - ¬¨­¨¬¨§ æ¨ï ®ª­  (᢮à ç¨¢ ­¨¥ ­  ¯ ­¥«ì) ¯® ­®¬¥àã
á«®â  ¯®â®ª 
1 - ¬¨­¨¬¨§ æ¨ï ®ª­  ¯® ¨¤¥­â¨ä¨ª â®àã PID/TID
2 - ‚®ááâ ­®¢«¥­¨¥ ¬¨­¨¬¨§¨à®¢ ­­®£® ®ª­  ¯® á«®âã ¯®â®ª 
3 - ‚®ááâ ­®¢«¥­¨¥ ¬¨­¨¬¨§¨à®¢ ­­®£® ®ª­  ¯® ¨¤¥­â¨ä¨ª â®àã
PID/TID
* edx = <20> à ¬¥âà ®¯¥à æ¨¨ (<28>®¬¥à á«®â  ¨«¨ PID/TID)
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0 - ãᯥ譮¥ § ¢¥à襭¨¥
eax = -1 - ®è¨¡ª 
======================================================================
==================== ”ã­ªæ¨ï 20 - ¨­â¥à䥩á MIDI. ====================
======================================================================

View File

@ -1018,6 +1018,35 @@ Returned value:
* +32: dword: size of maximum allocated block in kernel heap
(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. ===================
======================================================================

View File

@ -2045,6 +2045,8 @@ sys_system_table:
; 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 @@ sysfn_getallmem:
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