X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmountd%2Fmountd.h;h=6d358a75d9f3cfdcafdc4380ce8223a68a93fb3b;hp=d64c17121006f3f433a38557adf0aa377412a194;hb=985f89a8a87f2626583b240f7abad86d97a77596;hpb=18fc7a86a2a1213762cc4107565903127efadafc diff --git a/utils/mountd/mountd.h b/utils/mountd/mountd.h index d64c171..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(char *host, const char *path); void mountlist_del(char *host, const char *path); -void mountlist_del_all(struct sockaddr_in *sin); +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 */