37 lines
872 B
C++
37 lines
872 B
C++
#ifndef LINUX_UTILITY_UTILITY_H_
|
|
#define LINUX_UTILITY_UTILITY_H_
|
|
|
|
#include <cerrno>
|
|
#include <cstring>
|
|
#include <fsfw/serviceinterface/ServiceInterface.h>
|
|
|
|
#include <fcntl.h>
|
|
#include <unistd.h>
|
|
|
|
namespace utility {
|
|
|
|
void handleIoctlError(const char* const customPrintout);
|
|
|
|
class UnixFileHelper {
|
|
public:
|
|
static constexpr int READ_WRITE_FLAG = O_RDWR;
|
|
static constexpr int READ_ONLY_FLAG = O_RDONLY;
|
|
static constexpr int NON_BLOCKING_IO_FLAG = O_NONBLOCK;
|
|
|
|
static constexpr ReturnValue_t OPEN_FILE_FAILED = 1;
|
|
|
|
UnixFileHelper(std::string device, int* fileDescriptor, int flags,
|
|
std::string diagnosticPrefix = "");
|
|
|
|
virtual~ UnixFileHelper();
|
|
|
|
ReturnValue_t getOpenResult() const;
|
|
private:
|
|
int* fileDescriptor = nullptr;
|
|
ReturnValue_t openStatus = HasReturnvaluesIF::RETURN_OK;
|
|
};
|
|
|
|
}
|
|
|
|
#endif /* LINUX_UTILITY_UTILITY_H_ */
|