RTEMS CPU Kit with SuperCore  4.11.3
Modules | Files | Data Structures | Functions

Partition Manager. More...

Collaboration diagram for Partitions:

Modules

 Classic Partition Manager Implementation
 

Files

file  part.c
 Partition Manager Initialization.
 
file  partcreate.c
 RTEMS Partition Create.
 
file  partdata.c
 Instantiate RTEMS Partition Data.
 
file  partdelete.c
 RTEMS Delete Partition.
 
file  partgetbuffer.c
 RTEMS Get Partition Buffer.
 
file  partident.c
 RTEMS Partition Name to Id.
 

Data Structures

struct  Partition_Control
 The following defines the control block used to manage each partition. More...
 

Functions

rtems_status_code rtems_partition_create (rtems_name name, void *starting_address, uint32_t length, uint32_t buffer_size, rtems_attribute attribute_set, rtems_id *id)
 RTEMS Partition Create. More...
 
rtems_status_code rtems_partition_ident (rtems_name name, uint32_t node, rtems_id *id)
 RTEMS Partition Ident. More...
 
rtems_status_code rtems_partition_delete (rtems_id id)
 RTEMS Delete Partition. More...
 
rtems_status_code rtems_partition_get_buffer (rtems_id id, void **buffer)
 RTEMS Get Partition Buffer. More...
 
rtems_status_code rtems_partition_return_buffer (rtems_id id, void *buffer)
 rtems_partition_return_buffer More...
 

Detailed Description

Partition Manager.

This encapsulates functionality related to the Classic API Partition Manager.

This include file contains all the constants and structures associated with the Partition Manager. This manager provides facilities to dynamically allocate memory in fixed-sized units which are returned as buffers.

Directives provided are:

Function Documentation

◆ rtems_partition_create()

rtems_status_code rtems_partition_create ( rtems_name  name,
void *  starting_address,
uint32_t  length,
uint32_t  buffer_size,
rtems_attribute  attribute_set,
rtems_id id 
)

RTEMS Partition Create.

Partition Manager

This routine implements the rtems_partition_create directive. The partition will have the name name. The memory area managed by the partition is of length bytes and starts at starting_address. The memory area will be divided into as many buffers of buffer_size bytes as possible. The attribute_set determines if the partition is global or local. It returns the id of the created partition in ID.

◆ rtems_partition_delete()

rtems_status_code rtems_partition_delete ( rtems_id  id)

RTEMS Delete Partition.

This routine implements the rtems_partition_delete directive. The partition indicated by ID is deleted, provided that none of its buffers are still allocated.

Parameters
[in]idis the partition id
Return values
Thismethod returns RTEMS_SUCCESSFUL if there was not an error. Otherwise, a status code is returned indicating the source of the error.

References _Objects_Allocator_lock(), and _Partition_Get().

◆ rtems_partition_get_buffer()

rtems_status_code rtems_partition_get_buffer ( rtems_id  id,
void **  buffer 
)

RTEMS Get Partition Buffer.

This routine implements the rtems_partition_get_buffer directive. It attempts to allocate a buffer from the partition associated with ID. If a buffer is allocated, its address is returned in buffer.

Parameters
[in]idis the partition id
[out]bufferis the pointer to buffer address
Return values
RTEMS_SUCCESSFULif successful or error code if unsuccessful

◆ rtems_partition_ident()

rtems_status_code rtems_partition_ident ( rtems_name  name,
uint32_t  node,
rtems_id id 
)

RTEMS Partition Ident.

This routine implements the rtems_partition_ident directive. This directive returns the partition ID associated with name. If more than one partition is named name, then the partition to which the ID belongs is arbitrary. node indicates the extent of the search for the ID of the partition named name. The search can be limited to a particular node or allowed to encompass all nodes.

Parameters
[in]nameis the user defined partition name
[in]nodeis(are) the node(s) to be searched
[in]idis the pointer to partition id
Return values
RTEMS_SUCCESSFULif successful or error code if unsuccessful and *id filled in with the partition id

◆ rtems_partition_return_buffer()

rtems_status_code rtems_partition_return_buffer ( rtems_id  id,
void *  buffer 
)

rtems_partition_return_buffer

This routine implements the rtems_partition_return_buffer directive. It frees the buffer to the partition associated with ID. The buffer must have been previously allocated from the same partition.