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
hist.h
1
/* $NetBSD: hist.h,v 1.13 2011/07/28 20:50:55 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
* @(#)hist.h 8.1 (Berkeley) 6/4/93
35
*/
36
37
/*
38
* el.hist.c: History functions
39
*/
40
#ifndef _h_el_hist
41
#define _h_el_hist
42
43
#include "histedit.h"
44
45
typedef
int (*hist_fun_t)(
void
*, TYPE(
HistEvent
) *, int, ...);
46
47
typedef
struct
el_history_t
{
48
Char *buf;
/* The history buffer */
49
size_t
sz;
/* Size of history buffer */
50
Char *last;
/* The last character */
51
int
eventno;
/* Event we are looking for */
52
void
* ref;
/* Argument for history fcns */
53
hist_fun_t fun;
/* Event access */
54
TYPE(
HistEvent
) ev;
/* Event cookie */
55
}
el_history_t
;
56
57
#define HIST_FUN_INTERNAL(el, fn, arg) \
58
((((*(el)->el_history.fun) ((el)->el_history.ref, &(el)->el_history.ev, \
59
fn, arg)) == -1) ? NULL : (el)->el_history.ev.str)
60
#ifdef WIDECHAR
61
#define HIST_FUN(el, fn, arg) \
62
(((el)->el_flags & NARROW_HISTORY) ? hist_convert(el, fn, arg) : \
63
HIST_FUN_INTERNAL(el, fn, arg))
64
#else
65
#define HIST_FUN(el, fn, arg) HIST_FUN_INTERNAL(el, fn, arg)
66
#endif
67
68
69
#define HIST_NEXT(el) HIST_FUN(el, H_NEXT, NULL)
70
#define HIST_FIRST(el) HIST_FUN(el, H_FIRST, NULL)
71
#define HIST_LAST(el) HIST_FUN(el, H_LAST, NULL)
72
#define HIST_PREV(el) HIST_FUN(el, H_PREV, NULL)
73
#define HIST_SET(el, num) HIST_FUN(el, H_SET, num)
74
#define HIST_LOAD(el, fname) HIST_FUN(el, H_LOAD fname)
75
#define HIST_SAVE(el, fname) HIST_FUN(el, H_SAVE fname)
76
77
protected
int
hist_init(
EditLine
*);
78
protected
void
hist_end(
EditLine
*);
79
protected
el_action_t hist_get(
EditLine
*);
80
protected
int
hist_set(
EditLine
*, hist_fun_t,
void
*);
81
protected
int
hist_command(
EditLine
*,
int
,
const
Char **);
82
protected
int
hist_enlargebuf(
EditLine
*,
size_t
,
size_t
);
83
#ifdef WIDECHAR
84
protected
wchar_t
*hist_convert(
EditLine
*,
int
,
void
*);
85
#endif
86
87
#endif
/* _h_el_hist */
cmd-line-utils
libedit
hist.h
Generated on Sat Nov 9 2013 01:24:39 for MySQL 5.6.14 Source Code Document by
1.8.1.2