source: rtems/cpukit/rtems/src/barrier.c @ 0b32bb8

4.115
Last change on this file since 0b32bb8 was 0b32bb8, checked in by Sebastian Huber <sebastian.huber@…>, on 07/19/13 at 08:42:39

rtems: Create barrier implementation header

Move implementation specific parts of barrier.h and barrier.inl into new
header file barrierimpl.h. The barrier.h contains now only the
application visible API.

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*
2 *  Barrier Manager
3 *
4 *  DESCRIPTION:
5 *
6 *  This package is the implementation of the Barrier Manager.
7 *
8 *  Directives provided are:
9 *
10 *     + create a barrier
11 *     + get an ID of a barrier
12 *     + delete a barrier
13 *     + acquire a barrier
14 *     + release a barrier
15 *
16 *  COPYRIGHT (c) 1989-2008.
17 *  On-Line Applications Research Corporation (OAR).
18 *
19 *  The license and distribution terms for this file may be
20 *  found in the file LICENSE in this distribution or at
21 *  http://www.rtems.com/license/LICENSE.
22 */
23
24#if HAVE_CONFIG_H
25#include "config.h"
26#endif
27
28#include <rtems/system.h>
29#include <rtems/config.h>
30#include <rtems/rtems/status.h>
31#include <rtems/rtems/support.h>
32#include <rtems/score/object.h>
33#include <rtems/rtems/barrierimpl.h>
34#if defined(RTEMS_MULTIPROCESSING)
35#include <rtems/score/mpci.h>
36#endif
37
38/**
39 *  @brief _Barrier_Manager_initialization
40 *
41 *  Input parameters:   NONE
42 *
43 *  Output parameters:  NONE
44 */
45
46void _Barrier_Manager_initialization(void)
47{
48  _Objects_Initialize_information(
49    &_Barrier_Information,         /* object information table */
50    OBJECTS_CLASSIC_API,           /* object API */
51    OBJECTS_RTEMS_BARRIERS,        /* object class */
52    Configuration_RTEMS_API.maximum_barriers,
53                                   /* maximum objects of this class */
54    sizeof( Barrier_Control ),     /* size of this object's control block */
55    false,                         /* true if the name is a string */
56    RTEMS_MAXIMUM_NAME_LENGTH      /* maximum length of an object name */
57#if defined(RTEMS_MULTIPROCESSING)
58    ,
59    false,                         /* true if this is a global object class */
60    NULL                           /* Proxy extraction support callout */
61#endif
62  );
63}
Note: See TracBrowser for help on using the repository browser.