haiku/headers/private/bluetooth/btDebug.h

62 lines
1.6 KiB
C

/*
* Copyright 2007 Oliver Ruiz Dorantes, oliver.ruiz.dorantes_at_gmail.com
*
* All rights reserved. Distributed under the terms of the MIT License.
*
*/
#ifdef BT_DEBUG_THIS_MODULE
#ifndef MODULE_NAME
//#warning MODULE_NAME not defined for Haiku BT debugging tools
#define MODULE_NAME "BT"
#endif
#ifndef SUBMODULE_NAME
//#warning SUBMODULE_NAME not defined for Haiku BT debugging tools
#define SUBMODULE_NAME ""
#endif
#ifndef SUBMODULE_COLOR
//#warning SUBMODULE_COLOR not defined for Haiku BT debugging tools
#define SUBMODULE_COLOR 38
#endif
#define debugf(a,param...) dprintf("\x1b[%dm" MODULE_NAME " " SUBMODULE_NAME " " "%s\x1b[0m: " a,SUBMODULE_COLOR,__FUNCTION__, param);
#define flowf(a) dprintf("\x1b[%dm" MODULE_NAME " " SUBMODULE_NAME " " "%s\x1b[0m: " a,SUBMODULE_COLOR,__FUNCTION__);
#else
#define debugf(a,param...)
#define flowf(a,param...)
#endif
#undef BT_DEBUG_THIS_MODULE
#define TOUCH(x) ((void)(x))
/* */
#if 0
#pragma mark - Kernel Auxiliary Stuff -
#endif
/* tricking bits */
#define SET_BIT(byte,bit_mask) {byte|=bit_mask;}
#define CLEAR_BIT(byte,bit_mask) {byte&=~bit_mask;}
#define GET_BIT(byte,bit_mask) ((byte&bit_mask)!=0)
#define TOOGLE_BIT(byte,bit_mask) {byte^=bit_mask;}
//#define TEST_AND_SET(byte,bit_mask) (((byte|=bit_mask)&bit_mask)!=0)
//#define TEST_AND_CLEAR(byte,bit_mask) (((byte&=~bit_mask)&bit_mask)!=0)
static inline uint32 TEST_AND_SET(uint32 *byte, uint32 bit_mask) {
uint32 val = (*byte&bit_mask)!=0;
*byte |= bit_mask;
return val;
}
static inline uint32 TEST_AND_CLEAR(uint32* byte, uint32 bit_mask) {
uint32 val = (*byte&bit_mask)!=0;
*byte &= ~bit_mask;
return val;
}