bool netif_add_ipv6_address(netif_t *netif, const ipv6_address_t *address, const ipv6_address_t *netmask, const ipv6_state_t state) { ipv6_alias_t *ipv6; if (LOG_ENABLE(LOG_NETWORK_INTERFACE, LOG_INFO)) { LOG_IPV6(address, address_str); LOG_IPV6(netmask, netmask_str); LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_INFO, ("add_ipv6_address: address = %s", address_str)); LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_INFO, ("add_ipv6_address: netmask = %s", netmask_str)); } /** * Concatinate: * _____________ __________________ * | | | | * | netif->ipv6 |===>| old ipv6 or NULL | * |_____________| |__________________| * _____________ __________ __________________ * | | | | | | * | netif->ipv6 |===>| new ipv6 |===>| old ipv6 or NULL | * |_____________| |__________| |__________________| */ ipv6 = netif_create_ipv6_alias(); ipv6->next = netif->ipv6; netif->ipv6 = ipv6; ipv6->address = address != NULL ? *address : IPV6_ADDRESS_NULL; ipv6->netmask = netmask != NULL ? *netmask : IPV6_ADDRESS_NULL; ipv6->state = state; return true; }
// initialize basic systems for command line help / output static void ConsolePrintInitialize(const std::string& configSource, bool safemode) { spring_clock::PushTickRate(false); spring_time::setstarttime(spring_time::gettime(true)); LOG_DISABLE(); FileSystemInitializer::PreInitializeConfigHandler(configSource, safemode); FileSystemInitializer::InitializeLogOutput(); LOG_ENABLE(); }
bool netif_add_mac_address(netif_t *netif, const mac_address_t *mac) { if (LOG_ENABLE(LOG_NETWORK_INTERFACE, LOG_INFO)) { LOG_MAC(mac, mac_str); LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_INFO, ("add_mac_address: mac = %s", mac_str)); } netif->mac = *mac; return true; }
void ParseCmdLine(int argc, char* argv[], std::string& scriptName) { #undef LOG_SECTION_CURRENT #define LOG_SECTION_CURRENT LOG_SECTION_DEFAULT #ifndef WIN32 if (!FLAGS_nocolor && (getenv("SPRING_NOCOLOR") == nullptr)) { // don't colorize, if our output is piped to a diff tool or file if (isatty(fileno(stdout))) log_console_colorizedOutput(true); } #endif if (FLAGS_sync_version) { LOG("%s", (SpringVersion::GetSync()).c_str()); exit(0); } if (argc >= 2) scriptName = argv[1]; if (scriptName.empty() && !FLAGS_list_config_vars) { gflags::ShowUsageWithFlags(argv[0]); exit(1); } if (FLAGS_isolation) dataDirLocater.SetIsolationMode(true); if (!FLAGS_isolation_dir.empty()) { dataDirLocater.SetIsolationMode(true); dataDirLocater.SetIsolationModeDir(FLAGS_isolation_dir); } if (FLAGS_list_config_vars) { LOG_DISABLE(); FileSystemInitializer::PreInitializeConfigHandler(FLAGS_config); FileSystemInitializer::InitializeLogOutput(); LOG_ENABLE(); ConfigVariable::OutputMetaDataMap(); exit(0); } //LOG("Run: %s", cmdLine.GetCmdLine().c_str()); FileSystemInitializer::PreInitializeConfigHandler(FLAGS_config); #undef LOG_SECTION_CURRENT #define LOG_SECTION_CURRENT LOG_SECTION_DEDICATED_SERVER }
bool netif_add_vid(netif_t *netif, const uint16_t vid) { vlan_t *vlan; if (LOG_ENABLE(LOG_NETWORK_INTERFACE, LOG_INFO)) { LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_INFO, ("add_vlan: vid = %u", vid)); } if (netif->vlan != NULL) { LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_WARNING, ("overwrite VLAN vid = %u", netif->vlan->vid)); } vlan = netif_create_vlan(); netif->vlan = vlan; return true; }
bool netif_add_ipv4_address(netif_t *netif, const ipv4_address_t *address, const ipv4_address_t *netmask, const ipv4_address_t *broadcast, const ipv4_address_t *gateway) { ipv4_alias_t *ipv4; if (LOG_ENABLE(LOG_NETWORK_INTERFACE, LOG_INFO)) { LOG_IPV4(address, address_str); LOG_IPV4(broadcast, broadcast_str); LOG_IPV4(netmask, netmask_str); LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_INFO, ("add_ipv4_address: address = %s", address_str)); LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_INFO, ("add_ipv4_address: netmask = %s", netmask_str)); LOG_PRINTLN(LOG_NETWORK_INTERFACE, LOG_INFO, ("add_ipv4_address: broadcast = %s", broadcast_str)); } /** * Concatinate: * _____________ __________________ * | | | | * | netif->ipv4 |===>| old ipv4 or NULL | * |_____________| |__________________| * _____________ __________ __________________ * | | | | | | * | netif->ipv4 |===>| new ipv4 |===>| old ipv4 or NULL | * |_____________| |__________| |__________________| */ ipv4 = netif_create_ipv4_alias(); ipv4->next = netif->ipv4; netif->ipv4 = ipv4; ipv4->address = address != NULL ? *address : IPV4_ADDRESS_NULL; ipv4->netmask = netmask != NULL ? *netmask : IPV4_ADDRESS_NULL; ipv4->broadcast = broadcast != NULL ? *broadcast : IPV4_ADDRESS_NULL; ipv4->gateway = gateway != NULL ? *gateway : IPV4_ADDRESS_NULL; return true; }
void ParseCmdLine(int argc, char* argv[], std::string* script_txt) { #undef LOG_SECTION_CURRENT #define LOG_SECTION_CURRENT LOG_SECTION_DEFAULT std::string binaryname = argv[0]; CmdLineParams cmdline(argc, argv); cmdline.SetUsageDescription("Usage: " + binaryname + " [options] path_to_script.txt"); cmdline.AddSwitch(0, "sync-version", "Display program sync version (for online gaming)"); cmdline.AddString('C', "config", "Exclusive configuration file"); cmdline.AddSwitch(0, "list-config-vars", "Dump a list of config vars and meta data to stdout"); cmdline.AddSwitch('i', "isolation", "Limit the data-dir (games & maps) scanner to one directory"); cmdline.AddString(0, "isolation-dir", "Specify the isolation-mode data-dir (see --isolation)"); cmdline.AddSwitch(0, "nocolor", "Disables colorized stdout"); cmdline.AddSwitch('q', "quiet", "Ignore unrecognized arguments"); try { cmdline.Parse(); } catch (const CmdLineParams::unrecognized_option& err) { LOG_L(L_ERROR, "%s\n", err.what()); if (!cmdline.IsSet("quiet")) { cmdline.PrintUsage(); exit(EXIT_FAILURE); } } #ifndef WIN32 if (!cmdline.IsSet("nocolor") && (getenv("SPRING_NOCOLOR") == NULL)) { // don't colorize, if our output is piped to a diff tool or file if (isatty(fileno(stdout))) log_console_colorizedOutput(true); } #endif if (cmdline.IsSet("help")) { cmdline.PrintUsage(); exit(0); } if (cmdline.IsSet("version")) { LOG("%s", (SpringVersion::GetFull()).c_str()); exit(0); } if (cmdline.IsSet("sync-version")) { LOG("%s", (SpringVersion::GetSync()).c_str()); exit(0); } *script_txt = cmdline.GetInputFile(); if (script_txt->empty() && !cmdline.IsSet("list-config-vars")) { cmdline.PrintUsage(); exit(1); } if (cmdline.IsSet("isolation")) { dataDirLocater.SetIsolationMode(true); } if (cmdline.IsSet("isolation-dir")) { dataDirLocater.SetIsolationMode(true); dataDirLocater.SetIsolationModeDir(cmdline.GetString("isolation-dir")); } const std::string configSource = cmdline.IsSet("config") ? cmdline.GetString("config") : ""; if (cmdline.IsSet("list-config-vars")) { LOG_DISABLE(); FileSystemInitializer::PreInitializeConfigHandler(configSource); FileSystemInitializer::InitializeLogOutput(); LOG_ENABLE(); ConfigVariable::OutputMetaDataMap(); exit(0); } LOG("Run: %s", cmdline.GetCmdLine().c_str()); FileSystemInitializer::PreInitializeConfigHandler(configSource); #undef LOG_SECTION_CURRENT #define LOG_SECTION_CURRENT LOG_SECTION_DEDICATED_SERVER }