source: rtems/cpukit/posix/include/rtems/posix/rwlock.h @ 1de949a8

4.104.115
Last change on this file since 1de949a8 was 1de949a8, checked in by Ralf Corsepius <ralf.corsepius@…>, on 11/30/09 at 15:49:52

Whitespace removal.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1/**
2 * @file rtems/posix/rwlock.h
3 */
4
5/*
6 *  This include file contains all the constants and structures associated
7 *  with the POSIX RWLock Manager.
8 *
9 *  Directives provided are:
10 *
11 *     + create a RWLock
12 *     + delete a RWLock
13 *     + wait for a RWLock
14 *
15 *  COPYRIGHT (c) 1989-2008.
16 *  On-Line Applications Research Corporation (OAR).
17 *
18 *  The license and distribution terms for this file may be
19 *  found in the file LICENSE in this distribution or at
20 *  http://www.rtems.com/license/LICENSE.
21 *
22 *  $Id$
23 */
24
25#ifndef _RTEMS_POSIX_RWLOCK_H
26#define _RTEMS_POSIX_RWLOCK_H
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#include <rtems/score/object.h>
33#include <rtems/score/corerwlock.h>
34
35/**
36 *  This type defines the control block used to manage each RWLock.
37 */
38
39typedef struct {
40  /** This is used to manage a RWLock as an object. */
41  Objects_Control          Object;
42  /** This is used to implement the RWLock. */
43  CORE_RWLock_Control      RWLock;
44}   POSIX_RWLock_Control;
45
46/**
47 *  The following defines the information control block used to manage
48 *  this class of objects.
49 */
50
51POSIX_EXTERN Objects_Information  _POSIX_RWLock_Information;
52
53/**
54 *  @brief _POSIX_RWLock_Manager_initialization
55 *
56 *  This routine performs the initialization necessary for this manager.
57 *
58 *  @param[in] maximum_rwlocks is the total number of RWLocks allowed to
59 *             concurrently be active in the system.
60 */
61
62void _POSIX_RWLock_Manager_initialization(void);
63
64/**
65 *  @brief _POSIX_RWLock_Translate_core_RWLock_return_code (
66 *
67 *  This routine translates SuperCore RWLock status codes into the
68 *  corresponding POSIX ones.
69 *
70 *
71 *  @param[in] the_RWLock_status is the SuperCore status.
72 *
73 *  @return the corresponding POSIX status
74 */
75int _POSIX_RWLock_Translate_core_RWLock_return_code(
76  CORE_RWLock_Status  the_RWLock_status
77);
78
79#ifndef __RTEMS_APPLICATION__
80#include <rtems/posix/rwlock.inl>
81#endif
82
83#ifdef __cplusplus
84}
85#endif
86
87#endif
88/*  end of include file */
Note: See TracBrowser for help on using the repository browser.