6) Come funziona in dettaglio la callrpc?

Primitiva callrpc:

int callrpc(remotehost,n_prog,n_vers,n_proc,xdr_arg,arg,xdr_res,res)

char *remotehost; /*nome nodo remoto*/

u_long n_prog,n_vers,n_proc; /*identificazione procedura*/

xdrproc_t xdr_arg; /*routine xdr di conversione invocata*/

/*per trasformare i dati in uscita*/

char *arg; /*argomento (passaggio per valore)*/

xdrproc_t xdr_res; /*routine xdr di conversione invocata*/

/*per trasformare risultato in ingresso*/

char *res; /*risultato*/

Problemi nel passaggio di strutture a lista: Il ricevente deve ricostruire la struttura dinamica (con funzioni opportune qui specificate in xdr).

La callrpc restituisce successo (=0) o la causa di insuccesso (un intero appartenente all'insieme di valori della struttura enum clnt_stat definita nel file <rpc/clnt.h>)

 


Back
Index
Next