next up previous contents
Next: Клиентская часть Up: Разработка высокоуровневых приложений RPC Previous: Разделение данных   Contents

Серверная часть

Для нее можно использовать оригинальный файл read_dir.c. Необходимо лишь зарегистрировать процедуру и запустить сервер.

Процедура регистрируется с помощью функции registerrpc():

int registerrpc(

  u_long prognum /* Номер программы сервера */,

  u_long versnum /* Номер версии сервера */,

  u_long procnum /* Номер процедуры сервера */,

  char *procname /* Имя удаленной функции */,

   /* Фильтр для кодирования аргументов */

  xdrproc_t inproc,

   /* Фильтр декодирования результата */

  xdrproc_t outproc);

Полный код rls_svc.c:

#include <rpc/rpc.h>

#include "rls.h"

main()

{

  extern bool_t xdr_dir();

  extern char * read_dir();

  registerrpc(DIRPROG, DIRVERS, READDIR,

  read_dir, xdr_dir, xdr_dir);

  svc_run();

}



2004-06-22