globus_connect_gridftp_server  15.99
/build/globus-connect-gridftp-server-15.99/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;
34  globus_i_gfs_collection_type_t collection_type;
45  char * path;
46  char * storage_gateway_root;
47  char * collection_root;
48 
50  char * username;
52  char * identity_id;
54  char * home_dir;
63  char * dsi_options;
64  /* All collection path restrictions (GCSv5.0+) */
65  char * restrict_paths;
66  /* Guest collection path restrictions (GCSv5.4+) */
67  char * sharing_restrict_paths;
103  char * gridmap;
111  char ** domains;
115  char * default_dir;
119  char * stage_app;
121 
122 globus_result_t
123 globus_i_gfs_gcs_db_load_collection_data(
124  const char * collection_id,
125  globus_i_gfs_storage_data_t * storage_data);
126 
127 globus_result_t
128 globus_i_gfs_gcs_db_load_vhost_data(
129  const gss_ctx_id_t context,
130  globus_i_gfs_storage_data_t * storage_data);
131 
132 globus_result_t
133 globus_i_gfs_gcs_manager_load_collection_data(
134  const char * collection_id,
135  const char * identity_ids,
136  const char * desired_user,
137  globus_i_gfs_storage_data_t * storage_data);
138 
139 globus_result_t
140 globus_i_gfs_gcs_manager_load_credential(
141  const char * collection_id,
142  const char * identity_ids,
143  const char * desired_user,
144  char ** user_credential);
145 
146 #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:34
globus_i_gfs_storage_data_t::stage_app
char * stage_app
Definition: globus_i_gfs_gcs_db.h:119
globus_i_gfs_storage_data_t::identity_id
char * identity_id
Definition: globus_i_gfs_gcs_db.h:52
globus_i_gfs_storage_data_t::sharing_users_allow
char * sharing_users_allow
Definition: globus_i_gfs_gcs_db.h:69
globus_i_gfs_storage_data_t::storage_dsi_config
char * storage_dsi_config
Definition: globus_i_gfs_gcs_db.h:94
globus_i_gfs_storage_data_t::storage_gateway_id
char * storage_gateway_id
Definition: globus_i_gfs_gcs_db.h:32
globus_i_gfs_storage_data_t::domains_count
size_t domains_count
Definition: globus_i_gfs_gcs_db.h:107
globus_i_gfs_storage_data_t::path
char * path
Definition: globus_i_gfs_gcs_db.h:45
globus_i_gfs_storage_data_t::sharing_groups_allow
char * sharing_groups_allow
Definition: globus_i_gfs_gcs_db.h:73
globus_i_gfs_storage_data_t::username
char * username
Definition: globus_i_gfs_gcs_db.h:50
globus_i_gfs_storage_data_t::collection_policies
char * collection_policies
Definition: globus_i_gfs_gcs_db.h:99
globus_i_gfs_storage_data_t::storage_user_credential
char * storage_user_credential
Definition: globus_i_gfs_gcs_db.h:81
globus_i_gfs_storage_data_t::require_high_assurance
bool require_high_assurance
Definition: globus_i_gfs_gcs_db.h:39
globus_i_gfs_storage_data_t::home_dir
char * home_dir
Definition: globus_i_gfs_gcs_db.h:54
globus_i_gfs_storage_data_t::sharing_users_deny
char * sharing_users_deny
Definition: globus_i_gfs_gcs_db.h:71
globus_i_gfs_storage_data_t::load_dsi_module
char * load_dsi_module
Definition: globus_i_gfs_gcs_db.h:61
globus_i_gfs_storage_data_t::dsi_options
char * dsi_options
Definition: globus_i_gfs_gcs_db.h:63
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::force_encryption
bool force_encryption
Definition: globus_i_gfs_gcs_db.h:43
globus_i_gfs_storage_data_t::process_username
char * process_username
Definition: globus_i_gfs_gcs_db.h:59
globus_i_gfs_storage_data_t::sharing_groups_deny
char * sharing_groups_deny
Definition: globus_i_gfs_gcs_db.h:75
globus_i_gfs_storage_data_t::default_dir
char * default_dir
Definition: globus_i_gfs_gcs_db.h:115
globus_i_gfs_storage_data_t::domains
char ** domains
Definition: globus_i_gfs_gcs_db.h:111
globus_i_gfs_storage_data_t::storage_gateway_credential
char * storage_gateway_credential
Definition: globus_i_gfs_gcs_db.h:88
globus_i_gfs_storage_data_t::gridmap
char * gridmap
Definition: globus_i_gfs_gcs_db.h:103
globus_i_gfs_storage_data_t
Definition: globus_i_gfs_gcs_db.h:27