chiark / gitweb /
07fa275d337623314b3d00a07d54643a6ce87d03
[become] / src / dbutils.h
1 /* -*-c-*-
2  *
3  * $Id: dbutils.h,v 1.3 1997/08/07 09:49:39 mdw Exp $
4  *
5  * Debugging things
6  *
7  * (c) 1996 Straylight
8  */
9
10 /*----- Licensing 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 Foundation,
26  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27  */
28
29 /*----- Revision history --------------------------------------------------*
30  *
31  * $Log: dbutils.h,v $
32  * Revision 1.3  1997/08/07 09:49:39  mdw
33  * Extensive modifications to handle netgroups.  Also sanitise user and group
34  * names before adding them to the symbol table.
35  *
36  * Revision 1.2  1997/08/04 10:24:22  mdw
37  * Sources placed under CVS control.
38  *
39  * Revision 1.1  1997/07/21  13:47:50  mdw
40  * Initial revision
41  *
42  */
43
44 #ifndef DBUTILS_H
45 #define DBUTILS_H
46
47 /* --- Note --- *
48  *
49  * This is most certainly not portable.  I'm using VT100-specific control
50  * codes to clear the screen and @select@ to pause for a bit between
51  * allocations to stop the scree flicker driving me up the wall.
52  *
53  * The main routine just allocates and frees blocks randomly, and displays
54  */
55
56 #if defined(__unix)
57 #  include <sys/time.h>
58 #  include <unistd.h>
59 #  define cls fputs("\33[H\33[2J", stderr) /* VT100 specific */
60 #  define pause do {                                                    \
61      struct timeval tv = { 0, 10000 };                                  \
62      select(0, 0, 0, 0, &tv);                                           \
63    } while (0)
64 #elif defined(__riscos)
65 #  include "swiv.h"
66 #  include "swis.h"
67 #  define cls _swi(OS_WriteC, _in(0), 12)
68 #  define pause _swi(OS_Byte, _in(0), 19)
69 #else
70 #  define cls                           /* Tough.  Write these yourself. */
71 #  define pause
72 #endif
73
74 /*----- That's all, folks -------------------------------------------------*/
75
76 #endif