~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to cmd-line-utils/libedit/sys.h

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
ImportĀ upstreamĀ versionĀ 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*      $NetBSD: sys.h,v 1.9 2004/01/17 17:57:40 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
 *      @(#)sys.h       8.1 (Berkeley) 6/4/93
 
35
 */
 
36
 
 
37
/*
 
38
 * sys.h: Put all the stupid compiler and system dependencies here...
 
39
 */
 
40
#ifndef _h_sys
 
41
#define _h_sys
 
42
 
 
43
#ifdef HAVE_SYS_CDEFS_H
 
44
#include <sys/cdefs.h>
 
45
#endif
 
46
 
 
47
#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__)  || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
 
48
# define __attribute__(A)
 
49
#endif
 
50
 
 
51
#ifndef _DIAGASSERT
 
52
# define _DIAGASSERT(x)
 
53
#endif
 
54
 
 
55
#ifndef SIZE_T_MAX
 
56
# define SIZE_T_MAX UINT_MAX
 
57
#endif
 
58
 
 
59
#ifndef __BEGIN_DECLS
 
60
# ifdef  __cplusplus
 
61
#  define __BEGIN_DECLS  extern "C" {
 
62
#  define __END_DECLS    }
 
63
# else
 
64
#  define __BEGIN_DECLS
 
65
#  define __END_DECLS
 
66
# endif
 
67
#endif
 
68
 
 
69
#ifndef public
 
70
# define public         /* Externally visible functions/variables */
 
71
#endif
 
72
 
 
73
#ifndef private
 
74
# define private        static  /* Always hidden internals */
 
75
#endif
 
76
 
 
77
#ifndef protected
 
78
# define protected      /* Redefined from elsewhere to "static" */
 
79
                        /* When we want to hide everything      */
 
80
#endif
 
81
 
 
82
#ifndef HAVE_U_INT32_T
 
83
typedef unsigned int  u_int32_t;
 
84
#endif
 
85
 
 
86
#ifndef _PTR_T
 
87
# define _PTR_T
 
88
typedef void    *ptr_t;
 
89
#endif
 
90
 
 
91
#ifndef _IOCTL_T
 
92
# define _IOCTL_T
 
93
typedef void    *ioctl_t;
 
94
#endif
 
95
 
 
96
#include <stdio.h>
 
97
 
 
98
#ifndef HAVE_STRLCAT
 
99
#define strlcat libedit_strlcat
 
100
size_t  strlcat(char *dst, const char *src, size_t size);
 
101
#endif
 
102
 
 
103
#ifndef HAVE_STRLCPY
 
104
#define strlcpy libedit_strlcpy
 
105
size_t  strlcpy(char *dst, const char *src, size_t size);
 
106
#endif
 
107
 
 
108
#ifndef HAVE_FGETLN
 
109
#define fgetln libedit_fgetln
 
110
char    *fgetln(FILE *fp, size_t *len);
 
111
#endif
 
112
 
 
113
#define REGEX           /* Use POSIX.2 regular expression functions */
 
114
#undef  REGEXP          /* Use UNIX V8 regular expression functions */
 
115
 
 
116
#ifdef __SunOS
 
117
extern int tgetent(char *, const char *);
 
118
extern int tgetflag(char *);
 
119
extern int tgetnum(char *);
 
120
extern int tputs(const char *, int, int (*)(int));
 
121
extern char* tgoto(const char*, int, int);
 
122
extern char* tgetstr(char*, char**);
 
123
#endif
 
124
 
 
125
/* XXXMYSQL: Bug#10218 Command line recall rolls into segfault */
 
126
#if !HAVE_DECL_TGOTO
 
127
/*
 
128
 'tgoto' is not declared in the system header files, this causes
 
129
 problems on 64-bit systems. The function returns a 64 bit pointer
 
130
 but caller see it as "int" and it's thus truncated to 32-bit
 
131
*/
 
132
extern char* tgoto(const char*, int, int);
 
133
#endif
 
134
 
 
135
#ifdef notdef
 
136
# undef REGEX
 
137
# undef REGEXP
 
138
# include <malloc.h>
 
139
# ifdef __GNUC__
 
140
/*
 
141
 * Broken hdrs.
 
142
 */
 
143
extern int      tgetent(const char *bp, char *name);
 
144
extern int      tgetflag(const char *id);
 
145
extern int      tgetnum(const char *id);
 
146
extern char    *tgetstr(const char *id, char **area);
 
147
extern char    *tgoto(const char *cap, int col, int row);
 
148
extern int      tputs(const char *str, int affcnt, int (*putc)(int));
 
149
extern char    *getenv(const char *);
 
150
extern int      fprintf(FILE *, const char *, ...);
 
151
extern int      sigsetmask(int);
 
152
extern int      sigblock(int);
 
153
extern int      fputc(int, FILE *);
 
154
extern int      fgetc(FILE *);
 
155
extern int      fflush(FILE *);
 
156
extern int      tolower(int);
 
157
extern int      toupper(int);
 
158
extern int      errno, sys_nerr;
 
159
extern char     *sys_errlist[];
 
160
extern void     perror(const char *);
 
161
#  include <string.h>
 
162
#  define strerror(e)   sys_errlist[e]
 
163
# endif
 
164
# ifdef SABER
 
165
extern ptr_t    memcpy(ptr_t, const ptr_t, size_t);
 
166
extern ptr_t    memset(ptr_t, int, size_t);
 
167
# endif
 
168
extern char    *fgetline(FILE *, int *);
 
169
#endif
 
170
 
 
171
#endif /* _h_sys */