| IARG_ADDRINT |
Type: ADDRINT. Constant value (additional arg required). |
| IARG_PTR |
Type: "VOID *". Constant value (additional pointer arg required). |
| IARG_BOOL |
Type: BOOL. Constant (additional BOOL arg required). |
| IARG_UINT32 |
Type: UINT32. Constant (additional integer arg required). |
| IARG_INST_PTR |
Type: ADDRINT. The address of the instrumented instruction. This value does not change at IPOINT_AFTER. |
| IARG_REG_VALUE |
Type: ADDRINT for integer register. Value of a register (additional register arg required) REG: Register Object. |
| IARG_REG_REFERENCE |
Type: "PIN_REGISTER *". Pointer to union holding register contents. Registers are updated. Not supported in Probe mode or with the Buffering APIs. |
| IARG_REG_CONST_REFERENCE |
Type: "PIN_REGISTER *". Pointer to union holding register contents. Registers are not updated. Not supported with the Buffering APIs. |
| IARG_MEMORYREAD_EA |
Type: ADDRINT. Effective address of a memory read, only valid if INS_IsMemoryRead is true and at IPOINT_BEFORE. |
| IARG_MEMORYREAD2_EA |
Type: ADDRINT. Effective address of a 2nd memory read (e.g. 2nd operand in cmps on ia32), only valid at IPOINT_BEFORE. |
| IARG_MEMORYWRITE_EA |
Type: ADDRINT. Effective address of a memory write, only valid at IPOINT_BEFORE. |
| IARG_MEMORYREAD_SIZE |
Type: UINT32. Size in bytes of memory read. |
| IARG_MEMORYWRITE_SIZE |
Type: UINT32. Size in bytes of memory write. |
| IARG_BRANCH_TAKEN |
Type: BOOL. Non zero if a branch is taken. |
| IARG_BRANCH_TARGET_ADDR |
Type: ADDRINT. Target address of this branch instruction, only valid if INS_IsBranchOrCall is true. |
| IARG_FALLTHROUGH_ADDR |
Type: ADDRINT. Fall through address of this instruction. |
| IARG_EXECUTING |
Type: BOOL. False if the instruction will not be executed because of predication, otherwise true. |
| IARG_FIRST_REP_ITERATION |
Type: BOOL. True if INS_HasRealRep(ins) and this the first iteration of the REP sequence, otherwise false. |
| IARG_PREDICATE |
Reserved. Do not use. |
| IARG_STACK_VALUE |
Reserved. Do not use. |
| IARG_STACK_REFERENCE |
Reserved. Do not use. |
| IARG_MEMORY_VALUE |
Reserved. IA32(e) only. |
| IARG_MEMORY_REFERENCE |
Reserved. IA32(e) only. |
| IARG_SYSCALL_NUMBER |
Type: ADDRINT. System call number. Valid for IPOINT_BEFORE at the system call instruction. |
| IARG_SYSARG_REFERENCE |
Type: "ADDRINT *". Pointer to system call argument n. Valid for IPOINT_BEFORE at the system call instruction. (First argument number is 0.). |
| IARG_SYSARG_VALUE |
Type: ADDRINT. System call argument n. Valid for IPOINT_BEFORE at the system call instruction. (First argument number is 0.). |
| IARG_SYSRET_VALUE |
Type: ADDRINT. System call return value. On Linux and MacOS the value is -1 if the system call failed. (IPOINT_AFTER only). |
| IARG_SYSRET_ERRNO |
Type: INT32. System call errno (IPOINT_AFTER_only). |
| IARG_FUNCARG_CALLSITE_REFERENCE |
Type: "ADDRINT *". Pointer to integer argument n. Valid at the call site. (First argument number is 0.). |
| IARG_FUNCARG_CALLSITE_VALUE |
Type: ADDRINT. Integer argument n. Valid at the call site. (First argument number is 0.). |
| IARG_FUNCARG_ENTRYPOINT_REFERENCE |
Type: "ADDRINT *". Pointer to integer argument n. Valid at the entry point of a routine. (First argument number is 0.). |
| IARG_FUNCARG_ENTRYPOINT_VALUE |
Type: ADDRINT. Integer argument n. Valid at the entry point of a routine. (First argument number is 0.). |
| IARG_FUNCRET_EXITPOINT_REFERENCE |
Type: "ADDRINT *". Pointer to function result. Valid at return instruction. |
| IARG_FUNCRET_EXITPOINT_VALUE |
Type: ADDRINT. Function result. Valid at return instruction. |
| IARG_RETURN_IP |
Type: ADDRINT. Return address for function call, only valid at the function entry point. |
| IARG_ORIG_FUNCPTR |
Type: AFUNPTR. Function pointer to the relocated entry of the original uninstrumented function. |
| IARG_PROTOTYPE |
Type: PROTO. The function prototype of the application function. See Prototypes. |
| IARG_THREAD_ID |
Type: THREADID. Application thread id. |
| IARG_CHECKPOINT |
Type: "CHECKPOINT *". Handle to access a checkpoint (processor state). Not supported with the Buffering APIs. |
| IARG_CONTEXT |
Type: "CONTEXT *". Handle to access a context (architectural state). When passed at IPOINT_AFTER or IPOINT_TAKEN_BRANCH, PC points to the next instruction. Upon return from the analysis routine, Pin ignores any changes you've made to the CONTEXT. If you want to change register values, use IARG_REG_REFERENCE, IARG_RETURN_REGS, or PIN_ExecuteAt(). IARG_CONTEXT is not supported on IA-64 architectures. See Probe Mode Considerations for probe mode restrictions. Not supported with the Buffering APIs. |
| IARG_RETURN_REGS |
Register to write analysis function return value (additional register arg required). Not supported in Probe mode. |
| IARG_CALL_ORDER |
Type: CALL_ORDER. Determine order for analysis calls. See CALL_ORDER. |
| IARG_REG_NAT_VALUE |
Type: BOOL. Nat value of register. Ipf only. |
| IARG_REG_OUTPUT_FRAME_VALUE |
Type: ADDRINT for integer registers. Like IARG_REG_VALUE, but use index into RSE output frame instead of register name. Ipf only. |
| IARG_REG_OUTPUT_FRAME_REFERENCE |
Type: "ADDRINT *". Like IARG_REG_REFERENCE, but use index into RSE output frame instead of register name. Ipf only. |
| IARG_IARGLIST |
Type: IARGLIST. List of IARGS which can be constructed one IARG at a time. |
| IARG_FAST_ANALYSIS_CALL |
No type: Use a fast linkage to call the analysis function. See PIN_FAST_ANALYSIS_CALL. |
| IARG_SYSCALL_ARG0 |
DEPRECATED, see IARG_SYSARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_SYSCALL_ARG1 |
DEPRECATED, see IARG_SYSARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_SYSCALL_ARG2 |
DEPRECATED, see IARG_SYSARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_SYSCALL_ARG3 |
DEPRECATED, see IARG_SYSARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_SYSCALL_ARG4 |
DEPRECATED, see IARG_SYSARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_SYSCALL_ARG5 |
DEPRECATED, see IARG_SYSARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_G_RESULT0 |
DEPRECATED, see IARG_SYSRET_{VALUE,REFERENCE}. |
| IARG_G_ARG0_CALLEE |
DEPRECATED, see IARG_FUNCARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_G_ARG1_CALLEE |
DEPRECATED, see IARG_FUNCARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_G_ARG2_CALLEE |
DEPRECATED, see IARG_FUNCARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_G_ARG3_CALLEE |
DEPRECATED, see IARG_FUNCARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_G_ARG4_CALLEE |
DEPRECATED, see IARG_FUNCARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_G_ARG5_CALLEE |
DEPRECATED, see IARG_FUNCARG_CALLSITE_{VALUE,REFERENCE}. |
| IARG_G_ARG0_CALLER |
DEPRECATED, see IARG_FUNCARG_ENTRYPOINT_{VALUE,REFERENCE}. |
| IARG_G_ARG1_CALLER |
DEPRECATED, see IARG_FUNCARG_ENTRYPOINT_{VALUE,REFERENCE}. |
| IARG_G_ARG2_CALLER |
DEPRECATED, see IARG_FUNCARG_ENTRYPOINT_{VALUE,REFERENCE}. |
| IARG_G_ARG3_CALLER |
DEPRECATED, see IARG_FUNCARG_ENTRYPOINT_{VALUE,REFERENCE}. |
| IARG_G_ARG4_CALLER |
DEPRECATED, see IARG_FUNCARG_ENTRYPOINT_{VALUE,REFERENCE}. |
| IARG_G_ARG5_CALLER |
DEPRECATED, see IARG_FUNCARG_ENTRYPOINT_{VALUE,REFERENCE}. |
| IARG_MEMORYOP_EA |
Type: ADDRINT. Effective address of a memory op (memory op index is next arg). |
| IARG_FILE_NAME |
Reserved for internal use only. |
| IARG_LINE_NO |
Reserved for internal use only. |
| IARG_LAST |
Reserved for internal use only. |