Globus Toolkit  6.0.1575385000
globus_i_gfs_gcs_db.h
1 /*
2  * Copyright The University of Chicago
3  *
4  * All Rights Reserved.
5  */
6 
7 #ifndef GLOBUS_I_GFS_GCS_DB_H
8 #define GLOBUS_I_GFS_GCS_DB_H 1
9 
10 #include <stdbool.h>
11 
12 typedef enum
13 {
15  GLOBUS_I_GFS_COLLECTION_TYPE_UNKNOWN,
17  GLOBUS_I_GFS_COLLECTION_TYPE_GUEST,
19  GLOBUS_I_GFS_COLLECTION_TYPE_MAPPED,
21  GLOBUS_I_GFS_COLLECTION_TYPE_GCP
22 } globus_i_gfs_collection_type_t;
23 
27 typedef struct
28 {
30  char * collection_id;
32  globus_i_gfs_collection_type_t collection_type;
39  char * path;
40  char * storage_gateway_root;
41  char * collection_root;
42 
44  char * username;
53  char * dsi_options;
54  /* Collection path restrictions (GCSv5.0+) */
55  char * restrict_paths;
91  char * gridmap;
95  size_t domains_count;
99  char ** domains;
103  char * default_dir;
105 
107 globus_i_gfs_gcs_db_load_collection_data(
108  const char * collection_id,
109  globus_i_gfs_storage_data_t * storage_data);
110 
112 globus_i_gfs_gcs_db_load_vhost_data(
113  const gss_ctx_id_t context,
114  globus_i_gfs_storage_data_t * storage_data);
115 
116 #endif /* GLOBUS_I_GFS_GCS_DB_H */
globus_i_gfs_storage_data_t::collection_type
globus_i_gfs_collection_type_t collection_type
Definition: globus_i_gfs_gcs_db.h:32
globus_i_gfs_storage_data_t::sharing_users_allow
char * sharing_users_allow
Definition: globus_i_gfs_gcs_db.h:57
globus_i_gfs_storage_data_t::storage_dsi_config
char * storage_dsi_config
Definition: globus_i_gfs_gcs_db.h:82
globus_i_gfs_storage_data_t::domains_count
size_t domains_count
Definition: globus_i_gfs_gcs_db.h:95
globus_i_gfs_storage_data_t::path
char * path
Definition: globus_i_gfs_gcs_db.h:39
globus_i_gfs_storage_data_t::sharing_groups_allow
char * sharing_groups_allow
Definition: globus_i_gfs_gcs_db.h:61
globus_i_gfs_storage_data_t::username
char * username
Definition: globus_i_gfs_gcs_db.h:44
globus_i_gfs_storage_data_t::collection_policies
char * collection_policies
Definition: globus_i_gfs_gcs_db.h:87
globus_i_gfs_storage_data_t::storage_user_credential
char * storage_user_credential
Definition: globus_i_gfs_gcs_db.h:69
globus_i_gfs_storage_data_t::require_high_assurance
bool require_high_assurance
Definition: globus_i_gfs_gcs_db.h:37
globus_i_gfs_storage_data_t::sharing_users_deny
char * sharing_users_deny
Definition: globus_i_gfs_gcs_db.h:59
globus_i_gfs_storage_data_t::load_dsi_module
char * load_dsi_module
Definition: globus_i_gfs_gcs_db.h:51
globus_i_gfs_storage_data_t::dsi_options
char * dsi_options
Definition: globus_i_gfs_gcs_db.h:53
globus_i_gfs_storage_data_t::collection_id
char * collection_id
Definition: globus_i_gfs_gcs_db.h:30
globus_i_gfs_storage_data_t::process_username
char * process_username
Definition: globus_i_gfs_gcs_db.h:49
globus_result_t
uint32_t globus_result_t
Definition: globus_types.h:99
globus_i_gfs_storage_data_t::sharing_groups_deny
char * sharing_groups_deny
Definition: globus_i_gfs_gcs_db.h:63
globus_i_gfs_storage_data_t::default_dir
char * default_dir
Definition: globus_i_gfs_gcs_db.h:103
globus_i_gfs_storage_data_t::domains
char ** domains
Definition: globus_i_gfs_gcs_db.h:99
globus_i_gfs_storage_data_t::storage_gateway_credential
char * storage_gateway_credential
Definition: globus_i_gfs_gcs_db.h:76
globus_i_gfs_storage_data_t::gridmap
char * gridmap
Definition: globus_i_gfs_gcs_db.h:91
globus_i_gfs_storage_data_t
Definition: globus_i_gfs_gcs_db.h:27