source: rtems/cpukit/rtems/src/barrier.c @ 8042961d

4.104.114.84.95
Last change on this file since 8042961d was 8042961d, checked in by Joel Sherrill <joel.sherrill@…>, on 09/25/06 at 13:38:24

2006-09-25 Joel Sherrill <joel.sherrill@…>

  • rtems/Makefile.am, rtems/preinstall.am, rtems/include/rtems.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/config.h, rtems/inline/rtems/rtems/attr.inl, rtems/macros/rtems/rtems/attr.inl: Add Classic API Barriers.
  • rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/inline/rtems/rtems/barrier.inl, rtems/macros/rtems/rtems/barrier.inl, rtems/src/barrier.c, rtems/src/barriercreate.c, rtems/src/barrierdelete.c, rtems/src/barrierident.c, rtems/src/barrierrelease.c, rtems/src/barriertranslatereturncode.c, rtems/src/barrierwait.c: New files.
  • 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-2006.
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 *  $Id$
24 */
25
26#if HAVE_CONFIG_H
27#include "config.h"
28#endif
29
30#include <rtems/system.h>
31#include <rtems/rtems/status.h>
32#include <rtems/rtems/support.h>
33#include <rtems/score/object.h>
34#include <rtems/rtems/barrier.h>
35#if defined(RTEMS_MULTIPROCESSING)
36#include <rtems/score/mpci.h>
37#endif
38
39/**
40 *  @brief _Barrier_Manager_initialization
41 *
42 *  Input parameters:
43 *    maximum_barriers - maximum configured barriers
44 *
45 *  Output parameters:  NONE
46 */
47
48void _Barrier_Manager_initialization(
49  uint32_t   maximum_barriers
50)
51{
52  _Objects_Initialize_information(
53    &_Barrier_Information,         /* object information table */
54    OBJECTS_CLASSIC_API,           /* object API */
55    OBJECTS_RTEMS_BARRIERS,        /* object class */
56    maximum_barriers,              /* maximum objects of this class */
57    sizeof( Barrier_Control ),     /* size of this object's control block */
58    FALSE,                         /* TRUE if the name is a string */
59    RTEMS_MAXIMUM_NAME_LENGTH      /* maximum length of an object name */
60#if defined(RTEMS_MULTIPROCESSING)
61    ,
62    FALSE,                         /* TRUE if this is a global object class */
63    NULL                           /* Proxy extraction support callout */
64#endif
65  );
66}
Note: See TracBrowser for help on using the repository browser.