IDA C++ SDK 9.2
Loading...
Searching...
No Matches
Calling convention

Variables

const callcnv_t CM_CC_MASK = 0xF0
const callcnv_t CM_CC_INVALID = 0x00
 this value is invalid
const callcnv_t CM_CC_UNKNOWN = 0x10
 unknown calling convention
const callcnv_t CM_CC_VOIDARG = 0x20
 function without arguments if has other cc and argnum == 0, represent as f() - unknown list
const callcnv_t CM_CC_CDECL = 0x30
 stack
const callcnv_t CM_CC_ELLIPSIS = 0x40
 cdecl + ellipsis
const callcnv_t CM_CC_STDCALL = 0x50
 stack, purged
const callcnv_t CM_CC_PASCAL = 0x60
 stack, purged, reverse order of args
const callcnv_t CM_CC_FASTCALL = 0x70
 stack, purged (x86), first args are in regs (compiler-dependent)
const callcnv_t CM_CC_THISCALL = 0x80
 stack, purged (x86), first arg is in reg (compiler-dependent)
const callcnv_t CM_CC_SWIFT = 0x90
 (Swift) arguments and return values in registers (compiler-dependent)
const callcnv_t CM_CC_SPOILED = 0xA0
 This is NOT a cc!
const callcnv_t CM_CC_GOLANG = 0xB0
 (Go) arguments and return value reg/stack depending on version
const callcnv_t CM_CC_RESERVE3 = 0xC0
 reserved; used for internal needs
const callcnv_t CM_CC_SPECIALE = 0xD0
 CM_CC_SPECIAL with ellipsis
const callcnv_t CM_CC_SPECIALP = 0xE0
 Equal to CM_CC_SPECIAL, but with purged stack.
const callcnv_t CM_CC_SPECIAL = 0xF0
 usercall: locations of all arguments and the return value are explicitly specified
const callcnv_t CM_CC_LAST_USERCALL = 0xFF
const callcnv_t CM_CC_GOSTK = 0x100
 (Go) arguments and return value in stack
const callcnv_t CM_CC_FIRST_PLAIN_CUSTOM = 0x200

Detailed Description

Variable Documentation

◆ CM_CC_MASK

const callcnv_t CM_CC_MASK = 0xF0

◆ CM_CC_INVALID

const callcnv_t CM_CC_INVALID = 0x00

this value is invalid

◆ CM_CC_UNKNOWN

const callcnv_t CM_CC_UNKNOWN = 0x10

unknown calling convention

◆ CM_CC_VOIDARG

const callcnv_t CM_CC_VOIDARG = 0x20

function without arguments if has other cc and argnum == 0, represent as f() - unknown list

◆ CM_CC_CDECL

const callcnv_t CM_CC_CDECL = 0x30

stack

◆ CM_CC_ELLIPSIS

const callcnv_t CM_CC_ELLIPSIS = 0x40

cdecl + ellipsis

◆ CM_CC_STDCALL

const callcnv_t CM_CC_STDCALL = 0x50

stack, purged

◆ CM_CC_PASCAL

const callcnv_t CM_CC_PASCAL = 0x60

stack, purged, reverse order of args

◆ CM_CC_FASTCALL

const callcnv_t CM_CC_FASTCALL = 0x70

stack, purged (x86), first args are in regs (compiler-dependent)

◆ CM_CC_THISCALL

const callcnv_t CM_CC_THISCALL = 0x80

stack, purged (x86), first arg is in reg (compiler-dependent)

◆ CM_CC_SWIFT

const callcnv_t CM_CC_SWIFT = 0x90

(Swift) arguments and return values in registers (compiler-dependent)

◆ CM_CC_SPOILED

const callcnv_t CM_CC_SPOILED = 0xA0

This is NOT a cc!

Mark of __spoil record the low nibble is count and after n {spoilreg_t} present real cm_t byte. if n == BFA_FUNC_MARKER, the next byte is the function attribute byte.

◆ CM_CC_GOLANG

const callcnv_t CM_CC_GOLANG = 0xB0

(Go) arguments and return value reg/stack depending on version

◆ CM_CC_RESERVE3

const callcnv_t CM_CC_RESERVE3 = 0xC0

reserved; used for internal needs

◆ CM_CC_SPECIALE

const callcnv_t CM_CC_SPECIALE = 0xD0

CM_CC_SPECIAL with ellipsis

◆ CM_CC_SPECIALP

const callcnv_t CM_CC_SPECIALP = 0xE0

Equal to CM_CC_SPECIAL, but with purged stack.

◆ CM_CC_SPECIAL

const callcnv_t CM_CC_SPECIAL = 0xF0

usercall: locations of all arguments and the return value are explicitly specified

◆ CM_CC_LAST_USERCALL

const callcnv_t CM_CC_LAST_USERCALL = 0xFF

◆ CM_CC_GOSTK

const callcnv_t CM_CC_GOSTK = 0x100

(Go) arguments and return value in stack

◆ CM_CC_FIRST_PLAIN_CUSTOM

const callcnv_t CM_CC_FIRST_PLAIN_CUSTOM = 0x200