MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
el_terminal.h
1
/* $NetBSD: terminal.h,v 1.3 2011/07/29 23:44:45 christos Exp $ */
2
3
/*-
4
* Copyright (c) 1992, 1993
5
* The Regents of the University of California. All rights reserved.
6
*
7
* This code is derived from software contributed to Berkeley by
8
* Christos Zoulas of Cornell University.
9
*
10
* Redistribution and use in source and binary forms, with or without
11
* modification, are permitted provided that the following conditions
12
* are met:
13
* 1. Redistributions of source code must retain the above copyright
14
* notice, this list of conditions and the following disclaimer.
15
* 2. Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in the
17
* documentation and/or other materials provided with the distribution.
18
* 3. Neither the name of the University nor the names of its contributors
19
* may be used to endorse or promote products derived from this software
20
* without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32
* SUCH DAMAGE.
33
*
34
* @(#)term.h 8.1 (Berkeley) 6/4/93
35
*/
36
37
/*
38
* el.term.h: Termcap header
39
*/
40
#ifndef _h_el_terminal
41
#define _h_el_terminal
42
43
#include "histedit.h"
44
45
typedef
struct
{
/* Symbolic function key bindings */
46
const
Char *
name
;
/* name of the key */
47
int
key;
/* Index in termcap table */
48
keymacro_value_t
fun;
/* Function bound to it */
49
int
type
;
/* Type of function */
50
}
funckey_t
;
51
52
typedef
struct
{
53
const
char
*t_name;
/* the terminal name */
54
coord_t
t_size;
/* # lines and cols */
55
int
t_flags;
56
#define TERM_CAN_INSERT 0x001
/* Has insert cap */
57
#define TERM_CAN_DELETE 0x002
/* Has delete cap */
58
#define TERM_CAN_CEOL 0x004
/* Has CEOL cap */
59
#define TERM_CAN_TAB 0x008
/* Can use tabs */
60
#define TERM_CAN_ME 0x010
/* Can turn all attrs. */
61
#define TERM_CAN_UP 0x020
/* Can move up */
62
#define TERM_HAS_META 0x040
/* Has a meta key */
63
#define TERM_HAS_AUTO_MARGINS 0x080
/* Has auto margins */
64
#define TERM_HAS_MAGIC_MARGINS 0x100
/* Has magic margins */
65
char
*t_buf;
/* Termcap buffer */
66
size_t
t_loc;
/* location used */
67
char
**t_str;
/* termcap strings */
68
int
*t_val;
/* termcap values */
69
char
*t_cap;
/* Termcap buffer */
70
funckey_t
*t_fkey;
/* Array of keys */
71
}
el_terminal_t
;
72
73
/*
74
* fKey indexes
75
*/
76
#define A_K_DN 0
77
#define A_K_UP 1
78
#define A_K_LT 2
79
#define A_K_RT 3
80
#define A_K_HO 4
81
#define A_K_EN 5
82
#define A_K_NKEYS 6
83
84
protected
void
terminal_move_to_line(
EditLine
*,
int
);
85
protected
void
terminal_move_to_char(
EditLine
*,
int
);
86
protected
void
terminal_clear_EOL(
EditLine
*,
int
);
87
protected
void
terminal_overwrite(
EditLine
*,
const
Char *,
size_t
);
88
protected
void
terminal_insertwrite(
EditLine
*, Char *,
int
);
89
protected
void
terminal_deletechars(
EditLine
*,
int
);
90
protected
void
terminal_clear_screen(
EditLine
*);
91
protected
void
terminal_beep(
EditLine
*);
92
protected
int
terminal_change_size(
EditLine
*,
int
,
int
);
93
protected
int
terminal_get_size(
EditLine
*,
int
*,
int
*);
94
protected
int
terminal_init(
EditLine
*);
95
protected
void
terminal_bind_arrow(
EditLine
*);
96
protected
void
terminal_print_arrow(
EditLine
*,
const
Char *);
97
protected
int
terminal_clear_arrow(
EditLine
*,
const
Char *);
98
protected
int
terminal_set_arrow(
EditLine
*,
const
Char *,
keymacro_value_t
*,
int
);
99
protected
void
terminal_end(
EditLine
*);
100
protected
void
terminal_get(
EditLine
*,
const
char
**);
101
protected
int
terminal_set(
EditLine
*,
const
char
*);
102
protected
int
terminal_settc(
EditLine
*,
int
,
const
Char **);
103
protected
int
terminal_gettc(
EditLine
*,
int
,
char
**);
104
protected
int
terminal_telltc(
EditLine
*,
int
,
const
Char **);
105
protected
int
terminal_echotc(
EditLine
*,
int
,
const
Char **);
106
protected
void
terminal_writec(
EditLine
*, Int);
107
protected
int
terminal__putc(
EditLine
*, Int);
108
protected
void
terminal__flush(
EditLine
*);
109
110
/*
111
* Easy access macros
112
*/
113
#define EL_FLAGS (el)->el_terminal.t_flags
114
115
#define EL_CAN_INSERT (EL_FLAGS & TERM_CAN_INSERT)
116
#define EL_CAN_DELETE (EL_FLAGS & TERM_CAN_DELETE)
117
#define EL_CAN_CEOL (EL_FLAGS & TERM_CAN_CEOL)
118
#define EL_CAN_TAB (EL_FLAGS & TERM_CAN_TAB)
119
#define EL_CAN_ME (EL_FLAGS & TERM_CAN_ME)
120
#define EL_CAN_UP (EL_FLAGS & TERM_CAN_UP)
121
#define EL_HAS_META (EL_FLAGS & TERM_HAS_META)
122
#define EL_HAS_AUTO_MARGINS (EL_FLAGS & TERM_HAS_AUTO_MARGINS)
123
#define EL_HAS_MAGIC_MARGINS (EL_FLAGS & TERM_HAS_MAGIC_MARGINS)
124
125
#endif
/* _h_el_terminal */
cmd-line-utils
libedit
el_terminal.h
Generated on Sat Nov 9 2013 01:24:39 for MySQL 5.6.14 Source Code Document by
1.8.1.2