diff --git a/ls-bus-guide/headers/fmi3LsBusUtil.h b/ls-bus-guide/headers/fmi3LsBusUtil.h index 329fa02..2e64d0f 100644 --- a/ls-bus-guide/headers/fmi3LsBusUtil.h +++ b/ls-bus-guide/headers/fmi3LsBusUtil.h @@ -138,6 +138,30 @@ typedef struct } \ while (0) +/** + * \brief Checks whether a buffer variable is empty. + * + * \param[in] BufferInfo Pointer to variable of type \ref fmi3LsBusUtilBufferInfo. + */ +#define FMI3_LS_BUS_BUFFER_IS_EMPTY(BufferInfo) \ + (BufferInfo)->writePos == (BufferInfo)->start ? fmi3True : fmi3False + +/** + * \brief Returns the start address of the buffer variable. + * + * \param[in] BufferInfo Pointer to variable of type \ref fmi3LsBusUtilBufferInfo. + */ +#define FMI3_LS_BUS_BUFFER_START(BufferInfo) \ + (BufferInfo)->start + +/** + * \brief Returns the length of the buffer variable. + * + * \param[in] BufferInfo Pointer to variable of type \ref fmi3LsBusUtilBufferInfo. + */ +#define FMI3_LS_BUS_BUFFER_LENGTH(BufferInfo) \ + (BufferInfo)->writePos - (BufferInfo)->start + /** * \brief Reads the next bus operation from a buffer. *