X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmountd%2Fmountd.h;h=6d358a75d9f3cfdcafdc4380ce8223a68a93fb3b;hp=31bacb50c87ce9476c6e69810dbdde95ee47aa8d;hb=985f89a8a87f2626583b240f7abad86d97a77596;hpb=fd9097110f74f39bce89ec3a341fd9b686a68719 diff --git a/utils/mountd/mountd.h b/utils/mountd/mountd.h index 31bacb5..6d358a7 100644 --- a/utils/mountd/mountd.h +++ b/utils/mountd/mountd.h @@ -41,14 +41,28 @@ bool_t mount_mnt_3_svc(struct svc_req *, dirpath *, mountres3 *); void mount_dispatch(struct svc_req *, SVCXPRT *); void auth_init(char *export_file); unsigned int auth_reload(void); -nfs_export * auth_authenticate(char *what, struct sockaddr_in *sin, - char *path); +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 */