X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmount%2Fnetwork.h;h=2f4ff3a16fd7e85734e70c1d2f15a777d707cdce;hp=0f24a32b7a011c9df7c5a6e8eb9d1ccfaea2e757;hb=6ab9cdacd2ea314a837c7affb840aeeec620cb66;hpb=56a4a153c8559efe6e090e99eaf190d530299de2 diff --git a/utils/mount/network.h b/utils/mount/network.h index 0f24a32..2f4ff3a 100644 --- a/utils/mount/network.h +++ b/utils/mount/network.h @@ -21,14 +21,45 @@ * */ -#include "conn.h" +#ifndef _NFS_UTILS_MOUNT_NETWORK_H +#define _NFS_UTILS_MOUNT_NETWORK_H + +#include +#include + #include "mount.h" +#ifdef HAVE_RPCSVC_NFS_PROT_H +#include +#else +#include +#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, @@ -40,3 +71,5 @@ 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 */