#[repr(C)]pub struct BNCustomCallingConvention {Show 41 fields
pub context: *mut c_void,
pub freeObject: Option<unsafe extern "C" fn(ctxt: *mut c_void)>,
pub getCallerSavedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub getCalleeSavedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub getIntegerArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub getFloatArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub getRequiredArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub getRequiredClobberedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub freeRegisterList: Option<unsafe extern "C" fn(ctxt: *mut c_void, regs: *mut u32, len: usize)>,
pub areArgumentRegistersSharedIndex: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>,
pub isStackReservedForArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>,
pub isStackAdjustedOnReturn: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>,
pub isEligibleForHeuristics: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>,
pub getIntegerReturnValueRegister: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> u32>,
pub getHighIntegerReturnValueRegister: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> u32>,
pub getFloatReturnValueRegister: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> u32>,
pub getGlobalPointerRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub getImplicitlyDefinedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>,
pub getIncomingRegisterValue: Option<unsafe extern "C" fn(ctxt: *mut c_void, reg: u32, func: *mut BNFunction, result: *mut BNRegisterValue)>,
pub getIncomingFlagValue: Option<unsafe extern "C" fn(ctxt: *mut c_void, flag: u32, func: *mut BNFunction, result: *mut BNRegisterValue)>,
pub isReturnTypeRegisterCompatible: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, type_: *mut BNType) -> bool>,
pub getIndirectReturnValueLocation: Option<unsafe extern "C" fn(ctxt: *mut c_void, outVar: *mut BNVariable)>,
pub getReturnedIndirectReturnValuePointer: Option<unsafe extern "C" fn(ctxt: *mut c_void, outVar: *mut BNVariable) -> bool>,
pub isArgumentTypeRegisterCompatible: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, type_: *mut BNType) -> bool>,
pub isNonRegisterArgumentIndirect: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, type_: *mut BNType) -> bool>,
pub areStackArgumentsNaturallyAligned: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>,
pub areStackArgumentsPushedLeftToRight: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>,
pub getIncomingVariableForParameterVariable: Option<unsafe extern "C" fn(ctxt: *mut c_void, var: *const BNVariable, func: *mut BNFunction, result: *mut BNVariable)>,
pub getParameterVariableForIncomingVariable: Option<unsafe extern "C" fn(ctxt: *mut c_void, var: *const BNVariable, func: *mut BNFunction, result: *mut BNVariable)>,
pub areArgumentRegistersUsedForVarArgs: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>,
pub getCallLayout: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNReturnValue, params: *mut BNFunctionParameter, paramCount: usize, hasPermittedRegs: bool, permittedRegs: *mut u32, permittedRegCount: usize, result: *mut BNCallLayout)>,
pub freeCallLayout: Option<unsafe extern "C" fn(ctxt: *mut c_void, layout: *mut BNCallLayout)>,
pub getReturnValueLocation: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNReturnValue, outLocation: *mut BNValueLocation)>,
pub freeValueLocation: Option<unsafe extern "C" fn(ctxt: *mut c_void, location: *mut BNValueLocation)>,
pub getParameterLocations: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNValueLocation, params: *mut BNFunctionParameter, paramCount: usize, hasPermittedRegs: bool, permittedRegs: *mut u32, permittedRegCount: usize, outLocationCount: *mut usize) -> *mut BNValueLocation>,
pub freeParameterLocations: Option<unsafe extern "C" fn(ctxt: *mut c_void, locations: *mut BNValueLocation, count: usize)>,
pub getParameterOrderingForVariables: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, vars: *mut BNVariable, types: *mut *mut BNType, paramCount: usize, outCount: *mut usize) -> *mut BNVariable>,
pub freeVariableList: Option<unsafe extern "C" fn(ctxt: *mut c_void, vars: *mut BNVariable, count: usize)>,
pub getStackAdjustmentForLocations: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNValueLocation, locations: *mut BNValueLocation, types: *mut *mut BNType, paramCount: usize) -> i64>,
pub getRegisterStackAdjustments: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNValueLocation, params: *mut BNValueLocation, paramCount: usize, outRegs: *mut *mut u32, outAdjust: *mut *mut i32) -> usize>,
pub freeRegisterStackAdjustments: Option<unsafe extern "C" fn(ctxt: *mut c_void, regs: *mut u32, adjust: *mut i32, count: usize)>,
}Fields§
§context: *mut c_void§freeObject: Option<unsafe extern "C" fn(ctxt: *mut c_void)>§getCallerSavedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§getCalleeSavedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§getIntegerArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§getFloatArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§getRequiredArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§getRequiredClobberedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§freeRegisterList: Option<unsafe extern "C" fn(ctxt: *mut c_void, regs: *mut u32, len: usize)>§isStackReservedForArgumentRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>§isStackAdjustedOnReturn: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>§isEligibleForHeuristics: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>§getIntegerReturnValueRegister: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> u32>§getHighIntegerReturnValueRegister: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> u32>§getFloatReturnValueRegister: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> u32>§getGlobalPointerRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§getImplicitlyDefinedRegisters: Option<unsafe extern "C" fn(ctxt: *mut c_void, count: *mut usize) -> *mut u32>§getIncomingRegisterValue: Option<unsafe extern "C" fn(ctxt: *mut c_void, reg: u32, func: *mut BNFunction, result: *mut BNRegisterValue)>§getIncomingFlagValue: Option<unsafe extern "C" fn(ctxt: *mut c_void, flag: u32, func: *mut BNFunction, result: *mut BNRegisterValue)>§isReturnTypeRegisterCompatible: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, type_: *mut BNType) -> bool>§getIndirectReturnValueLocation: Option<unsafe extern "C" fn(ctxt: *mut c_void, outVar: *mut BNVariable)>§getReturnedIndirectReturnValuePointer: Option<unsafe extern "C" fn(ctxt: *mut c_void, outVar: *mut BNVariable) -> bool>§isArgumentTypeRegisterCompatible: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, type_: *mut BNType) -> bool>§isNonRegisterArgumentIndirect: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, type_: *mut BNType) -> bool>§areStackArgumentsNaturallyAligned: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>§areStackArgumentsPushedLeftToRight: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>§getIncomingVariableForParameterVariable: Option<unsafe extern "C" fn(ctxt: *mut c_void, var: *const BNVariable, func: *mut BNFunction, result: *mut BNVariable)>§getParameterVariableForIncomingVariable: Option<unsafe extern "C" fn(ctxt: *mut c_void, var: *const BNVariable, func: *mut BNFunction, result: *mut BNVariable)>§areArgumentRegistersUsedForVarArgs: Option<unsafe extern "C" fn(ctxt: *mut c_void) -> bool>§getCallLayout: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNReturnValue, params: *mut BNFunctionParameter, paramCount: usize, hasPermittedRegs: bool, permittedRegs: *mut u32, permittedRegCount: usize, result: *mut BNCallLayout)>§freeCallLayout: Option<unsafe extern "C" fn(ctxt: *mut c_void, layout: *mut BNCallLayout)>§getReturnValueLocation: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNReturnValue, outLocation: *mut BNValueLocation)>§freeValueLocation: Option<unsafe extern "C" fn(ctxt: *mut c_void, location: *mut BNValueLocation)>§getParameterLocations: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNValueLocation, params: *mut BNFunctionParameter, paramCount: usize, hasPermittedRegs: bool, permittedRegs: *mut u32, permittedRegCount: usize, outLocationCount: *mut usize) -> *mut BNValueLocation>§freeParameterLocations: Option<unsafe extern "C" fn(ctxt: *mut c_void, locations: *mut BNValueLocation, count: usize)>§getParameterOrderingForVariables: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, vars: *mut BNVariable, types: *mut *mut BNType, paramCount: usize, outCount: *mut usize) -> *mut BNVariable>§freeVariableList: Option<unsafe extern "C" fn(ctxt: *mut c_void, vars: *mut BNVariable, count: usize)>§getStackAdjustmentForLocations: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNValueLocation, locations: *mut BNValueLocation, types: *mut *mut BNType, paramCount: usize) -> i64>§getRegisterStackAdjustments: Option<unsafe extern "C" fn(ctxt: *mut c_void, view: *mut BNBinaryView, returnValue: *mut BNValueLocation, params: *mut BNValueLocation, paramCount: usize, outRegs: *mut *mut u32, outAdjust: *mut *mut i32) -> usize>§freeRegisterStackAdjustments: Option<unsafe extern "C" fn(ctxt: *mut c_void, regs: *mut u32, adjust: *mut i32, count: usize)>Trait Implementations§
Source§impl Clone for BNCustomCallingConvention
impl Clone for BNCustomCallingConvention
Source§fn clone(&self) -> BNCustomCallingConvention
fn clone(&self) -> BNCustomCallingConvention
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BNCustomCallingConvention
impl Debug for BNCustomCallingConvention
Source§impl Default for BNCustomCallingConvention
impl Default for BNCustomCallingConvention
impl Copy for BNCustomCallingConvention
Auto Trait Implementations§
impl Freeze for BNCustomCallingConvention
impl RefUnwindSafe for BNCustomCallingConvention
impl !Send for BNCustomCallingConvention
impl !Sync for BNCustomCallingConvention
impl Unpin for BNCustomCallingConvention
impl UnwindSafe for BNCustomCallingConvention
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more