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
dbug_long.h
1
#error This file is not used in MySQL - see ../include/my_dbug.h instead
2
/******************************************************************************
3
* *
4
* N O T I C E *
5
* *
6
* Copyright Abandoned, 1987, Fred Fish *
7
* *
8
* *
9
* This previously copyrighted work has been placed into the public *
10
* domain by the author and may be freely used for any purpose, *
11
* private or commercial. *
12
* *
13
* Because of the number of inquiries I was receiving about the use *
14
* of this product in commercially developed works I have decided to *
15
* simply make it public domain to further its unrestricted use. I *
16
* specifically would be most happy to see this material become a *
17
* part of the standard Unix distributions by AT&T and the Berkeley *
18
* Computer Science Research Group, and a standard part of the GNU *
19
* system from the Free Software Foundation. *
20
* *
21
* I would appreciate it, as a courtesy, if this notice is left in *
22
* all copies and derivative works. Thank you. *
23
* *
24
* The author makes no warranty of any kind with respect to this *
25
* product and explicitly disclaims any implied warranties of mer- *
26
* chantability or fitness for any particular purpose. *
27
* *
28
******************************************************************************
29
*/
30
31
/*
32
* FILE
33
*
34
* dbug.h user include file for programs using the dbug package
35
*
36
* SYNOPSIS
37
*
38
* #include <local/dbug.h>
39
*
40
* SCCS ID
41
*
42
* @(#)dbug.h 1.13 7/17/89
43
*
44
* DESCRIPTION
45
*
46
* Programs which use the dbug package must include this file.
47
* It contains the appropriate macros to call support routines
48
* in the dbug runtime library.
49
*
50
* To disable compilation of the macro expansions define the
51
* preprocessor symbol "DBUG_OFF". This will result in null
52
* macros expansions so that the resulting code will be smaller
53
* and faster. (The difference may be smaller than you think
54
* so this step is recommended only when absolutely necessary).
55
* In general, tradeoffs between space and efficiency are
56
* decided in favor of efficiency since space is seldom a
57
* problem on the new machines).
58
*
59
* All externally visible symbol names follow the pattern
60
* "_db_xxx..xx_" to minimize the possibility of a dbug package
61
* symbol colliding with a user defined symbol.
62
*
63
* The DBUG_<N> style macros are obsolete and should not be used
64
* in new code. Macros to map them to instances of DBUG_PRINT
65
* are provided for compatibility with older code. They may go
66
* away completely in subsequent releases.
67
*
68
* AUTHOR
69
*
70
* Fred Fish
71
* (Currently employed by Motorola Computer Division, Tempe, Az.)
72
* hao!noao!mcdsun!fnf
73
* (602) 438-3614
74
*
75
*/
76
77
/*
78
* Internally used dbug variables which must be global.
79
*/
80
81
#ifndef DBUG_OFF
82
extern
int
_db_on_;
/* TRUE if debug currently enabled */
83
extern
FILE *_db_fp_;
/* Current debug output stream */
84
extern
char
*_db_process_;
/* Name of current process */
85
extern
int
_db_keyword_ ();
/* Accept/reject keyword */
86
extern
void
_db_push_ ();
/* Push state, set up new state */
87
extern
void
_db_pop_ ();
/* Pop previous debug state */
88
extern
void
_db_enter_ ();
/* New user function entered */
89
extern
void
_db_return_ ();
/* User function return */
90
extern
void
_db_pargs_ ();
/* Remember args for line */
91
extern
void
_db_doprnt_ ();
/* Print debug output */
92
extern
void
_db_setjmp_ ();
/* Save debugger environment */
93
extern
void
_db_longjmp_ ();
/* Restore debugger environment */
94
extern
void
_db_dump_();
/* Dump memory */
95
# endif
96
97
98
/*
99
* These macros provide a user interface into functions in the
100
* dbug runtime support library. They isolate users from changes
101
* in the MACROS and/or runtime support.
102
*
103
* The symbols "__LINE__" and "__FILE__" are expanded by the
104
* preprocessor to the current source file line number and file
105
* name respectively.
106
*
107
* WARNING --- Because the DBUG_ENTER macro allocates space on
108
* the user function's stack, it must precede any executable
109
* statements in the user function.
110
*
111
*/
112
113
# ifdef DBUG_OFF
114
# define DBUG_ENTER(a1)
115
# define DBUG_RETURN(a1) return(a1)
116
# define DBUG_VOID_RETURN return
117
# define DBUG_EXECUTE(keyword,a1)
118
# define DBUG_PRINT(keyword,arglist)
119
# define DBUG_2(keyword,format)
/* Obsolete */
120
# define DBUG_3(keyword,format,a1)
/* Obsolete */
121
# define DBUG_4(keyword,format,a1,a2)
/* Obsolete */
122
# define DBUG_5(keyword,format,a1,a2,a3)
/* Obsolete */
123
# define DBUG_PUSH(a1)
124
# define DBUG_POP()
125
# define DBUG_PROCESS(a1)
126
# define DBUG_FILE (stderr)
127
# define DBUG_SETJMP setjmp
128
# define DBUG_LONGJMP longjmp
129
# define DBUG_DUMP(keyword,a1)
130
# else
131
# define DBUG_ENTER(a) \
132
auto char *_db_func_; auto char *_db_file_; auto int _db_level_; \
133
auto char **_db_framep_; \
134
_db_enter_ (a,__FILE__,__LINE__,&_db_func_,&_db_file_,&_db_level_, \
135
&_db_framep_)
136
# define DBUG_LEAVE \
137
(_db_return_ (__LINE__, &_db_func_, &_db_file_, &_db_level_))
138
# define DBUG_RETURN(a1) return (DBUG_LEAVE, (a1))
139
/* define DBUG_RETURN(a1) {DBUG_LEAVE; return(a1);} Alternate form */
140
# define DBUG_VOID_RETURN {DBUG_LEAVE; return;}
141
# define DBUG_EXECUTE(keyword,a1) \
142
{if (_db_on_) {if (_db_keyword_ (keyword)) { a1 }}}
143
# define DBUG_PRINT(keyword,arglist) \
144
{if (_db_on_) {_db_pargs_(__LINE__,keyword); _db_doprnt_ arglist;}}
145
# define DBUG_2(keyword,format) \
146
DBUG_PRINT(keyword,(format))
/* Obsolete */
147
# define DBUG_3(keyword,format,a1) \
148
DBUG_PRINT(keyword,(format,a1))
/* Obsolete */
149
# define DBUG_4(keyword,format,a1,a2) \
150
DBUG_PRINT(keyword,(format,a1,a2))
/* Obsolete */
151
# define DBUG_5(keyword,format,a1,a2,a3) \
152
DBUG_PRINT(keyword,(format,a1,a2,a3))
/* Obsolete */
153
# define DBUG_PUSH(a1) _db_push_ (a1)
154
# define DBUG_POP() _db_pop_ ()
155
# define DBUG_PROCESS(a1) (_db_process_ = a1)
156
# define DBUG_FILE (_db_fp_)
157
# define DBUG_SETJMP(a1) (_db_setjmp_ (), setjmp (a1))
158
# define DBUG_LONGJMP(a1,a2) (_db_longjmp_ (), longjmp (a1, a2))
159
# define DBUG_DUMP(keyword,a1,a2) _db_dump_(__LINE__,keyword,a1,a2)
160
# endif
dbug
dbug_long.h
Generated on Sat Nov 9 2013 01:24:40 for MySQL 5.6.14 Source Code Document by
1.8.1.2