chiark / gitweb /
Sources placed under CVS control.
[become] / src / dbutils.h
1 /* -*-c-*-
2  *
3  * $Id: dbutils.h,v 1.2 1997/08/04 10:24:22 mdw Exp $
4  *
5  * Debugging things
6  *
7  * (c) 1996 Straylight
8  */
9
10 /*----- Licencing notice --------------------------------------------------*
11  *
12  * This file is part of `become'
13  *
14  * `Become' is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 2 of the License, or
17  * (at your option) any later version.
18  *
19  * `Become' is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with `become'; if not, write to the Free Software
26  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27  */
28
29 /*----- Revision history --------------------------------------------------*
30  *
31  * $Log: dbutils.h,v $
32  * Revision 1.2  1997/08/04 10:24:22  mdw
33  * Sources placed under CVS control.
34  *
35  * Revision 1.1  1997/07/21  13:47:50  mdw
36  * Initial revision
37  *
38  */
39
40 #ifndef DBUTILS_H
41 #define DBUTILS_H
42
43 /* --- Note --- *
44  *
45  * This is most certainly not portable.  I'm using VT100-specific control
46  * codes to clear the screen and @select@ to pause for a bit between
47  * allocations to stop the scree flicker driving me up the wall.
48  *
49  * The main routine just allocates and frees blocks randomly, and displays
50  */
51
52 #if defined(__unix)
53 #  include <sys/time.h>
54 #  include <unistd.h>
55 #  define cls fputs("\33[H\33[2J", stderr) /* VT100 specific */
56 #  define pause do {                                                    \
57      struct timeval tv = { 0, 10000 };                                  \
58      select(0, 0, 0, 0, &tv);                                           \
59    } while (0)
60 #elif defined(__riscos)
61 #  include "swiv.h"
62 #  include "swis.h"
63 #  define cls _swi(OS_WriteC, _in(0), 12)
64 #  define pause _swi(OS_Byte, _in(0), 19)
65 #else
66 #  define cls                           /* Tough.  Write these yourself. */
67 #  define pause
68 #endif
69
70 /*----- That's all, folks -------------------------------------------------*/
71
72 #endif