en:ibm:prcp:vio:getphysbuf

Differences

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

Link to this comparison view

en:ibm:prcp:vio:getphysbuf [2016/09/14 09:29] – created valeriusen:ibm:prcp:vio:getphysbuf [2016/09/15 05:14] (current) valerius
Line 1: Line 1:
 ==== VioGetPhysBuf==== ==== VioGetPhysBuf====
  
-**Bindings**: C, MASM +**Bindings**: [[getphysbuf#bindings|C]][[getphysbuf#MASM bindings|MASM]]
  
 This call gets addressability to the physical display buffer.  This call gets addressability to the physical display buffer. 
Line 60: Line 60:
  
 The buffer range specified for the physical screen buffer must fall between hex 'A0000' and 'BFFFF' inclusive. An application may issue [[en:ibm:prcp:vio:getphysbuf|VioGetPhysBuf]] only when it is running in the foreground. An application may issue [[en:ibm:prcp:vio:getphysbuf|VioGetPhysBuf]] more than once.  The buffer range specified for the physical screen buffer must fall between hex 'A0000' and 'BFFFF' inclusive. An application may issue [[en:ibm:prcp:vio:getphysbuf|VioGetPhysBuf]] only when it is running in the foreground. An application may issue [[en:ibm:prcp:vio:getphysbuf|VioGetPhysBuf]] more than once. 
 +
 +=== C bindings ===
 +
 +<code c>
 +typedef struct _VIOPHYSBUF {   /* viopb */
 +  PBYTE    pBuf;               /* Buffer start address */
 +  ULONG    cb;                 /* Buffer length */
 +  SEL      asel[1];            /* Selector list */
 +} VIOPHYSBUF;
 +
 +#define INCL_VIO
 +
 +USHORT  rc = VioGetPhysBuf(Structure, Reserved);
 +
 +PVIOPHYSBUF      Structure;     /* Data structure */
 +USHORT           Reserved;      /* Reserved (must be zero) */
 +
 +USHORT           rc;            /* return code */
 +</code>
 +
 +=== MASM bindings ===
 +
 +<code asm>
 +VIOPHYSBUF struc
 +  viopb_pBuf dd  ? ;Buffer start address
 +  viopb_cb   dd  ? ;buffer length
 +  viopb_asel dw  1 dup (?) ;selector list
 +VIOPHYSBUF ends
 +
 +EXTRN  VioGetPhysBuf:FAR
 +INCL_VIO            EQU 1
 +
 +PUSH@  OTHER   Structure     ;Data structure
 +PUSH   WORD    Reserved      ;Reserved (must be zero)
 +CALL   VioGetPhysBuf
 +
 +Returns WORD
 +</code>