Pin
Static Public Member Functions | List of all members
LEVEL_BASE::PARSER Class Reference

Static Public Member Functions

static BOOL ExtractArgumentsPin (INT32 argc, CHAR **argv, INT32 *pargc, CHAR ***pargv)
 
static BOOL ExtractArgumentsTool (INT32 argc, CHAR **argv, INT32 *targc, CHAR ***targv)
 
static BOOL ExtractArgumentsApp (INT32 argc, CHAR **argv, INT32 *aargc, CHAR ***aargv)
 
static BOOL SetPinKnobs (INT32 pinArgc, const CHAR *const *pinArgv, std::string &errorMsg, PIN_ERRTYPE &errorType, BOOL ignoreUnknownKnobs=FALSE)
 
static BOOL SetPinClientKnobs (INT32 pinClientArgc, const CHAR *const *pinClientArgv, std::string &errorMsg, PIN_ERRTYPE &errorType, BOOL ignoreUnknownKnobs=FALSE)
 
static VOID GetToolNameArgs (INT32 argc, const CHAR *const *argv, INT32 *targIndex, INT32 *t64argIndex)
 

Detailed Description

class that provides parsing utilities

Member Function Documentation

◆ ExtractArgumentsApp()

BOOL LEVEL_BASE::PARSER::ExtractArgumentsApp ( INT32  argc,
CHAR **  argv,
INT32 *  aargc,
CHAR ***  aargv 
)
static

Helper function for application command line arguments

Parameters
[in]argc- size of original argv array
[in]argv- array of original argv
[out]aargc- size of application's command line array
[out]aargv- array of application's command line
Returns
TRUE if at least one relevant argument is extracted; FALSE otherwise (both aargc and aargv values are not set)

◆ ExtractArgumentsPin()

BOOL LEVEL_BASE::PARSER::ExtractArgumentsPin ( INT32  argc,
CHAR **  argv,
INT32 *  pargc,
CHAR ***  pargv 
)
static

Helper function for pin command line argument processing

Parameters
[in]argc- size of original argv array
[in]argv- array of original argv
[out]pargc- size of pin's command line array
[out]pargv- array of pin's command line
Returns
TRUE if at least one relevant argument is extracted; FALSE otherwise (both pargc and pargv values are not set)

◆ ExtractArgumentsTool()

BOOL LEVEL_BASE::PARSER::ExtractArgumentsTool ( INT32  argc,
CHAR **  argv,
INT32 *  targc,
CHAR ***  targv 
)
static

Helper function for tool command line argument processing

Parameters
[in]argc- size of original argv array
[in]argv- array of original argv
[out]targc- size of tool's command line array
[out]targv- array of tool's command line
Returns
TRUE if at least one relevant argument is extracted; FALSE otherwise (both targc and targv values are not set)

◆ GetToolNameArgs()

VOID LEVEL_BASE::PARSER::GetToolNameArgs ( INT32  argc,
const CHAR *const *  argv,
INT32 *  targIndex,
INT32 *  t64argIndex 
)
static

Get indexes of Pintool name option's argument

Parameters
[in]argc- size of original argv array
[in]argv- array of original argv
[out]targIndex- pointer to index of argument of "-t" option in argv array
[out]t64argIndex- pointer to index of argument of "-t64" option in argv array

◆ SetPinClientKnobs()

BOOL LEVEL_BASE::PARSER::SetPinClientKnobs ( INT32  pinClientArgc,
const CHAR *const *  pinClientArgv,
std::string &  errorMsg,
PIN_ERRTYPE errorType,
BOOL  ignoreUnknownKnobs = FALSE 
)
static

Set Pin client knobs based on tool command line

Parameters
[in]pinArgcargc of pin command line
[in]pinArgvargv of pin command line
[out]errorMsgreference to the returned error message. valid upon function failure.
[out]errorTypereference to the returned error type. valid upon function failure.
[in]ignoreUnknownKnobsshould an error be reported if unknown option is specified?
Returns
TRUE upon success, FALSE upon failure

◆ SetPinKnobs()

BOOL LEVEL_BASE::PARSER::SetPinKnobs ( INT32  pinArgc,
const CHAR *const *  pinArgv,
std::string &  errorMsg,
PIN_ERRTYPE errorType,
BOOL  ignoreUnknownKnobs = FALSE 
)
static

Set Pin knobs based on Pin command line

Parameters
[in]pinArgcargc of pin command line
[in]pinArgvargv of pin command line
[out]errorMsgreference to the returned error message. valid upon function failure.
[out]errorTypereference to the returned error type. valid upon function failure.
[in]ignoreUnknownKnobsshould an error be reported if unknown option is specified?
Returns
TRUE upon success, FALSE upon failure

The documentation for this class was generated from the following file: