forked from Imagelibrary/rtems
the inline implementation. The impetus for this was twofold. First, it is incorrect to have static inline prototypes when using the macro implementation. Second, this reduced the number of lines in the include files seen by rtems.h by about 2000 lines. Next we restricted visibility for the inline routines to inside the executive itself EXCEPT for a handful of objects. This reduced the number of include files included by rtems.h by 40 files and reduced the lines in the include files seen by rtems.h by about 6000 lines. In total, these reduced the compile time of the entire RTEMS tree by 20%. This results in about 8 minutes savings on the SparcStation 10 morgana.
59 lines
1.3 KiB
C
59 lines
1.3 KiB
C
/* wkspace.h
|
|
*
|
|
* This include file contains information related to the
|
|
* RAM Workspace. This Handler provides mechanisms which can be used to
|
|
* define, initialize and manipulate the workspace.
|
|
*
|
|
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
|
* On-Line Applications Research Corporation (OAR).
|
|
* All rights assigned to U.S. Government, 1994.
|
|
*
|
|
* This material may be reproduced by or for the U.S. Government pursuant
|
|
* to the copyright license under the clause at DFARS 252.227-7013. This
|
|
* notice must appear in all copies of this file and its derivatives.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#ifndef __WORKSPACE_h
|
|
#define __WORKSPACE_h
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <rtems/score/heap.h>
|
|
#include <rtems/score/interr.h>
|
|
|
|
/*
|
|
* The following is used to manage the Workspace.
|
|
*
|
|
*/
|
|
|
|
EXTERN Heap_Control _Workspace_Area; /* executive heap header */
|
|
|
|
/*
|
|
* _Workspace_Allocate_or_fatal_error
|
|
*
|
|
* DESCRIPTION:
|
|
*
|
|
* This routine returns the address of a block of memory of size
|
|
* bytes. If a block of the appropriate size cannot be allocated
|
|
* from the workspace, then the internal error handler is invoked.
|
|
*/
|
|
|
|
void *_Workspace_Allocate_or_fatal_error(
|
|
unsigned32 size
|
|
);
|
|
|
|
#ifndef __RTEMS_APPLICATION__
|
|
#include <rtems/score/wkspace.inl>
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
/* end of include file */
|