Open
Description
I suggest to define APIs as structures like these:
struct ApiTox {
...
void *tox_callback_friend_message(Tox *tox, tox_friend_message_cb *callback);
...
} tox;
struct ApiToxAV {
...
} toxav;
struct ApiToxDNS {
...
} toxdns;
struct ApiToxEncryptSave {
...
} toxencryptsave;
This will allow to create mid-level libraries with modified APIs, for example a mid-level library augmenting Tox functionality with defragmentation, among other functions.