I am new to linux system programming and I came across API and ABI while reading Linux System Programming.
Definition of API :
This is the set of public types/variables/functions that you expose from your application/library.
In C/C++ this is what you expose in the header files that you ship with the application.
This is how the compiler builds an application.
It defines things (but is not limited to):