+ int argc;
+
+ /** Saved argv from startup
+ */
+ char** argv;
+
+ std::string startup_log;
+};
+
+class CoreExport OperInfo : public refcountbase
+{
+ public:
+ std::set<std::string> AllowedOperCommands;
+ std::set<std::string> AllowedPrivs;
+
+ /** Allowed user modes from oper classes. */
+ std::bitset<64> AllowedUserModes;
+
+ /** Allowed channel modes from oper classes. */
+ std::bitset<64> AllowedChanModes;
+
+ /** \<oper> block used for this oper-up. May be NULL. */
+ reference<ConfigTag> oper_block;
+ /** \<type> block used for this oper-up. Valid for local users, may be NULL on remote */
+ reference<ConfigTag> type_block;
+ /** \<class> blocks referenced from the \<type> block. These define individual permissions */
+ std::vector<reference<ConfigTag> > class_blocks;
+ /** Name of the oper type; i.e. the one shown in WHOIS */
+ std::string name;
+
+ /** Get a configuration item, searching in the oper, type, and class blocks (in that order) */
+ std::string getConfig(const std::string& key);
+ void init();
+
+ inline const char* NameStr()