X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=support%2Finclude%2Fexportfs.h;h=470b2ec1cb74a0f4183ec326b9a95d48f5f10035;hb=6d5ac3fa75024be569b458f4d9b6ce05be47f601;hp=c1ba54357fa677f9d9eb48cb5e2517ff8d63a0c3;hpb=180238a295c1a8127953c96f0b462688d0f57a09;p=nfs-utils.git diff --git a/support/include/exportfs.h b/support/include/exportfs.h index c1ba543..470b2ec 100644 --- a/support/include/exportfs.h +++ b/support/include/exportfs.h @@ -52,8 +52,21 @@ typedef struct mexport { * matching one client */ } nfs_export; +#define HASH_TABLE_SIZE 1021 + +typedef struct _exp_hash_entry { + nfs_export * p_first; + nfs_export * p_last; +} exp_hash_entry; + +typedef struct _exp_hash_table { + nfs_export * p_head; + exp_hash_entry entries[HASH_TABLE_SIZE]; +} exp_hash_table; + +extern exp_hash_table exportlist[MCL_MAXTYPES]; + extern nfs_client * clientlist[MCL_MAXTYPES]; -extern nfs_export * exportlist[MCL_MAXTYPES]; nfs_client * client_lookup(char *hname, int canonical); nfs_client * client_find(struct hostent *); @@ -69,7 +82,7 @@ struct hostent * client_resolve(struct in_addr addr); int client_member(char *client, char *name); int export_read(char *fname); -void export_add(nfs_export *); +void export_add(nfs_export *); void export_reset(nfs_export *); nfs_export * export_lookup(char *hname, char *path, int caconical); nfs_export * export_find(struct hostent *, char *path); @@ -86,10 +99,19 @@ int xtab_mount_write(void); int xtab_export_write(void); void xtab_append(nfs_export *); +int secinfo_addflavor(struct flav_info *, struct exportent *); + int rmtab_read(void); struct nfskey * key_lookup(char *hname); +struct export_features { + unsigned int flags; + unsigned int secinfo_flags; +}; + +struct export_features *get_export_features(void); + /* Record export error. */ extern int export_errno;