X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmountd%2Fmountd.h;h=6d358a75d9f3cfdcafdc4380ce8223a68a93fb3b;hp=9f9bc1fe1aac269faa6deb3ccb72a3cf039d4829;hb=985f89a8a87f2626583b240f7abad86d97a77596;hpb=8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9 diff --git a/utils/mountd/mountd.h b/utils/mountd/mountd.h index 9f9bc1f..6d358a7 100644 --- a/utils/mountd/mountd.h +++ b/utils/mountd/mountd.h @@ -40,15 +40,29 @@ bool_t mount_mnt_3_svc(struct svc_req *, dirpath *, mountres3 *); void mount_dispatch(struct svc_req *, SVCXPRT *); void auth_init(char *export_file); -int auth_reload(void); -nfs_export * auth_authenticate(char *what, struct sockaddr_in *sin, - char *path); +unsigned int auth_reload(void); +nfs_export * auth_authenticate(const char *what, + const struct sockaddr *caller, + const char *path); void auth_export(nfs_export *exp); -void mountlist_add(nfs_export *exp, const char *path); -void mountlist_del(nfs_export *exp, const char *path); -void mountlist_del_all(struct sockaddr_in *sin); +void mountlist_add(char *host, const char *path); +void mountlist_del(char *host, const char *path); +void mountlist_del_all(const struct sockaddr *sap); mountlist mountlist_list(void); +void cache_open(void); +struct nfs_fh_len * + cache_get_filehandle(nfs_export *exp, int len, char *p); +int cache_export(nfs_export *exp, char *path); + +bool ipaddr_client_matches(nfs_export *exp, struct addrinfo *ai); +bool namelist_client_matches(nfs_export *exp, char *dom); +bool client_matches(nfs_export *exp, char *dom, struct addrinfo *ai); + +static inline bool is_ipaddr_client(char *dom) +{ + return dom[0] == '$'; +} #endif /* MOUNTD_H */