Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Тестовые примеры / ch13 / main_shell / shell_svc
.C/* server program: low-level RPC APIs */
/* usage: shell_svc <transport> */
#include "mshell.h"
#include "RPC.h"
RPC_svc *svcp;
int execshell( SVCXPRT* xtrp )
{
static int res=0, rc= RPC_SUCCESS;
char *cmd = 0;
if (svcp->getargs( xtrp, (xdrproc_t)xdr_string, (caddr_t)&cmd)!=RPC_SUCCESS)
return -1;
res = system(cmd);
if (svcp->reply(xtrp, (xdrproc_t)xdr_int, (caddr_t)&res)!=RPC_SUCCESS)
rc = -2;
return rc;
}
int main(int argc, char* argv[])
{
RPC_svc *svcp = new RPC_svc( SHELLPROG, SHELLVER, argc==2 ? argv[1] : "netpath");
if (!svcp || !svcp->good()) return 1;
if (svcp->run_func( EXECSHELL, execshell )) return 3;
return 0; /* shouldn't get here */
}
Соседние файлы в папке main_shell