📄 capture.h
字号:
* rtems_capture_get_task_list * * DESCRIPTION: * * This function returns the head of the list of tasks that the * capture engine has detected. */rtems_capture_task_t*rtems_capture_get_task_list ();/* * rtems_capture_next_task * * DESCRIPTION: * * This function returns the pointer to the next task in the list. The * pointer NULL terminates the list. */static inline rtems_capture_task_t*rtems_capture_next_task (rtems_capture_task_t* task){ return task->next;}/* * rtems_capture_task_valid * * DESCRIPTION: * * This function returns true if the task control block points to * a valid task. */static inline rtems_booleanrtems_capture_task_valid (rtems_capture_task_t* task){ return task->tcb != NULL;}/* * rtems_capture_task_id * * DESCRIPTION: * * This function returns the task id. */static inline rtems_idrtems_capture_task_id (rtems_capture_task_t* task){ return task->id;}/* * rtems_capture_task_state * * DESCRIPTION: * * This function returns the task state. */static inline States_Controlrtems_capture_task_state (rtems_capture_task_t* task){ if (rtems_capture_task_valid (task)) return task->tcb->current_state; return 0;}/* * rtems_capture_task_name * * DESCRIPTION: * * This function returns the task name. */static inline rtems_namertems_capture_task_name (rtems_capture_task_t* task){ return task->name;}/* * rtems_capture_task_flags * * DESCRIPTION: * * This function returns the task flags. */static inline rtems_unsigned32rtems_capture_task_flags (rtems_capture_task_t* task){ return task->flags;}/* * rtems_capture_task_control * * DESCRIPTION: * * This function returns the task control if present. */static inline rtems_capture_control_t*rtems_capture_task_control (rtems_capture_task_t* task){ return task->control;}/* * rtems_capture_task_control_flags * * DESCRIPTION: * * This function returns the task control flags if a control is present. */static inline rtems_unsigned32rtems_capture_task_control_flags (rtems_capture_task_t* task){ if (!task->control) return 0; return task->control->flags;}/* * rtems_capture_task_switched_in * * DESCRIPTION: * * This function returns the number of times the task has * been switched into context. */static inline rtems_unsigned32rtems_capture_task_switched_in (rtems_capture_task_t* task){ return task->in;}/* * rtems_capture_task_switched_out * * DESCRIPTION: * * This function returns the number of times the task has * been switched out of context. */static inline rtems_unsigned32rtems_capture_task_switched_out (rtems_capture_task_t* task){ return task->out;}/* * rtems_capture_task_curr_priority * * DESCRIPTION: * * This function returns the tasks start priority. The tracer needs this * to track where the task's priority goes. */static inline rtems_task_priorityrtems_capture_task_start_priority (rtems_capture_task_t* task){ return task->start_priority;}/* * rtems_capture_task_real_priority * * DESCRIPTION: * * This function returns the tasks real priority. */static inline rtems_task_priorityrtems_capture_task_real_priority (rtems_capture_task_t* task){ if (rtems_capture_task_valid (task)) return task->tcb->real_priority; return 0;}/* * rtems_capture_task_curr_priority * * DESCRIPTION: * * This function returns the tasks current priority. */static inline rtems_task_priorityrtems_capture_task_curr_priority (rtems_capture_task_t* task){ if (rtems_capture_task_valid (task)) return task->tcb->current_priority; return 0;}/* * rtems_capture_task_stack_usage * * DESCRIPTION: * * This function updates the stack usage. The task control block * is updated. */rtems_unsigned32rtems_capture_task_stack_usage (rtems_capture_task_t* task);/* * rtems_capture_task_stack_size * * DESCRIPTION: * * This function returns the task's stack size. */static inline rtems_unsigned32rtems_capture_task_stack_size (rtems_capture_task_t* task){ return task->stack_size;}/* * rtems_capture_task_stack_used * * DESCRIPTION: * * This function returns the amount of stack used. */static inline rtems_unsigned32rtems_capture_task_stack_used (rtems_capture_task_t* task){ return task->stack_size - task->stack_clean;}/* * rtems_capture_task_ticks * * DESCRIPTION: * * This function returns the current execution time as ticks. */static inline rtems_unsigned32rtems_capture_task_ticks (rtems_capture_task_t* task){ return task->ticks;}/* * rtems_capture_task_tick_offset * * DESCRIPTION: * * This function returns the current execution time tick offset. */static inline rtems_unsigned32rtems_capture_task_tick_offset (rtems_capture_task_t* task){ return task->tick_offset;}/* * rtems_capture_task_time * * DESCRIPTION: * * This function returns the current execution time. */static inline unsigned long longrtems_capture_task_time (rtems_capture_task_t* task){ unsigned long long t = task->ticks; return (t * rtems_capture_tick_time ()) + task->tick_offset;;}/* * rtems_capture_task_delta_time * * DESCRIPTION: * * This function returns the execution time as a different between the * last time the detla time was and now. */static inline unsigned long longrtems_capture_task_delta_time (rtems_capture_task_t* task){ unsigned long long t = task->ticks - task->last_ticks; rtems_unsigned32 o = task->tick_offset - task->last_tick_offset; task->last_ticks = task->ticks; task->last_tick_offset = task->tick_offset; return (t * rtems_capture_tick_time ()) + o;}/* * rtems_capture_task_count * * DESCRIPTION: * * This function returns the number of tasks the capture * engine knows about. */static inline rtems_unsigned32rtems_capture_task_count (){ rtems_capture_task_t* task = rtems_capture_get_task_list (); rtems_unsigned32 count = 0; while (task) { count++; task = rtems_capture_next_task (task); } return count;}/* * rtems_capture_get_control_list * * DESCRIPTION: * * This function returns the head of the list of controls in the * capture engine. */rtems_capture_control_t*rtems_capture_get_control_list ();/* * rtems_capture_next_control * * DESCRIPTION: * * This function returns the pointer to the next control in the list. The * pointer NULL terminates the list. */static inline rtems_capture_control_t*rtems_capture_next_control (rtems_capture_control_t* control){ return control->next;}/* * rtems_capture_control_id * * DESCRIPTION: * * This function returns the control id. */static inline rtems_idrtems_capture_control_id (rtems_capture_control_t* control){ return control->id;}/* * rtems_capture_control_name * * DESCRIPTION: * * This function returns the control name. */static inline rtems_namertems_capture_control_name (rtems_capture_control_t* control){ return control->name;}/* * rtems_capture_control_flags * * DESCRIPTION: * * This function returns the control flags. */static inline rtems_unsigned32rtems_capture_control_flags (rtems_capture_control_t* control){ return control->flags;}/* * rtems_capture_control_from_name * * DESCRIPTION: * * This function returns the control from task name. */static inline rtems_namertems_capture_control_from_name (rtems_capture_control_t* control, int from){ if (from < RTEMS_CAPTURE_TRIGGER_TASKS) return control->from[from]; return control->from[0];}/* * rtems_capture_control_from_id * * DESCRIPTION: * * This function returns the control from task id. */static inline rtems_idrtems_capture_control_from_id (rtems_capture_control_t* control, int from){ if (from < RTEMS_CAPTURE_TRIGGER_TASKS) return control->from_id[from]; return control->from_id[0];}/* * rtems_capture_control_count * * DESCRIPTION: * * This function returns the number of controls the capture * engine has. */static inline rtems_unsigned32rtems_capture_control_count (){ rtems_capture_control_t* control = rtems_capture_get_control_list (); rtems_unsigned32 count = 0; while (control) { count++; control = rtems_capture_next_control (control); } return count;}#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -