Net-LibNFS

 view release on metacpan or  search on metacpan

easyxs/ppport.h  view on Meta::CPAN

PL_body_arenas|5.009004||Viu
PL_body_roots|5.009003||Viu
PL_bodytarget|5.005000||Viu
PL_breakable_sub_gen|5.010001||Viu
PL_bufend||5.003007|ponu
PL_bufptr||5.003007|ponu
PL_CCC_non0_non230|5.029008||Viu
PL_check|5.009003|5.006000|
PL_checkav|5.006000||Viu
PL_checkav_save|5.008001||Viu
PL_chopset|5.005000||Viu
PL_clocktick|5.008001||Viu
PL_collation_ix|5.005000||Viu
PL_collation_name|5.005000||Viu
PL_collation_standard|5.005000||Viu
PL_collxfrm_base|5.005000||Viu
PL_collxfrm_mult|5.005000||Viu
PL_colors|5.005000||Viu
PL_colorset|5.005000||Viu
PL_compcv|5.005000||Viu
PL_compiling|5.005000|5.003007|poVnu

libnfs/examples/nfs4-cat-talloc.c  view on Meta::CPAN

                in6 = (struct sockaddr_in6 *)&ss;
                inet_ntop(AF_INET6, &in6->sin6_addr, str, sizeof(str));
                port = ntohs(in6->sin6_port);
                break;
        }
        sprintf(addr, "%s.%d.%d", str, port >> 8, port & 0xff);
        
        memset(op, 0, sizeof(op));
        
        op[0].argop = OP_SETCLIENTID;
        sc4args = &op[0].nfs_argop4_u.opsetclientid;
        memcpy(sc4args->client.verifier, client->verifier, sizeof(verifier4));
        sc4args->client.id.id_len = strlen(client->id);
        sc4args->client.id.id_val = client->id;
        sc4args->callback.cb_program = NFS4_CALLBACK;
        sc4args->callback.cb_location.r_netid = netid;
        sc4args->callback.cb_location.r_addr = addr;
        sc4args->callback_ident = 0x00000001;
        
        memset(&args, 0, sizeof(args));
        args.argarray.argarray_len = sizeof(op) / sizeof(nfs_argop4);

libnfs/examples/nfs4-cat-talloc.c  view on Meta::CPAN

static void send_setclientid_confirm(struct rpc_context *rpc,
                                     rpc_cb cb, void *private_data)
{
	struct client *client = private_data;
        COMPOUND4args args;
        SETCLIENTID_CONFIRM4args *scc4args;
        nfs_argop4 op[1];

        memset(op, 0, sizeof(op));
        op[0].argop = OP_SETCLIENTID_CONFIRM;
        scc4args = &op[0].nfs_argop4_u.opsetclientid_confirm;
        scc4args->clientid = client->clientid;
        memcpy(scc4args->setclientid_confirm, client->setclientid_confirm,
               NFS4_VERIFIER_SIZE);
               
        memset(&args, 0, sizeof(args));
        args.argarray.argarray_len = sizeof(op) / sizeof(nfs_argop4);
        args.argarray.argarray_val = op;

        if (rpc_nfs4_compound_async(rpc, cb, &args, private_data) != 0) {
                fprintf(stderr, "Failed to send nfs4 SETCLIENTID_CONFIRM request\n");

libnfs/examples/nfs4-cat-talloc.c  view on Meta::CPAN

		exit(10);
	}

        if (res->status != NFS4_OK) {
		fprintf(stderr, "Failed to set client id on server %s\n",
                        client->server);
                talloc_free(client);
		exit(10);
        }

        sc4res = &res->resarray.resarray_val[0].nfs_resop4_u.opsetclientid;
        client->clientid = sc4res->SETCLIENTID4res_u.resok4.clientid;
        memcpy(client->setclientid_confirm,
               sc4res->SETCLIENTID4res_u.resok4.setclientid_confirm,
               NFS4_VERIFIER_SIZE);

        send_setclientid_confirm(rpc, setclientid_confirm_cb, client);
}

/*
 * NULL procedure for the callback protocol.

libnfs/examples/nfs4-cat.c  view on Meta::CPAN

 */
