Ein Array ist in C immer schon ein Pointer.
Die Signatur von deiner manager Funktion erwartet aber ein Array aus pointern.
Also so abaendern:
int manager( u_char *data_aus_main ) {...}
Edit:
Warscheinlich willst du auch noch die groesze dienes Arrays uebergeben...
int manager(...