311 lines
16 KiB
HTML
311 lines
16 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Int 2F/AX=2780h/CL=02h
|
|
</TITLE>
|
|
<META NAME="Description" CONTENT="
|
|
Int 2F/AX=2780h/CL=02h - Novell DOS 7 - EMM386.EXE - MULTITASKING API - REAL-TIME MONITOR -
|
|
AX = 2780h
|
|
CL = 02h (module: Real-Time Monitor)
|
|
CH = subfunction
|
|
00h ???
|
|
???
|
|
Return: CX = status (0000h,0023h, others???) (see #02739)
|
|
BX = ??? (0000h if CX=0000h, FFFFh if CX=0023h)
|
|
Note: calls func 04h/sf 03h, func 04h/sf 1Eh,func 02h/sf 43h,
|
|
func 02h/sf 0Bh, and func 04h/sf 01h
|
|
01h Z_PCountGet get and clear count of dispatches
|
|
">
|
|
<META NAME="robots" CONTENT="none">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFD0A0">
|
|
<center>
|
|
<h2>Int 2F/AX=2780h/CL=02h
|
|
</h2>
|
|
</center><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-4716.htm" tppabs="http://www.ctyme.com/intr/rb-4716.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-4718.htm" tppabs="http://www.ctyme.com/intr/rb-4718.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<h3><font color=#C00040>Novell DOS 7 - EMM386.EXE - MULTITASKING API - REAL-TIME MONITOR</font></h3>
|
|
<PRE>
|
|
AX = 2780h.
|
|
<p><b>CL = 02h (module:</b><br>Real-Time Monitor).
|
|
CH = subfunction
|
|
00h ???
|
|
???
|
|
<p><b>Return:</b><br>CX = status (0000h,0023h, others???) (see #02739)
|
|
BX = ??? (0000h if CX=0000h, FFFFh if CX=0023h)
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
Calls func 04h/sf 03h, func 04h/sf 1Eh,func 02h/sf 43h,
|
|
func 02h/sf 0Bh, and func 04h/sf 01h
|
|
01h "Z_PCountGet" get and clear count of dispatches
|
|
DX = ??? handle or 0000h for default
|
|
<PRE>
|
|
<p><b>Return:</b><br>CX = status (0000h,000Bh) (see #02739)
|
|
EBX = old value of ??? if successful
|
|
EDX destroyed
|
|
02h "Z_FlagWait" wait on semaphore
|
|
DX = index of semaphore???
|
|
<p><b>Return:</b><br>CX = status (0000h,0004h,0005h) (see #02739)
|
|
EBX = 0000FFFFh on error, 00000000h if successful
|
|
03h "Z_FlagSet" set a semaphore flag
|
|
DX = index of semaphore???
|
|
<p><b>Return:</b><br>CX = status (0000h,0004h,0006h) (see #02739)
|
|
BX = FFFFh on error, 0000h if successful
|
|
04h "X_QCreate" create a new queue
|
|
<p><b>Return:</b><br>CX = status (0000h,0007h,000Ah) (see #02739)
|
|
05h "X_QOpen" open queue for reading/writing
|
|
EDX -> ??? data (first 8 bytes seem to be name)
|
|
<p><b>Return:</b><br>CX = status (0000h,0009h,000Dh) (see #02739)
|
|
06h "X_QDelete" delete a queue
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
Calls fn 02h/subfn 05h, then fn 02h/subfn 40h
|
|
07h "X_QRead" read message from queue
|
|
EDX = ???
|
|
<PRE>
|
|
<p><b>Return:</b><br>CX = status (0000h,0009h,000Eh) (see #02739)
|
|
08h "X_QReadC" read message from queue, if any
|
|
EDX = ???
|
|
<p><b>Return:</b><br>CX = status (0000h,0009h,000Eh) (see #02739)
|
|
09h "X_QWrite" write message to queue
|
|
EDX = ???
|
|
<p><b>Return:</b><br>CX = status (0000h,0009h,000Fh) (see #02739)
|
|
0Ah "X_QWriteC" write message to queue, if space available
|
|
EDX = ???
|
|
<p><b>Return:</b><br>CX = status (0000h,0009h,000Fh) (see #02739)
|
|
0Bh "X_PDelay" put process to sleep for specified period
|
|
DX = number of clock ticks to sleep???
|
|
<p><b>Return:</b><br>CX = 0000h (successful)
|
|
0Ch "X_PDispatch" force a dispatch (run scheduler)
|
|
<p><b>Return:</b><br>CX = 0000h (successful)
|
|
0Dh "F_PTerm" terminate process???
|
|
<p><b>Return:</b><br>CX = status (0000h,0023h) (see #02739)
|
|
BX = FFFFh on error, 0000h if successful
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
Calls fn 04h/subfn 03h, fn 04h/subfn 1Eh,
|
|
fn 02h/subfn 43h, fn 02h/subfn 0Bh, fn 04h/sub 01h
|
|
0Eh "X_PCreate" create new process
|
|
???
|
|
<PRE>
|
|
<p><b>Return:</b><br>CX = status (0000h,000Ch) (see #02739)
|
|
EBX = ??? if successful
|
|
0Fh "Z_PPriorSet" set process priority
|
|
BX = ???
|
|
DX = ??? handle or 0000h for default
|
|
<p><b>Return:</b><br>CX = status (0000h,000Bh) (see #02739)
|
|
10h "X_PHandleGet" get current process handle
|
|
<p><b>Return:</b><br>CX = 0000h (successful)
|
|
BX = handle of default ???
|
|
EBX high word cleared
|
|
11h "X_PTerm" terminate process
|
|
DX = process handle or 0000h for current
|
|
BX = ??? (handle???)
|
|
<p><b>Return:</b><br>CX = status (0000h,000Bh,0014h) (see #02739)
|
|
12h "F_Sleep" ???
|
|
BX = ???
|
|
DX = ???
|
|
<p><b>Return:</b><br>CX = 0000h (successful)
|
|
13h "F_Wakeup" ???
|
|
DX = ???
|
|
<p><b>Return:</b><br>CX = status (see #02739)
|
|
14h "F_FindPDName" find process by name???
|
|
BX = ???
|
|
DX = ???
|
|
<p><b>Return:</b><br>CX = status (0000h,0014h) (see #02739)
|
|
BX = FFFFh on error, ??? if successful
|
|
15h "F_SetFlags" set ??? flags
|
|
BX = ??? (low two bits only)
|
|
DX = ??? handle or 0000h for default
|
|
<p><b>Return:</b><br>CX = status (0000h,000Bh) (see #02739)
|
|
BX = new value of ??? flags (entire word)
|
|
EBX high register cleared
|
|
16h "F_EndOfInterrupt" issue EOI to PIC
|
|
<p><b>Return:</b><br>CX = 0000h (successful)
|
|
17h "X_PTermOff" disable process termination
|
|
18h "X_PTermOK" enable process termination
|
|
19h "Z_FlagStatusGet" get semahprore's status
|
|
1Ah "F_QRdMX" ???
|
|
1Bh "F_QWrMX" ???
|
|
1Ch "Z_FlagAlloc" allocate a new semaphore
|
|
1Dh "Z_FlagFree" free semaphore
|
|
1Eh "X_FlagsMaxGet" get number of semaphores supported
|
|
1Fh "X_QReadNDC" non-destructive read from queue (peek)
|
|
20h "Z_FlagWWTO" wait on semaphore, with timeout
|
|
21h "F_UdaAlloc" ???
|
|
22h "F_UdaFree" ???
|
|
23h "X_PSuspend" suspend process
|
|
24h "X_PUnsuspend" restart process after suspension
|
|
25h "X_CritEnter" enter critical region
|
|
26h "X_CritExit" leave critical region
|
|
27h "F_PCreate" ???
|
|
28h "Z_PHandleListGet" get list of process handles
|
|
29h "Z_PNameGet" get process name
|
|
2Ah "Z_PStatusGet" get process status
|
|
2Bh "F_PDToDomain" get process' domain???
|
|
2Ch "Z_PPriorGet" get process priority
|
|
2Dh "F_QDList" get list of queues???
|
|
2Eh "Z_QNameGet" get queue's name
|
|
2Fh "X_QMsgLenGet" get message length of queue
|
|
30h "X_QMsgMaxGet" get message capacity of queue
|
|
31h "Z_QWriterGet" get handle of process waiting to write queue
|
|
32h "Z_QReaderGet" get handle of process waiting to read queue
|
|
33h "X_QMsgNumGet" get number of messages in queue
|
|
34h "Z_QFlagsGet" get queue's flags
|
|
35h "F_NameToQD" get queue by name???
|
|
36h "F_NameToPD" get process by name???
|
|
37h "X_MXCreate" create a mutex
|
|
38h "X_MXDelete" delete a mutex
|
|
39h "X_MXEnter" enter mutual-exclusion zone
|
|
3Ah "X_MXEnterC" enter mutual-exclusion zone if it is free
|
|
3Bh "X_MXExit" leave mutual-exclusion zone
|
|
3Ch "Z_TicksSet" set length of foreground time slices
|
|
3Dh "X_TickGet" get clock tick period
|
|
3Eh "F_ProcessID" ???
|
|
3Fh "X_QClose" close a queue
|
|
40h "F_QDispose" delete queue???
|
|
41h "F_PDToFlags" get process flags???
|
|
42h "F_PDToDParam" ???
|
|
43h "F_ReleaseMX" release mutex???
|
|
44h "F_SimulateInt" ???
|
|
45h "Z_QFlagsSet" set queue's flags
|
|
46h "F_TickRate" ???
|
|
47h ???<br>
|
|
<p><b>Return:</b><br>CX = status (most subfunctions)
|
|
(E)AX and/or (E)BX contain return values, depending on function
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
Called by DPMS.EXE and EMM386.EXE.
|
|
This API is only available if AX=12FFh/BX=0EDCh returns successfully;
|
|
because the request is handled on the initial trap to the memory
|
|
manager caused by INT instructions, this API must be invoked with
|
|
an actual INT 2F instruction instead of some simulation such as a
|
|
far call to the address in the interrupt vector table
|
|
<p><b>See Also:</b>
|
|
<a href="rb-4452.htm" tppabs="http://www.ctyme.com/intr/rb-4452.htm">AX=12FFh/BX=0EDCh</a> - <a href="rb-4716.htm" tppabs="http://www.ctyme.com/intr/rb-4716.htm">AX=2780h/CL=01h</a> - <a href="rb-4718.htm" tppabs="http://www.ctyme.com/intr/rb-4718.htm">AX=2780h/CL=03h</a> - <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb- \n\nThis file was not retrieved by Teleport Pro, because the server reports that this file cannot be found. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-'" tppabs="http://www.ctyme.com/intr/rb-"
|
|
<p>
|
|
<b>Category: <a href="cat-024.htm" tppabs="http://www.ctyme.com/intr/cat-024.htm">
|
|
Memory Management</a>
|
|
- <a href="int-2f-1.htm" tppabs="http://www.ctyme.com/intr/int-2F.htm">
|
|
Int 2Fh</a>
|
|
- <a href="alpha-n.htm" tppabs="http://www.ctyme.com/intr/alpha-n.htm">
|
|
N</a>
|
|
</b><p><p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-4716.htm" tppabs="http://www.ctyme.com/intr/rb-4716.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-4718.htm" tppabs="http://www.ctyme.com/intr/rb-4718.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
|
|
<!-- Bottom Link Start -->
|
|
|
|
<center>
|
|
|
|
<p><table border=1 bgcolor="#ffff99"><tr><td>
|
|
<table border=0 height=80>
|
|
<tr align=center><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">
|
|
<img src="tip.gif" tppabs="http://graphics.ctyme.com/gif/tip.gif" ALT="Sponsors" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">Shopping</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">
|
|
<img src="comment.gif" tppabs="http://graphics.ctyme.com/gif/comment.gif" ALT="Forum" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">Forum</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">
|
|
<img src="mail.gif" tppabs="http://graphics.ctyme.com/gif/mail.gif" ALT="email" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">EMail</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">
|
|
<img src="toc.gif" tppabs="http://graphics.ctyme.com/gif/toc.gif" ALT="Index" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">Index</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">
|
|
<img src="home.gif" tppabs="http://graphics.ctyme.com/gif/home.gif" ALT="Home" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">Home</a>
|
|
|
|
</td><td width="90">
|
|
|
|
<center>
|
|
<FORM ACTION="https://secure.paypal.com/cgi-bin/webscr" tppabs="https://secure.paypal.com/cgi-bin/webscr" METHOD="POST" traget="_blank">
|
|
<INPUT TYPE="hidden" NAME="cmd" VALUE="_xclick">
|
|
<INPUT TYPE="hidden" NAME="business" VALUE="marc@perkel.com">
|
|
<INPUT TYPE="hidden" NAME="return" VALUE="http://www.perkel.com">
|
|
<INPUT TYPE="hidden" NAME="item_name" VALUE="Donation To Support this Site">
|
|
<INPUT TYPE="hidden" NAME="no_intl" VALUE="1">
|
|
<INPUT TYPE="image" SRC="x-click-but7.gif" tppabs="http://images.paypal.com/images/x-click-but7.gif" vspace=9
|
|
NAME="submit" ALT="Make payments with PayPal - it's fast, free and secure!">
|
|
</FORM>
|
|
|
|
</td></tr></table></td></tr></table><p>
|
|
|
|
|
|
<center>
|
|
<p>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/hosting/index.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/hosting/index.htm'" tppabs="http://www.ctyme.com/hosting/index.htm" target="_blank">
|
|
<img src="ctymehost.gif" tppabs="http://graphics.ctyme.com/gif/ctymehost.gif"
|
|
border=3 height=60 width=468></a>
|
|
<p>
|
|
<!-- Ad End --->
|
|
|
|
</center>
|
|
<FORM ACTION="http://service.bfast.com/bfast/click" target="_blank">
|
|
<INPUT TYPE="hidden" NAME="siteid" VALUE="30472466" >
|
|
<INPUT TYPE="hidden" NAME="bfpage" VALUE="horizontal">
|
|
<INPUT TYPE="hidden" NAME="bfmid" VALUE="27253343" >
|
|
<INPUT TYPE="hidden" NAME="num" VALUE="30">
|
|
|
|
<table bgcolor=white border=3><tr><td>
|
|
<table bgcolor=white border=0>
|
|
<tr><td>
|
|
<IMG SRC="serve-bfmid=27253343&siteid=30472466&bfpage=horizontal.gif" tppabs="http://service.bfast.com/bfast/serve?bfmid=27253343&siteid=30472466&bfpage=horizontal" BORDER="0" WIDTH="1" HEIGHT="1" align=right NOSAVE >
|
|
<center><b>Search the web with Google</b></center>
|
|
</td></tr><tr><td>
|
|
<TABLE cellpadding=0 cellspacing=5 bgcolor="#FFFFFF">
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr><tr><td>
|
|
<IMG SRC="affiliate_logo.gif" tppabs="http://www.google.com/affiliates/affiliate_logo.gif" border="0" ALT="Google" align="center">
|
|
<INPUT TYPE=text name=q size=30 maxlength=255 value="">
|
|
<INPUT type=submit name=sa VALUE="Go">
|
|
</td></tr>
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr></TABLE>
|
|
</td></tr></table>
|
|
</tr></td></table>
|
|
</FORM>
|
|
|
|
</center>
|
|
|
|
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
|
|
<!-- Bottom Link End -->
|
|
|
|
</BODY>
|
|
</HTML>
|