(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * CONIO.DEF - Modula-2 interface to CONIO.H * * * * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# project("#set tsc='on'") *) (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *) (*# module(implementation=>off, init_code=>off) *) (*# name(prefix=>c) *) DEFINITION MODULE conio; CONST (* **** these are the tags of the enum text_modes *) LASTMODE = -1; BW40 = 0; C40 = 1; BW80 = 2; C80 = 3; MONO = 7; BLACK = 0; (* normal colors *) BLUE = 1; GREEN = 2; CYAN = 3; RED = 4; MAGENTA = 5; BROWN = 6; LIGHTGRAY = 7; DARKGRAY = 8; LIGHTBLUE = 9; LIGHTGREEN = 10; LIGHTCYAN = 11; LIGHTRED = 12; LIGHTMAGENTA = 13; YELLOW = 14; WHITE = 15; BLINK = 128; (* blink bit *) TYPE text_info = RECORD winleft : SHORTCARD; wintop : SHORTCARD; winright : SHORTCARD; winbottom : SHORTCARD; attribute : SHORTCARD; normattr : SHORTCARD; currmode : SHORTCARD; screenheight:SHORTCARD; screenwidth: SHORTCARD; curx : SHORTCARD; cury : SHORTCARD; END; VAR directvideo : CARDINAL; PROCEDURE clreol; PROCEDURE clrscr; PROCEDURE delline; PROCEDURE gettext(left,top,right,bottom:CARDINAL;destin:ADDRESS):CARDINAL; PROCEDURE gettextinfo(VAR r:text_info); PROCEDURE gotoxy(x,y:CARDINAL); PROCEDURE highvideo; PROCEDURE insline; PROCEDURE lowvideo; PROCEDURE movetext(left,top,right,bottom,destleft,desttop:CARDINAL):CARDINAL; PROCEDURE normvideo; PROCEDURE puttext(left,top,right,bottom:CARDINAL;source:ADDRESS):CARDINAL; PROCEDURE textattr(newattr:CARDINAL); PROCEDURE textbackground(newcolor:CARDINAL); PROCEDURE textcolor(newcolor:CARDINAL); PROCEDURE textmode(newmode:INTEGER); PROCEDURE wherex():CARDINAL; PROCEDURE wherey():CARDINAL; PROCEDURE window(left,top,right,bottom:CARDINAL); PROCEDURE cgets(VAR str:ARRAY OF CHAR):ADDRESS; PROCEDURE cputs(str:ARRAY OF CHAR); (* **** Variable number of parameters *) (*# save *) (*# call(c_conv=>on, var_arg=>on) *) PROCEDURE cprintf(format:ARRAY OF CHAR):CARDINAL; PROCEDURE cscanf(format:ARRAY OF CHAR):CARDINAL; (*# restore *) PROCEDURE getch():CARDINAL; PROCEDURE getche():CARDINAL; PROCEDURE kbhit():BOOLEAN; PROCEDURE putch(ch:CARDINAL):INTEGER; PROCEDURE ungetch(ch:CARDINAL):CARDINAL; PROCEDURE inportb(port:CARDINAL):BYTE; PROCEDURE outportb(port:CARDINAL;value:BYTE); PROCEDURE inportw(port:CARDINAL):WORD; PROCEDURE outportw(port:CARDINAL;value:WORD); PROCEDURE geninterrupt(interruptnum:CARDINAL); PROCEDURE _disable; PROCEDURE _enable; END conio.