source: rtems/cpukit/include/rtems/rtems/dpmemimpl.h @ e07088d9

Last change on this file since e07088d9 was e07088d9, checked in by Sebastian Huber <sebastian.huber@…>, on 11/25/20 at 15:42:08

rtems: Canonicalize implementation Doxygen groups

Rename Classic API top-level group from Classic to RTEMSImplClassic.
Use RTEMSImplClassic as a prefix for the subgroups. Change the group
names to be in line with the API group names. Use common phrases for
the group brief descriptions.

Update #3706.

  • Property mode set to 100644
File size: 1.8 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup RTEMSImplClassicDPMem
5 *
6 * @brief Dual Ported Memory Manager Implementation
7 */
8
9/*  COPYRIGHT (c) 1989-2008.
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.org/license/LICENSE.
15 */
16
17#ifndef _RTEMS_RTEMS_DPMEM_INL
18#define _RTEMS_RTEMS_DPMEM_INL
19
20#include <rtems/rtems/dpmemdata.h>
21#include <rtems/score/objectimpl.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/**
28 * @defgroup RTEMSImplClassicDPMem Dual-Ported Memory Manager
29 *
30 * @ingroup RTEMSImplClassic
31 *
32 * @brief This group contains the Dual-Ported Memory Manager implementation.
33 *
34 * @{
35 */
36
37/**
38 *  @brief Allocates a port control block from the inactive chain
39 *  of free port control blocks.
40 *
41 *  This routine allocates a port control block from the inactive chain
42 *  of free port control blocks.
43 */
44RTEMS_INLINE_ROUTINE Dual_ported_memory_Control
45   *_Dual_ported_memory_Allocate ( void )
46{
47  return (Dual_ported_memory_Control *)
48     _Objects_Allocate( &_Dual_ported_memory_Information );
49}
50
51/**
52 *  @brief Frees a port control block to the inactive chain
53 *  of free port control blocks.
54 *
55 *  This routine frees a port control block to the inactive chain
56 *  of free port control blocks.
57 */
58RTEMS_INLINE_ROUTINE void _Dual_ported_memory_Free (
59   Dual_ported_memory_Control *the_port
60)
61{
62  _Objects_Free( &_Dual_ported_memory_Information, &the_port->Object );
63}
64
65RTEMS_INLINE_ROUTINE Dual_ported_memory_Control *_Dual_ported_memory_Get(
66  Objects_Id        id,
67  ISR_lock_Context *lock_context
68)
69{
70  return (Dual_ported_memory_Control *)
71    _Objects_Get( id, lock_context, &_Dual_ported_memory_Information );
72}
73
74/**@}*/
75
76#ifdef __cplusplus
77}
78#endif
79
80#endif /* _RTEMS_RTEMS_DPMEM_INL */
81/* end of include file */
Note: See TracBrowser for help on using the repository browser.