Files
vxWorks/h/private/dbgTaskLibP.h
2025-08-20 18:25:46 +08:00

92 lines
2.5 KiB
C

/* dbgTaskLibP.h - private header file for dbgTaskLib.c */
/* Copyright 2003-2005 Wind River Systems, Inc. */
/*
modification history
--------------------
01i,10jan05,bpn Removed dbgRtpInit() prototype.
01h,09jan04,elg Add notification function pointer for breakpoint
synchronization.
01g,25nov03,elg Add RTP support.
01f,14nov03,elg Change dbgTaskBpEpSet() and dbgTaskHwBpSet() prototype.
01e,21oct03,bpn Added definitions from dbgLibP.h. Added BP_LOCATION enum.
01d,17oct03,elg Add dbgLibP.h to define EVT_CALL_ARGS.
01c,08jul03,bpn Updated.
01b,27jun03,bpn Changed enum value DBG_CRET to DBG_CONT_RET.
01a,26feb03,bpn Created.
*/
#ifndef __INCdbgTaskLibPh
#define __INCdbgTaskLibPh
#ifdef __cplusplus
extern "C" {
#endif
#include <vxWorks.h>
#include <taskLib.h>
#include <wvLib.h>
#include <wdb/wdbDbgLib.h>
/* Defines */
#define ALL 0 /* breakpoint applies to all tasks */
#define DBG_INFO(p) (&(((WIND_TCB *)(p))->wdbInfo))
#define ANY_TASK_BP(pBp) (((pBp)->bp_flags & BP_ANY_TASK) == BP_ANY_TASK)
#define ONE_TASK_BP(pBp, tid) ((((pBp)->bp_flags & BP_TASK) == BP_TASK) \
&& ((pBp)->bp_ctxId == (UINT32) (tid)))
#define ONE_RTP_BP(pBp, rtpid) ((((pBp)->bp_flags & BP_RTP) == BP_RTP) \
&& ((pBp)->bp_ctxId == (UINT32) (rtpid)))
/* typedefs */
typedef enum
{
BP_NUMBER_LOCATION = 1,
BP_ADDRESS_LOCATION,
BP_ALL_LOCATION
} BP_LOCATION;
typedef struct /* EVT_CALL_ARGS */
{
FUNCPTR evtRtn; /* event routine */
int evtRtnArg; /* event routine argument */
event_t eventId; /* event ID */
} EVT_CALL_ARGS;
/* externals */
extern FUNCPTR _func_dbgRtpStop;
extern FUNCPTR _func_dbgRtpCont;
extern VOIDFUNCPTR _func_bpSyncNotify;
/* function declarations */
extern STATUS dbgTaskInit ();
extern STATUS dbgTaskTmpBpRemove (int taskId, INSTR * pc);
extern BOOL dbgTaskBpRemove (void * ctxId, INSTR * addrNum,
UINT ctx, BP_LOCATION location);
extern STATUS dbgTaskBpEpSet (INSTR * addr, void * ctxId, UINT flags,
UINT count, UINT action,
VOIDFUNCPTR callRtn, int callArg,
UINT * pBpId);
#if DBG_HARDWARE_BP
extern STATUS dbgTaskHwBpSet (INSTR * addr, void * ctxId, UINT flags,
UINT count, UINT action,
VOIDFUNCPTR callRtn, int callArg,
UINT * pBpId);
#endif /* DBG_HARDWARE_BP */
extern STATUS dbgTaskCont (UINT32 contextId);
extern STATUS dbgTaskStop (UINT32 contextId);
extern STATUS dbgTaskStep (UINT32 contextId, UINT32 startAddr,
UINT32 endAddr);
#ifdef __cplusplus
}
#endif
#endif /* __INCdbgTaskLibPh */