X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Fnfsclient-raw.c;h=28dd45ceccf77bc469a9d32cd420a8ae27e2d360;hb=2aec85d1329bba793140c8937c319df65b8144da;hp=948909f720405436a7a6ac766f872b67be84bd00;hpb=a8a1b85846aab042cd410bf59caf617a0951380e;p=deb_libnfs.git diff --git a/examples/nfsclient-raw.c b/examples/nfsclient-raw.c index 948909f..28dd45c 100644 --- a/examples/nfsclient-raw.c +++ b/examples/nfsclient-raw.c @@ -18,18 +18,28 @@ /* Example program using the lowlevel raw interface. * This allow accurate control of the exact commands that are being used. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #ifdef WIN32 #include "win32_compat.h" -#else -#include #endif #define SERVER "10.1.1.27" #define EXPORT "/shared" +#ifdef HAVE_POLL_H +#include +#endif + +#ifdef HAVE_NETINET_IN_H +#include +#endif + #include #include #include +#include "libnfs-zdr.h" #include "libnfs.h" #include "libnfs-raw.h" #include "libnfs-raw-mount.h" @@ -75,7 +85,7 @@ void rquota_connect_cb(struct rpc_context *rpc, int status, void *data _U_, void printf("Connected to RPC.RQUOTAD on %s:%d\n", client->server, client->rquota_port); printf("Send GETQUOTA request for uid 100\n"); if (rpc_rquota1_getquota_async(rpc, rquota_getquota_cb, EXPORT, 100, client) != 0) { - printf("Failed to send fsinfo request\n"); + printf("Failed to send getquota request\n"); exit(10); } } @@ -117,11 +127,14 @@ void acl_getacl_cb(struct rpc_context *rpc _U_, int status, void *data, void *pr void acl_null_cb(struct rpc_context *rpc _U_, int status, void *data, void *private_data) { struct client *client = private_data; + GETACL3args args; printf("Got NFSACL/NULL reply\n"); printf("Get ACL for root handle\n"); - if (rpc_nfsacl_getacl_async(rpc, acl_getacl_cb, &client->rootfh, NFSACL_MASK_ACL_ENTRY|NFSACL_MASK_ACL_COUNT|NFSACL_MASK_ACL_DEFAULT_ENTRY|NFSACL_MASK_ACL_DEFAULT_COUNT, client) != 0) { + args.dir = client->rootfh; + args.mask = NFSACL_MASK_ACL_ENTRY|NFSACL_MASK_ACL_COUNT|NFSACL_MASK_ACL_DEFAULT_ENTRY|NFSACL_MASK_ACL_DEFAULT_COUNT; + if (rpc_nfsacl_getacl_async(rpc, acl_getacl_cb, &args, client) != 0) { printf("Failed to send getacl request\n"); exit(10); } @@ -157,6 +170,7 @@ void nfs_fsinfo_cb(struct rpc_context *rpc _U_, int status, void *data, void *pr void nfs_connect_cb(struct rpc_context *rpc, int status, void *data _U_, void *private_data) { struct client *client = private_data; + struct FSINFO3args args; if (status != RPC_STATUS_SUCCESS) { printf("connection to RPC.MOUNTD on server %s failed\n", client->server); @@ -165,7 +179,8 @@ void nfs_connect_cb(struct rpc_context *rpc, int status, void *data _U_, void *p printf("Connected to RPC.NFSD on %s:%d\n", client->server, client->mount_port); printf("Send FSINFO request\n"); - if (rpc_nfs_fsinfo_async(rpc, nfs_fsinfo_cb, &client->rootfh, client) != 0) { + args.fsroot = client->rootfh; + if (rpc_nfs3_fsinfo_async(rpc, nfs_fsinfo_cb, &args, client) != 0) { printf("Failed to send fsinfo request\n"); exit(10); } @@ -324,7 +339,7 @@ void pmap_getport1_cb(struct rpc_context *rpc, int status, void *data, void *pri } printf("Send getport request asking for MOUNT port\n"); - if (rpc_pmap_getport_async(rpc, MOUNT_PROGRAM, MOUNT_V3, pmap_getport2_cb, client) != 0) { + if (rpc_pmap_getport_async(rpc, MOUNT_PROGRAM, MOUNT_V3, IPPROTO_TCP, pmap_getport2_cb, client) != 0) { printf("Failed to send getport request\n"); exit(10); } @@ -345,7 +360,7 @@ void pmap_null_cb(struct rpc_context *rpc, int status, void *data, void *private printf("Got reply from server for PORTMAP/NULL procedure.\n"); printf("Send getport request asking for MOUNT port\n"); - if (rpc_pmap_getport_async(rpc, RQUOTA_PROGRAM, RQUOTA_V1, pmap_getport1_cb, client) != 0) { + if (rpc_pmap_getport_async(rpc, RQUOTA_PROGRAM, RQUOTA_V1, IPPROTO_TCP, pmap_getport1_cb, client) != 0) { printf("Failed to send getport request\n"); exit(10); }