Puoi passare un puntatore void e poi fare il cast che ti serve:
codice:
typedef (*fPtr)(void**);

/*... Codice ...*/

void funzione_che_richiede_int(void **parameters){

   int a = ((int)**parameters) + 5;

   return a;

}

void funzione_che_richiede_stringa(void **parameters){

   char *string = (char*)*parameters;

   printf("%s\n", string);

}