2021-07-13 21:02:53 +02:00
|
|
|
#include "fsfw/osal/linux/unixUtility.h"
|
2021-06-03 12:29:06 +02:00
|
|
|
|
|
|
|
#include <errno.h>
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
#include <cstring>
|
|
|
|
|
|
|
|
#include "fsfw/FSFW.h"
|
|
|
|
#include "fsfw/serviceinterface/ServiceInterface.h"
|
|
|
|
|
|
|
|
void utility::printUnixErrorGeneric(const char* const className, const char* const function,
|
|
|
|
const char* const failString, sif::OutputTypes outputType) {
|
|
|
|
if (className == nullptr or failString == nullptr or function == nullptr) {
|
|
|
|
return;
|
|
|
|
}
|
2021-06-03 12:29:06 +02:00
|
|
|
#if FSFW_VERBOSE_LEVEL >= 1
|
2022-02-02 10:29:30 +01:00
|
|
|
if (outputType == sif::OutputTypes::OUT_ERROR) {
|
2021-06-03 12:29:06 +02:00
|
|
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
2022-02-02 10:29:30 +01:00
|
|
|
sif::error << className << "::" << function << ": " << failString
|
|
|
|
<< " error: " << strerror(errno) << std::endl;
|
2021-06-03 12:29:06 +02:00
|
|
|
#else
|
|
|
|
sif::printError("%s::%s: %s error: %s\n", className, function, failString, strerror(errno));
|
|
|
|
#endif
|
2022-02-02 10:29:30 +01:00
|
|
|
} else {
|
2021-06-03 12:29:06 +02:00
|
|
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
2022-02-02 10:29:30 +01:00
|
|
|
sif::warning << className << "::" << function << ": " << failString
|
|
|
|
<< " error: " << strerror(errno) << std::endl;
|
2021-06-03 12:29:06 +02:00
|
|
|
#else
|
|
|
|
sif::printWarning("%s::%s: %s error: %s\n", className, function, failString, strerror(errno));
|
|
|
|
#endif
|
2022-02-02 10:29:30 +01:00
|
|
|
}
|
2021-06-03 12:29:06 +02:00
|
|
|
#endif
|
|
|
|
}
|