Hmn, this would require a rewrite of the whole user system, as the actual "create" function looks like this:
void *LGcreateObject(ESdefineStruct *createStruct);
define struct:
typedef struct ESdefineStruct
{
int objType;
ESmetricStruct *metrics;
ESsystemStruct *system;
void *specific;
} ESdefineStruct;
(I already explained the containing structs above)