source: rtems/c/src/exec/rtems/inline/region.inl @ ac7d5ef0

4.104.114.84.95
Last change on this file since ac7d5ef0 was ac7d5ef0, checked in by Joel Sherrill <joel.sherrill@…>, on 05/11/95 at 17:39:37

Initial revision

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*  region.inl
2 *
3 *  This file contains the macro implementation of the inlined
4 *  routines from the Region Manager.
5 *
6 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
7 *  On-Line Applications Research Corporation (OAR).
8 *  All rights assigned to U.S. Government, 1994.
9 *
10 *  This material may be reproduced by or for the U.S. Government pursuant
11 *  to the copyright license under the clause at DFARS 252.227-7013.  This
12 *  notice must appear in all copies of this file and its derivatives.
13 *
14 *  $Id$
15 */
16
17#ifndef __REGION_inl
18#define __REGION_inl
19
20/*PAGE
21 *
22 *  _Region_Allocate
23 *
24 */
25
26STATIC INLINE Region_Control *_Region_Allocate( void )
27{
28  return (Region_Control *) _Objects_Allocate( &_Region_Information );
29}
30
31/*PAGE
32 *
33 *  _Region_Free
34 *
35 */
36
37STATIC INLINE void _Region_Free (
38  Region_Control *the_region
39)
40{
41  _Objects_Free( &_Region_Information, &the_region->Object );
42}
43
44/*PAGE
45 *
46 *  _Region_Get
47 *
48 */
49
50STATIC INLINE Region_Control *_Region_Get (
51  Objects_Id         id,
52  Objects_Locations *location
53)
54{
55  return (Region_Control *)
56    _Objects_Get( &_Region_Information, id, location );
57}
58
59/*PAGE
60 *
61 *  _Region_Allocate_segment
62 *
63 */
64
65STATIC INLINE void *_Region_Allocate_segment (
66  Region_Control *the_region,
67  unsigned32      size
68)
69{
70   return _Heap_Allocate( &the_region->Memory, size );
71}
72
73/*PAGE
74 *
75 *  _Region_Free_segment
76 *
77 */
78
79STATIC INLINE boolean _Region_Free_segment (
80  Region_Control *the_region,
81  void           *the_segment
82)
83{
84  return _Heap_Free( &the_region->Memory, the_segment );
85}
86
87/*PAGE
88 *
89 *  _Region_Is_null
90 *
91 */
92
93STATIC INLINE boolean _Region_Is_null (
94  Region_Control *the_region
95)
96{
97  return ( the_region == NULL  );
98}
99
100#endif
101/* end of include file */
Note: See TracBrowser for help on using the repository browser.