void nfs4_ops_switch()

in src/analysis/nfs_parser.cpp [421:662]


void nfs4_ops_switch(Analyzers&                        analyzers,
                     const RPCProcedure*               rpc_procedure,
                     const NST::API::NFS4::nfs_argop4* arg,
                     const NST::API::NFS4::nfs_resop4* res)
{
    using INFSv40 = NST::API::IAnalyzer::INFSv4rpcgen;
    using arg_t   = NST::API::NFS4::nfs_argop4_u_t;
    using res_t   = NST::API::NFS4::nfs_resop4_u_t;

    uint32_t nfs_op_num = arg ? arg->argop : res->resop;
    switch(nfs_op_num)
    {
    case ProcEnumNFS4::ACCESS:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::access40,
                &arg_t::opaccess,
                &res_t::opaccess);
        break;
    case ProcEnumNFS4::CLOSE:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::close40,
                &arg_t::opclose,
                &res_t::opclose);
        break;
    case ProcEnumNFS4::COMMIT:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::commit40,
                &arg_t::opcommit,
                &res_t::opcommit);
        break;
    case ProcEnumNFS4::CREATE:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::create40,
                &arg_t::opcreate,
                &res_t::opcreate);
        break;
    case ProcEnumNFS4::DELEGPURGE:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::delegpurge40,
                &arg_t::opdelegpurge,
                &res_t::opdelegpurge);
        break;
    case ProcEnumNFS4::DELEGRETURN:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::delegreturn40,
                &arg_t::opdelegreturn,
                &res_t::opdelegreturn);
        break;
    case ProcEnumNFS4::GETATTR:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::getattr40,
                &arg_t::opgetattr,
                &res_t::opgetattr);
        break;
    case ProcEnumNFS4::GETFH:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::getfh40,
                &res_t::opgetfh);
        break;
    case ProcEnumNFS4::LINK:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::link40,
                &arg_t::oplink,
                &res_t::oplink);
        break;
    case ProcEnumNFS4::LOCK:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::lock40,
                &arg_t::oplock,
                &res_t::oplock);
        break;
    case ProcEnumNFS4::LOCKT:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::lockt40,
                &arg_t::oplockt,
                &res_t::oplockt);
        break;
    case ProcEnumNFS4::LOCKU:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::locku40,
                &arg_t::oplocku,
                &res_t::oplocku);
        break;
    case ProcEnumNFS4::LOOKUP:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::lookup40,
                &arg_t::oplookup,
                &res_t::oplookup);
        break;
    case ProcEnumNFS4::LOOKUPP:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::lookupp40,
                &res_t::oplookupp);
        break;
    case ProcEnumNFS4::NVERIFY:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::nverify40,
                &arg_t::opnverify,
                &res_t::opnverify);
        break;
    case ProcEnumNFS4::OPEN:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::open40,
                &arg_t::opopen,
                &res_t::opopen);
        break;
    case ProcEnumNFS4::OPENATTR:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::openattr40,
                &arg_t::opopenattr,
                &res_t::opopenattr);
        break;
    case ProcEnumNFS4::OPEN_CONFIRM:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::open_confirm40,
                &arg_t::opopen_confirm,
                &res_t::opopen_confirm);
        break;
    case ProcEnumNFS4::OPEN_DOWNGRADE:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::open_downgrade40,
                &arg_t::opopen_downgrade,
                &res_t::opopen_downgrade);
        break;
    case ProcEnumNFS4::PUTFH:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::putfh40,
                &arg_t::opputfh,
                &res_t::opputfh);
        break;
    case ProcEnumNFS4::PUTPUBFH:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::putpubfh40,
                &res_t::opputpubfh);
        break;
    case ProcEnumNFS4::PUTROOTFH:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::putrootfh40,
                &res_t::opputrootfh);
        break;
    case ProcEnumNFS4::READ:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::read40,
                &arg_t::opread,
                &res_t::opread);
        break;
    case ProcEnumNFS4::READDIR:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::readdir40,
                &arg_t::opreaddir,
                &res_t::opreaddir);
        break;
    case ProcEnumNFS4::READLINK:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::readlink40,
                &res_t::opreadlink);
        break;
    case ProcEnumNFS4::REMOVE:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::remove40,
                &arg_t::opremove,
                &res_t::opremove);
        break;
    case ProcEnumNFS4::RENAME:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::rename40,
                &arg_t::oprename,
                &res_t::oprename);
        break;
    case ProcEnumNFS4::RENEW:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::renew40,
                &arg_t::oprenew,
                &res_t::oprenew);
        break;
    case ProcEnumNFS4::RESTOREFH:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::restorefh40,
                &res_t::oprestorefh);
        break;
    case ProcEnumNFS4::SAVEFH:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::savefh40,
                &res_t::opsavefh);
        break;
    case ProcEnumNFS4::SECINFO:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::secinfo40,
                &arg_t::opsecinfo,
                &res_t::opsecinfo);
        break;
    case ProcEnumNFS4::SETATTR:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::setattr40,
                &arg_t::opsetattr,
                &res_t::opsetattr);
        break;
    case ProcEnumNFS4::SETCLIENTID:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::setclientid40,
                &arg_t::opsetclientid,
                &res_t::opsetclientid);
        break;
    case ProcEnumNFS4::SETCLIENTID_CONFIRM:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::setclientid_confirm40,
                &arg_t::opsetclientid_confirm,
                &res_t::opsetclientid_confirm);
        break;
    case ProcEnumNFS4::VERIFY:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::verify40,
                &arg_t::opverify,
                &res_t::opverify);
        break;
    case ProcEnumNFS4::WRITE:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::write40,
                &arg_t::opwrite,
                &res_t::opwrite);
        break;
    case ProcEnumNFS4::RELEASE_LOCKOWNER:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::release_lockowner40,
                &arg_t::oprelease_lockowner,
                &res_t::oprelease_lockowner);
        break;
    case ProcEnumNFS4::GET_DIR_DELEGATION:
        analyze(analyzers, rpc_procedure, arg, res,
                &INFSv40::get_dir_delegation40,
                &arg_t::opget_dir_delegation,
                &res_t::opget_dir_delegation);
        break;
    case ProcEnumNFS4::ILLEGAL:
        analyze(analyzers, rpc_procedure, res,
                &INFSv40::illegal40,
                &res_t::opillegal);
        break;
    default:
        break;
    }
}