static void send_setclientid_confirm(struct rpc_context *rpc,
                                     rpc_cb cb, void *private_data)
{
	struct client *client = private_data;
        COMPOUND4args args;
        nfs_argop4 op[1];

        memset(op, 0, sizeof(op));
        op[0].argop = OP_SETCLIENTID_CONFIRM;
        op[0].nfs_argop4_u.opsetclientid_confirm.clientid = client->clientid;
        memcpy(op[0].nfs_argop4_u.opsetclientid_confirm.setclientid_confirm, client->setclientid_confirm, NFS4_VERIFIER_SIZE);
               
        memset(&args, 0, sizeof(args));
        args.argarray.argarray_len = sizeof(op) / sizeof(nfs_argop4);
        args.argarray.argarray_val = op;

        if (rpc_nfs4_compound_async(rpc, cb, &args, private_data) != 0) {
                fprintf(stderr, "Failed to send nfs4 SETCLIENTID_CONFIRM request\n");
                exit(10);
        }
}

libnfs/examples/nfs4-cat.c  view on Meta::CPAN

                netid = "tcp6";
                in6 = (struct sockaddr_in6 *)&ss;
                inet_ntop(AF_INET6, &in6->sin6_addr, str, sizeof(str));
                port = ntohs(in6->sin6_port);
                break;
        }
        sprintf(addr, "%s.%d.%d", str, port >> 8, port & 0xff);
        
        memset(op, 0, sizeof(op));
        op[0].argop = OP_SETCLIENTID;
        memcpy(op[0].nfs_argop4_u.opsetclientid.client.verifier, client->verifier, sizeof(verifier4));
        op[0].nfs_argop4_u.opsetclientid.client.id.id_len = strlen(client->id);
        op[0].nfs_argop4_u.opsetclientid.client.id.id_val = client->id;
                
        op[0].nfs_argop4_u.opsetclientid.callback.cb_program = NFS4_CALLBACK;

        op[0].nfs_argop4_u.opsetclientid.callback.cb_location.r_netid = netid;
        op[0].nfs_argop4_u.opsetclientid.callback.cb_location.r_addr = addr;

        op[0].nfs_argop4_u.opsetclientid.callback_ident = 0x00000001;
        
        memset(&args, 0, sizeof(args));
        args.argarray.argarray_len = sizeof(op) / sizeof(nfs_argop4);
        args.argarray.argarray_val = op;

        if (rpc_nfs4_compound_async(rpc, cb, &args, private_data) != 0) {
                fprintf(stderr, "Failed to send nfs4 SETCLIENTID request\n");
                exit(10);
        }
}

libnfs/examples/nfs4-cat.c  view on Meta::CPAN

                        client->server);
		exit(10);
	}

        if (res->status != NFS4_OK) {
		fprintf(stderr, "Failed to set client id on server %s\n",
                        client->server);
		exit(10);
        }

        client->clientid = res->resarray.resarray_val[0].nfs_resop4_u.opsetclientid.SETCLIENTID4res_u.resok4.clientid;
        memcpy(client->setclientid_confirm, res->resarray.resarray_val[0].nfs_resop4_u.opsetclientid.SETCLIENTID4res_u.resok4.setclientid_confirm, NFS4_VERIFIER_SIZE);

        send_setclientid_confirm(rpc, setclientid_confirm_cb, client);
}

/*
 * NULL procedure for the callback protocol.
 */
static int cb_null_proc(struct rpc_context *rpc, struct rpc_msg *call, void *opaque)
{
        rpc_send_reply(rpc, call, NULL, (zdrproc_t)zdr_void, 0);

libnfs/lib/nfs_v4.c  view on Meta::CPAN

        return 1;
}

