/* 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 <poll.h>
#endif
#define SERVER "10.1.1.27"
#define EXPORT "/shared"
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif
+
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "libnfs-zdr.h"
#include "libnfs.h"
#include "libnfs-raw.h"
#include "libnfs-raw-mount.h"
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);
}
}
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);
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);
}