Please help me understand the concepts of APIs and call back functions. As far as I know the following are the key points:
APIs are exposed by a 3rd party application (callee), so that the application using the 3rd party (caller), can use the exposed APIs to communicate to callee. Here IPC is used to exchange information between the two processes. They run in different process address space.
Call back functions are exposed by a 3rd party application (callee), so that the application using the 3rd party (caller) can be made aware of any event that have taken place in calee and the caller needs to take some action based on the same. This is generally achieved using function pointers. They run in the same process address space.
Please correct me if I am wrong, and also add your valuable points regarding the same.