MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
sys.h
1
/* $NetBSD: sys.h,v 1.17 2011/09/28 14:08:04 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 __BEGIN_DECLS
52
# ifdef __cplusplus
53
# define __BEGIN_DECLS extern "C" {
54
# define __END_DECLS }
55
# else
56
# define __BEGIN_DECLS
57
# define __END_DECLS
58
# endif
59
#endif
60
61
#ifndef public
62
# define public
/* Externally visible functions/variables */
63
#endif
64
65
#ifndef private
66
# define private static
/* Always hidden internals */
67
#endif
68
69
#ifndef protected
70
# define protected
/* Redefined from elsewhere to "static" */
71
/* When we want to hide everything */
72
#endif
73
74
#ifndef __arraycount
75
# define __arraycount(a) (sizeof(a) / sizeof(*(a)))
76
#endif
77
78
#include <stdio.h>
79
80
#ifndef HAVE_STRLCAT
81
#define strlcat libedit_strlcat
82
size_t
strlcat(
char
*dst,
const
char
*src,
size_t
size
);
83
#endif
84
85
#ifndef HAVE_STRLCPY
86
#define strlcpy libedit_strlcpy
87
size_t
strlcpy(
char
*dst,
const
char
*src,
size_t
size
);
88
#endif
89
90
#ifndef HAVE_FGETLN
91
#define fgetln libedit_fgetln
92
char
*fgetln(FILE *fp,
size_t
*len);
93
#endif
94
95
#ifdef __linux__
96
/* Apparently we need _GNU_SOURCE defined to get access to wcsdup on Linux */
97
#ifndef _GNU_SOURCE
98
#define _GNU_SOURCE
99
#endif
100
#endif
101
102
#ifndef __USE_XOPEN
103
#define __USE_XOPEN
104
#endif
105
106
#include <wchar.h>
107
#include <wctype.h>
108
109
#ifndef HAVE_WCSDUP
110
wchar_t
*wcsdup(
const
wchar_t
*);
111
#endif
112
113
#ifndef _DIAGASSERT
114
#define _DIAGASSERT(x)
115
#endif
116
117
#ifndef __RCSID
118
#define __RCSID(x)
119
#endif
120
121
#ifndef HAVE_U_INT32_T
122
typedef
unsigned
int
u_int32_t;
123
#endif
124
125
#ifndef SIZE_T_MAX
126
#define SIZE_T_MAX ((size_t)-1)
127
#endif
128
129
#define REGEX
/* Use POSIX.2 regular expression functions */
130
#undef REGEXP
/* Use UNIX V8 regular expression functions */
131
132
#if defined(__sun)
133
extern
int
tgetent(
char
*,
const
char
*);
134
extern
int
tgetflag(
char
*);
135
extern
int
tgetnum(
char
*);
136
extern
int
tputs(
const
char
*,
int
,
int
(*)(
int
));
137
extern
char
* tgoto(
const
char
*,
int
,
int
);
138
extern
char
* tgetstr(
char
*,
char
**);
139
#endif
140
141
/* XXXMYSQL: Bug#10218 Command line recall rolls into segfault */
142
#if !HAVE_DECL_TGOTO
143
/*
144
'tgoto' is not declared in the system header files, this causes
145
problems on 64-bit systems. The function returns a 64 bit pointer
146
but caller see it as "int" and it's thus truncated to 32-bit
147
*/
148
extern
char
* tgoto(
const
char
*,
int
,
int
);
149
#endif
150
151
#ifdef notdef
152
# undef REGEX
153
# undef REGEXP
154
# include <malloc.h>
155
# ifdef __GNUC__
156
/*
157
* Broken hdrs.
158
*/
159
extern
int
tgetent(
const
char
*bp,
char
*
name
);
160
extern
int
tgetflag(
const
char
*
id
);
161
extern
int
tgetnum(
const
char
*
id
);
162
extern
char
*tgetstr(
const
char
*
id
,
char
**area);
163
extern
char
*tgoto(
const
char
*cap,
int
col,
int
row);
164
extern
int
tputs(
const
char
*str,
int
affcnt,
int
(*putc)(
int
));
165
extern
char
*getenv(
const
char
*);
166
extern
int
fprintf(FILE *,
const
char
*, ...);
167
extern
int
sigsetmask(
int
);
168
extern
int
sigblock(
int
);
169
extern
int
fputc(
int
, FILE *);
170
extern
int
fgetc(FILE *);
171
extern
int
fflush(FILE *);
172
extern
int
tolower(
int
);
173
extern
int
toupper(
int
);
174
extern
int
errno, sys_nerr;
175
extern
char
*sys_errlist[];
176
extern
void
perror(
const
char
*);
177
# include <string.h>
178
# define strerror(e) sys_errlist[e]
179
# endif
180
# ifdef SABER
181
extern
void
* memcpy(
void
*,
const
void
*,
size_t
);
182
extern
void
* memset(
void
*,
int
,
size_t
);
183
# endif
184
extern
char
*fgetline(FILE *,
int
*);
185
#endif
186
187
#endif
/* _h_sys */
cmd-line-utils
libedit
sys.h
Generated on Sat Nov 9 2013 01:24:40 for MySQL 5.6.14 Source Code Document by
1.8.1.2