X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=support%2Finclude%2Fexportfs.h;h=c1ba54357fa677f9d9eb48cb5e2517ff8d63a0c3;hp=10f38c797d8fe2e2152c77b4a6e586ece12ac2fe;hb=180238a295c1a8127953c96f0b462688d0f57a09;hpb=553caba3865667724291106d919e7c3fdf9534aa diff --git a/support/include/exportfs.h b/support/include/exportfs.h index 10f38c7..c1ba543 100644 --- a/support/include/exportfs.h +++ b/support/include/exportfs.h @@ -23,9 +23,16 @@ enum { 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]; @@ -40,7 +47,9 @@ typedef struct mexport { 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]; @@ -55,7 +64,8 @@ int client_check(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); +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);