rtems: Move internal structures to regiondata.h

Update #3598.
This commit is contained in:
Sebastian Huber
2018-11-08 10:37:22 +01:00
parent f00c5c6e34
commit e8e914b3b1
6 changed files with 63 additions and 33 deletions

View File

@@ -260,6 +260,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/ratemon.h
include_rtems_rtems_HEADERS += include/rtems/rtems/ratemondata.h
include_rtems_rtems_HEADERS += include/rtems/rtems/ratemonimpl.h
include_rtems_rtems_HEADERS += include/rtems/rtems/region.h
include_rtems_rtems_HEADERS += include/rtems/rtems/regiondata.h
include_rtems_rtems_HEADERS += include/rtems/rtems/regionimpl.h
include_rtems_rtems_HEADERS += include/rtems/rtems/sem.h
include_rtems_rtems_HEADERS += include/rtems/rtems/semimpl.h

View File

@@ -37,6 +37,7 @@
#include <rtems/rtems/messagedata.h>
#include <rtems/rtems/partdata.h>
#include <rtems/rtems/ratemondata.h>
#include <rtems/rtems/regiondata.h>
#include <rtems/posix/key.h>
#include <rtems/posix/mqueue.h>
#include <rtems/posix/pthread.h>

View File

@@ -1,22 +1,9 @@
/**
* @file rtems/rtems/region.h
* @file
*
* @defgroup ClassicRegion Regions
* @ingroup ClassicRegion
*
* @ingroup ClassicRTEMS
* @brief Region Manager
*
* This include file contains all the constants and structures associated
* with the Region Manager. This manager provides facilities to dynamically
* allocate memory in variable sized units which are returned as segments.
*
* Directives provided are:
*
* - create a region
* - get an ID of a region
* - delete a region
* - get a segment from a region
* - return a segment to a region
* @brief Classic Region Manager API
*/
/* COPYRIGHT (c) 1989-2013.
@@ -34,8 +21,6 @@
#include <rtems/rtems/options.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
#include <rtems/score/heap.h>
#include <rtems/score/threadq.h>
#ifdef __cplusplus
extern "C" {
@@ -51,20 +36,6 @@ extern "C" {
*/
/**@{*/
/**
* The following records define the control block used to manage
* each region.
*/
typedef struct {
Objects_Control Object;
Thread_queue_Control Wait_queue; /* waiting threads */
const Thread_queue_Operations *wait_operations;
uintptr_t maximum_segment_size; /* in bytes */
rtems_attribute attribute_set;
Heap_Control Memory;
} Region_Control;
/**
* @brief rtems_region_create
*

View File

@@ -0,0 +1,56 @@
/**
* @file
*
* @ingroup ClassicRegionImpl
*
* @brief Classic Region Manager Data Structures
*/
/* COPYRIGHT (c) 1989-2013.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_REGIONDATA_H
#define _RTEMS_RTEMS_REGIONDATA_H
#include <rtems/rtems/region.h>
#include <rtems/score/heap.h>
#include <rtems/score/object.h>
#include <rtems/score/threadq.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @addtogroup ClassicRegionImpl
*
* @{
*/
/**
* The following records define the control block used to manage
* each region.
*/
typedef struct {
Objects_Control Object;
Thread_queue_Control Wait_queue; /* waiting threads */
const Thread_queue_Operations *wait_operations;
uintptr_t maximum_segment_size; /* in bytes */
rtems_attribute attribute_set;
Heap_Control Memory;
} Region_Control;
/** @} */
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -17,7 +17,7 @@
#ifndef _RTEMS_RTEMS_REGIONIMPL_H
#define _RTEMS_RTEMS_REGIONIMPL_H
#include <rtems/rtems/region.h>
#include <rtems/rtems/regiondata.h>
#include <rtems/score/apimutex.h>
#include <rtems/score/heapimpl.h>
#include <rtems/score/objectimpl.h>

View File

@@ -9,6 +9,7 @@
#include <rtems.h>
#include <rtems/monitor.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/rtems/regiondata.h>
#include <stdio.h>
#include <string.h> /* memcpy() */