//Groups: @ingroup\s+(API_REF|KNOBS|IMG_BASIC_API|INS_BASIC_API|INS_INST_API|INS_BASIC_API_GEN_IA32|INS_BASIC_API_IA32|INS_MOD_API_GEN_IA32|SEC_BASIC_API|RTN_BASIC_API|REG_BASIC_API|REG_CPU_GENERIC|REG_CPU_IA32|TRACE_BASIC_API|BBL_BASIC_API|SYM_BASIC_API|MISC_PRINT|MISC_PARSE|KNOB_API|KNOB_BASIC|KNOB_PRINT|LOCK|PIN_CONTROL|TRACE_VERSION_API|BUFFER_API|PROTO_API|PIN_PROCESS_API|PIN_THREAD_API|PIN_SYSCALL_API|WINDOWS_SYSCALL_API_UNDOC|DEBUG_API|ERROR_FILE_BASIC|TYPE_BASE|INSTLIB|ALARM|CHILD_PROCESS_API|UTILS|MISC|CONTEXT_API|PHYSICAL_CONTEXT_API|PIN_CALLBACKS|EXCEPTION_API|APPDEBUG_API|STOPPED_THREAD_API|BUFFER_API|PROTO|INST_ARGS|DEPRECATED_PIN_API|INTERNAL_EXCEPTION_PRIVATE_UNDOCUMENTED|PIN_THREAD_PRIVATE|CHILD_PROCESS_INTERNAL|BBL_BASIC|ROGUE_BASIC_API|MESSAGE_TYPE|MESSAGE_BASIC|ERRFILE|MISC_BASIC|ITC_INST_API|CONTEXT_API_UNDOC|EXCEPTION_API_UNDOC|UNDOCUMENTED_PIN_API|OPIN|TRACE_VERSIONS /* PIN API */ /* THIS FILE IS AUTOMAGICALLY GENERATED - DO NOT CHANGE DIRECTLY*/ typedef BOOL (*DEBUG_INTERPRETER_CALLBACK)(THREADID threadIndex, CONTEXT *ctxt, const std::string &cmd, std::string *reply, VOID *v); /* DO NOT EDIT */ typedef BOOL (*DEBUG_BREAKPOINT_CALLBACK)(ADDRINT addr, UINT size, BOOL insert, VOID *v); /* DO NOT EDIT */ typedef BOOL (*INTERCEPT_DEBUGGING_EVENT_CALLBACK)(THREADID tid, DEBUGGING_EVENT eventType, CONTEXT *ctxt, VOID *arg); /* DO NOT EDIT */ typedef VOID (*GET_EMULATED_REGISTER_CALLBACK)(unsigned toolRegId, THREADID tid, CONTEXT *ctxt, VOID *data, VOID *v); /* DO NOT EDIT */ typedef VOID (*SET_EMULATED_REGISTER_CALLBACK)(unsigned toolRegId, THREADID tid, CONTEXT *ctxt, const VOID *data, VOID *v); /* DO NOT EDIT */ typedef USIZE (*GET_TARGET_DESCRIPTION_CALLBACK)(const std::string &name, USIZE size, VOID *buf, VOID *v); /* DO NOT EDIT */ extern VOID PIN_InterceptDebuggingEvent(DEBUGGING_EVENT eventType, INTERCEPT_DEBUGGING_EVENT_CALLBACK fun, VOID *arg); /* DO NOT EDIT */ extern VOID PIN_AddDebuggerRegisterEmulator(unsigned numRegisters, const DEBUGGER_REG_DESCRIPTION *registerDescriptions, GET_EMULATED_REGISTER_CALLBACK getFun, SET_EMULATED_REGISTER_CALLBACK setFun, GET_TARGET_DESCRIPTION_CALLBACK getDescriptionFun, VOID *val); /* DO NOT EDIT */ extern PIN_CALLBACK PIN_AddDebugInterpreter(DEBUG_INTERPRETER_CALLBACK fun, VOID *val); /* DO NOT EDIT */ extern VOID PIN_RemoveDebugInterpreter(DEBUG_INTERPRETER_CALLBACK fun); /* DO NOT EDIT */ extern PIN_CALLBACK PIN_AddBreakpointHandler(DEBUG_BREAKPOINT_CALLBACK fun, VOID *val); /* DO NOT EDIT */ extern VOID PIN_RemoveBreakpointHandler(DEBUG_BREAKPOINT_CALLBACK fun); /* DO NOT EDIT */ extern VOID PIN_ResetBreakpointAt(ADDRINT addr); /* DO NOT EDIT */ extern VOID PIN_ApplicationBreakpoint(const CONTEXT *ctxt, THREADID tid, BOOL waitIfNoDebugger, const std::string &msg); /* DO NOT EDIT */ extern BOOL PIN_SetDebugMode(const DEBUG_MODE *mode); /* DO NOT EDIT */ extern DEBUG_STATUS PIN_GetDebugStatus(); /* DO NOT EDIT */ extern BOOL PIN_GetDebugConnectionInfo(DEBUG_CONNECTION_INFO *info); /* DO NOT EDIT */ extern DEBUGGER_TYPE PIN_GetDebuggerType(); /* DO NOT EDIT */ extern BOOL PIN_WaitForDebuggerToConnect(unsigned timeout); /* DO NOT EDIT */ extern BOOL PIN_GetStoppedThreadPendingToolBreakpoint(THREADID tid, std::string *msg); /* DO NOT EDIT */ extern BOOL PIN_ChangePendingToolBreakpointOnStoppedThread(THREADID tid, BOOL squash, const std::string &msg); /* DO NOT EDIT */