The structure used to define an interface
#include <aoi.h>
typedef struct
{
char * name;
int32_t version;
void *interface;
} AOInterface_t;
The AOInterface_t structure defines an interface and contains at least the following members:
The interface itself can be anything you want. Typically it's a pointer to an array of function pointers, a pointer to a function, or a pointer to a string.