Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1992-1997 Microsoft Corporation
Module Name:
args.c
Abstract:
Contains routines for processing command line arguments.
Environment:
User Mode - Win32
Revision History:
10-Feb-1997 DonRyan Rewrote to implement SNMPv2 support.
--*/ ///////////////////////////////////////////////////////////////////////////////
// //
// Include files //
// //
///////////////////////////////////////////////////////////////////////////////
#include "globals.h"
#include "args.h"
#include "stdlib.h"
///////////////////////////////////////////////////////////////////////////////
// //
// Public procedures //
// //
///////////////////////////////////////////////////////////////////////////////
BOOL ProcessArguments( DWORD NumberOfArgs, LPSTR ArgumentPtrs[] )
/*++
Routine Description:
Processes command line arguments.
Arguments:
NumberOfArgs - number of command line arguments. ArgumentPtrs - array of pointers to arguments.
Return Values:
Returns true if successful.
--*/
{ DWORD dwArgument; LPSTR pCurrentArg;
// initialize logging arguments
g_CmdLineArguments.nLogLevel = INVALID_ARGUMENT; g_CmdLineArguments.nLogType = INVALID_ARGUMENT;
// initialize service controller argument
g_CmdLineArguments.fBypassCtrlDispatcher = FALSE;
// process arguments
while (NumberOfArgs--) {
// retrieve argument pointer
pCurrentArg = ArgumentPtrs[NumberOfArgs];
// make sure valid argument passed
if (IS_ARGUMENT(pCurrentArg, LOGLEVEL)) {
// convert string into dword argument
dwArgument = DWORD_ARGUMENT(pCurrentArg, LOGLEVEL);
// store in global argument structure
g_CmdLineArguments.nLogLevel = dwArgument;
// modify the level at which logging occurs
SnmpSvcSetLogLevel(g_CmdLineArguments.nLogLevel);
} else if (IS_ARGUMENT(pCurrentArg, LOGTYPE)) {
// convert string into dword argument
dwArgument = DWORD_ARGUMENT(pCurrentArg, LOGTYPE);
// store in global argument structure
g_CmdLineArguments.nLogType = dwArgument;
// modify the log type used during logging
SnmpSvcSetLogType(g_CmdLineArguments.nLogType);
} else if (IS_ARGUMENT(pCurrentArg, DEBUG)) {
// disable service controller when debugging
g_CmdLineArguments.fBypassCtrlDispatcher = TRUE;
} else if (NumberOfArgs) { SNMPDBG(( SNMP_LOG_WARNING, "SNMP: SVC: Ignoring argument %s.\n", pCurrentArg )); } }
return TRUE; }
|