MCL_WILDCARD,
MCL_NETGROUP,
MCL_ANONYMOUS,
+ MCL_GSS,
MCL_MAXTYPES
};
struct mexport * m_next;
struct mclient * m_client;
struct exportent m_export;
- int m_exported : 1, /* known to knfsd */
- m_xtabent : 1, /* xtab entry exists */
+ 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 */
} nfs_export;
extern nfs_client * clientlist[MCL_MAXTYPES];
extern nfs_export * exportlist[MCL_MAXTYPES];
-nfs_client * client_lookup(char *hname);
+nfs_client * client_lookup(char *hname, int canonical);
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);
+char * client_compose(struct in_addr addr);
+int client_member(char *client, char *name);
int export_read(char *fname);
void export_add(nfs_export *);
void export_reset(nfs_export *);
-nfs_export * export_lookup(char *hname, char *path);
+nfs_export * export_lookup(char *hname, char *path, int caconical);
nfs_export * export_find(struct hostent *, char *path);
-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 *);
struct nfskey * key_lookup(char *hname);
+/* Record export error. */
+extern int export_errno;
+
#endif /* EXPORTFS_H */