#ifndef GUARD_OPTIONS_H #define GUARD_OPTIONS_H #include #include "RelocElfReader.h" using namespace std; class command_error : public exception { const char *_what; public: explicit command_error(const char *s) {_what = s;} explicit command_error(const string &s) {_what = s.c_str();} const char *what() const noexcept override { return _what; } }; class Options { vector posargs; bool flatten = false; bool naix = false; char padval = '\xFF'; Elf objfile; ofstream narcfile; void ReadObjectFile(vector &rodata, vector &sizes); void OverwritePadding(vector &rodata, vector &sizes) const; void WriteNarc(vector &rodata, vector &sizes); void WriteNaix(vector &sizes); public: Options(int argc, char ** argv); int main(); }; #endif //GUARD_OPTIONS_H