⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 capture.h

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 H
📖 第 1 页 / 共 2 页
字号:
 * 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 + -