#ifndef LINUX_UTILITY_UTILITY_H_ #define LINUX_UTILITY_UTILITY_H_ #include #include #include #include #include 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_ */