/*
* This file is part of libaacs
* Copyright (C) 2009-2010 Obliter0n
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* .
*/
#ifndef LOGGING_H_
#define LOGGING_H_
#include "attributes.h"
#include
enum debug_mask_enum {
DBG_RESERVED = 0x0001,
DBG_CONFIGFILE = 0x0002,
DBG_FILE = 0x0004,
DBG_AACS = 0x0008,
DBG_MKB = 0x0010,
DBG_MMC = 0x0020,
//DBG_BLURAY = 0x0040,
DBG_DIR = 0x0080,
//DBG_NAV = 0x0100,
//DBG_BDPLUS = 0x0200,
//DBG_DLX = 0x0400,
DBG_CRIT = 0x0800, /* this is the default debug mask so use this if you want to display critical info */
//DBG_HDMV = 0x1000,
};
typedef enum debug_mask_enum debug_mask_t;
BD_PRIVATE extern uint32_t debug_mask;
#define BD_DEBUG(MASK,...) \
do { \
if (BD_UNLIKELY((MASK) & debug_mask)) { \
bd_debug(__FILE__,__LINE__,MASK,__VA_ARGS__); \
} \
} while (0)
BD_PRIVATE void bd_debug(const char *file, int line, uint32_t mask, const char *format, ...) BD_ATTR_FORMAT_PRINTF(4,5);
#endif /* LOGGING_H_ */