Tizen 2.0 Release
[external/epson-laser-printer-escpage.git] / lib / epson-escpr-dbg.h
1 /*_______________________________   epson-escpr-dbg.h   ________________________________*/\r
2 \r
3 /*       1         2         3         4         5         6         7         8        */\r
4 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/\r
5 /*******************************************|********************************************/\r
6 /*\r
7 *   Copyright (c) 2009  Seiko Epson Corporation                 All rights reserved.\r
8 *\r
9 *   Copyright protection claimed includes all forms and matters of\r
10 *   copyrightable material and information now allowed by statutory or judicial\r
11 *   law or hereinafter granted, including without limitation, material generated\r
12 *   from the software programs which are displayed on the screen such as icons,\r
13 *   screen display looks, etc.\r
14 *\r
15 */\r
16 /*******************************************|********************************************/\r
17 /*                                                                                      */\r
18 /*                            Epson debuger Module Definitions                          */\r
19 /*                                                                                      */\r
20 /*******************************************|********************************************/\r
21 #ifndef _EPSON_ESPCR_DBG_H_\r
22 #define _EPSON_ESPCR_DBG_H_\r
23 #ifdef    __cplusplus\r
24 extern "C" {\r
25 #endif    /* def __cplusplus    */\r
26 \r
27 #ifdef GCOMSW_DEBUG\r
28 \r
29 /*------------------------------- Global Compiler Switch -------------------------------*/\r
30 /*******************************************|********************************************/\r
31 \r
32 /*------------------------------------  Includes   -------------------------------------*/\r
33 /*******************************************|********************************************/\r
34 #include "epson-typedefs.h"\r
35 #include "epson-escpr-pvt.h"\r
36 \r
37 \r
38 /*-----------------------------------  Definitions  ------------------------------------*/\r
39 /*******************************************|********************************************/\r
40  \r
41 /*--------------------------  Public Function Declarations   ---------------------------*/\r
42 /*******************************************|********************************************/\r
43 \r
44 /*** memory                                                                             */\r
45 /*** -----------------------------------------------------------------------------------*/\r
46 extern void dbgMemInit();\r
47 extern void dbgMemResetPeak();\r
48 extern void dbgMemReportPeak();\r
49 extern EPS_UINT32 dbgMemGetPeak();\r
50 extern void dbgMemReportLeak();\r
51 extern void *dbgAlloc(EPS_INT8 *pszFile, EPS_INT32 nLine, EPS_UINT32 s);\r
52 extern void dbgFree(void *p);\r
53 \r
54 #define EPS_MEM_INIT        dbgMemInit();\r
55 #define EPS_MEM_RESET_PEAK      dbgMemResetPeak();\r
56 #define EPS_MEM_REPORT_PEAK     dbgMemReportPeak();\r
57 #define EPS_MEM_GET_PEAK        dbgMemGetPeak()\r
58 #define EPS_MEM_REPORT_LEAK dbgMemReportLeak();\r
59 #define EPS_ALLOC( s )      dbgAlloc( __FILE__, __LINE__, (EPS_UINT32)s )\r
60 #define EPS_FREE( p )       dbgFree( (void*)p )\r
61 \r
62 \r
63 /*** PRINT                                                                              */\r
64 /*** -----------------------------------------------------------------------------------*/\r
65 extern char *dbgPrintHlp(const char* frm, ...);\r
66 extern void dbgPrint(EPS_INT8 *pszSrcFile, EPS_INT32 nSrcLine, EPS_INT8 *pMsg);\r
67         \r
68         #define EPS_DBGPRINT( f )       {                                       \\r
69                 char *pLine = dbgPrintHlp f;                            \\r
70                 dbgPrint(__FILE__, __LINE__, pLine);    \\r
71         }\r
72 \r
73         /* Dump */\r
74 extern void dbgDump(EPS_INT8 *pszFile, EPS_INT32 nLine, EPS_INT8* p, EPS_UINT32 s);\r
75         #define EPS_DUMP( p, s )        dbgDump(__FILE__, __LINE__, (EPS_INT8*)p, s);\r
76 \r
77 extern void dbgDumpStr(EPS_INT8 *pszSrcFile, EPS_INT32 nSrcLine, EPS_INT8 *p);\r
78         #define EPS_DUMP_STR( str )     dbgDumpStr(__FILE__, __LINE__, str);\r
79 \r
80 \r
81 /*** Runtime LOG                                                                        */\r
82 /*** -----------------------------------------------------------------------------------*/\r
83 extern void dbgLogInit(const EPS_INT8 *pszFile, EPS_UINT32 nModule);\r
84 extern void dbgLogTrem();\r
85 extern void dbgLogFunc(EPS_UINT32 nModule, EPS_INT8 *pszFunc, EPS_BOOL blnIn, \r
86                                            EPS_INT32 nLine, EPS_ERR_CODE e, EPS_UINT32 tm);\r
87 \r
88         #define EPS_LOG_INITIALIZE(f, m)        dbgLogInit(f, m);\r
89         #define EPS_LOG_TREMINATE                       dbgLogTrem();\r
90         #define EPS_LOG_MODULE_NONE             (0x0000)\r
91         #define EPS_LOG_MODULE_API              (0x0001)\r
92         #define EPS_LOG_MODULE_PRTCOL   (0x0002)\r
93         #define EPS_LOG_MODULE_PAGE     (0x0004)\r
94         #define EPS_LOG_MODULE_USB      (0x0010)\r
95         #define EPS_LOG_MODULE_LPR      (0x0020)\r
96         /*#define EPS_LOG_MODULE_UPNP   (0x0040)*/\r
97         #define EPS_LOG_MODULE_RAW      (0x0080)\r
98         #define EPS_LOG_MODULE_CBT      (0x0100)\r
99         #define EPS_LOG_MODULE_SER      (0x0200)\r
100 \r
101         \r
102 #if defined(__func__)                   /* C99 */\r
103 #define EPS_FUNCNAME    __func__\r
104 #elif defined(__FUNCTION__)             /* Visual Studio */\r
105 #define EPS_FUNCNAME    __FUNCTION__\r
106 #else\r
107 #define EPS_FUNCNAME    __FILE__\r
108 #endif\r
109 \r
110 #if defined(EPS_FUNCNAME)\r
111 #define EPS_LOG_FUNCIN_L(l)                                                                                                                                     \\r
112                         EPS_UINT32      prtm = 0;                                                                                                               \\r
113                         if(epsCmnFnc.getTime){                                                                                                          \\r
114                                 prtm = epsCmnFnc.getTime();                                                                                             \\r
115                                 dbgLogFunc(EPS_LOG_MODULE, EPS_FUNCNAME, TRUE, l, 0, epsCmnFnc.getTime()); \\r
116                         } else{                                                                                                                                         \\r
117                                 dbgLogFunc(EPS_LOG_MODULE, EPS_FUNCNAME, TRUE, l, 0, 0);                                \\r
118                         }\r
119 \r
120         #define EPS_LOG_FUNCOUT(l, e)                                                                                                           \\r
121                         if(epsCmnFnc.getTime){                                                                                                          \\r
122                                 dbgLogFunc(EPS_LOG_MODULE, EPS_FUNCNAME, FALSE, l, e, epsCmnFnc.getTime() - prtm);      \\r
123                         } else{                                                                                                                                         \\r
124                                 dbgLogFunc(EPS_LOG_MODULE, EPS_FUNCNAME, FALSE, l, e, 0);                               \\r
125                         }\r
126         #define EPS_LOG_FUNCIN  EPS_LOG_FUNCIN_L(__LINE__)\r
127         #define EPS_RETURN( e ) {                                               \\r
128                         EPS_INT32 res = e;                                              \\r
129                         EPS_LOG_FUNCOUT(__LINE__, res);                 \\r
130                         return res;                                                             \\r
131         }\r
132 \r
133         #define EPS_RETURN_VOID {                                               \\r
134                         EPS_LOG_FUNCOUT(__LINE__, 0);                   \\r
135                         return;                                                                 \\r
136         }\r
137 \r
138 #else\r
139         #define EPS_LOG_FUNCIN          \r
140         #define EPS_LOG_FUNCOUT(e)      \r
141         #define EPS_RETURN(e)           return e;\r
142         #define EPS_RETURN_VOID         return;\r
143 #endif\r
144 \r
145 /*** Dump to file                                                                       */\r
146 /*** -----------------------------------------------------------------------------------*/\r
147 extern FILE *dbgDumpFileOpen(EPS_INT8 *pszFile);\r
148 extern void dbgDumpFileClose(FILE *hFile);\r
149 extern void dbgDumpFileWrite(FILE *hFile, const void *pData, size_t nSize);\r
150 \r
151         #define DECRALE_DMP_FILE        extern FILE *g_pDmpFile;\r
152         #define EPS_DF_OPEN( fn )                                               \\r
153                 {                                                                                       \\r
154                         g_pDmpFile = dbgDumpFileOpen( fn );             \\r
155                 }\r
156         #define EPS_DF_CLOSE                                                    \\r
157                 {                                                                                       \\r
158                         dbgDumpFileClose( g_pDmpFile );                 \\r
159                         g_pDmpFile = NULL;                                              \\r
160                 }\r
161         #define EPS_DF_WRITE( p, s )                                    \\r
162                 if( g_pDmpFile )                                                        \\r
163                 {                                                                                       \\r
164                         dbgDumpFileWrite(g_pDmpFile, p, s );    \\r
165                 }\r
166 \r
167 #endif    /* GCOMSW_DEBUG */\r
168 \r
169 \r
170 #ifdef    __cplusplus\r
171 }\r
172 #endif    /* def __cplusplus    */\r
173 \r
174 #endif    /* def _EPSON_ESPCR_DBG_H_ */\r
175 \r
176 /*_______________________________   epson-escpr-dbg.h   ________________________________*/\r
177   \r
178 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/\r
179 /*       1         2         3         4         5         6         7         8        */\r
180 /*******************************************|********************************************/\r
181 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/\r
182 /***** End of File *** End of File *** End of File *** End of File *** End of File ******/\r
183 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/\r