11556Srgrimes 21556Srgrimes/* 31556Srgrimes * Licensed Materials - Property of IBM 41556Srgrimes * 51556Srgrimes * trousers - An open source TCG Software Stack 61556Srgrimes * 71556Srgrimes * (C) Copyright International Business Machines Corp. 2004-2006 81556Srgrimes * 91556Srgrimes */ 101556Srgrimes 111556Srgrimes 121556Srgrimes#ifndef _TSPLOG_H_ 131556Srgrimes#define _TSPLOG_H_ 141556Srgrimes 151556Srgrimes#include <stdio.h> 161556Srgrimes#include <syslog.h> 171556Srgrimes#include <stdlib.h> 181556Srgrimes 191556Srgrimes/* Debug logging */ 201556Srgrimes#ifdef TSS_DEBUG 211556Srgrimes/* log to stdout */ 221556Srgrimes#define LogMessage(dest, priority, layer, fmt, ...) \ 231556Srgrimes do { \ 241556Srgrimes if (getenv("TSS_DEBUG_OFF") == NULL) { \ 251556Srgrimes fprintf(dest, "%s %s %s:%d " fmt "\n", priority, layer, __FILE__, __LINE__, ## __VA_ARGS__); \ 261556Srgrimes } \ 271556Srgrimes } while (0) 281556Srgrimes 291556Srgrimes#define LogDebug(fmt, ...) LogMessage(stdout, "LOG_DEBUG", APPID, fmt, ##__VA_ARGS__) 301556Srgrimes#define LogDebugFn(fmt, ...) LogMessage(stdout, "LOG_DEBUG", APPID, "%s: " fmt, __FUNCTION__, ##__VA_ARGS__) 3136152Scharnier#define LogDebugData(sz,blb) LogBlobData(APPID, sz, blb) 3236152Scharnier 3336152Scharnier/* Error logging */ 341556Srgrimes#define LogError(fmt, ...) LogMessage(stderr, "LOG_ERR", APPID, "ERROR: " fmt, ##__VA_ARGS__) 3599110Sobrien/* Warn logging */ 3699110Sobrien#define LogWarn(fmt, ...) LogMessage(stdout, "LOG_WARNING", APPID, "WARNING: " fmt, ##__VA_ARGS__) 371556Srgrimes/* Info Logging */ 381556Srgrimes#define LogInfo(fmt, ...) LogMessage(stdout, "LOG_INFO", APPID, fmt, ##__VA_ARGS__) 391556Srgrimes/* Return Value logging */ 401556Srgrimesextern TSS_RESULT LogTSPERR(TSS_RESULT, char *, int); 411556Srgrimes#else 421556Srgrimes#define LogDebug(fmt, ...) 431556Srgrimes#define LogDebugFn(fmt, ...) 441556Srgrimes#define LogDebugData(sz,blb) 451556Srgrimes#define LogError(fmt, ...) 461556Srgrimes#define LogWarn(fmt, ...) 47181269Scperciva#define LogInfo(fmt, ...) 4876810Skris#endif 491556Srgrimes 5090111Simpvoid LogBlobData(char *appid, unsigned long sizeOfBlob, unsigned char *blob); 511556Srgrimes 521556Srgrimes#endif 531556Srgrimes