globus_connect_gridftp_server  15.95
/build/globus-connect-gridftp-server-15.95/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  globus_i_gfs_storage_data_t * storage_data);
137 
138 globus_result_t
139 globus_i_gfs_gcs_manager_load_credential(
140  const char * collection_id,
141  const char * identity_ids,
142  char ** user_credential);
143 
144 #endif /* GLOBUS_I_GFS_GCS_DB_H */
Definition: globus_i_gfs_gcs_db.h:28
char * default_dir
Definition: globus_i_gfs_gcs_db.h:115
bool force_encryption
Definition: globus_i_gfs_gcs_db.h:43
char * dsi_options
Definition: globus_i_gfs_gcs_db.h:63
char * storage_gateway_credential
Definition: globus_i_gfs_gcs_db.h:88
char * process_username
Definition: globus_i_gfs_gcs_db.h:59
globus_i_gfs_collection_type_t collection_type
Definition: globus_i_gfs_gcs_db.h:34
char * sharing_users_allow
Definition: globus_i_gfs_gcs_db.h:69
char * sharing_groups_allow
Definition: globus_i_gfs_gcs_db.h:73
char * load_dsi_module
Definition: globus_i_gfs_gcs_db.h:61
char * storage_dsi_config
Definition: globus_i_gfs_gcs_db.h:94
size_t domains_count
Definition: globus_i_gfs_gcs_db.h:107
char * identity_id
Definition: globus_i_gfs_gcs_db.h:52
char * storage_gateway_id
Definition: globus_i_gfs_gcs_db.h:32
char * home_dir
Definition: globus_i_gfs_gcs_db.h:54
bool require_high_assurance
Definition: globus_i_gfs_gcs_db.h:39
char * sharing_users_deny
Definition: globus_i_gfs_gcs_db.h:71
char ** domains
Definition: globus_i_gfs_gcs_db.h:111
char * storage_user_credential
Definition: globus_i_gfs_gcs_db.h:81
char * stage_app
Definition: globus_i_gfs_gcs_db.h:119
char * collection_id
Definition: globus_i_gfs_gcs_db.h:30
char * sharing_groups_deny
Definition: globus_i_gfs_gcs_db.h:75
char * gridmap
Definition: globus_i_gfs_gcs_db.h:103
char * path
Definition: globus_i_gfs_gcs_db.h:45
char * username
Definition: globus_i_gfs_gcs_db.h:50
char * collection_policies
Definition: globus_i_gfs_gcs_db.h:99