X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmount%2Fnetwork.h;h=70a91af88e9aef3095038a8d3c9da4246f7c9d42;hp=bb5b4dac374baeedeabee5b6238cd4cc05cf967a;hb=4f101548ef4990979400b7095e199c30204b100a;hpb=66ab98cbd17f7f54edda78a470579d3ab01f35c0 diff --git a/utils/mount/network.h b/utils/mount/network.h index bb5b4da..70a91af 100644 --- a/utils/mount/network.h +++ b/utils/mount/network.h @@ -21,12 +21,44 @@ * */ -#include "conn.h" +#include +#include -int nfs_gethostbyname(const char *, struct sockaddr_in *); +#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_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 get_client_address(struct sockaddr_in *, struct sockaddr_in *); +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);