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

📄 sem.inl

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 INL
字号:
/*  sem.inl * *  This file contains the static inlin implementation of the inlined *  routines from the Semaphore Manager. * *  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: sem.inl,v 1.9.4.1 2003/09/04 18:47:17 joel Exp $ */#ifndef __SEMAPHORE_inl#define __SEMAPHORE_inl/*PAGE * *  _Semaphore_Allocate * *  DESCRIPTION: * *  This function allocates a semaphore control block from *  the inactive chain of free semaphore control blocks. */RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Allocate( void ){  return (Semaphore_Control *) _Objects_Allocate( &_Semaphore_Information );}/*PAGE * *  _Semaphore_Free * *  DESCRIPTION: * *  This routine frees a semaphore control block to the *  inactive chain of free semaphore control blocks. */RTEMS_INLINE_ROUTINE void _Semaphore_Free (  Semaphore_Control *the_semaphore){  _Objects_Free( &_Semaphore_Information, &the_semaphore->Object );}/*PAGE * *  _Semaphore_Get * *  DESCRIPTION: * *  This function maps semaphore IDs to semaphore control blocks. *  If ID corresponds to a local semaphore, then it returns *  the_semaphore control pointer which maps to ID and location *  is set to OBJECTS_LOCAL.  if the semaphore ID is global and *  resides on a remote node, then location is set to OBJECTS_REMOTE, *  and the_semaphore is undefined.  Otherwise, location is set *  to OBJECTS_ERROR and the_semaphore is undefined. */RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get (  Objects_Id         id,  Objects_Locations *location){  return (Semaphore_Control *)    _Objects_Get( &_Semaphore_Information, id, location );}RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get_interrupt_disable (  Objects_Id         id,  Objects_Locations *location,  ISR_Level         *level){  return (Semaphore_Control *)    _Objects_Get_isr_disable( &_Semaphore_Information, id, location, level );}/*PAGE * *  _Semaphore_Is_null * *  DESCRIPTION: * *  This function returns TRUE if the_semaphore is NULL and FALSE otherwise. */RTEMS_INLINE_ROUTINE boolean _Semaphore_Is_null (  Semaphore_Control *the_semaphore){  return ( the_semaphore == NULL );}#endif/*  end of include file */

⌨️ 快捷键说明

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