/************************************************************ * main function for Windows * Parse command line arguments for startup options, * to start as service or console mode application in windows. * Invokes appropriate startup funcitons depending on the * parameters passesd *************************************************************/ int __cdecl _tmain(int argc, TCHAR * argv[]) { /* * Define Service Name and Description, which appears in windows SCM */ LPCTSTR lpszServiceName = g_szAppName; /* Service Registry Name */ LPCTSTR lpszServiceDisplayName = _T("Net SNMP Agent Daemon"); /* Display Name */ LPCTSTR lpszServiceDescription = _T("SNMP agent for windows from Net-SNMP"); InputParams InputOptions; int nRunType = RUN_AS_CONSOLE; nRunType = ParseCmdLineForServiceOption(argc, argv); switch (nRunType) { case REGISTER_SERVICE: /* * Register As service */ InputOptions.Argc = argc; InputOptions.Argv = argv; RegisterService(lpszServiceName, lpszServiceDisplayName, lpszServiceDescription, &InputOptions); exit(0); break; case UN_REGISTER_SERVICE: /* * Unregister service */ UnregisterService(lpszServiceName); exit(0); break; case RUN_AS_SERVICE: /* * Run as service */ /* * Register Stop Function */ RegisterStopFunction(StopSnmpAgent); return RunAsService(SnmpDaemonMain); break; default: /* * Run Net-Snmpd in console mode */ /* * Invoke SnmpDeamonMain with input arguments */ return SnmpDaemonMain(argc, argv); break; } }
/************************************************************ * main function for Windows * Parse command line arguments for startup options, * to start as service or console mode application in windows. * Invokes appropriate startup functions depending on the * parameters passed *************************************************************/ int __cdecl _tmain(int argc, TCHAR * argv[]) { /* * Define Service Name and Description, which appears in windows SCM */ LPCTSTR lpszServiceName = app_name_long; /* Service Registry Name */ LPCTSTR lpszServiceDisplayName = _T("Net-SNMP Trap Handler"); /* Display Name */ LPCTSTR lpszServiceDescription = #ifdef IFDESCR _T("SNMPv2c / SNMPv3 trap/inform receiver from Net-SNMP. Supports MIB objects for IP,ICMP,TCP,UDP, and network interface sub-layers."); #else _T("SNMPv2c / SNMPv3 trap/inform receiver from Net-SNMP"); #endif InputParams InputOptions; int nRunType = RUN_AS_CONSOLE; int quiet = 0; nRunType = ParseCmdLineForServiceOption(argc, argv, &quiet); switch (nRunType) { case REGISTER_SERVICE: /* * Register As service */ InputOptions.Argc = argc; InputOptions.Argv = argv; exit (RegisterService(lpszServiceName, lpszServiceDisplayName, lpszServiceDescription, &InputOptions, quiet)); break; case UN_REGISTER_SERVICE: /* * Unregister service */ exit (UnregisterService(lpszServiceName, quiet)); exit(0); break; case RUN_AS_SERVICE: /* * Run as service */ /* * Register Stop Function */ RegisterStopFunction(StopSnmpTrapd); return RunAsService(SnmpTrapdMain); break; default: /* * Run in console mode */ return SnmpTrapdMain(argc, argv); break; } }
/************************************************************ * main function for Windows * Parse command line arguments for startup options, * to start as service or console mode application in windows. * Invokes appropriate startup functions depending on the * parameters passed *************************************************************/ int __cdecl _tmain(int argc, TCHAR * argv[]) { /* * Define Service Name and Description, which appears in windows SCM */ LPCTSTR lpszServiceName = app_name_long; /* Service Registry Name */ LPCTSTR lpszServiceDisplayName = _T("Net-SNMP Agent"); /* Display Name */ LPCTSTR lpszServiceDescription = #ifdef IFDESCR _T("SNMPv2c / SNMPv3 command responder from Net-SNMP. Supports MIB objects for IP,ICMP,TCP,UDP, and network interface sub-layers."); #else _T("SNMPv2c / SNMPv3 command responder from Net-SNMP"); #endif InputParams InputOptions; int nRunType = RUN_AS_CONSOLE; int quiet = 0; #if 0 _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF /*| _CRTDBG_CHECK_ALWAYS_DF*/); #endif nRunType = ParseCmdLineForServiceOption(argc, argv, &quiet); switch (nRunType) { case REGISTER_SERVICE: /* * Register As service */ InputOptions.Argc = argc; InputOptions.Argv = argv; return RegisterService(lpszServiceName, lpszServiceDisplayName, lpszServiceDescription, &InputOptions, quiet); case UN_REGISTER_SERVICE: /* * Unregister service */ return UnregisterService(lpszServiceName, quiet); case RUN_AS_SERVICE: /* * Run as service */ /* * Register Stop Function */ RegisterStopFunction(StopSnmpAgent); return RunAsService(SnmpDaemonMain); default: /* * Run in console mode */ return SnmpDaemonMain(argc, argv); } }