Debug library

Dependents:   NetworkingCoreLib LwIPNetworking yeswecancoap lwip

Committer:
donatien
Date:
Fri Jun 22 16:15:59 2012 +0000
Revision:
2:719e79a2291e
Parent:
0:3ac250c92185
Child:
3:53f6e0430d8e
Corrected headers

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:3ac250c92185 1 /* dbg.h */
donatien 2:719e79a2291e 2 /* Copyright (C) 2012 mbed.org, MIT License
donatien 2:719e79a2291e 3 *
donatien 2:719e79a2291e 4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
donatien 2:719e79a2291e 5 * and associated documentation files (the "Software"), to deal in the Software without restriction,
donatien 2:719e79a2291e 6 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
donatien 2:719e79a2291e 7 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
donatien 2:719e79a2291e 8 * furnished to do so, subject to the following conditions:
donatien 2:719e79a2291e 9 *
donatien 2:719e79a2291e 10 * The above copyright notice and this permission notice shall be included in all copies or
donatien 2:719e79a2291e 11 * substantial portions of the Software.
donatien 2:719e79a2291e 12 *
donatien 2:719e79a2291e 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
donatien 2:719e79a2291e 14 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
donatien 2:719e79a2291e 15 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
donatien 2:719e79a2291e 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
donatien 2:719e79a2291e 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
donatien 2:719e79a2291e 18 */
donatien 0:3ac250c92185 19
donatien 0:3ac250c92185 20 #ifndef DBG_H_
donatien 0:3ac250c92185 21 #define DBG_H_
donatien 0:3ac250c92185 22
donatien 0:3ac250c92185 23 #ifdef __cplusplus
donatien 0:3ac250c92185 24 extern "C" {
donatien 0:3ac250c92185 25 #endif
donatien 0:3ac250c92185 26
donatien 0:3ac250c92185 27
donatien 0:3ac250c92185 28 void debug_init(void);
donatien 0:3ac250c92185 29 void debug(int level, const char* module, int line, const char* fmt, ...);
donatien 0:3ac250c92185 30 void debug_error(const char* module, int line, int ret);
donatien 0:3ac250c92185 31
donatien 0:3ac250c92185 32 #if __DEBUG__
donatien 0:3ac250c92185 33 //#undef __DEBUG__
donatien 0:3ac250c92185 34 #endif
donatien 0:3ac250c92185 35 //#define __DEBUG__ 0
donatien 0:3ac250c92185 36
donatien 0:3ac250c92185 37 #define DBG_INIT() do{ debug_init(); }while(0)
donatien 0:3ac250c92185 38
donatien 0:3ac250c92185 39 #if __DEBUG__ > 0
donatien 0:3ac250c92185 40 #ifndef __MODULE__
donatien 0:3ac250c92185 41 #error "__MODULE__ must be defined"
donatien 0:3ac250c92185 42 #endif
donatien 0:3ac250c92185 43 #endif
donatien 0:3ac250c92185 44
donatien 0:3ac250c92185 45 #if __DEBUG__ >= 1
donatien 0:3ac250c92185 46 #define ERR(...) do{ debug(1, __MODULE__, __LINE__, __VA_ARGS__); }while(0)
donatien 0:3ac250c92185 47 #else
donatien 0:3ac250c92185 48 #define ERR(...) do{ }while(0)
donatien 0:3ac250c92185 49 #endif
donatien 0:3ac250c92185 50
donatien 0:3ac250c92185 51 #if __DEBUG__ >= 2
donatien 0:3ac250c92185 52 #define WARN(...) do{ debug(2, __MODULE__, __LINE__, __VA_ARGS__); }while(0)
donatien 0:3ac250c92185 53 #else
donatien 0:3ac250c92185 54 #define WARN(...) do{ }while(0)
donatien 0:3ac250c92185 55 #endif
donatien 0:3ac250c92185 56
donatien 0:3ac250c92185 57 #if __DEBUG__ >= 3
donatien 0:3ac250c92185 58 #define INFO(...) do{ debug(3, __MODULE__, __LINE__, __VA_ARGS__); }while(0)
donatien 0:3ac250c92185 59 #define CHECK(ret) do{ if(ret){ debug_error(__MODULE__, __LINE__, ret); } }while(0)
donatien 0:3ac250c92185 60 #else
donatien 0:3ac250c92185 61 #define INFO(...) do{ }while(0)
donatien 0:3ac250c92185 62 #define CHECK(ret) do{ }while(0)
donatien 0:3ac250c92185 63 #endif
donatien 0:3ac250c92185 64
donatien 0:3ac250c92185 65 #if __DEBUG__ >= 4
donatien 0:3ac250c92185 66 #define DBG(...) do{ debug(4, __MODULE__, __LINE__, __VA_ARGS__); }while(0)
donatien 0:3ac250c92185 67 #else
donatien 0:3ac250c92185 68 #define DBG(...) do{ }while(0)
donatien 0:3ac250c92185 69 #endif
donatien 0:3ac250c92185 70
donatien 0:3ac250c92185 71 #ifdef __cplusplus
donatien 0:3ac250c92185 72 }
donatien 0:3ac250c92185 73 #endif
donatien 0:3ac250c92185 74
donatien 0:3ac250c92185 75 #endif /* DBG_H_ */