/*
 *
 */
 
#ifndef __CRD_UT10XX_ERROR_H
#define __CRD_UT10XX_ERROR_H

#ifdef __cplusplus
extern "C" 
{
#endif

#define STR(x) #x
#define XSTR(x) STR(x)

#define ERROR_push_msg(e, m) \
	ERROR_push(e, sizeof(e), __FILE__, __func__, XSTR(__LINE__), m)

extern int ERROR_count(const char *err);
extern int ERROR_push(char *err, int size, const char *file, const char *func, 
	const char *line, const char *msg);
extern const char* ERROR_pop(char *err);

#ifdef __cplusplus
};
#endif

#endif /* ifndef __CRD_UT10XX_ERROR_H */

