| 
    IDA SDK
    
   | 
 
Modules | |
| Argument location types | |
| Standard C-language models for x86 | |
Classes | |
| struct | rrel_t | 
| Register-relative argument location.  More... | |
| struct | custloc_desc_t | 
| Description of a custom argloc.  More... | |
| class | argloc_t | 
| Describes an argument location.  More... | |
| struct | argpart_t | 
| Subsection of an argument location.  More... | |
| class | scattered_aloc_t | 
| Used to manage arguments that are described by multiple locations (also see ALOC_DIST)  More... | |
| struct | aloc_visitor_t | 
| Visit all argument locations.  More... | |
| struct | const_aloc_visitor_t | 
| Same as aloc_visitor_t, but may not modify the argloc.  More... | |
Macros | |
| #define | PRALOC_VERIFY 0x01 | 
| interr if illegal argloc  | |
| #define | PRALOC_STKOFF 0x02 | 
| print stack offsets  | |
Typedefs | |
| typedef int | argloc_type_t | 
| Specifies the location type of a function argument or a debugger variable - see Argument location types.  | |
| typedef qvector< argloc_t > | arglocs_t | 
| vector of argument locations  | |
| typedef qvector< argpart_t > | argpartvec_t | 
Enumerations | |
| enum | argreg_policy_t {  ARGREGS_POLICY_UNDEFINED , ARGREGS_GP_ONLY , ARGREGS_INDEPENDENT , ARGREGS_BY_SLOTS , ARGREGS_FP_MASKS_GP , ARGREGS_MIPS_O32 , ARGREGS_RISCV }  | 
| Function argument passing: how GP & FP registers cooperate with each other.  More... | |
Functions | |
| idaman int ida_export | install_custom_argloc (const custloc_desc_t *custloc) | 
| Save a custom argloc.  | |
| idaman bool ida_export | remove_custom_argloc (int idx) | 
| Delete the custom argloc at the given index.  | |
| idaman const custloc_desc_t *ida_export | retrieve_custom_argloc (int idx) | 
| Retrieve the custom argloc at the given index.  | |
| idaman int ida_export | verify_argloc (const argloc_t &vloc, int size, const rangeset_t *gaps) | 
| Verify argloc_t.  More... | |
| idaman bool ida_export | optimize_argloc (argloc_t *vloc, int size, const rangeset_t *gaps) | 
| Verify and optimize scattered argloc into simple form.  More... | |
| idaman size_t ida_export | print_argloc (char *buf, size_t bufsize, const argloc_t &vloc, int size=0, int vflags=0) | 
| Convert an argloc to human readable form.  | |
| idaman int ida_export | for_all_arglocs (aloc_visitor_t &vv, argloc_t &vloc, int size, int off=0) | 
| Compress larger argloc types and initiate the aloc visitor.  | |
| int idaapi | for_all_const_arglocs (const_aloc_visitor_t &vv, const argloc_t &vloc, int size, int off=0) | 
| See for_all_arglocs()  | |
| constexpr THREAD_SAFE cm_t | get_cc (cm_t cm) | 
| Get the calling convention.  | |
| cm_t | get_effective_cc (cm_t cm) | 
| Get effective calling convention (with respect to default CC)  | |
| constexpr THREAD_SAFE bool | is_user_cc (cm_t cm) | 
| Does the calling convention specify argument locations explicitly?  | |
| constexpr THREAD_SAFE bool | is_vararg_cc (cm_t cm) | 
| Does the calling convention use ellipsis?  | |
| constexpr THREAD_SAFE bool | is_purging_cc (cm_t cm) | 
| Does the calling convention clean the stack arguments upon return?.  More... | |
| constexpr bool | is_golang_cc (cm_t cc) | 
| GO language calling convention (return value in stack)?  | |
| constexpr bool | is_swift_cc (cm_t cc) | 
| Swift calling convention (arguments and return values in registers)?  | |
| enum argreg_policy_t | 
Function argument passing: how GP & FP registers cooperate with each other.
| idaman int ida_export verify_argloc | ( | const argloc_t & | vloc, | 
| int | size, | ||
| const rangeset_t * | gaps | ||
| ) | 
Verify argloc_t.
| vloc | argloc to verify | 
| size | total size of the variable | 
| gaps | if not nullptr, specifies gaps in structure definition. these gaps should not map to any argloc, but everything else must be covered | 
| idaman bool ida_export optimize_argloc | ( | argloc_t * | vloc, | 
| int | size, | ||
| const rangeset_t * | gaps | ||
| ) | 
Verify and optimize scattered argloc into simple form.
All new arglocs must be processed by this function.
| true | success | 
| false | the input argloc was illegal | 
      
  | 
  inlineconstexpr | 
Does the calling convention clean the stack arguments upon return?.