]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mountd/mountd.h
utils: Return status 0 on clean exits
[nfs-utils.git] / utils / mountd / mountd.h
index 9f9bc1fe1aac269faa6deb3ccb72a3cf039d4829..6d358a75d9f3cfdcafdc4380ce8223a68a93fb3b 100644 (file)
@@ -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 */