Add core stack headers into bacdef.h and cleanup includes. (#602)

* Added dependent BACnet stack headers into bacdef.h file.

* Changed bacdef.h and other stack includes in c/h files to have a common pattern.

* Moved bits.h, bytes.h, and bacnet_stack_exports.h under bacnet/basic/sys/ folder.
This commit is contained in:
Steve Karg
2024-03-15 16:58:52 -05:00
committed by GitHub
parent 78f7340266
commit 1520f2c612
448 changed files with 1549 additions and 1506 deletions
+51
View File
@@ -0,0 +1,51 @@
/**
* @file
* @author Steve Karg
* @date 2022
* @brief Bitwise helper macros
* @copyright 2012 Steve Karg <skarg@users.sourceforge.net>
*
* SPDX-License-Identifier: MIT
*/
#ifndef BACNET_SYS_BITS_H
#define BACNET_SYS_BITS_H
/********************************************************************
* Bit Masks
*********************************************************************/
#ifndef BIT
#define BIT(x) (1<<(x))
#endif
#ifndef _BV
#define _BV(x) (1<<(x))
#endif
/* a=register, b=bit number to act upon 0-n */
#ifndef BIT_SET
#define BIT_SET(a,b) ((a) |= (1<<(b)))
#endif
#ifndef BIT_CLEAR
#define BIT_CLEAR(a,b) ((a) &= ~(1<<(b)))
#endif
#ifndef BIT_FLIP
#define BIT_FLIP(a,b) ((a) ^= (1<<(b)))
#endif
#ifndef BIT_CHECK
#define BIT_CHECK(a,b) ((a) & (1<<(b)))
#endif
/* x=target variable, y=mask */
#ifndef BITMASK_SET
#define BITMASK_SET(x,y) ((x) |= (y))
#endif
#ifndef BITMASK_CLEAR
#define BITMASK_CLEAR(x,y) ((x) &= (~(y)))
#endif
#ifndef BITMASK_FLIP
#define BITMASK_FLIP(x,y) ((x) ^= (y))
#endif
#ifndef BITMASK_CHECK
#define BITMASK_CHECK(x,y) (((x) & (y)) == (y))
#endif
#endif