Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / editline / editline.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2  *
3  * ***** BEGIN LICENSE BLOCK *****
4  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5  *
6  * The contents of this file are subject to the Mozilla Public License Version
7  * 1.1 (the "License"); you may not use this file except in compliance with
8  * the License. You may obtain a copy of the License at
9  * http://www.mozilla.org/MPL/
10  *
11  * Software distributed under the License is distributed on an "AS IS" basis,
12  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13  * for the specific language governing rights and limitations under the
14  * License.
15  *
16  * The Original Code is Mozilla Communicator client code, released
17  * March 31, 1998.
18  *
19  * The Initial Developer of the Original Code is
20  * Simmule Turner and Rich Salz.
21  * Portions created by the Initial Developer are Copyright (C) 1998
22  * the Initial Developer. All Rights Reserved.
23  *
24  * Contributor(s):
25  *
26  * Alternatively, the contents of this file may be used under the terms of
27  * either the GNU General Public License Version 2 or later (the "GPL"), or
28  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29  * in which case the provisions of the GPL or the LGPL are applicable instead
30  * of those above. If you wish to allow use of your version of this file only
31  * under the terms of either the GPL or the LGPL, and not to allow others to
32  * use your version of this file under the terms of the MPL, indicate your
33  * decision by deleting the provisions above and replace them with the notice
34  * and other provisions required by the GPL or the LGPL. If you do not delete
35  * the provisions above, a recipient may use your version of this file under
36  * the terms of any one of the MPL, the GPL or the LGPL.
37  *
38  * ***** END LICENSE BLOCK ***** */
39
40 /*
41  * Copyright 1992,1993 Simmule Turner and Rich Salz.  All rights reserved.
42  *
43  * This software is not subject to any license of the American Telephone
44  * and Telegraph Company or of the Regents of the University of California.
45  *
46  * Permission is granted to anyone to use this software for any purpose on
47  * any computer system, and to alter it and redistribute it freely, subject
48  * to the following restrictions:
49  * 1. The authors are not responsible for the consequences of use of this
50  *    software, no matter how awful, even if they arise from flaws in it.
51  * 2. The origin of this software must not be misrepresented, either by
52  *    explicit claim or by omission.  Since few users ever read sources,
53  *    credits must appear in the documentation.
54  * 3. Altered versions must be plainly marked as such, and must not be
55  *    misrepresented as being the original software.  Since few users
56  *    ever read sources, credits must appear in the documentation.
57  * 4. This notice may not be removed or altered.
58  */
59
60 /*
61 **  Internal header file for editline library.
62 */
63 #include <stdio.h>
64 #if     defined(HAVE_STDLIB)
65 #include <stdlib.h>
66 #include <string.h>
67 #endif  /* defined(HAVE_STDLIB) */
68 #if     defined(SYS_UNIX)
69 #include "unix.h"
70 #endif  /* defined(SYS_UNIX) */
71 #if     defined(SYS_OS9)
72 #include "os9.h"
73 #endif  /* defined(SYS_OS9) */
74
75 #if     !defined(SIZE_T)
76 #define SIZE_T  unsigned int
77 #endif  /* !defined(SIZE_T) */
78
79 typedef unsigned char   CHAR;
80
81 #if     defined(HIDE)
82 #define STATIC  static
83 #else
84 #define STATIC  /* NULL */
85 #endif  /* !defined(HIDE) */
86
87 #if     !defined(CONST)
88 #if     defined(__STDC__)
89 #define CONST   const
90 #else
91 #define CONST
92 #endif  /* defined(__STDC__) */
93 #endif  /* !defined(CONST) */
94
95
96 #define MEM_INC         64
97 #define SCREEN_INC      256
98
99 #define DISPOSE(p)      free((char *)(p))
100 #define NEW(T, c)       \
101         ((T *)malloc((unsigned int)(sizeof (T) * (c))))
102 #define RENEW(p, T, c)  \
103         (p = (T *)realloc((char *)(p), (unsigned int)(sizeof (T) * (c))))
104 #define COPYFROMTO(new, p, len) \
105         (void)memcpy((char *)(new), (char *)(p), (int)(len))
106
107
108 /*
109 **  Variables and routines internal to this package.
110 */
111 extern unsigned rl_eof;
112 extern unsigned rl_erase;
113 extern unsigned rl_intr;
114 extern unsigned rl_kill;
115 extern unsigned rl_quit;
116 extern char     *rl_complete();
117 extern int      rl_list_possib();
118 extern void     rl_ttyset();
119 extern void     rl_add_slash();
120
121 #if     !defined(HAVE_STDLIB)
122 extern char     *getenv();
123 extern char     *malloc();
124 extern char     *realloc();
125 extern char     *memcpy();
126 extern char     *strcat();
127 extern char     *strchr();
128 extern char     *strrchr();
129 extern char     *strcpy();
130 extern char     *strdup();
131 extern int      strcmp();
132 extern int      strlen();
133 extern int      strncmp();
134 #endif  /* !defined(HAVE_STDLIB) */
135