2 Copyright © 1995-2017, The AROS Development Team. All rights reserved.
5 Desc: Formats a message and makes sure the user will see it.
9 #include <aros/config.h>
10 #include <aros/arossupportbase.h>
12 #include <aros/system.h>
13 #include <proto/exec.h>
14 #include <proto/arossupport.h>
17 #define AROSBase ((struct AROSBase *)(SysBase->DebugAROSBase))
19 /* Can't use ctypt.h *sigh* */
20 #define isdigit(x) ((x) >= '0' && (x) <= '9')
21 #define isprint(x) (((x) >= ' ' && (x) <= 128) || (x) >= 160)
23 /*****************************************************************************
26 #include <proto/arossupport.h>
31 const STRPTR mainSystem
,
32 const STRPTR subSystem
,
38 Call kprintf if debugging for this main and subsystem is enabled
39 at a level larger than the level above. The minimal level is 1
40 (this way, debugging can be disabled in the debug config file
41 by giving a level of 0).
43 You should not call this function directly but use the rbug
44 macro. The rbug macro does some magic to make the handling
48 mainSystem - The main system. Use one of the DBG_MAINSYSTEM_*
49 macros to avoid typos.
50 subSystem - The part of the main system. Use one of the
51 DBG_*_SUBSYSTEM_* macros.
52 level - The debug level. Higher levels should give more details.
53 The lowest level is 1.
54 fmt - printf()-style format string
57 The number of characters output.
60 This function is not part of a library and may thus be called
67 D(rbug(INTUITION, INPUTHANDLER, 3,
68 "allocating event from cache (%p)", event
80 24-12-95 digulla created
82 ******************************************************************************/
87 /* FIXME check the systems and the debug level */
88 // Check SysBase->DebugAROSBase->DebugConfig
91 ret
= vkprintf((const char *)fmt
, ap
);