mainbase::mainbase() : m_INeedRoot(false), m_DropRoot(false), m_Foreground(false), m_Name(NAME), m_LogFileLocation("log/"), m_PidFileLocation("/var/run/" + m_Name + "/"), m_IniFile("conf/" + m_Name + ".ini"), m_PidFile(m_PidFileLocation + m_Name + ".pid"), m_LogFile(m_LogFileLocation + m_Name + ".log") { SetupSignal(); addVersion(gNAME + " " + gVERSION); addHelpItem("Runs the " + m_Name + " (default as " + m_Name + ", " + m_PidFile + ", " + m_LogFile + " " + m_IniFile + ")"); addHelpItem("USAGE " + m_Name + " [OPTIONS]"); addHelpItem("Available options:"); addHelpItem("\t-h, --help List options"); addHelpItem("\t-v, --version Output version and exit"); addHelpItem("\t-f, --foreground Don't fork into the background"); addHelpItem("\t-dr, --droproot [username] [group] run as"); addHelpItem("\t-c, --config Set config file (default: " + m_IniFile + ")"); addHelpItem("\t-d, --debug Set debug level [1-10] (default: 5)"); addHelpItem("\t-p, --pid Set Pid file location (default: " + m_PidFileLocation + ")"); addHelpItem("\t-l, --log Set log file location (default: " + m_LogFileLocation + ")"); addHelpItem("\t-n, --name Set name for pid/log files (default: " + m_Name + ")"); addHelpItem("\t--INeedRootPowerz Requered when running as root (not needed when droproot is specified)"); }
INetEventLoop* CreateNetEventLoop() { #ifdef _WIN32 StartWSA(); #else SetupSignal(); #endif return new NetClient; }
int main (int argc, char *argv[]) { int ret; char logbuffer[4096]; Init_logdebug( getpid(), "CAPD", "/DSC/APPLOG" ); ret = INIT_CAPD_IPCS(); if(ret < 0) { sprintf(logbuffer, "FAIL[init_ipc] [%s] %d.", strerror(errno), ret); dAppWrite(LOG_CRI, logbuffer); exit(0); } if( gen_info->DebugLevel == 0 ) gen_info->DebugLevel = LOG_INFO; /* temporary code (without CHSMD) */ if((ret=set_version(SEQ_PROC_CAPD, vERSION)) < 0 ) { dAppLog( LOG_CRI, "SET_VERSION ERROR(RET=%d,IDX=%d,VER=%s)\n", ret,SEQ_PROC_CAPD,vERSION); } if( check_my_run_status("CAPD") < 0) exit(0); if( keepalivelib_init("CAPD") < 0 ) exit(1); #if 0 if( argc==3 ) { test_func(argv[1], atoi(argv[2])); } #endif if( argc == 3 ) { test_func2(argv[1], atoi(argv[2])); exit(0); } else if( argc!=1 ) { exit(0); } SetupSignal(); dAppLog(LOG_CRI, "CAPD %s %d] [PROCESS INIT SUCCESS", vERSION, getpid()); dAppLog(LOG_CRI, "CAPD %s %d] [PROCESS STARTED", vERSION, getpid()); open_device_dlpi(DEV_PATH); return 0; } /***** end of main *****/