]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/network.h
Introduce IPv6-enabled version of get_client_address. The legacy mount
[nfs-utils.git] / utils / mount / network.h
index 81a59da9136a995733483eb9a337b680d53bcdb1..2f4ff3a16fd7e85734e70c1d2f15a777d707cdce 100644 (file)
  *
  */
 
-#include "conn.h"
+#ifndef _NFS_UTILS_MOUNT_NETWORK_H
+#define _NFS_UTILS_MOUNT_NETWORK_H
+
+#include <rpc/pmap_prot.h>
+#include <rpc/clnt.h>
+
 #include "mount.h"
 
+#ifdef HAVE_RPCSVC_NFS_PROT_H
+#include <rpcsvc/nfs_prot.h>
+#else
+#include <linux/nfs.h>
+#define nfsstat nfs_stat
+#endif
+
 #define MNT_SENDBUFSIZE (2048U)
 #define MNT_RECVBUFSIZE (1024U)
 
+typedef struct {
+       char **hostname;
+       struct sockaddr_in saddr;
+       struct pmap pmap;
+} clnt_addr_t;
+
+/* RPC call timeout values */
+static const struct timeval TIMEOUT = { 20, 0 };
+static const struct timeval RETRY_TIMEOUT = { 3, 0 };
+
 int probe_bothports(clnt_addr_t *, clnt_addr_t *);
 int nfs_gethostbyname(const char *, struct sockaddr_in *);
+int nfs_name_to_address(const char *, const sa_family_t,
+               struct sockaddr *, socklen_t *);
+int nfs_string_to_sockaddr(const char *, const size_t,
+                          struct sockaddr *, socklen_t *);
+int nfs_present_sockaddr(const struct sockaddr *,
+                        const socklen_t, char *, const size_t);
+int get_client_address(struct sockaddr_in *, struct sockaddr_in *);
+int nfs_callback_address(const struct sockaddr *, const socklen_t,
+               struct sockaddr *, socklen_t *);
 int nfs_call_umount(clnt_addr_t *, dirpath *);
+int clnt_ping(struct sockaddr_in *, const unsigned long,
+               const unsigned long, const unsigned int,
+               struct sockaddr_in *);
 
 int start_statd(void);
 
+unsigned long nfsvers_to_mnt(const unsigned long);
+
 CLIENT *mnt_openclnt(clnt_addr_t *, int *);
 void mnt_closeclnt(CLIENT *, int);
+
+#endif /* _NFS_UTILS_MOUNT_NETWORK_H */