An application binary interface (ABI) is an interface between two program modules, for instance, the operating system and user programs.
An ABI defines how data structures and functions are accessed in machine code; being the primary way of encoding and decoding data into and out of machine code.