en:docs:fapi:viowrttty

This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS

Note: This is legacy API call. It is recommended to use 32-bit equivalent

2021/09/17 04:47 · prokushev · 0 Comments
2021/08/20 03:18 · prokushev · 0 Comments

VioWrtTTY

Brief

This call writes a character string to the display starting at the current cursor position.

At the completion of the write, the cursor is positioned at the first position beyond the end of the string.

Syntax

 VioWrtTTY (CharStr, Length, VioHandle)

Parameters

  • CharStr (PCH) - input : Address of the string to be written.
  • Length (USHORT) - input : Length of the character string in bytes.
  • VioHandle (HVIO) - input : This must be zero unless the caller is a Presentation Manager application, in which case it must be the value returned by VioGetPs.

Return Code

rc (USHORT) - return

Return code descriptions are:

  • 0 NO_ERROR
  • 355 ERROR_VIO_MODE
  • 436 ERROR_VIO_INVALID_HANDLE
  • 465 ERROR_VIO_DETACHED

Remarks

If a string write gets to the end of the line and is not complete, the string write continues at the beginning of the next line. If the write gets to the end of the screen, the screen is scrolled, and the write continues until completed.

The characters carriage return, line feed, backspace, tab, and bell are treated as commands rather than printable characters. Backspace is a non-destructive backspace. Tabs are expanded to provide standard 8-byte-wide fields. VioWrtTTY is the only video call affected by Ctrl-PrtSc and ANSI.

Characters are written using the current attribute defined by ANSI or the default value 7.

VioWrtTTY is supported in graphics mode to process ANSI sequences. This allows the application to enter and exit a graphics mode.

Presentation Manager Considerations

Write a character string from the current cursor position in TTY mode to the Advanced VIO presentation space. The cursor is positioned after the last character written at the end of the write.

Bindings

C Binding

#define INCL_VIO
 
USHORT  rc = VioWrtTTY(CharStr, Length, VioHandle);
 
PCH     CharStr;       /* String to be written */
USHORT  Length;        /* Length of string */
HVIO    VioHandle;     /* Video handle */
 
USHORT  rc;            /* return code */

MASM Binding

EXTRN      VioWrtTTY:FAR
INCL_VIO   EQU 1
 
PUSH@  OTHER   CharStr    ;String to be written
PUSH   WORD    Length     ;Length of string
PUSH   WORD    VioHandle  ;Video handle
CALL   VioWrtTTY
 
Returns WORD

Note