/js/src/editline/editline.h

https://github.com/diogogmt/mozilla-central · C Header · 135 lines · 59 code · 13 blank · 63 comment · 0 complexity · 44a087f975b62d416e423a1ed1420ce1 MD5 · raw file

  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. * Copyright 1992,1993 Simmule Turner and Rich Salz. All rights reserved.
  41. *
  42. * This software is not subject to any license of the American Telephone
  43. * and Telegraph Company or of the Regents of the University of California.
  44. *
  45. * Permission is granted to anyone to use this software for any purpose on
  46. * any computer system, and to alter it and redistribute it freely, subject
  47. * to the following restrictions:
  48. * 1. The authors are not responsible for the consequences of use of this
  49. * software, no matter how awful, even if they arise from flaws in it.
  50. * 2. The origin of this software must not be misrepresented, either by
  51. * explicit claim or by omission. Since few users ever read sources,
  52. * credits must appear in the documentation.
  53. * 3. Altered versions must be plainly marked as such, and must not be
  54. * misrepresented as being the original software. Since few users
  55. * ever read sources, credits must appear in the documentation.
  56. * 4. This notice may not be removed or altered.
  57. */
  58. /*
  59. ** Internal header file for editline library.
  60. */
  61. #include <stdio.h>
  62. #if defined(HAVE_STDLIB)
  63. #include <stdlib.h>
  64. #include <string.h>
  65. #endif /* defined(HAVE_STDLIB) */
  66. #if defined(SYS_UNIX)
  67. #include "unix.h"
  68. #endif /* defined(SYS_UNIX) */
  69. #if defined(SYS_OS9)
  70. #include "os9.h"
  71. #endif /* defined(SYS_OS9) */
  72. #if !defined(SIZE_T)
  73. #define SIZE_T unsigned int
  74. #endif /* !defined(SIZE_T) */
  75. typedef unsigned char CHAR;
  76. #if defined(HIDE)
  77. #define STATIC static
  78. #else
  79. #define STATIC /* NULL */
  80. #endif /* !defined(HIDE) */
  81. #if !defined(CONST)
  82. #if defined(__STDC__)
  83. #define CONST const
  84. #else
  85. #define CONST
  86. #endif /* defined(__STDC__) */
  87. #endif /* !defined(CONST) */
  88. #define MEM_INC 64
  89. #define SCREEN_INC 256
  90. #define DISPOSE(p) free((char *)(p))
  91. #define NEW(T, c) \
  92. ((T *)malloc((unsigned int)(sizeof (T) * (c))))
  93. #define RENEW(p, T, c) \
  94. (p = (T *)realloc((char *)(p), (unsigned int)(sizeof (T) * (c))))
  95. #define COPYFROMTO(new, p, len) \
  96. (void)memcpy((char *)(new), (char *)(p), (int)(len))
  97. /*
  98. ** Variables and routines internal to this package.
  99. */
  100. extern unsigned rl_eof;
  101. extern unsigned rl_erase;
  102. extern unsigned rl_intr;
  103. extern unsigned rl_kill;
  104. extern unsigned rl_quit;
  105. extern char *rl_complete();
  106. extern int rl_list_possib();
  107. extern void rl_ttyset(int);
  108. extern void rl_add_slash();
  109. #if !defined(HAVE_STDLIB)
  110. extern char *getenv();
  111. extern char *malloc();
  112. extern char *realloc();
  113. extern char *memcpy();
  114. extern char *strcat();
  115. extern char *strchr();
  116. extern char *strrchr();
  117. extern char *strcpy();
  118. extern char *strdup();
  119. extern int strcmp();
  120. extern int strlen();
  121. extern int strncmp();
  122. #endif /* !defined(HAVE_STDLIB) */