1 /*
2  *	(c) Copyright 1990, Kim Fabricius Storm.  All rights reserved.
3  *      Copyright (c) 1996-2004 Michael T Pins.  All rights reserved.
4  *
5  *	Terminal interface definitions.
6  */
7 
8 #ifndef _NN_TERM_H
9 #define _NN_TERM_H 1
10 
11 #include <stdarg.h>
12 
13 extern int      Lines, Columns, Name_Length;
14 extern int      cookie_size;
15 extern int      STANDOUT;
16 
17 #define	NONE		(char *)NULL	/* no default string etc. */
18 
19 #define	GET_S_BUFFER	256	/* if caller want to reuse get_s buffer */
20 
21 /* special keys returned by get_c() */
22 
23 #define	K_interrupt	CONTROL_('G')
24 
25 #define	K_up_arrow	0x0081
26 #define	K_down_arrow	0x0082
27 #define K_left_arrow	0x0083
28 #define K_right_arrow	0x0084
29 
30 #define	K_function(n)	(0x0085 + n)
31 #define K_m_d1		0x008f
32 #define K_m_d2		0x0090
33 #define K_m_d3		0x0091
34 #define K_m_u1		0x0092
35 #define K_m_u2		0x0093
36 #define K_m_u3		0x0094
37 
38 #define	GETC_COMMAND	0x4000	/* bit set by get_c to return a command */
39 
40 
41 /*
42  *	prompt_line = ...
43  *	prompt( [P_COMMAND], ] [ format [, arg1 ... , arg4] ] );
44  *
45  *	P_MOVE:		just move to prompt line
46  *	P_REDRAW:	redraw prompt
47  *      P_VERSION:	print version on prompt line
48  */
49 
50 
51 int             prompt_line;	/* prompt line */
52 
53 #define	P_MOVE		(char *)1
54 #define P_REDRAW	(char *)5
55 #define	P_VERSION	(char *)9
56 #define P_SAVE		(char *)13
57 #define P_RESTORE	(char *)17
58 
59 #define	CLEAR_DISPLAY	0x01
60 #define	CONFIRMATION	0x02
61 
62 #include "keymap.h"
63 
64 void            enter_multi_key(int, key_type *);
65 void            dump_multi_keys(void);
66 void            init_term(int);
67 void            home(void);
68 void            save_xy(void);
69 void            restore_xy(void);
70 void            gotoxy(int, int);
71 void            clrdisp(void);
72 void            clrline(void);
73 void            clrline_noflush(void);
74 void            clrpage(void);
75 void            tprintf(char *,...);
76 void            tputc(int);
77 int             so_gotoxy(int, int, int);
78 void            so_printf(char *,...);
79 void            so_end(void);
80 void            so_printxy(int, int, char *,...);
81 int             underline(int);
82 int             highlight(int);
83 int             shadeline(int);
84 void            xterm_mouse_on(void);
85 void            xterm_mouse_off(void);
86 void            visual_on(void);
87 int             visual_off(void);
88 void            nn_raw(void);
89 int             no_raw(void);
90 int             unset_raw(void);
91 void            flush_input(void);
92 int             get_c(void);
93 char           *get_s(char *, char *, char *, fct_type);
94 int             list_completion(char *);
95 int             yes(int);
96 void            ding(void);
97 void            display_file(char *, int);
98 void            nn_exitmsg(int, char *,...);
99 void            vmsg(char *, va_list);
100 void            msg(char *,...);
101 void            clrmsg(int);
102 void            prompt(char *,...);
103 int             any_key(int);
104 void            pg_init(int, int);
105 int             pg_scroll(int);
106 int             pg_next(void);
107 void            pg_indent(int);
108 int             pg_end(void);
109 void            user_delay(int);
110 #endif				/* _NN_TERM_H */
111