en:ibm:prcp:mou:synch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
en:ibm:prcp:mou:synch [2016/02/04 07:42] valeriusen:ibm:prcp:mou:synch [2016/09/15 04:53] (current) valerius
Line 1: Line 1:
 ==== MouSynch ==== ==== MouSynch ====
  
-**Bindings**: C, MASM +**Bindings**: [[synch#bindings|C]][[synch#MASM bindings|MASM]]
  
 This call provides synchronous access for a mouse subsystem to the mouse device driver.  This call provides synchronous access for a mouse subsystem to the mouse device driver. 
Line 23: Line 23:
  
 [[en:ibm:prcp:mou:synch|MouSynch]] blocks all other threads within a session until the semaphore clears (returns from the subsystem to the router). To ensure proper synchronization, MouSynch should be issued by a mouse subsystem if it intends to access dynamically modifiable shared data for each session or if it intends to issue a [[en:ibm:prcp:cpi:dosdevioctl|DosDevIOCtl]]. [[en:ibm:prcp:mou:synch|MouSynch]] does not protect globally shared data from threads in other sessions.  [[en:ibm:prcp:mou:synch|MouSynch]] blocks all other threads within a session until the semaphore clears (returns from the subsystem to the router). To ensure proper synchronization, MouSynch should be issued by a mouse subsystem if it intends to access dynamically modifiable shared data for each session or if it intends to issue a [[en:ibm:prcp:cpi:dosdevioctl|DosDevIOCtl]]. [[en:ibm:prcp:mou:synch|MouSynch]] does not protect globally shared data from threads in other sessions. 
 +
 +=== C bindings ===
 +
 +<code c>
 +#define INCL_MOU
 +
 +USHORT  rc = MouSynch(IOWait);
 +
 +USHORT           IOWait;        /* Indicate wait/no wait */
 +
 +USHORT           rc;            /* return code */
 +</code>
 +
 +=== MASM bindings ===
 +
 +<code asm>
 +EXTRN  MouSynch:FAR
 +INCL_MOU            EQU 1
 +
 +PUSH   WORD    IOWait        ;Indicate wait/no wait
 +CALL   MouSynch
 +
 +Returns WORD
 +</code>