OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [exec/] [itron/] [inline/] [rtems/] [itron/] [fmempool.inl] - Blame information for rev 607

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*
2
 *  COPYRIGHT (c) 1989-1999.
3
 *  On-Line Applications Research Corporation (OAR).
4
 *
5
 *  The license and distribution terms for this file may be
6
 *  found in the file LICENSE in this distribution or at
7
 *  http://www.OARcorp.com/rtems/license.html.
8
 *
9
 *  $Id: fmempool.inl,v 1.2 2001-09-27 11:59:13 chris Exp $
10
 */
11
 
12
#ifndef __ITRON_FIXED_MEMORY_POOL_inl_
13
#define __ITRON_FIXED_MEMORY_POOL_inl_
14
 
15
#ifdef __cplusplus
16
extern "C" {
17
#endif
18
 
19
/*
20
 *  _ITRON_Fixed_memory_pool_Allocate
21
 *
22
 *  DESCRIPTION:
23
 *
24
 *  This routine allocates the fixed_memory_pool associated with the specified
25
 *  fixed_memory_pool ID from the pool of inactive fixed_memory_pools.
26
 *
27
 *  Input parameters:
28
 *    mpfid   - id of fixed_memory_pool to allocate
29
 *    status  - pointer to status variable
30
 *
31
 *  Output parameters:
32
 *    returns - pointer to the fixed_memory_pool control block
33
 *    *status - status
34
 */
35
 
36
RTEMS_INLINE_ROUTINE ITRON_Fixed_memory_pool_Control
37
 *_ITRON_Fixed_memory_pool_Allocate(
38
  ID   mpfid
39
)
40
{
41
  return (ITRON_Fixed_memory_pool_Control *)_ITRON_Objects_Allocate_by_index(
42
    &_ITRON_Fixed_memory_pool_Information,
43
    mpfid,
44
    sizeof(ITRON_Fixed_memory_pool_Control)
45
  );
46
}
47
 
48
/*
49
 *  _ITRON_Fixed_memory_pool_Clarify_allocation_id_error
50
 *
51
 *  This function is invoked when an object allocation ID error
52
 *  occurs to determine the specific ITRON error code to return.
53
 */
54
 
55
#define _ITRON_Fixed_memory_pool_Clarify_allocation_id_error( _id ) \
56
  _ITRON_Objects_Clarify_allocation_id_error( \
57
      &_ITRON_Fixed_memory_pool_Information, (_id) )
58
 
59
/*
60
 *  _ITRON_Fixed_memory_pool_Clarify_get_id_error
61
 *
62
 *  This function is invoked when an object get ID error
63
 *  occurs to determine the specific ITRON error code to return.
64
 */
65
 
66
#define _ITRON_Fixed_memory_pool_Clarify_get_id_error( _id ) \
67
 _ITRON_Objects_Clarify_get_id_error( \
68
    &_ITRON_Fixed_memory_pool_Information, (_id) )
69
 
70
/*
71
 *  _ITRON_Fixed_memory_pool_Free
72
 *
73
 *  DESCRIPTION:
74
 *
75
 *  This routine frees a fixed_memory_pool control block to the
76
 *  inactive chain of free fixed_memory_pool control blocks.
77
 *
78
 *  Input parameters:
79
 *    the_fixed_memory_pool - pointer to fixed_memory_pool control block
80
 *
81
 *  Output parameters: NONE
82
 */
83
 
84
RTEMS_INLINE_ROUTINE void _ITRON_Fixed_memory_pool_Free (
85
  ITRON_Fixed_memory_pool_Control *the_fixed_memory_pool
86
)
87
{
88
  _ITRON_Objects_Free(
89
    &_ITRON_Fixed_memory_pool_Information,
90
    &the_fixed_memory_pool->Object
91
  );
92
}
93
 
94
/*PAGE
95
 *
96
 *  _ITRON_Fixed_memory_pool_Get
97
 *
98
 *  DESCRIPTION:
99
 *
100
 *  This function maps fixed memory pool IDs to control blocks.
101
 *  If ID corresponds to a local fixed memory pool, then it returns
102
 *  the_fixed memory pool control pointer which maps to ID and location
103
 *  is set to OBJECTS_LOCAL.  if the fixed memory pool ID is global and
104
 *  resides on a remote node, then location is set to OBJECTS_REMOTE,
105
 *  and the fixed memory pool is undefined.  Otherwise, location is set
106
 *  to OBJECTS_ERROR and the fixed memory pool is undefined.
107
 *
108
 *  Input parameters:
109
 *    id            - ITRON fixed memory pool ID.
110
 *    the_location  - pointer to a location variable
111
 *
112
 *  Output parameters:
113
 *    *the_location  - location of the object
114
 */
115
 
116
RTEMS_INLINE_ROUTINE ITRON_Fixed_memory_pool_Control
117
  *_ITRON_Fixed_memory_pool_Get (
118
  ID                 id,
119
  Objects_Locations *location
120
)
121
{
122
  return (ITRON_Fixed_memory_pool_Control *)
123
    _ITRON_Objects_Get( &_ITRON_Fixed_memory_pool_Information, id, location );
124
}
125
 
126
/*PAGE
127
 *
128
 *  _ITRON_Fixed_memory_pool_Is_null
129
 *
130
 *  This function returns TRUE if the_fixed_memory_pool is NULL
131
 *  and FALSE otherwise.
132
 *
133
 *  Input parameters:
134
 *    the_fixed_memory_pool - pointer to fixed_memory_pool control block
135
 *
136
 *  Output parameters:
137
 *    TRUE  - if the_fixed_memory_pool is NULL
138
 *    FALSE - otherwise
139
 */
140
 
141
RTEMS_INLINE_ROUTINE boolean _ITRON_Fixed_memory_pool_Is_null (
142
  ITRON_Fixed_memory_pool_Control *the_fixed_memory_pool
143
)
144
{
145
  return ( the_fixed_memory_pool == NULL );
146
}
147
 
148
/*
149
 *  XXX insert inline routines here
150
 */
151
 
152
#ifdef __cplusplus
153
}
154
#endif
155
 
156
#endif
157
/* end of include file */
158
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.