source: rtems/cpukit/score/src/objectgetisr.c @ f2f63d1

4.11
Last change on this file since f2f63d1 was f2f63d1, checked in by Alex Ivanov <alexivanov97@…>, on Nov 29, 2012 at 11:14:28 PM

score misc: Score misc: Clean up Doxygen #7 (GCI 2012)

This patch is a task from GCI 2012 which improves the Doxygen
comments in the RTEMS source.

https://google-melange.appspot.com/gci/task/view/google/gci2012/7986214

  • Property mode set to 100644
File size: 1.5 KB
Line 
1/**
2 *  @file
3 *
4 *  @brief Object Get Isr Disable
5 *  @ingroup ScoreObject
6 */
7
8/*
9 *  COPYRIGHT (c) 1989-1999.
10 *  On-Line Applications Research Corporation (OAR).
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.rtems.com/license/LICENSE.
15 */
16
17#if HAVE_CONFIG_H
18#include "config.h"
19#endif
20
21#include <rtems/system.h>
22#include <rtems/score/address.h>
23#include <rtems/score/chain.h>
24#include <rtems/score/object.h>
25#if defined(RTEMS_MULTIPROCESSING)
26#include <rtems/score/objectmp.h>
27#endif
28#include <rtems/score/thread.h>
29#include <rtems/score/wkspace.h>
30#include <rtems/score/sysstate.h>
31#include <rtems/score/isr.h>
32
33Objects_Control *_Objects_Get_isr_disable(
34  Objects_Information *information,
35  Objects_Id           id,
36  Objects_Locations   *location,
37  ISR_Level           *level_p
38)
39{
40  Objects_Control *the_object;
41  uint32_t         index;
42  ISR_Level        level;
43
44  index = id - information->minimum_id + 1;
45
46  _ISR_Disable( level );
47  if ( information->maximum >= index ) {
48    if ( (the_object = information->local_table[ index ]) != NULL ) {
49      *location = OBJECTS_LOCAL;
50      *level_p = level;
51      return the_object;
52    }
53    _ISR_Enable( level );
54    *location = OBJECTS_ERROR;
55    return NULL;
56  }
57  _ISR_Enable( level );
58  *location = OBJECTS_ERROR;
59
60#if defined(RTEMS_MULTIPROCESSING)
61  _Objects_MP_Is_remote( information, id, location, &the_object );
62  return the_object;
63#else
64  return NULL;
65#endif
66}
Note: See TracBrowser for help on using the repository browser.