/* XMRig * Copyright 2010 Jeff Garzik * Copyright 2012-2014 pooler * Copyright 2014 Lucas Jones * Copyright 2014-2016 Wolf9466 * Copyright 2016 Jay D Dee * Copyright 2017-2018 XMR-Stak , * Copyright 2018-2019 SChernykh * Copyright 2016-2019 XMRig , * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef XMRIG_CONFIGLOADER_PLATFORM_H #define XMRIG_CONFIGLOADER_PLATFORM_H #ifdef _MSC_VER # include "getopt/getopt.h" #else # include #endif #include "common/interfaces/IConfig.h" #include "version.h" namespace xmrig { static char const short_options[] = "a:c:kBp:Px:r:R:s:t:T:o:u:O:v:l:S"; static struct option const options[] = { { "algo", 1, nullptr, IConfig::AlgorithmKey }, { "api-worker-id", 1, nullptr, IConfig::ApiWorkerIdKey }, { "api-id", 1, nullptr, IConfig::ApiIdKey }, { "http-enabled", 0, nullptr, IConfig::HttpEnabledKey }, { "http-host", 1, nullptr, IConfig::HttpHostKey }, { "http-access-token", 1, nullptr, IConfig::HttpAccessTokenKey }, { "http-port", 1, nullptr, IConfig::HttpPort }, { "http-no-restricted", 0, nullptr, IConfig::HttpRestrictedKey }, { "av", 1, nullptr, IConfig::AVKey }, { "background", 0, nullptr, IConfig::BackgroundKey }, { "config", 1, nullptr, IConfig::ConfigKey }, { "cpu-affinity", 1, nullptr, IConfig::CPUAffinityKey }, { "cpu-priority", 1, nullptr, IConfig::CPUPriorityKey }, { "donate-level", 1, nullptr, IConfig::DonateLevelKey }, { "donate-over-proxy", 1, nullptr, IConfig::ProxyDonateKey }, { "dry-run", 0, nullptr, IConfig::DryRunKey }, { "keepalive", 0, nullptr, IConfig::KeepAliveKey }, { "log-file", 1, nullptr, IConfig::LogFileKey }, { "max-cpu-usage", 1, nullptr, IConfig::MaxCPUUsageKey }, { "nicehash", 0, nullptr, IConfig::NicehashKey }, { "no-color", 0, nullptr, IConfig::ColorKey }, { "no-watch", 0, nullptr, IConfig::WatchKey }, { "no-huge-pages", 0, nullptr, IConfig::HugePagesKey }, { "variant", 1, nullptr, IConfig::VariantKey }, { "pass", 1, nullptr, IConfig::PasswordKey }, { "print-time", 1, nullptr, IConfig::PrintTimeKey }, { "retries", 1, nullptr, IConfig::RetriesKey }, { "retry-pause", 1, nullptr, IConfig::RetryPauseKey }, { "safe", 0, nullptr, IConfig::SafeKey }, { "syslog", 0, nullptr, IConfig::SyslogKey }, { "threads", 1, nullptr, IConfig::ThreadsKey }, { "url", 1, nullptr, IConfig::UrlKey }, { "user", 1, nullptr, IConfig::UserKey }, { "user-agent", 1, nullptr, IConfig::UserAgentKey }, { "userpass", 1, nullptr, IConfig::UserpassKey }, { "rig-id", 1, nullptr, IConfig::RigIdKey }, { "tls", 0, nullptr, IConfig::TlsKey }, { "tls-fingerprint", 1, nullptr, IConfig::FingerprintKey }, { "asm", 1, nullptr, IConfig::AssemblyKey }, # ifdef XMRIG_DEPRECATED { "api-port", 1, nullptr, IConfig::ApiPort }, { "api-access-token", 1, nullptr, IConfig::ApiAccessTokenKey }, { "api-no-restricted", 0, nullptr, IConfig::ApiRestrictedKey }, { "api-ipv6", 0, nullptr, IConfig::ApiIPv6Key }, # endif { nullptr, 0, nullptr, 0 } }; static struct option const config_options[] = { { "algo", 1, nullptr, IConfig::AlgorithmKey }, { "av", 1, nullptr, IConfig::AVKey }, { "background", 0, nullptr, IConfig::BackgroundKey }, { "colors", 0, nullptr, IConfig::ColorKey }, { "cpu-affinity", 1, nullptr, IConfig::CPUAffinityKey }, { "cpu-priority", 1, nullptr, IConfig::CPUPriorityKey }, { "donate-level", 1, nullptr, IConfig::DonateLevelKey }, { "donate-over-proxy", 1, nullptr, IConfig::ProxyDonateKey }, { "dry-run", 0, nullptr, IConfig::DryRunKey }, { "huge-pages", 0, nullptr, IConfig::HugePagesKey }, { "log-file", 1, nullptr, IConfig::LogFileKey }, { "max-cpu-usage", 1, nullptr, IConfig::MaxCPUUsageKey }, { "print-time", 1, nullptr, IConfig::PrintTimeKey }, { "retries", 1, nullptr, IConfig::RetriesKey }, { "retry-pause", 1, nullptr, IConfig::RetryPauseKey }, { "safe", 0, nullptr, IConfig::SafeKey }, { "syslog", 0, nullptr, IConfig::SyslogKey }, { "threads", 1, nullptr, IConfig::ThreadsKey }, { "user-agent", 1, nullptr, IConfig::UserAgentKey }, { "watch", 0, nullptr, IConfig::WatchKey }, { "hw-aes", 0, nullptr, IConfig::HardwareAESKey }, { "asm", 1, nullptr, IConfig::AssemblyKey }, { "autosave", 0, nullptr, IConfig::AutoSaveKey }, { nullptr, 0, nullptr, 0 } }; static struct option const api_options[] = { { "worker-id", 1, nullptr, IConfig::ApiWorkerIdKey }, { "id", 1, nullptr, IConfig::ApiIdKey }, { nullptr, 0, nullptr, 0 } }; } /* namespace xmrig */ #endif /* XMRIG_CONFIGLOADER_PLATFORM_H */