1 /*---------------------------------------------------------------------------*
2   Project:  Dolphin GX library
3   File:     GXVerify.h
4 
5   Copyright 1998- 2002 Nintendo. All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Log: GXVerify.h,v $
14   Revision 1.2  2006/02/04 11:56:46  hashida
15   (none)
16 
17   Revision 1.1.1.1  2005/12/29 06:53:28  hiratsu
18   Initial import.
19 
20   Revision 1.1.1.1  2005/05/12 02:41:07  yasuh-to
21   Ported from dolphin source tree.
22 
23 
24     6     2002/07/24 9:07 Hirose
25     Resolved version conflicts.
26 
27     6     2002/04/09 15:15 Hirose
28     const type specifier support. (worked by hiratsu@IRD)
29 
30     5     2001/08/07 3:08p Carl
31     Fixed typo.
32 
33     4    2000/ 11/14 11:33p Hirose
34     added stubs for GXVerify stuff of NDEBUG build
35 
36     3     2000/10/06 6:20p Carl
37     Updated warning system to print messages through callback (part 2)
38 
39     2     2000/08/27 5:45p Alligator
40     print warning messages through a callback function
41 
42     1    2000/01/28 3:55p Alligator
43     integrate library from ArtX
44 
45     1     1999/08/30 11:06a Vimal
46 
47 
48   $NoKeywords: $
49  *---------------------------------------------------------------------------*/
50 
51 #ifndef __GXVERIFY_H
52 #define __GXVERIFY_H
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
58 /*---------------------------------------------------------------------------*/
59 #include <revolution/types.h>
60 
61 typedef enum {
62     GX_WARN_NONE,       // No warnings reported
63     GX_WARN_SEVERE,     // Reports only severest warnings
64     GX_WARN_MEDIUM,     // Reports severe and medium warnings
65     GX_WARN_ALL         // Reports any and all warning info
66 } GXWarningLevel;
67 
68 #ifdef _DEBUG
69 extern void GXSetVerifyLevel( GXWarningLevel level );
70 #else
71 #define GXSetVerifyLevel(level)     ((void)0)
72 #endif
73 
74 // Note: Warning IDs are subject to change.
75 //       Warning messages are subject to change as well.
76 
77 typedef void (*GXVerifyCallback)(GXWarningLevel level,
78                                  u32            id,
79                                  const char*          msg);
80 
81 #ifdef _DEBUG
82 GXVerifyCallback GXSetVerifyCallback( GXVerifyCallback cb );
83 #else
84 #define GXSetVerifyCallback(cb)     ((GXVerifyCallback)0)
85 #endif
86 
87 /*---------------------------------------------------------------------------*/
88 #ifdef __cplusplus
89 }
90 #endif
91 
92 #endif // __GXVERIFY_H
93