X-Git-Url: https://git.syn-net.org/debian/?a=blobdiff_plain;f=src%2Foptions.h;h=70458d558fe7c203ce7b6da9ddaa03d695551482;hb=bd02a5f6be4815d46524d613f727199ca756c971;hp=9beda0c627256c1912e70e9a8d9b2d294813e257;hpb=058ae090a970436caec3b3059e9e18b310dd6b0d;p=anytun.git diff --git a/src/options.h b/src/options.h index 9beda0c..70458d5 100644 --- a/src/options.h +++ b/src/options.h @@ -11,14 +11,15 @@ * tunneling and relaying of packets of any protocol. * * - * Copyright (C) 2007-2008 Othmar Gsenger, Erwin Nindl, + * Copyright (C) 2007-2009 Othmar Gsenger, Erwin Nindl, * Christian Pointner * * This file is part of Anytun. * * Anytun is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. * * Anytun is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -29,8 +30,8 @@ * along with anytun. If not, see . */ -#ifndef _OPTIONS_H_ -#define _OPTIONS_H_ +#ifndef ANYTUN_options_h_INCLUDED +#define ANYTUN_options_h_INCLUDED #include "datatypes.h" #include "buffer.h" @@ -55,7 +56,7 @@ public: void init(std::string addrPort); std::string addr; - std::string port; + std::string port; }; typedef std::list HostList; std::istream& operator>>(std::istream& stream, OptionHost& host); @@ -65,12 +66,12 @@ class OptionNetwork public: OptionNetwork() : net_addr(""), prefix_length(0) {}; OptionNetwork(std::string network) { init(network); }; - OptionNetwork(std::string n, u_int16_t p) : net_addr(n), prefix_length(p) {}; + OptionNetwork(std::string n, uint16_t p) : net_addr(n), prefix_length(p) {}; void init(std::string network); std::string net_addr; - u_int16_t prefix_length; + uint16_t prefix_length; }; typedef std::list NetworkList; std::istream& operator>>(std::istream& stream, OptionNetwork& network); @@ -87,6 +88,7 @@ public: bool parse(int argc, char* argv[]); void parse_post(); + void printVersion(); void printUsage(); void printOptions(); @@ -104,6 +106,8 @@ public: Options& setPidFile(std::string p); StringList getLogTargets(); + bool getDebug(); + Options& setDebug(bool d); std::string getFileName(); Options& setFileName(std::string f); @@ -127,7 +131,7 @@ public: Options& setLocalSyncAddr(std::string l); std::string getLocalSyncPort(); Options& setLocalSyncPort(std::string l); - HostList getRemoteSyncHosts(); + HostList getRemoteSyncHosts(); std::string getDevName(); Options& setDevName(std::string d); @@ -150,8 +154,8 @@ public: Options& setCipher(std::string c); std::string getAuthAlgo(); Options& setAuthAlgo(std::string a); - u_int32_t getAuthTagLength(); - Options& setAuthTagLength(u_int32_t a); + uint32_t getAuthTagLength(); + Options& setAuthTagLength(uint32_t a); std::string getKdPrf(); Options& setKdPrf(std::string k); role_t getRole(); @@ -167,15 +171,18 @@ public: private: Options(); ~Options(); - Options(const Options &l); - void operator=(const Options &l); + Options(const Options& l); + void operator=(const Options& l); static Options* inst; static ::Mutex instMutex; - class instanceCleaner { - public: ~instanceCleaner() { - if(Options::inst != 0) + class instanceCleaner + { + public: + ~instanceCleaner() { + if(Options::inst != 0) { delete Options::inst; + } } }; friend class instanceCleaner; @@ -194,6 +201,7 @@ private: std::string pid_file_; StringList log_targets_; + bool debug_; std::string file_name_; OptionHost bind_to_; @@ -203,7 +211,7 @@ private: OptionHost remote_; OptionHost local_sync_; - HostList remote_sync_hosts_; + HostList remote_sync_hosts_; std::string dev_name_; std::string dev_type_; @@ -217,7 +225,7 @@ private: std::string cipher_; std::string auth_algo_; - u_int32_t auth_tag_length_; + uint32_t auth_tag_length_; std::string kd_prf_; role_t role_; std::string passphrase_;