RTEMS  5.1
Files | Data Structures | Macros | Functions | Variables
Classic Partition Manager Implementation

Files

file  partdata.h
 Classic Partition Manager Data Structures.
 
file  partimpl.h
 Classic Partition Manager Implementation.
 

Data Structures

struct  Partition_Control
 

Macros

#define PARTITION_INFORMATION_DEFINE(max)
 Macro to define the objects information for the Classic Partition objects. More...
 

Functions

RTEMS_INLINE_ROUTINE void * _Partition_Allocate_buffer (Partition_Control *the_partition)
 Allocate a buffer from the_partition. More...
 
RTEMS_INLINE_ROUTINE void _Partition_Free_buffer (Partition_Control *the_partition, Chain_Node *the_buffer)
 Frees the_buffer to the_partition. More...
 
RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_on_boundary (void *the_buffer, Partition_Control *the_partition)
 Checks whether is on a valid buffer boundary for the_partition. More...
 
RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_valid (Chain_Node *the_buffer, Partition_Control *the_partition)
 Checks whether the_buffer is a valid buffer from the_partition. More...
 
RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_size_aligned (uint32_t buffer_size)
 
RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_area_aligned (const void *starting_address)
 
RTEMS_INLINE_ROUTINE Partition_Control_Partition_Allocate (void)
 Allocates a partition control block from the inactive chain of free partition control blocks. More...
 
RTEMS_INLINE_ROUTINE void _Partition_Initialize (Partition_Control *the_partition, void *starting_address, uint32_t length, uint32_t buffer_size, rtems_attribute attribute_set)
 
RTEMS_INLINE_ROUTINE void _Partition_Destroy (Partition_Control *the_partition)
 
RTEMS_INLINE_ROUTINE void _Partition_Free (Partition_Control *the_partition)
 Frees a partition control block to the inactive chain of free partition control blocks. More...
 
RTEMS_INLINE_ROUTINE Partition_Control_Partition_Get (Objects_Id id, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _Partition_Acquire_critical (Partition_Control *the_partition, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _Partition_Release (Partition_Control *the_partition, ISR_lock_Context *lock_context)
 

Variables

Objects_Information _Partition_Information
 The Classic Partition objects information.
 

Detailed Description

Macro Definition Documentation

◆ PARTITION_INFORMATION_DEFINE

#define PARTITION_INFORMATION_DEFINE (   max)
Value:
_Partition, \
OBJECTS_CLASSIC_API, \
OBJECTS_RTEMS_PARTITIONS, \
max, \
_Partition_MP_Send_extract_proxy \
)
#define OBJECTS_NO_STRING_NAME
Constant for the object information string name length to indicate that this object class has no stri...
Definition: objectdata.h:101
Definition: partdata.h:37
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:427

Macro to define the objects information for the Classic Partition objects.

This macro should only be used by <rtems/confdefs.h>.

Parameters
maxThe configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set).

Function Documentation

◆ _Partition_Allocate()

RTEMS_INLINE_ROUTINE Partition_Control* _Partition_Allocate ( void  )

Allocates a partition control block from the inactive chain of free partition control blocks.

This function allocates a partition control block from the inactive chain of free partition control blocks.

◆ _Partition_Allocate_buffer()

RTEMS_INLINE_ROUTINE void* _Partition_Allocate_buffer ( Partition_Control the_partition)

Allocate a buffer from the_partition.

This function attempts to allocate a buffer from the_partition. If successful, it returns the address of the allocated buffer. Otherwise, it returns NULL.

◆ _Partition_Free()

RTEMS_INLINE_ROUTINE void _Partition_Free ( Partition_Control the_partition)

Frees a partition control block to the inactive chain of free partition control blocks.

This routine frees a partition control block to the inactive chain of free partition control blocks.

◆ _Partition_Free_buffer()

RTEMS_INLINE_ROUTINE void _Partition_Free_buffer ( Partition_Control the_partition,
Chain_Node the_buffer 
)

Frees the_buffer to the_partition.

This routine frees the_buffer to the_partition.

◆ _Partition_Is_buffer_on_boundary()

RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_on_boundary ( void *  the_buffer,
Partition_Control the_partition 
)

Checks whether is on a valid buffer boundary for the_partition.

This function returns TRUE if the_buffer is on a valid buffer boundary for the_partition, and FALSE otherwise.

◆ _Partition_Is_buffer_valid()

RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_valid ( Chain_Node the_buffer,
Partition_Control the_partition 
)

Checks whether the_buffer is a valid buffer from the_partition.

This function returns TRUE if the_buffer is a valid buffer from the_partition, otherwise FALSE is returned.