]> 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 3a2fa7c4475e344255b843a3cee4b9aab140b734..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 nfs_gethostbyname(const char *, struct sockaddr_in *);
-unsigned short getport(struct sockaddr_in *, unsigned long,
-                       unsigned long, unsigned int);
-int probe_mntport(clnt_addr_t *);
-int probe_nfsport(clnt_addr_t *);
 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 */