Скачиваний:
17
Добавлен:
01.05.2014
Размер:
771 б
Скачать
/* 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