int m_exported; /* known to knfsd. -1 means not sure */
int m_xtabent : 1, /* xtab entry exists */
m_mayexport: 1, /* derived from xtabbed */
int m_exported; /* known to knfsd. -1 means not sure */
int m_xtabent : 1, /* xtab entry exists */
m_mayexport: 1, /* derived from xtabbed */
- m_changed : 1; /* options (may) have changed */
+ m_changed : 1, /* options (may) have changed */
+ m_warned : 1; /* warned about multiple exports
+ * matching one client */
nfs_client * client_find(struct hostent *);
void client_add(nfs_client *);
nfs_client * client_dup(nfs_client *, struct hostent *);
nfs_client * client_find(struct hostent *);
void client_add(nfs_client *);
nfs_client * client_dup(nfs_client *, struct hostent *);
int client_match(nfs_client *, char *hname);
void client_release(nfs_client *);
void client_freeall(void);
int client_match(nfs_client *, char *hname);
void client_release(nfs_client *);
void client_freeall(void);
int export_read(char *fname);
void export_add(nfs_export *);
void export_reset(nfs_export *);
int export_read(char *fname);
void export_add(nfs_export *);
void export_reset(nfs_export *);
-struct exportent * export_allowed(struct hostent *, char *path);
-nfs_export * export_create(struct exportent *);
+nfs_export * export_allowed(struct hostent *, char *path);
+nfs_export * export_create(struct exportent *, int canonical);
nfs_export * export_dup(nfs_export *, struct hostent *);
void export_freeall(void);
int export_export(nfs_export *);
nfs_export * export_dup(nfs_export *, struct hostent *);
void export_freeall(void);
int export_export(nfs_export *);