00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef LSM_NFS_EXPORT_H
00020 #define LSM_NFS_EXPORT_H
00021
00022 #include "libstoragemgmt_types.h"
00023
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00033 #define ANON_UID_GID_NA -1
00034 #define ANON_UID_GID_ERROR (ANON_UID_GID_NA - 1)
00035
00053 lsm_nfs_export LSM_DLL_EXPORT *
00054 lsm_nfs_export_record_alloc(const char *id, const char *fs_id,
00055 const char *export_path, const char *auth,
00056 lsm_string_list *root, lsm_string_list *rw,
00057 lsm_string_list *ro, uint64_t anonuid,
00058 uint64_t anongid, const char *options,
00059 const char *plugin_data);
00060
00066 lsm_nfs_export LSM_DLL_EXPORT **
00067 lsm_nfs_export_record_array_alloc(uint32_t size);
00068
00069
00075 int LSM_DLL_EXPORT lsm_nfs_export_record_free(lsm_nfs_export *exp);
00076
00083 int LSM_DLL_EXPORT lsm_nfs_export_record_array_free(lsm_nfs_export * exps[],
00084 uint32_t size);
00085
00091 lsm_nfs_export LSM_DLL_EXPORT *
00092 lsm_nfs_export_record_copy(lsm_nfs_export *source);
00093
00099 const char LSM_DLL_EXPORT *lsm_nfs_export_id_get(lsm_nfs_export *exp);
00100 int LSM_DLL_EXPORT lsm_nfs_export_id_set(lsm_nfs_export *exp,
00101 const char *ep);
00102
00108 const char LSM_DLL_EXPORT *lsm_nfs_export_fs_id_get(lsm_nfs_export *exp);
00109 int LSM_DLL_EXPORT lsm_nfs_export_fs_id_set(lsm_nfs_export *exp,
00110 const char *fs_id);
00111
00117 const char LSM_DLL_EXPORT *
00118 lsm_nfs_export_export_path_get(lsm_nfs_export *exp);
00119
00120 int LSM_DLL_EXPORT lsm_nfs_export_export_path_set(lsm_nfs_export *exp,
00121 const char *export_path);
00122
00128 const char LSM_DLL_EXPORT *lsm_nfs_export_auth_type_get(lsm_nfs_export
00129 * exp);
00130 int LSM_DLL_EXPORT lsm_nfs_export_auth_type_set(lsm_nfs_export *exp,
00131 const char *value);
00132
00138 lsm_string_list LSM_DLL_EXPORT *
00139 lsm_nfs_export_root_get(lsm_nfs_export * exp);
00140
00141 int LSM_DLL_EXPORT lsm_nfs_export_root_set(lsm_nfs_export *exp,
00142 lsm_string_list *value);
00143
00149 lsm_string_list LSM_DLL_EXPORT *
00150 lsm_nfs_export_read_write_get(lsm_nfs_export *exp);
00151
00152 int LSM_DLL_EXPORT lsm_nfs_export_read_write_set(lsm_nfs_export *exp,
00153 lsm_string_list *value);
00154
00160 lsm_string_list LSM_DLL_EXPORT *
00161 lsm_nfs_export_read_only_get(lsm_nfs_export *exp);
00162
00163 int LSM_DLL_EXPORT lsm_nfs_export_read_only_set(lsm_nfs_export *exp,
00164 lsm_string_list *value);
00165
00172 uint64_t LSM_DLL_EXPORT lsm_nfs_export_anon_uid_get(lsm_nfs_export *exp);
00173
00174 int LSM_DLL_EXPORT lsm_nfs_export_anon_uid_set(lsm_nfs_export *exp,
00175 uint64_t value);
00176
00183 uint64_t LSM_DLL_EXPORT lsm_nfs_export_anon_gid_get(lsm_nfs_export *exp);
00184
00185 int LSM_DLL_EXPORT lsm_nfs_export_anon_gid_set(lsm_nfs_export *exp,
00186 uint64_t value);
00187
00193 const char LSM_DLL_EXPORT *lsm_nfs_export_options_get(lsm_nfs_export *exp);
00194
00195 int LSM_DLL_EXPORT lsm_nfs_export_options_set(lsm_nfs_export *exp,
00196 const char *value);
00197
00198 #ifdef __cplusplus
00199 }
00200 #endif
00201 #endif