MCL_WILDCARD,
MCL_NETGROUP,
MCL_ANONYMOUS,
+ MCL_GSS,
MCL_MAXTYPES
};
+enum {
+ FSLOC_NONE = 0,
+ FSLOC_REFER,
+ FSLOC_REPLICA,
+ FSLOC_STUB
+};
+
typedef struct mclient {
struct mclient * m_next;
- char m_hostname[NFSCLNT_IDMAX+1];
+ char * m_hostname;
int m_type;
int m_naddr;
struct in_addr m_addrlist[NFSCLNT_ADDRMAX];
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_export;
extern nfs_client * clientlist[MCL_MAXTYPES];
int client_match(nfs_client *, char *hname);
void client_release(nfs_client *);
void client_freeall(void);
-char * client_compose(struct in_addr addr);
+char * client_compose(struct hostent *he);
+struct hostent * client_resolve(struct in_addr addr);
int client_member(char *client, char *name);
int export_read(char *fname);