source: rtems/cpukit/score/include/rtems/score/wkspace.h @ 37c7bfcb

4.104.114.84.9
Last change on this file since 37c7bfcb was 37c7bfcb, checked in by Ralf Corsepius <ralf.corsepius@…>, on Mar 16, 2007 at 7:19:24 AM

Change _Workspace_Handler_initialization and _Workspace_Allocate_or_fatal_error to using size_t.

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/**
2 *  @file  rtems/score/wkspace.h
3 *
4 *  This include file contains information related to the
5 *  RAM Workspace.  This Handler provides mechanisms which can be used to
6 *  define, initialize and manipulate the workspace.
7 */
8
9/*
10 *  COPYRIGHT (c) 1989-2006.
11 *  On-Line Applications Research Corporation (OAR).
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.com/license/LICENSE.
16 *
17 *  $Id$
18 */
19
20#ifndef _RTEMS_SCORE_WKSPACE_H
21#define _RTEMS_SCORE_WKSPACE_H
22
23/**
24 *  @defgroup ScoreWorkspace Workspace Handler
25 *
26 *  This handler encapsulates functionality related to the management of
27 *  the RTEMS Executive Workspace.
28 */
29/**@{*/
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35#include <rtems/score/heap.h>
36#include <rtems/score/interr.h>
37
38/** @brief Executive Workspace Control
39 *
40 *  The is the heap control structure that used to manage the
41 *  RTEMS Executive Workspace.
42 */
43SCORE_EXTERN Heap_Control _Workspace_Area;  /* executive heap header */
44
45/** @brief Workspace Handler Initialization
46 *
47 *  This routine performs the initialization necessary for this handler.
48 *
49 *  @param[in] starting_address is the base address of the RTEMS Executive
50 *         Workspace
51 *  @param[in] size is the number of bytes in the RTEMS Executive Workspace
52 */
53void _Workspace_Handler_initialization(
54  void       *starting_address,
55  size_t      size
56);
57
58/** @brief Workspace Allocate or Fail with Fatal Error
59 *
60 *  This routine returns the address of a block of memory of @a size
61 *  bytes.  If a block of the appropriate size cannot be allocated
62 *  from the workspace, then the internal error handler is invoked.
63 *
64 *  @param[in] size is the desired number of bytes to allocate
65 *  @return If successful, the starting address of the allocated memory
66 */
67void *_Workspace_Allocate_or_fatal_error(
68  size_t  size
69);
70
71#ifndef __RTEMS_APPLICATION__
72#include <rtems/score/wkspace.inl>
73#endif
74
75#ifdef __cplusplus
76}
77#endif
78
79/**@}*/
80
81#endif
82/* end of include file */
Note: See TracBrowser for help on using the repository browser.