source: rtems/c/src/exec/score/include/rtems/score/wkspace.h @ 5e9b32b

4.104.114.84.95
Last change on this file since 5e9b32b was 5e9b32b, checked in by Joel Sherrill <joel.sherrill@…>, on Sep 26, 1995 at 7:27:15 PM

posix support initially added

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*  wkspace.h
2 *
3 *  This include file contains information related to the
4 *  RAM Workspace.  This Handler provides mechanisms which can be used to
5 *  define, initialize and manipulate the workspace.
6 *
7 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
8 *  On-Line Applications Research Corporation (OAR).
9 *  All rights assigned to U.S. Government, 1994.
10 *
11 *  This material may be reproduced by or for the U.S. Government pursuant
12 *  to the copyright license under the clause at DFARS 252.227-7013.  This
13 *  notice must appear in all copies of this file and its derivatives.
14 *
15 *  $Id$
16 */
17
18#ifndef __WORKSPACE_h
19#define __WORKSPACE_h
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#include <rtems/score/heap.h>
26#include <rtems/score/interr.h>
27
28/*
29 *  The following is used to manage the Workspace.
30 *
31 */
32
33EXTERN Heap_Control _Workspace_Area;  /* executive heap header */
34
35/*
36 *  _Workspace_Handler_initialization
37 *
38 *  DESCRIPTION:
39 *
40 *  This routine performs the initialization necessary for this handler.
41 */
42
43STATIC INLINE void _Workspace_Handler_initialization(
44  void       *starting_address,
45  unsigned32  size
46);
47
48/*
49 *  _Workspace_Allocate
50 *
51 *  DESCRIPTION:
52 *
53 *  This routine returns the address of a block of memory of size
54 *  bytes.  If a block of the appropriate size cannot be allocated
55 *  from the workspace, then NULL is returned.
56 */
57
58STATIC INLINE void *_Workspace_Allocate(
59  unsigned32 size
60);
61
62/*
63 *  _Workspace_Allocate_or_fatal_error
64 *
65 *  DESCRIPTION:
66 *
67 *  This routine returns the address of a block of memory of size
68 *  bytes.  If a block of the appropriate size cannot be allocated
69 *  from the workspace, then the internal error handler is invoked.
70 */
71
72void *_Workspace_Allocate_or_fatal_error(
73  unsigned32   size
74);
75
76/*
77 *  _Workspace_Free
78 *
79 *  DESCRIPTION:
80 *
81 *  This function frees the specified block of memory.  If the block
82 *  belongs to the Workspace and can be successfully freed, then
83 *  TRUE is returned.  Otherwise FALSE is returned.
84 */
85
86STATIC INLINE boolean _Workspace_Free(
87  void *block
88);
89
90#include <rtems/score/wkspace.inl>
91
92#ifdef __cplusplus
93}
94#endif
95
96#endif
97/* end of include file */
Note: See TracBrowser for help on using the repository browser.