From e2e420c91147f2a83cf59b37c973f57e209ef67a Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Wed, 4 Feb 2026 17:23:47 -0500 Subject: Allow calling conventions to specify a list of registers that are required to be considered for heuristic calling convention detection --- binaryninjacore.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'binaryninjacore.h') diff --git a/binaryninjacore.h b/binaryninjacore.h index 77cfcc77..92e9200f 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -2833,6 +2833,8 @@ extern "C" uint32_t* (*getCalleeSavedRegisters)(void* ctxt, size_t* count); uint32_t* (*getIntegerArgumentRegisters)(void* ctxt, size_t* count); uint32_t* (*getFloatArgumentRegisters)(void* ctxt, size_t* count); + uint32_t* (*getRequiredArgumentRegisters)(void* ctxt, size_t* count); + uint32_t* (*getRequiredClobberedRegisters)(void* ctxt, size_t* count); void (*freeRegisterList)(void* ctxt, uint32_t* regs, size_t len); bool (*areArgumentRegistersSharedIndex)(void* ctxt); @@ -7496,6 +7498,8 @@ extern "C" BINARYNINJACOREAPI uint32_t* BNGetIntegerArgumentRegisters(BNCallingConvention* cc, size_t* count); BINARYNINJACOREAPI uint32_t* BNGetFloatArgumentRegisters(BNCallingConvention* cc, size_t* count); + BINARYNINJACOREAPI uint32_t* BNGetRequiredArgumentRegisters(BNCallingConvention* cc, size_t* count); + BINARYNINJACOREAPI uint32_t* BNGetRequiredClobberedRegisters(BNCallingConvention* cc, size_t* count); BINARYNINJACOREAPI bool BNAreArgumentRegistersSharedIndex(BNCallingConvention* cc); BINARYNINJACOREAPI bool BNAreArgumentRegistersUsedForVarArgs(BNCallingConvention* cc); BINARYNINJACOREAPI bool BNIsStackReservedForArgumentRegisters(BNCallingConvention* cc); -- cgit v1.3.1