minix/commands/yap/term.h
2009-11-09 10:26:00 +00:00

137 lines
3 KiB
C

/* Copyright (c) 1985 Ceriel J.H. Jacobs */
/* $Header$ */
/* All terminal and terminal dependent stuff */
# ifndef _TERM_
# define PUBLIC extern
# else
# define PUBLIC
# endif
# if USG_TTY
# include <termio.h>
# elif POSIX_TTY
# include <termios.h>
# else
# include <sgtty.h>
# endif
#include <sys/types.h>
#include <signal.h>
#include <sys/ioctl.h>
/* Terminal setting */
PUBLIC int expandtabs; /* Tabs need expanding? */
PUBLIC int stupid; /* Stupid terminal */
PUBLIC int hardcopy; /* Hardcopy terminal */
/* termcap stuff */
PUBLIC
char *CE, /* clear to end of line */
*CL, /* clear screen */
*SO, /* stand out */
*SE, /* stand end */
*US, /* underline start */
*UE, /* underline end */
*UC, /* underline character */
*MD, /* bold start */
*ME, /* attributes (like bold) off */
*TI, /* initialize for CM */
*TE, /* End of CM */
*CM, /* Cursor addressing */
*TA, /* Tab */
*SR, /* Scroll reverse */
*AL; /* insert line */
PUBLIC
int LINES, /* # of lines on screen */
COLS, /* # of colums */
AM, /* Automatic margins */
XN, /* newline ignored after wrap */
DB; /* terminal retains lines below */
PUBLIC
char HO[20], /* Sequence to get to home position */
BO[20]; /* sequence to get to lower left hand corner */
PUBLIC
int erasech, /* users erase character */
killch; /* users kill character */
PUBLIC struct state *sppat; /* Special patterns to be recognized */
PUBLIC char
*BC; /* Back space */
#define backspace() putline(BC)
#define clrscreen() tputs(CL,LINES,fputch)
#define clrtoeol() tputs(CE,1,fputch)
#define scrollreverse() tputs(SR,LINES,fputch)
#ifdef VT100_PATCH
#define insert_line(l) ins_line(l)
#define standout() tputs(SO,1,fputch)
#define standend() tputs(SE,1,fputch)
#define underline() tputs(US,1,fputch)
#define end_underline() tputs(UE,1,fputch)
#define bold() tputs(MD,1,fputch)
#define end_bold() tputs(ME,1,fputch)
#define underchar() tputs(UC,1,fputch)
# else
#define insert_line() tputs(AL,LINES,fputch)
#define standout() putline(SO)
#define standend() putline(SE)
#define underline() putline(US)
#define end_underline() putline(UE)
#define bold() putline(MD)
#define end_bold() putline(ME)
#define underchar() putline(UC)
# endif
#define givetab() tputs(TA,1,fputch)
VOID inittty();
/*
* void inittty()
*
* Initialises the terminal (sets it in cbreak mode, etc)
*/
VOID resettty();
/*
* void resettty()
*
* resets the terminal to the mode in which it was before yap was invoked
*/
VOID ini_terminal();
/*
* void ini_terminal()
*
* Handles the termcap entry for your terminal. In some cases, the terminal
* will be considered stupid.
*/
VOID mgoto();
/*
* void mgoto(n)
* int n; Line to go to
*
* Put the cursor at the start of the n'th screen line.
* This can be done in several ways (of course).
*/
VOID clrbline();
/*
* void clrbline()
*
* clears the bottom line, by either clearing it to end of line,
* or pushing it of the screen by inserting a line before it.
*/
VOID home();
VOID bottom();
/*
* Obvious
*/
#ifdef WINDOW
int window();
#endif
# undef PUBLIC