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

📄 task.inl

📁 开放源码的嵌入式开发环境
💻 INL
字号:
/** * @file rtems/itron/task.inl *//* *  COPYRIGHT (c) 1989-1999. *  On-Line Applications Research Corporation (OAR). * *  The license and distribution terms for this file may be *  found in the file LICENSE in this distribution or at *  http://www.rtems.com/license/LICENSE. * *  $Id: task.inl,v 1.7 2005/02/21 07:36:09 ralf Exp $ */#ifndef _RTEMS_ITRON_TASK_INL#define _RTEMS_ITRON_TASK_INL#ifdef __cplusplusextern "C" {#endif/* *  _ITRON_Task_Allocate * *  DESCRIPTION: * *  This routine allocates the task associated with the specified *  task ID from the pool of inactive tasks. * *  Input parameters: *    tskid   - id of task to allocate *    status  - pointer to status variable * *  Output parameters: *    returns - pointer to the task control block *    *status - status */RTEMS_INLINE_ROUTINE Thread_Control *_ITRON_Task_Allocate(  ID   tskid){  return (Thread_Control *)_ITRON_Objects_Allocate_by_index(    &_ITRON_Task_Information,    tskid,    sizeof(Thread_Control)  );}/* *  _ITRON_Task_Clarify_allocation_id_error * *  This function is invoked when an object allocation ID error *  occurs to determine the specific ITRON error code to return. */#define _ITRON_Task_Clarify_allocation_id_error( _id ) \  _ITRON_Objects_Clarify_allocation_id_error( \      &_ITRON_Task_Information, (_id) )/* *  _ITRON_Task_Clarify_get_id_error * *  This function is invoked when an object get ID error *  occurs to determine the specific ITRON error code to return. */#define _ITRON_Task_Clarify_get_id_error( _id ) \ _ITRON_Objects_Clarify_get_id_error( &_ITRON_Task_Information, (_id) )/* *  _ITRON_Task_Free * *  DESCRIPTION: * *  This routine frees a task control block to the *  inactive chain of free task control blocks. * *  Input parameters: *    the_task - pointer to task control block * *  Output parameters: NONE */RTEMS_INLINE_ROUTINE void _ITRON_Task_Free (  Thread_Control *the_task){  _ITRON_Objects_Free( &_ITRON_Task_Information, &the_task->Object );}/*PAGE * *  _ITRON_Task_Get * *  DESCRIPTION: * *  This function maps task IDs to task control blocks. *  If ID corresponds to a local task, then it returns *  the_task control pointer which maps to ID and location *  is set to OBJECTS_LOCAL.  if the task ID is global and *  resides on a remote node, then location is set to OBJECTS_REMOTE, *  and the_task is undefined.  Otherwise, location is set *  to OBJECTS_ERROR and the_task is undefined. * *  Input parameters: *    id            - ITRON task ID. *    the_location  - pointer to a location variable * *  Output parameters: *    *the_location  - location of the object */RTEMS_INLINE_ROUTINE Thread_Control *_ITRON_Task_Get (  ID                 id,  Objects_Locations *location){   if ( id == 0 ) {    _Thread_Disable_dispatch();    *location = OBJECTS_LOCAL;    return _Thread_Executing;  }  return (Thread_Control *)    _ITRON_Objects_Get( &_ITRON_Task_Information, id, location );}/*PAGE * *  _ITRON_Task_Is_null * *  This function returns TRUE if the_task is NULL and FALSE otherwise. * *  Input parameters: *    the_task - pointer to task control block * *  Output parameters: *    TRUE  - if the_task is NULL *    FALSE - otherwise */RTEMS_INLINE_ROUTINE boolean _ITRON_Task_Is_null (  Thread_Control *the_task){  return ( the_task == NULL );}/*   *  XXX insert inline routines here */ /*PAGE * *  _ITRON_tasks_Priority_to_Core */ RTEMS_INLINE_ROUTINE Priority_Control _ITRON_Task_Priority_to_Core(   PRI   ITRON_priority ) {    return (Priority_Control) ITRON_priority;}/*PAGE * *  _ITRON_tasks_Core_to_Priority */ RTEMS_INLINE_ROUTINE PRI _ITRON_Task_Core_to_Priority(   Priority_Control  core_priority ) {    return (PRI) core_priority;}#ifdef __cplusplus}#endif#endif/* end of include file */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -