Annotation of embedaddon/readline/rldefs.h, revision 1.1

1.1     ! misho       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-2011 Free Software Foundation, Inc.
        !             6: 
        !             7:    This file is part of the GNU Readline Library (Readline), a library
        !             8:    for reading lines of text with interactive input and history editing.      
        !             9: 
        !            10:    Readline is free software: you can redistribute it and/or modify
        !            11:    it under the terms of the GNU General Public License as published by
        !            12:    the Free Software Foundation, either version 3 of the License, or
        !            13:    (at your option) any later version.
        !            14: 
        !            15:    Readline is distributed in the hope that it will be useful,
        !            16:    but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            17:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            18:    GNU General Public License for more details.
        !            19: 
        !            20:    You should have received a copy of the GNU General Public License
        !            21:    along with Readline.  If not, see <http://www.gnu.org/licenses/>.
        !            22: */
        !            23: 
        !            24: #if !defined (_RLDEFS_H_)
        !            25: #define _RLDEFS_H_
        !            26: 
        !            27: #if defined (HAVE_CONFIG_H)
        !            28: #  include "config.h"
        !            29: #endif
        !            30: 
        !            31: #include "rlstdc.h"
        !            32: 
        !            33: #if defined (STRCOLL_BROKEN)
        !            34: #  undef HAVE_STRCOLL
        !            35: #endif
        !            36: 
        !            37: #if defined (_POSIX_VERSION) && !defined (TERMIOS_MISSING)
        !            38: #  define TERMIOS_TTY_DRIVER
        !            39: #else
        !            40: #  if defined (HAVE_TERMIO_H)
        !            41: #    define TERMIO_TTY_DRIVER
        !            42: #  else
        !            43: #    if !defined (__MINGW32__)
        !            44: #      define NEW_TTY_DRIVER
        !            45: #    else
        !            46: #      define NO_TTY_DRIVER
        !            47: #    endif
        !            48: #  endif
        !            49: #endif
        !            50: 
        !            51: /* Posix macro to check file in statbuf for directory-ness.
        !            52:    This requires that <sys/stat.h> be included before this test. */
        !            53: #if defined (S_IFDIR) && !defined (S_ISDIR)
        !            54: #  define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR)
        !            55: #endif
        !            56: 
        !            57: /* Decide which flavor of the header file describing the C library
        !            58:    string functions to include and include it. */
        !            59: 
        !            60: #if defined (HAVE_STRING_H)
        !            61: #  include <string.h>
        !            62: #else /* !HAVE_STRING_H */
        !            63: #  include <strings.h>
        !            64: #endif /* !HAVE_STRING_H */
        !            65: 
        !            66: #if !defined (strchr) && !defined (__STDC__)
        !            67: extern char *strchr (), *strrchr ();
        !            68: #endif /* !strchr && !__STDC__ */
        !            69: 
        !            70: #if defined (PREFER_STDARG)
        !            71: #  include <stdarg.h>
        !            72: #else
        !            73: #  if defined (PREFER_VARARGS)
        !            74: #    include <varargs.h>
        !            75: #  endif
        !            76: #endif
        !            77: 
        !            78: #if defined (HAVE_STRCASECMP)
        !            79: #define _rl_stricmp strcasecmp
        !            80: #define _rl_strnicmp strncasecmp
        !            81: #else
        !            82: extern int _rl_stricmp PARAMS((const char *, const char *));
        !            83: extern int _rl_strnicmp PARAMS((const char *, const char *, int));
        !            84: #endif
        !            85: 
        !            86: #if defined (HAVE_STRPBRK) && !defined (HAVE_MULTIBYTE)
        !            87: #  define _rl_strpbrk(a,b)     strpbrk((a),(b))
        !            88: #else
        !            89: extern char *_rl_strpbrk PARAMS((const char *, const char *));
        !            90: #endif
        !            91: 
        !            92: #if !defined (emacs_mode)
        !            93: #  define no_mode -1
        !            94: #  define vi_mode 0
        !            95: #  define emacs_mode 1
        !            96: #endif
        !            97: 
        !            98: #if !defined (RL_IM_INSERT)
        !            99: #  define RL_IM_INSERT         1
        !           100: #  define RL_IM_OVERWRITE      0
        !           101: #
        !           102: #  define RL_IM_DEFAULT                RL_IM_INSERT
        !           103: #endif
        !           104: 
        !           105: /* If you cast map[key].function to type (Keymap) on a Cray,
        !           106:    the compiler takes the value of map[key].function and
        !           107:    divides it by 4 to convert between pointer types (pointers
        !           108:    to functions and pointers to structs are different sizes).
        !           109:    This is not what is wanted. */
        !           110: #if defined (CRAY)
        !           111: #  define FUNCTION_TO_KEYMAP(map, key) (Keymap)((int)map[key].function)
        !           112: #  define KEYMAP_TO_FUNCTION(data)     (rl_command_func_t *)((int)(data))
        !           113: #else
        !           114: #  define FUNCTION_TO_KEYMAP(map, key) (Keymap)(map[key].function)
        !           115: #  define KEYMAP_TO_FUNCTION(data)     (rl_command_func_t *)(data)
        !           116: #endif
        !           117: 
        !           118: #ifndef savestring
        !           119: #define savestring(x) strcpy ((char *)xmalloc (1 + strlen (x)), (x))
        !           120: #endif
        !           121: 
        !           122: /* Possible values for _rl_bell_preference. */
        !           123: #define NO_BELL 0
        !           124: #define AUDIBLE_BELL 1
        !           125: #define VISIBLE_BELL 2
        !           126: 
        !           127: /* Definitions used when searching the line for characters. */
        !           128: /* NOTE: it is necessary that opposite directions are inverses */
        !           129: #define        FTO      1              /* forward to */
        !           130: #define BTO    -1              /* backward to */
        !           131: #define FFIND   2              /* forward find */
        !           132: #define BFIND  -2              /* backward find */
        !           133: 
        !           134: /* Possible values for the found_quote flags word used by the completion
        !           135:    functions.  It says what kind of (shell-like) quoting we found anywhere
        !           136:    in the line. */
        !           137: #define RL_QF_SINGLE_QUOTE     0x01
        !           138: #define RL_QF_DOUBLE_QUOTE     0x02
        !           139: #define RL_QF_BACKSLASH                0x04
        !           140: #define RL_QF_OTHER_QUOTE      0x08
        !           141: 
        !           142: /* Default readline line buffer length. */
        !           143: #define DEFAULT_BUFFER_SIZE 256
        !           144: 
        !           145: #if !defined (STREQ)
        !           146: #define STREQ(a, b)    (((a)[0] == (b)[0]) && (strcmp ((a), (b)) == 0))
        !           147: #define STREQN(a, b, n)        (((n) == 0) ? (1) \
        !           148:                                    : ((a)[0] == (b)[0]) && (strncmp ((a), (b), (n)) == 0))
        !           149: #endif
        !           150: 
        !           151: #if !defined (RL_STRLEN)
        !           152: #  define RL_STRLEN(s) (((s) && (s)[0]) ? ((s)[1] ? ((s)[2] ? strlen(s) : 2) : 1) : 0)
        !           153: #endif
        !           154: 
        !           155: #if !defined (FREE)
        !           156: #  define FREE(x)      if (x) free (x)
        !           157: #endif
        !           158: 
        !           159: #if !defined (SWAP)
        !           160: #  define SWAP(s, e)  do { int t; t = s; s = e; e = t; } while (0)
        !           161: #endif
        !           162: 
        !           163: /* CONFIGURATION SECTION */
        !           164: #include "rlconf.h"
        !           165: 
        !           166: #endif /* !_RLDEFS_H_ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>