source: rtems/cpukit/include/rtems/rtems/partimpl.h @ 6b5f22dc

Last change on this file since 6b5f22dc was 6b5f22dc, checked in by Sebastian Huber <sebastian.huber@…>, on 11/26/20 at 10:45:47

rtems: Canonicalize Doxygen @file comments

Use common phrases for the file brief descriptions.

Update #3706.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup RTEMSImplClassicPartition
5 *
6 * @brief This header file provides the implementation interfaces of
7 *   the @ref RTEMSImplClassicPartition.
8 */
9
10/*  COPYRIGHT (c) 1989-2008.
11 *  On-Line Applications Research Corporation (OAR).
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.org/license/LICENSE.
16 */
17
18#ifndef _RTEMS_RTEMS_PARTIMPL_H
19#define _RTEMS_RTEMS_PARTIMPL_H
20
21#include <rtems/rtems/partdata.h>
22#include <rtems/score/objectimpl.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28/**
29 * @defgroup RTEMSImplClassicPartition Partition Manager
30 *
31 * @ingroup RTEMSImplClassic
32 *
33 * @brief This group contains the Partition Manager implementation.
34 *
35 * @{
36 */
37
38/**
39 * @brief Calls _Objects_Get() using the ::_Partition_Information.
40 *
41 * @param id is the object identifier.
42 * @param[out] lock_context is the lock context.
43 *
44 * @return See _Objects_Get().
45 */
46RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get(
47  Objects_Id         id,
48  ISR_lock_Context  *lock_context
49)
50{
51  return (Partition_Control *) _Objects_Get(
52    id,
53    lock_context,
54    &_Partition_Information
55  );
56}
57
58/**
59 * @brief Acquires the partition lock in an ISR disabled section.
60 *
61 * @param[in, out] the_partition is the partition control block.
62 *
63 * @param[in, out] lock_context is the lock context set up by _Partition_Get().
64 */
65RTEMS_INLINE_ROUTINE void _Partition_Acquire_critical(
66  Partition_Control *the_partition,
67  ISR_lock_Context  *lock_context
68)
69{
70  _ISR_lock_Acquire( &the_partition->Lock, lock_context );
71}
72
73/**
74 * @brief Releases the partition lock and restores the ISR level.
75 *
76 * @param[in, out] the_partition is the partition control block.
77 *
78 * @param[in, out] lock_context is the lock context set up by _Partition_Get().
79 */
80RTEMS_INLINE_ROUTINE void _Partition_Release(
81  Partition_Control *the_partition,
82  ISR_lock_Context  *lock_context
83)
84{
85  _ISR_lock_Release_and_ISR_enable( &the_partition->Lock, lock_context );
86}
87
88/**@}*/
89
90#ifdef __cplusplus
91}
92#endif
93
94#if defined(RTEMS_MULTIPROCESSING)
95#include <rtems/rtems/partmp.h>
96#endif
97
98#endif
99/* end of include file */
Note: See TracBrowser for help on using the repository browser.