Ho un problema per quanto riguarda l'utilizzo della system call stat() in ambito server/client (premetto che il codice è in C in ambiente UNIX).

In pratica il client deve spedire al server un pathname, il server deve verificare se tale path esiste e tornare al client varie info sul file (per precisione, uid del proprietario, dimensione, data creazione e data ultima modifica):
Il fatto è che mi sono bloccato sulla funzione nel codice del server che è dedicata a questo. In altre parole ho capito in cosa consiste stat(), ma non so come utilizzarla.

Qua è riportato il pezzo di codice per quanto riguarda tale funzione:
server.c
:
:
:
void controlla (char in[], int out) { \\ in è il risultato della recv dal client (un buffer), out è il socket di destinazione (client)
struct stat files;

char buff_in[MAX_LENGTH];
int len_in;
printf ("Sto cercando il file");
if ((stat(in,&files)) == -1) {
perror ("Stat fallita");
exit(5);
}

printf ("Informazioni per: %s \n",&in);
printf ("dimensione: %ld \n", files.st_size); \\ non so nemmeno io cosa ho scritto qua ahah
send(out,buff_in,len_in,0);
}
:
:
:

I miei principali dubbi sono:
Come utilizzo al meglio stat per recuperare solo quelle info di cui ho bisogno?
Come faccio a mandarle al client tramite send? (infatti nel codice è sbagliato, credo)

Grazie in anticipo, sono veramente in alto mare