71 lines
2.4 KiB
C++
71 lines
2.4 KiB
C++
|
#include "RtemsBasic.h"
|
||
|
|
||
|
|
||
|
ReturnValue_t RtemsBasic::convertReturnCode(rtems_status_code inValue) {
|
||
|
if (inValue == RTEMS_SUCCESSFUL) {
|
||
|
return HasReturnvaluesIF::RETURN_OK;
|
||
|
} else {
|
||
|
switch(inValue){
|
||
|
case RTEMS_SUCCESSFUL:
|
||
|
return OperatingSystemIF::SUCCESSFUL;
|
||
|
case RTEMS_TASK_EXITTED:
|
||
|
return OperatingSystemIF::TASK_EXITTED;
|
||
|
case RTEMS_MP_NOT_CONFIGURED:
|
||
|
return OperatingSystemIF::MP_NOT_CONFIGURED;
|
||
|
case RTEMS_INVALID_NAME:
|
||
|
return OperatingSystemIF::INVALID_NAME;
|
||
|
case RTEMS_INVALID_ID:
|
||
|
return OperatingSystemIF::INVALID_ID;
|
||
|
case RTEMS_TOO_MANY:
|
||
|
return OperatingSystemIF::TOO_MANY;
|
||
|
case RTEMS_TIMEOUT:
|
||
|
return OperatingSystemIF::TIMEOUT;
|
||
|
case RTEMS_OBJECT_WAS_DELETED:
|
||
|
return OperatingSystemIF::OBJECT_WAS_DELETED;
|
||
|
case RTEMS_INVALID_SIZE:
|
||
|
return OperatingSystemIF::INVALID_SIZE;
|
||
|
case RTEMS_INVALID_ADDRESS:
|
||
|
return OperatingSystemIF::INVALID_ADDRESS;
|
||
|
case RTEMS_INVALID_NUMBER:
|
||
|
return OperatingSystemIF::INVALID_NUMBER;
|
||
|
case RTEMS_NOT_DEFINED:
|
||
|
return OperatingSystemIF::NOT_DEFINED;
|
||
|
case RTEMS_RESOURCE_IN_USE:
|
||
|
return OperatingSystemIF::RESOURCE_IN_USE;
|
||
|
//TODO RTEMS_UNSATISFIED is double mapped for FLP so it will only return Queue_empty and not unsatisfied
|
||
|
case RTEMS_UNSATISFIED:
|
||
|
return OperatingSystemIF::QUEUE_EMPTY;
|
||
|
case RTEMS_INCORRECT_STATE:
|
||
|
return OperatingSystemIF::INCORRECT_STATE;
|
||
|
case RTEMS_ALREADY_SUSPENDED:
|
||
|
return OperatingSystemIF::ALREADY_SUSPENDED;
|
||
|
case RTEMS_ILLEGAL_ON_SELF:
|
||
|
return OperatingSystemIF::ILLEGAL_ON_SELF;
|
||
|
case RTEMS_ILLEGAL_ON_REMOTE_OBJECT:
|
||
|
return OperatingSystemIF::ILLEGAL_ON_REMOTE_OBJECT;
|
||
|
case RTEMS_CALLED_FROM_ISR:
|
||
|
return OperatingSystemIF::CALLED_FROM_ISR;
|
||
|
case RTEMS_INVALID_PRIORITY:
|
||
|
return OperatingSystemIF::INVALID_PRIORITY;
|
||
|
case RTEMS_INVALID_CLOCK:
|
||
|
return OperatingSystemIF::INVALID_CLOCK;
|
||
|
case RTEMS_INVALID_NODE:
|
||
|
return OperatingSystemIF::INVALID_NODE;
|
||
|
case RTEMS_NOT_CONFIGURED:
|
||
|
return OperatingSystemIF::NOT_CONFIGURED;
|
||
|
case RTEMS_NOT_OWNER_OF_RESOURCE:
|
||
|
return OperatingSystemIF::NOT_OWNER_OF_RESOURCE;
|
||
|
case RTEMS_NOT_IMPLEMENTED:
|
||
|
return OperatingSystemIF::NOT_IMPLEMENTED;
|
||
|
case RTEMS_INTERNAL_ERROR:
|
||
|
return OperatingSystemIF::INTERNAL_ERROR;
|
||
|
case RTEMS_NO_MEMORY:
|
||
|
return OperatingSystemIF::NO_MEMORY;
|
||
|
case RTEMS_IO_ERROR:
|
||
|
return OperatingSystemIF::IO_ERROR;
|
||
|
default:
|
||
|
return HasReturnvaluesIF::RETURN_FAILED;
|
||
|
}
|
||
|
}
|
||
|
}
|