~mysql/mysql-server/mysql-6.0

« back to all changes in this revision

Viewing changes to readline/rldefs.h

  • Committer: bk at mysql
  • Date: 2000-07-31 19:29:14 UTC
  • Revision ID: sp1r-bk@work.mysql.com-20000731192914-08846
Import changeset

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* rldefs.h -- an attempt to isolate some of the system-specific defines
 
2
   for readline.  This should be included after any files that define
 
3
   system-specific constants like _POSIX_VERSION or USG. */
 
4
 
 
5
/* Copyright (C) 1987,1989 Free Software Foundation, Inc.
 
6
 
 
7
   This file contains the Readline Library (the Library), a set of
 
8
   routines for providing Emacs style line input to programs that ask
 
9
   for it.
 
10
 
 
11
   The Library is free software; you can redistribute it and/or modify
 
12
   it under the terms of the GNU General Public License as published by
 
13
   the Free Software Foundation; either version 1, or (at your option)
 
14
   any later version.
 
15
 
 
16
   The Library is distributed in the hope that it will be useful, but
 
17
   WITHOUT ANY WARRANTY; without even the implied warranty of
 
18
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
19
   General Public License for more details.
 
20
 
 
21
   The GNU General Public License is often shipped with GNU software, and
 
22
   is generally kept in a file called COPYING or LICENSE.  If you do not
 
23
   have a copy of the license, write to the Free Software Foundation,
 
24
   675 Mass Ave, Cambridge, MA 02139, USA. */
 
25
 
 
26
#if !defined (_RLDEFS_H_)
 
27
#define _RLDEFS_H_
 
28
 
 
29
#if defined (HAVE_CONFIG_H)
 
30
#  include "config.h"
 
31
#endif
 
32
 
 
33
#if defined (_POSIX_VERSION) && !defined (TERMIOS_MISSING)
 
34
#  define TERMIOS_TTY_DRIVER
 
35
#else
 
36
#  if defined (HAVE_TERMIO_H)
 
37
#    define TERMIO_TTY_DRIVER
 
38
#  else
 
39
#    define NEW_TTY_DRIVER
 
40
#  endif
 
41
#endif
 
42
 
 
43
/* Posix macro to check file in statbuf for directory-ness.
 
44
   This requires that <sys/stat.h> be included before this test. */
 
45
#if defined (S_IFDIR) && !defined (S_ISDIR)
 
46
#  define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR)
 
47
#endif
 
48
 
 
49
/* Decide which flavor of the header file describing the C library
 
50
   string functions to include and include it. */
 
51
 
 
52
#if defined (HAVE_STRING_H)
 
53
#  include <string.h>
 
54
#else /* !HAVE_STRING_H */
 
55
#  include <strings.h>
 
56
#endif /* !HAVE_STRING_H */
 
57
 
 
58
#if !defined (strchr) && !defined (__STDC__)
 
59
extern char *strchr (), *strrchr ();
 
60
#endif /* !strchr && !__STDC__ */
 
61
 
 
62
#if defined (PREFER_STDARG)
 
63
#  include <stdarg.h>
 
64
#else
 
65
#  if defined (PREFER_VARARGS)
 
66
#    include <varargs.h>
 
67
#  endif
 
68
#endif
 
69
 
 
70
#if defined (HAVE_STRCASECMP)
 
71
#define _rl_stricmp strcasecmp
 
72
#define _rl_strnicmp strncasecmp
 
73
#else
 
74
extern int _rl_stricmp (), _rl_strnicmp ();
 
75
#endif
 
76
 
 
77
#if !defined (emacs_mode)
 
78
#  define no_mode -1
 
79
#  define vi_mode 0
 
80
#  define emacs_mode 1
 
81
#endif
 
82
 
 
83
/* If you cast map[key].function to type (Keymap) on a Cray,
 
84
   the compiler takes the value of map[key].function and
 
85
   divides it by 4 to convert between pointer types (pointers
 
86
   to functions and pointers to structs are different sizes).
 
87
   This is not what is wanted. */
 
88
#if defined (CRAY)
 
89
#  define FUNCTION_TO_KEYMAP(map, key)  (Keymap)((int)map[key].function)
 
90
#  define KEYMAP_TO_FUNCTION(data)      (Function *)((int)(data))
 
91
#else
 
92
#  define FUNCTION_TO_KEYMAP(map, key)  (Keymap)(map[key].function)
 
93
#  define KEYMAP_TO_FUNCTION(data)      (Function *)(data)
 
94
#endif
 
95
 
 
96
#ifndef savestring
 
97
extern char *xmalloc ();
 
98
#define savestring(x) strcpy (xmalloc (1 + strlen (x)), (x))
 
99
#endif
 
100
 
 
101
/* Possible values for _rl_bell_preference. */
 
102
#define NO_BELL 0
 
103
#define AUDIBLE_BELL 1
 
104
#define VISIBLE_BELL 2
 
105
 
 
106
/* Definitions used when searching the line for characters. */
 
107
/* NOTE: it is necessary that opposite directions are inverses */
 
108
#define FTO      1              /* forward to */
 
109
#define BTO     -1              /* backward to */
 
110
#define FFIND    2              /* forward find */
 
111
#define BFIND   -2              /* backward find */
 
112
 
 
113
/* Possible values for the found_quote flags word used by the completion
 
114
   functions.  It says what kind of (shell-like) quoting we found anywhere
 
115
   in the line. */
 
116
#define RL_QF_SINGLE_QUOTE      0x1
 
117
#define RL_QF_DOUBLE_QUOTE      0x2
 
118
#define RL_QF_BACKSLASH         0x4
 
119
 
 
120
/* Default readline line buffer length. */
 
121
#define DEFAULT_BUFFER_SIZE 256
 
122
 
 
123
#if !defined (STREQ)
 
124
#define STREQ(a, b)     (((a)[0] == (b)[0]) && (strcmp ((a), (b)) == 0))
 
125
#define STREQN(a, b, n) (((a)[0] == (b)[0]) && (strncmp ((a), (b), (n)) == 0))
 
126
#endif
 
127
 
 
128
#if !defined (FREE)
 
129
#  define FREE(x)       if (x) free (x)
 
130
#endif
 
131
 
 
132
/* CONFIGURATION SECTION */
 
133
#include "rlconf.h"
 
134
 
 
135
#endif /* !_RLDEFS_H_ */