/* * Udaljeni RPC posluzitelj * Dinko Korunic, 36355514, kreator@srk.fer.hr * Fri Jan 18 10:26:01 CET 2002 */ #include #include #include #include "echo.h" echo_res *echo_1_svc(echo_request *echo_me, struct svc_req *req) { static echo_res res; time_t reqtime; /* mmkay, oslobodi memoriju od prethodnog rezultata */ /* nema svrhe, ne trosimo *alloc :-) */ /* xdr_free(xdr_echo_res, &res); */ /* opa, poruka je prazna - vrati gresku */ if (echo_me->message == NULL) { res.rpcerrno = EAGAIN; return(&res); } /* napuni vrijednost za ctime() */ reqtime = echo_me->request_time; /* ispisi poruku */ printf("Request time: %s" "Message: %s\n", ctime(&reqtime), echo_me->message); /* napuni strukturu */ res.echo_res_u.reply.count = strlen(echo_me->message); time(&res.echo_res_u.reply.respond_time); /* za svaki slucaj obrisi i errno (iako je static varijabla) */ res.rpcerrno = 0; return(&res); }