Package ghidra.program.model.listing

# Interface ThunkFunction

All Superinterfaces:
  `Function`, `Namespace`

public interface ThunkFunction extends Function
`ThunkFunction` corresponds to a fragment of code which simply passes control to a destination function. All Function behaviors are mapped through to the current destination function.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface ghidra.program.model.listing.Function

  `Function.FunctionUpdateType`

- ## Field Summary

  ### Fields inherited from interface ghidra.program.model.listing.Function

  `DEFAULT_CALLING_CONVENTION_STRING, DEFAULT_LOCAL_PREFIX, DEFAULT_LOCAL_PREFIX_LEN, DEFAULT_LOCAL_RESERVED_PREFIX, DEFAULT_LOCAL_TEMP_PREFIX, DEFAULT_PARAM_PREFIX, DEFAULT_PARAM_PREFIX_LEN, INLINE, INVALID_STACK_DEPTH_CHANGE, NORETURN, RETURN_PTR_PARAM_NAME, THIS_PARAM_NAME, THUNK, UNKNOWN_CALLING_CONVENTION_STRING, UNKNOWN_STACK_DEPTH_CHANGE`

  ### Fields inherited from interface ghidra.program.model.symbol.Namespace

  `DELIMITER, GLOBAL_NAMESPACE_ID, NAMESPACE_DELIMITER`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Address`
  `getDestinationFunctionEntryPoint()`
  Returns the current destination function entry point address.
  `void`
  `setDestinationFunction(Function function)`
  Set the destination function which corresponds to this thunk.

  ### Methods inherited from interface ghidra.program.model.listing.Function

  `addLocalVariable, addParameter, addTag, getAllVariables, getAutoParameterCount, getCalledFunctions, getCallFixup, getCallingConvention, getCallingConventionName, getCallingFunctions, getComment, getCommentAsArray, getEntryPoint, getExternalLocation, getFunctionThunkAddresses, getFunctionThunkAddresses, getLocalVariables, getLocalVariables, getName, getParameter, getParameterCount, getParameters, getParameters, getProgram, getPrototypeString, getRepeatableComment, getRepeatableCommentAsArray, getReturn, getReturnType, getSignature, getSignature, getSignatureSource, getStackFrame, getStackPurgeSize, getTags, getThunkedFunction, getVariables, hasCustomVariableStorage, hasNoReturn, hasUnknownCallingConventionName, hasVarArgs, insertParameter, isDeleted, isExternal, isInline, isStackPurgeSizeValid, isThunk, moveParameter, promoteLocalUserLabelsToGlobal, removeParameter, removeTag, removeVariable, replaceParameters, replaceParameters, setBody, setCallFixup, setCallingConvention, setComment, setCustomVariableStorage, setInline, setName, setNoReturn, setRepeatableComment, setReturn, setReturnType, setSignatureSource, setStackPurgeSize, setThunkedFunction, setVarArgs, updateFunction, updateFunction`

  ### Methods inherited from interface ghidra.program.model.symbol.Namespace

  `getBody, getID, getName, getParentNamespace, getPathList, getSymbol, isGlobal, isLibrary, setParentNamespace`

- ## Method Details

  - ### setDestinationFunction

    void setDestinationFunction(Function function)
    Set the destination function which corresponds to this thunk.
    Parameters:
      `function` - destination function

  - ### getDestinationFunctionEntryPoint

    Address getDestinationFunctionEntryPoint()
    Returns the current destination function entry point address. A function should exist at the specified address although there is no guarantee. If the address is within the EXTERNAL space, this a place-holder for a an external library function.
    Returns:
      destination function entry point address