mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-23 04:16:03 +02:00
142 lines
8.2 KiB
ObjectPascal
142 lines
8.2 KiB
ObjectPascal
{
|
|
$Id$
|
|
This file is part of the Free Pascal run time library
|
|
for Netware.
|
|
Copyright (c) 1999-2003 by the Free Pascal development team.
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
**********************************************************************}
|
|
|
|
unit nwconio;
|
|
interface
|
|
|
|
{$mode objfpc}
|
|
|
|
const
|
|
ClibNlm = 'clib';
|
|
ThreadsNlm = 'threads';
|
|
|
|
|
|
{$PACKRECORDS C}
|
|
|
|
|
|
const
|
|
DONT_AUTO_ACTIVATE = 1;
|
|
DONT_SWITCH_SCREEN = 2;
|
|
DONT_CHECK_CTRL_CHARS = $10;
|
|
AUTO_DESTROY_SCREEN = $20;
|
|
POP_UP_SCREEN = $40;
|
|
UNCOUPLED_CURSORS = $80;
|
|
HAS_A_CLIB_HANDLE = $100;
|
|
_KEYBOARD_INPUT_ACTIVE = $00010000;
|
|
_PROCESS_BLOCKED_ON_KEYBOARD = $00020000;
|
|
_PROCESS_BLOCKED_ON_SCREEN = $00040000;
|
|
_INPUT_CURSOR_DISABLED = $00080000;
|
|
_SCREEN_HAS_TITLE_BAR = $00400000;
|
|
_NON_SWITCHABLE_SCREEN = $01000000;
|
|
|
|
function getch :longint; cdecl;external ThreadsNlm name 'getch';
|
|
function getche:longint; cdecl;external ThreadsNlm name 'getche';
|
|
function kbhit :longint; cdecl;external ThreadsNlm name 'kbhit';
|
|
function putch(c:longint):longint; cdecl;external ThreadsNlm name 'putch';
|
|
function ungetch(c:longint):longint; cdecl;external ThreadsNlm name 'ungetch';
|
|
function cgets(buf:Pchar):Pchar; cdecl;external ThreadsNlm name 'cgets';
|
|
function CheckIfScreenDisplayed(screenHandle:longint; waitFlag:longint):longint;
|
|
cdecl;external ThreadsNlm name 'CheckIfScreenDisplayed';
|
|
procedure clrscr; cdecl;external ThreadsNlm name 'clrscr';
|
|
|
|
procedure ConsolePrintf(format:Pchar; args:array of const);
|
|
cdecl;external ClibNlm name 'ConsolePrintf';
|
|
procedure ConsolePrintf(format:Pchar); cdecl;external ClibNlm name 'ConsolePrintf';
|
|
|
|
procedure CopyToScreenMemory(height,width:word; Rect:PBYTE; begx,begy:word);cdecl;external ThreadsNlm name 'CopyToScreenMemory';
|
|
procedure CopyToScreenMemory(height,width:word; var Rect:byte; begx,begy:word);cdecl;external ThreadsNlm name 'CopyToScreenMemory';
|
|
|
|
procedure CopyFromScreenMemory(height, width:word; Rect:PBYTE; begx,begy:word);cdecl;external ThreadsNlm name 'CopyFromScreenMemory';
|
|
procedure CopyFromScreenMemory(height, width:word; var Rect:byte; begx,begy:word);cdecl;external ThreadsNlm name 'CopyFromScreenMemory';
|
|
|
|
{ function CoupleInputOutputCursors:longint;cdecl;external ClibNlm name 'CoupleInputOutputCursors'; }
|
|
|
|
function cputs(buf:Pchar):longint; cdecl;external ThreadsNlm name 'cputs';
|
|
function cprintf(fmt:Pchar; args:array of const):longint;
|
|
cdecl;external ClibNlm name 'cprintf';
|
|
function cprintf(fmt:Pchar):longint; cdecl;external ClibNlm name 'cprintf';
|
|
|
|
function CreateScreen(screenName:Pchar; attr:byte):longint;
|
|
cdecl;external ThreadsNlm name 'CreateScreen';
|
|
|
|
function cscanf(fmt:Pchar; args:array of const):longint;cdecl;external ClibNlm name 'cscanf';
|
|
function cscanf(fmt:Pchar):longint; cdecl;external ClibNlm name 'cscanf';
|
|
|
|
{ function DecoupleInputOutputCursors:longint;cdecl;external External_library name 'DecoupleInputOutputCursors'; }
|
|
|
|
function DestroyScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'DestroyScreen';
|
|
function DisplayInputCursor:longint; cdecl;external ThreadsNlm name 'DisplayInputCursor';
|
|
function DisplayScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'DisplayScreen';
|
|
function DropPopUpScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'DropPopUpScreen';
|
|
function GetCurrentScreen:longint; cdecl;external ThreadsNlm name 'GetCurrentScreen';
|
|
function GetCursorCouplingMode:byte; cdecl;external ThreadsNlm name 'GetCursorCouplingMode';
|
|
function GetCursorShape(startline,endline:byte):word; cdecl;external ThreadsNlm name 'GetCursorShape';
|
|
function GetCursorSize(var firstline,lastl:byte):word; cdecl;external ThreadsNlm name 'GetCursorSize';
|
|
|
|
function GetPositionOfOutputCursor(var row,columnP:word):longint;
|
|
cdecl;external ThreadsNlm name 'GetPositionOfOutputCursor';
|
|
|
|
function __GetScreenID(screenHandle:longint):longint; cdecl;external ThreadsNlm name '__GetScreenID';
|
|
function GetScreenInfo(handle:longint; name:Pchar; var attr:longint):longint;
|
|
cdecl;external ThreadsNlm name 'GetScreenInfo';
|
|
|
|
function GetSizeOfScreen(var height,width:word):longint;cdecl;external ThreadsNlm name 'GetSizeOfScreen';
|
|
procedure gotoxy(x,y:word); cdecl;external ThreadsNlm name 'gotoxy';
|
|
function HideInputCursor:longint; cdecl;external ThreadsNlm name 'HideInputCursor';
|
|
function IsColorMonitor:longint; cdecl;external ThreadsNlm name 'IsColorMonitor';
|
|
function PressAnyKeyToContinue:longint; cdecl;external ThreadsNlm name 'PressAnyKeyToContinue';
|
|
function PressEscapeToQuit:longint; cdecl;external ThreadsNlm name 'PressEscapeToQuit';
|
|
procedure RingTheBell; cdecl;external ThreadsNlm name 'RingTheBell';
|
|
|
|
function ScanScreens(LastScreenID:longint; name:Pchar; var attr:longint):longint;
|
|
cdecl;external ThreadsNlm name 'ScanScreens';
|
|
|
|
function ScrollScreenRegionDown(firstLine,lines:longint):longint;cdecl;external ThreadsNlm name 'ScrollScreenRegionDown';
|
|
function ScrollScreenRegionUp(firstLine,lines:longint):longint;cdecl;external ThreadsNlm name 'ScrollScreenRegionUp';
|
|
function SetAutoScreenDestructionMode(newMode:byte):byte;cdecl;external ThreadsNlm name 'SetAutoScreenDestructionMode';
|
|
function SetCtrlCharCheckMode(newMode:byte):byte; cdecl;external ThreadsNlm name 'SetCtrlCharCheckMode';
|
|
function SetCursorCouplingMode(newMode:byte):byte; cdecl;external ThreadsNlm name 'SetCursorCouplingMode';
|
|
function SetCursorShape(startline,endline:byte):word; cdecl;external ThreadsNlm name 'SetCursorShape';
|
|
function SetCurrentScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'SetCurrentScreen';
|
|
function SetInputAtOutputCursorPosition:longint; cdecl;external ThreadsNlm name 'SetInputAtOutputCursorPosition';
|
|
function SetOutputAtInputCursorPosition:longint; cdecl;external ThreadsNlm name 'SetOutputAtInputCursorPosition';
|
|
function SetPositionOfInputCursor(row,col:word):longint; cdecl;external ThreadsNlm name 'SetPositionOfInputCursor';
|
|
|
|
function SetScreenAreaAttribute(line,column,numLines,numColumns,attr:longint):longint;
|
|
cdecl;external ThreadsNlm name 'SetScreenAreaAttribute';
|
|
{function SetScreenAttributes(mask,attr:longint):longint; cdecl;external ClibNlm name 'SetScreenAttributes';}
|
|
|
|
function SetScreenCharacterAttribute(line,column,attr:longint):longint;
|
|
cdecl;external ThreadsNlm name 'SetScreenCharacterAttribute';
|
|
|
|
function SetScreenRegionAttribute(firstLine,lines:longint; attr:byte):longint;
|
|
cdecl;external ThreadsNlm name 'SetScreenRegionAttribute';
|
|
function wherex:word; cdecl;external ThreadsNlm name 'wherex';
|
|
function wherey:word; cdecl;external ThreadsNlm name 'wherey';
|
|
|
|
|
|
implementation
|
|
|
|
|
|
end.
|
|
|
|
{
|
|
$Log$
|
|
Revision 1.1 2003-02-16 17:45:08 armin
|
|
* added nwsnut, nwconio and nwthreads for netware
|
|
|
|
|
|
}
|