tracebuf.cpp revision 4e47bb772df0d04d1ded3e06354de547d52e2d06
4974N/Atypedef struct RTTRACEBUFVOLATILE
4974N/Atypedef struct RTTRACEBUFENTRY
4974N/Atypedef struct RTTRACEBUFINT
#define RTTRACEBUF_TO_VOLATILE(a_pThis) ((PRTTRACEBUFVOLATILE)((uint8_t *)(a_pThis) + (a_pThis)->offVolatile))
((PRTTRACEBUFENTRY)( (uint8_t *)(a_pThis) + (a_pThis)->offEntries + (a_iEntry) * (a_pThis)->cbEntry ))
return VERR_NOT_FOUND; \
if (!cRefs) \
int rc; \
char *pszBuf; \
return VERR_NOT_FOUND; \
return VERR_INVALID_HANDLE; \
return VINF_SUCCESS; \
#define RTTRACEBUF_ADD_STORE_SRC_POS() \
#define RTTRACEBUF_ADD_EPILOGUE() \
if (!cRefs) \
return rc
RTDECL(int) RTTraceBufCreate(PRTTRACEBUF phTraceBuf, uint32_t cEntries, uint32_t cbEntry, uint32_t fFlags)
AssertReturn(!(fFlags & ~(RTTRACEBUF_FLAGS_MASK & ~ RTTRACEBUF_FLAGS_FREE_ME)), VERR_INVALID_PARAMETER);
if (!cbEntry)
if (!cEntries)
int rc;
if (pvBlock)
return rc;
RTDECL(int) RTTraceBufCarve(PRTTRACEBUF phTraceBuf, uint32_t cEntries, uint32_t cbEntry, uint32_t fFlags,
if (cbEntry)
if (!cbEntryBuf)
else if (cEntries)
if (!cEntries)
return VERR_BUFFER_OVERFLOW;
return VINF_SUCCESS;
#ifdef IN_RC
if (!cRefs)
return cRefs;
int rc;
return rc;
RTDECL(int) RTTraceBufAddPosMsgEx(RTTRACEBUF hTraceBuf, RT_SRC_POS_DECL, const char *pszMsg, size_t cbMaxMsg)
int rc;
return rc;
RTDECL(int) RTTraceBufAddPosMsgV(RTTRACEBUF hTraceBuf, RT_SRC_POS_DECL, const char *pszMsgFmt, va_list va)
RTDECL(int) RTTraceBufEnumEntries(RTTRACEBUF hTraceBuf, PFNRTTRACEBUFCALLBACK pfnCallback, void *pvUser)
while (cLeft--)
return rc;
while (cLeft--)
return VINF_SUCCESS;
while (cLeft--)
return VINF_SUCCESS;