static int
nfs4_op_setclientid(struct nfs_context *nfs, nfs_argop4 *op, verifier4 verifier,
                    const char *client_name)
{
        SETCLIENTID4args *scidargs;

        op[0].argop = OP_SETCLIENTID;
        scidargs = &op[0].nfs_argop4_u.opsetclientid;
        memcpy(scidargs->client.verifier, verifier, sizeof(verifier4));
        scidargs->client.id.id_len = strlen(client_name);
        scidargs->client.id.id_val = discard_const(client_name);
        /* TODO: Decide what we should do here. As long as we only
         * expose a single FD to the application we will not be able to
         * do NFSv4 callbacks easily.
         * Just give it garbage for now until we figure out how we should
         * solve this. Until then we will just have to avoid doing things
         * that require a callback.
         * ( Clients (i.e. Linux) ignore this anyway and just call back to

libnfs/lib/nfs_v4.c  view on Meta::CPAN


static int
nfs4_op_truncate(struct nfs_context *nfs, nfs_argop4 *op, struct nfsfh *fh,
                 void *sabuf)
{
        SETATTR4args *saargs;
        static uint32_t mask[2] = {1 << (FATTR4_SIZE),
                                   1 << (FATTR4_TIME_MODIFY_SET - 32)};

        op[0].argop = OP_SETATTR;
        saargs = &op[0].nfs_argop4_u.opsetattr;
        saargs->stateid.seqid = fh->stateid.seqid;
        memcpy(saargs->stateid.other, fh->stateid.other, 12);

        saargs->obj_attributes.attrmask.bitmap4_len = 2;
        saargs->obj_attributes.attrmask.bitmap4_val = mask;

        saargs->obj_attributes.attr_vals.attrlist4_len = 12;
        saargs->obj_attributes.attr_vals.attrlist4_val = sabuf;

        return 1;

libnfs/lib/nfs_v4.c  view on Meta::CPAN


static int
nfs4_op_chmod(struct nfs_context *nfs, nfs_argop4 *op, struct nfsfh *fh,
              void *sabuf)
{
        SETATTR4args *saargs;
        static uint32_t mask[2] = {0,
                                   1 << (FATTR4_MODE - 32)};

        op[0].argop = OP_SETATTR;
        saargs = &op[0].nfs_argop4_u.opsetattr;
        if (fh) {
                saargs->stateid.seqid = fh->stateid.seqid;
                memcpy(saargs->stateid.other, fh->stateid.other, 12);
        }

        saargs->obj_attributes.attrmask.bitmap4_len = 2;
        saargs->obj_attributes.attrmask.bitmap4_val = mask;

        saargs->obj_attributes.attr_vals.attrlist4_len = 4;
        saargs->obj_attributes.attr_vals.attrlist4_val = sabuf;

libnfs/lib/nfs_v4.c  view on Meta::CPAN

static int
nfs4_op_chown(struct nfs_context *nfs, nfs_argop4 *op, struct nfsfh *fh,
              void *sabuf, int len)
{
        SETATTR4args *saargs;
        static uint32_t mask[2] = {0,
                                   1 << (FATTR4_OWNER - 32) |
                                   1 << (FATTR4_OWNER_GROUP - 32)};

        op[0].argop = OP_SETATTR;
        saargs = &op[0].nfs_argop4_u.opsetattr;
        if (fh) {
                saargs->stateid.seqid = fh->stateid.seqid;
                memcpy(saargs->stateid.other, fh->stateid.other, 12);
        }

        saargs->obj_attributes.attrmask.bitmap4_len = 2;
        saargs->obj_attributes.attrmask.bitmap4_val = mask;

        saargs->obj_attributes.attr_vals.attrlist4_len = len;
        saargs->obj_attributes.attr_vals.attrlist4_val = sabuf;

libnfs/lib/nfs_v4.c  view on Meta::CPAN

static int
nfs4_op_utimes(struct nfs_context *nfs, nfs_argop4 *op, struct nfsfh *fh,
               void *sabuf, int len)
{
        SETATTR4args *saargs;
        static uint32_t mask[2] = {0,
                                   1 << (FATTR4_TIME_ACCESS_SET - 32) |
                                   1 << (FATTR4_TIME_MODIFY_SET - 32)};

        op[0].argop = OP_SETATTR;
        saargs = &op[0].nfs_argop4_u.opsetattr;
        if (fh) {
                saargs->stateid.seqid = fh->stateid.seqid;
                memcpy(saargs->stateid.other, fh->stateid.other, 12);
        }

        saargs->obj_attributes.attrmask.bitmap4_len = 2;
        saargs->obj_attributes.attrmask.bitmap4_val = mask;

        saargs->obj_attributes.attr_vals.attrlist4_len = len;
        saargs->obj_attributes.attr_vals.attrlist4_val = sabuf;

libnfs/lib/nfs_v4.c  view on Meta::CPAN

        return 1;
}

static int
nfs4_op_setclientid_confirm(struct nfs_context *nfs, struct nfs_argop4 *op,
                            uint64_t clientid, verifier4 verifier)
{
        SETCLIENTID_CONFIRM4args *scidcargs;

        op[0].argop = OP_SETCLIENTID_CONFIRM;
        scidcargs = &op[0].nfs_argop4_u.opsetclientid_confirm;
        scidcargs->clientid = clientid;
        memcpy(scidcargs->setclientid_confirm, verifier, NFS4_VERIFIER_SIZE);

        return 1;
}

static int
nfs4_op_putrootfh(struct nfs_context *nfs, nfs_argop4 *op)
{
        op[0].argop = OP_PUTROOTFH;

libnfs/lib/nfs_v4.c  view on Meta::CPAN

        nfs_argop4 op[1];
        SETCLIENTID4resok *scidresok;
        int i;

        assert(rpc->magic == RPC_CONTEXT_MAGIC);

        if (check_nfs4_error(nfs, status, data, res, "SETCLIENTID")) {
                return;
        }

        scidresok = &res->resarray.resarray_val[0].nfs_resop4_u.opsetclientid.SETCLIENTID4res_u.resok4;
        nfs->nfsi->clientid = scidresok->clientid;
        memcpy(nfs->nfsi->setclientid_confirm,
               scidresok->setclientid_confirm,
               NFS4_VERIFIER_SIZE);

        memset(op, 0, sizeof(op));

        i = nfs4_op_setclientid_confirm(nfs, &op[0], nfs->nfsi->clientid,
                                        nfs->nfsi->setclientid_confirm);
               

libnfs/nfs4/libnfs-raw-nfs4.c  view on Meta::CPAN

		break;
	case OP_RESTOREFH:
		break;
	case OP_SAVEFH:
		break;
	case OP_SECINFO:
		 if (!zdr_SECINFO4args (zdrs, &objp->nfs_argop4_u.opsecinfo))
			 return FALSE;
		break;
	case OP_SETATTR:
		 if (!zdr_SETATTR4args (zdrs, &objp->nfs_argop4_u.opsetattr))
			 return FALSE;
		break;
	case OP_SETCLIENTID:
		 if (!zdr_SETCLIENTID4args (zdrs, &objp->nfs_argop4_u.opsetclientid))
			 return FALSE;
		break;
	case OP_SETCLIENTID_CONFIRM:
		 if (!zdr_SETCLIENTID_CONFIRM4args (zdrs, &objp->nfs_argop4_u.opsetclientid_confirm))
			 return FALSE;
		break;
	case OP_VERIFY:
		 if (!zdr_VERIFY4args (zdrs, &objp->nfs_argop4_u.opverify))
			 return FALSE;
		break;
	case OP_WRITE:
		 if (!zdr_WRITE4args (zdrs, &objp->nfs_argop4_u.opwrite))
			 return FALSE;
		break;

libnfs/nfs4/libnfs-raw-nfs4.c  view on Meta::CPAN

		break;
	case OP_SECINFO_NO_NAME:
		 if (!zdr_SECINFO_NO_NAME4args (zdrs, &objp->nfs_argop4_u.opsecinfononame))
			 return FALSE;
		break;
	case OP_SEQUENCE:
		 if (!zdr_SEQUENCE4args (zdrs, &objp->nfs_argop4_u.opsequence))
			 return FALSE;
		break;
	case OP_SET_SSV:
		 if (!zdr_SET_SSV4args (zdrs, &objp->nfs_argop4_u.opsetssv))
			 return FALSE;
		break;
	case OP_TEST_STATEID:
		 if (!zdr_TEST_STATEID4args (zdrs, &objp->nfs_argop4_u.opteststateid))
			 return FALSE;
		break;
	case OP_WANT_DELEGATION:
		 if (!zdr_WANT_DELEGATION4args (zdrs, &objp->nfs_argop4_u.opwantdelegation))
			 return FALSE;
		break;

libnfs/nfs4/libnfs-raw-nfs4.c  view on Meta::CPAN

		break;
	case OP_SAVEFH:
		 if (!zdr_SAVEFH4res (zdrs, &objp->nfs_resop4_u.opsavefh))
			 return FALSE;
		break;
	case OP_SECINFO:
		 if (!zdr_SECINFO4res (zdrs, &objp->nfs_resop4_u.opsecinfo))
			 return FALSE;
		break;
	case OP_SETATTR:
		 if (!zdr_SETATTR4res (zdrs, &objp->nfs_resop4_u.opsetattr))
			 return FALSE;
		break;
	case OP_SETCLIENTID:
		 if (!zdr_SETCLIENTID4res (zdrs, &objp->nfs_resop4_u.opsetclientid))
			 return FALSE;
		break;
	case OP_SETCLIENTID_CONFIRM:
		 if (!zdr_SETCLIENTID_CONFIRM4res (zdrs, &objp->nfs_resop4_u.opsetclientid_confirm))
			 return FALSE;
		break;
	case OP_VERIFY:
		 if (!zdr_VERIFY4res (zdrs, &objp->nfs_resop4_u.opverify))
			 return FALSE;
		break;
	case OP_WRITE:
		 if (!zdr_WRITE4res (zdrs, &objp->nfs_resop4_u.opwrite))
			 return FALSE;
		break;

libnfs/nfs4/libnfs-raw-nfs4.c  view on Meta::CPAN

		break;
	case OP_SECINFO_NO_NAME:
		 if (!zdr_SECINFO_NO_NAME4res (zdrs, &objp->nfs_resop4_u.opsecinfononame))
			 return FALSE;
		break;
	case OP_SEQUENCE:
		 if (!zdr_SEQUENCE4res (zdrs, &objp->nfs_resop4_u.opsequence))
			 return FALSE;
		break;
	case OP_SET_SSV:
		 if (!zdr_SET_SSV4res (zdrs, &objp->nfs_resop4_u.opsetssv))
			 return FALSE;
		break;
	case OP_TEST_STATEID:
		 if (!zdr_TEST_STATEID4res (zdrs, &objp->nfs_resop4_u.opteststateid))
			 return FALSE;
		break;
	case OP_WANT_DELEGATION:
		 if (!zdr_WANT_DELEGATION4res (zdrs, &objp->nfs_resop4_u.opwantdelegation))
			 return FALSE;
		break;

libnfs/nfs4/libnfs-raw-nfs4.h  view on Meta::CPAN

		OPENATTR4args opopenattr;
		OPEN_CONFIRM4args opopen_confirm;
		OPEN_DOWNGRADE4args opopen_downgrade;
		PUTFH4args opputfh;
		READ4args opread;
		READDIR4args opreaddir;
		REMOVE4args opremove;
		RENAME4args oprename;
		RENEW4args oprenew;
		SECINFO4args opsecinfo;
		SETATTR4args opsetattr;
		SETCLIENTID4args opsetclientid;
		SETCLIENTID_CONFIRM4args opsetclientid_confirm;
		VERIFY4args opverify;
		WRITE4args opwrite;
		RELEASE_LOCKOWNER4args oprelease_lockowner;
		BIND_CONN_TO_SESSION4args opbindconntosession;
		EXCHANGE_ID4args opexchangeid;
		CREATE_SESSION4args opcreatesession;
		DESTROY_SESSION4args opdestroysession;
		FREE_STATEID4args opfreestateid;
		GET_DIR_DELEGATION4args opgetdirdelegation;
		GETDEVICEINFO4args opgetdeviceinfo;
		GETDEVICELIST4args opgetdevicelist;
		LAYOUTCOMMIT4args oplayoutcommit;
		LAYOUTGET4args oplayoutget;
		LAYOUTRETURN4args oplayoutreturn;
		SECINFO_NO_NAME4args opsecinfononame;
		SEQUENCE4args opsequence;
		SET_SSV4args opsetssv;
		TEST_STATEID4args opteststateid;
		WANT_DELEGATION4args opwantdelegation;
		DESTROY_CLIENTID4args opdestroyclientid;
		RECLAIM_COMPLETE4args opreclaimcomplete;
	} nfs_argop4_u;
};
typedef struct nfs_argop4 nfs_argop4;

struct nfs_resop4 {
	nfs_opnum4 resop;

libnfs/nfs4/libnfs-raw-nfs4.h  view on Meta::CPAN

		PUTROOTFH4res opputrootfh;
		READ4res opread;
		READDIR4res opreaddir;
		READLINK4res opreadlink;
		REMOVE4res opremove;
		RENAME4res oprename;
		RENEW4res oprenew;
		RESTOREFH4res oprestorefh;
		SAVEFH4res opsavefh;
		SECINFO4res opsecinfo;
		SETATTR4res opsetattr;
		SETCLIENTID4res opsetclientid;
		SETCLIENTID_CONFIRM4res opsetclientid_confirm;
		VERIFY4res opverify;
		WRITE4res opwrite;
		RELEASE_LOCKOWNER4res oprelease_lockowner;
		BIND_CONN_TO_SESSION4res opbindconntosession;
		EXCHANGE_ID4res opexchangeid;
		CREATE_SESSION4res opcreatesession;
		DESTROY_SESSION4res opdestroysession;
		FREE_STATEID4res opfreestateid;
		GET_DIR_DELEGATION4res opgetdirdelegation;
		GETDEVICEINFO4res opgetdeviceinfo;
		GETDEVICELIST4res opgetdevicelist;
		LAYOUTCOMMIT4res oplayoutcommit;
		LAYOUTGET4res oplayoutget;
		LAYOUTRETURN4res oplayoutreturn;
		SECINFO_NO_NAME4res opsecinfononame;
		SEQUENCE4res opsequence;
		SET_SSV4res opsetssv;
		TEST_STATEID4res opteststateid;
		WANT_DELEGATION4res opwantdelegation;
		DESTROY_CLIENTID4res opdestroyclientid;
		RECLAIM_COMPLETE4res opreclaimcomplete;
		ILLEGAL4res opillegal;
	} nfs_resop4_u;
};
typedef struct nfs_resop4 nfs_resop4;

struct COMPOUND4args {

libnfs/nfs4/nfs4.x  view on Meta::CPAN

 case OP_PUTROOTFH:     void;
 case OP_READ:          READ4args opread;
 case OP_READDIR:       READDIR4args opreaddir;
 case OP_READLINK:      void;
 case OP_REMOVE:        REMOVE4args opremove;
 case OP_RENAME:        RENAME4args oprename;
 case OP_RENEW:         RENEW4args oprenew;
 case OP_RESTOREFH:     void;
 case OP_SAVEFH:        void;
 case OP_SECINFO:       SECINFO4args opsecinfo;
 case OP_SETATTR:       SETATTR4args opsetattr;
 case OP_SETCLIENTID:   SETCLIENTID4args opsetclientid;
 case OP_SETCLIENTID_CONFIRM:   SETCLIENTID_CONFIRM4args
                                        opsetclientid_confirm;
 case OP_VERIFY:        VERIFY4args opverify;
 case OP_WRITE:         WRITE4args opwrite;
 case OP_RELEASE_LOCKOWNER:     RELEASE_LOCKOWNER4args
                                    oprelease_lockowner;
 case OP_BIND_CONN_TO_SESSION:  BIND_CONN_TO_SESSION4args opbindconntosession;
 case OP_EXCHANGE_ID:           EXCHANGE_ID4args opexchangeid;
 case OP_CREATE_SESSION:        CREATE_SESSION4args opcreatesession;
 case OP_DESTROY_SESSION:       DESTROY_SESSION4args opdestroysession;
 case OP_FREE_STATEID:          FREE_STATEID4args opfreestateid;
 case OP_GET_DIR_DELEGATION:    GET_DIR_DELEGATION4args opgetdirdelegation;
 case OP_GETDEVICEINFO:         GETDEVICEINFO4args opgetdeviceinfo;
 case OP_GETDEVICELIST:         GETDEVICELIST4args opgetdevicelist;
 case OP_LAYOUTCOMMIT:          LAYOUTCOMMIT4args oplayoutcommit;
 case OP_LAYOUTGET:             LAYOUTGET4args oplayoutget;
 case OP_LAYOUTRETURN:          LAYOUTRETURN4args oplayoutreturn;
 case OP_SECINFO_NO_NAME:       SECINFO_NO_NAME4args opsecinfononame;
 case OP_SEQUENCE:              SEQUENCE4args opsequence;
 case OP_SET_SSV:               SET_SSV4args opsetssv;
 case OP_TEST_STATEID:          TEST_STATEID4args opteststateid;
 case OP_WANT_DELEGATION:       WANT_DELEGATION4args opwantdelegation;
 case OP_DESTROY_CLIENTID:      DESTROY_CLIENTID4args opdestroyclientid;
 case OP_RECLAIM_COMPLETE:      RECLAIM_COMPLETE4args opreclaimcomplete;
 case OP_ILLEGAL:       void;
};

union nfs_resop4 switch (nfs_opnum4 resop){
 case OP_ACCESS:        ACCESS4res opaccess;
 case OP_CLOSE:         CLOSE4res opclose;

libnfs/nfs4/nfs4.x  view on Meta::CPAN

 case OP_PUTROOTFH:     PUTROOTFH4res opputrootfh;
 case OP_READ:          READ4res opread;
 case OP_READDIR:       READDIR4res opreaddir;
 case OP_READLINK:      READLINK4res opreadlink;
 case OP_REMOVE:        REMOVE4res opremove;
 case OP_RENAME:        RENAME4res oprename;
 case OP_RENEW:         RENEW4res oprenew;
 case OP_RESTOREFH:     RESTOREFH4res oprestorefh;
 case OP_SAVEFH:        SAVEFH4res opsavefh;
 case OP_SECINFO:       SECINFO4res opsecinfo;
 case OP_SETATTR:       SETATTR4res opsetattr;
 case OP_SETCLIENTID:   SETCLIENTID4res opsetclientid;
 case OP_SETCLIENTID_CONFIRM:   SETCLIENTID_CONFIRM4res
                                        opsetclientid_confirm;
 case OP_VERIFY:        VERIFY4res opverify;
 case OP_WRITE:         WRITE4res opwrite;
 case OP_RELEASE_LOCKOWNER:     RELEASE_LOCKOWNER4res
                                    oprelease_lockowner;
 case OP_BIND_CONN_TO_SESSION:  BIND_CONN_TO_SESSION4res opbindconntosession;
 case OP_EXCHANGE_ID:           EXCHANGE_ID4res opexchangeid;
 case OP_CREATE_SESSION:        CREATE_SESSION4res opcreatesession;
 case OP_DESTROY_SESSION:       DESTROY_SESSION4res opdestroysession;
 case OP_FREE_STATEID:          FREE_STATEID4res opfreestateid;
 case OP_GET_DIR_DELEGATION:    GET_DIR_DELEGATION4res opgetdirdelegation;
 case OP_GETDEVICEINFO:         GETDEVICEINFO4res opgetdeviceinfo;
 case OP_GETDEVICELIST:         GETDEVICELIST4res opgetdevicelist;
 case OP_LAYOUTCOMMIT:          LAYOUTCOMMIT4res oplayoutcommit;
 case OP_LAYOUTGET:             LAYOUTGET4res oplayoutget;
 case OP_LAYOUTRETURN:          LAYOUTRETURN4res oplayoutreturn;
 case OP_SECINFO_NO_NAME:       SECINFO_NO_NAME4res opsecinfononame;
 case OP_SEQUENCE:              SEQUENCE4res opsequence;
 case OP_SET_SSV:               SET_SSV4res opsetssv;
 case OP_TEST_STATEID:          TEST_STATEID4res opteststateid;
 case OP_WANT_DELEGATION:       WANT_DELEGATION4res opwantdelegation;
 case OP_DESTROY_CLIENTID:      DESTROY_CLIENTID4res opdestroyclientid;
 case OP_RECLAIM_COMPLETE:      RECLAIM_COMPLETE4res opreclaimcomplete;
 case OP_ILLEGAL:       ILLEGAL4res opillegal;
};

struct COMPOUND4args {
        utf8str_cs      tag;
        uint32_t        minorversion;



( run in 1.377 second using v1.01-cache-2.11-cpan-71847e10f99 )