32 if ( buffer == NULL ) {
36 the_partition = _Partition_Get(
id, &lock_context );
38 if ( the_partition == NULL ) {
39 #if defined(RTEMS_MULTIPROCESSING) 40 return _Partition_MP_Get_buffer(
id, buffer );
46 _Partition_Acquire_critical( the_partition, &lock_context );
49 if ( the_buffer == NULL ) {
50 _Partition_Release( the_partition, &lock_context );
55 _Partition_Release( the_partition, &lock_context );
rtems_status_code rtems_partition_get_buffer(rtems_id id, void **buffer)
Tries to get a buffer from the specified partition.
This status code indicates that the request was not satisfied.
This status code indicates successful completion.
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
uintptr_t number_of_used_blocks
This status code indicates that a specified address was invalid.
This status code indicates that an object identifier was invalid.
Objects_Id rtems_id
Values of this type identify an RTEMS object.
Classic Partition Manager Implementation.
static __inline__ void * _Partition_Allocate_buffer(Partition_Control *the_partition)
Allocate a buffer from the_partition.
Local ISR lock context for acquire and release pairs.