globus_connect_gridftp_server  16.8
/build/globus-connect-gridftp-server-16.8/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 "globus_common.h"
11 #include <stdlib.h>
12 #include <stdbool.h>
13 
14 typedef enum
15 {
17  GLOBUS_I_GFS_COLLECTION_TYPE_UNKNOWN,
19  GLOBUS_I_GFS_COLLECTION_TYPE_GUEST,
21  GLOBUS_I_GFS_COLLECTION_TYPE_MAPPED,
23  GLOBUS_I_GFS_COLLECTION_TYPE_GCP
24 } globus_i_gfs_collection_type_t;
25 
29 typedef struct
30 {
32  char * collection_id;
36  globus_i_gfs_collection_type_t collection_type;
47  char * path;
48  char * storage_gateway_root;
49  char * collection_root;
50 
52  char * username;
54  char * identity_id;
56  char * home_dir;
65  char * dsi_options;
66  /* All collection path restrictions (GCSv5.0+) */
67  char * restrict_paths;
68  /* Guest collection path restrictions (GCSv5.4+) */
69  char * sharing_restrict_paths;
105  char * gridmap;
113  char ** domains;
117  char * default_dir;
121  char * stage_app;
123 
124 globus_result_t
125 globus_i_gfs_gcs_manager_load_collection_data(
126  const char * collection_id,
127  const char * identity_ids,
128  const char * desired_user,
129  globus_i_gfs_storage_data_t * storage_data);
130 
131 globus_result_t
132 globus_i_gfs_gcs_manager_load_credential(
133  const char * collection_id,
134  const char * identity_ids,
135  const char * desired_user,
136  char ** user_credential);
137 
138 #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:36
globus_i_gfs_storage_data_t::stage_app
char * stage_app
Definition: globus_i_gfs_gcs_db.h:121
globus_i_gfs_storage_data_t::identity_id
char * identity_id
Definition: globus_i_gfs_gcs_db.h:54
globus_i_gfs_storage_data_t::sharing_users_allow
char * sharing_users_allow
Definition: globus_i_gfs_gcs_db.h:71
globus_i_gfs_storage_data_t::storage_dsi_config
char * storage_dsi_config
Definition: globus_i_gfs_gcs_db.h:96
globus_i_gfs_storage_data_t::storage_gateway_id
char * storage_gateway_id
Definition: globus_i_gfs_gcs_db.h:34
globus_i_gfs_storage_data_t::domains_count
size_t domains_count
Definition: globus_i_gfs_gcs_db.h:109
globus_i_gfs_storage_data_t::path
char * path
Definition: globus_i_gfs_gcs_db.h:47
globus_i_gfs_storage_data_t::sharing_groups_allow
char * sharing_groups_allow
Definition: globus_i_gfs_gcs_db.h:75
globus_i_gfs_storage_data_t::username
char * username
Definition: globus_i_gfs_gcs_db.h:52
globus_i_gfs_storage_data_t::collection_policies
char * collection_policies
Definition: globus_i_gfs_gcs_db.h:101
globus_i_gfs_storage_data_t::storage_user_credential
char * storage_user_credential
Definition: globus_i_gfs_gcs_db.h:83
globus_i_gfs_storage_data_t::require_high_assurance
bool require_high_assurance
Definition: globus_i_gfs_gcs_db.h:41
globus_i_gfs_storage_data_t::home_dir
char * home_dir
Definition: globus_i_gfs_gcs_db.h:56
globus_i_gfs_storage_data_t::sharing_users_deny
char * sharing_users_deny
Definition: globus_i_gfs_gcs_db.h:73
globus_i_gfs_storage_data_t::load_dsi_module
char * load_dsi_module
Definition: globus_i_gfs_gcs_db.h:63
globus_i_gfs_storage_data_t::dsi_options
char * dsi_options
Definition: globus_i_gfs_gcs_db.h:65
globus_i_gfs_storage_data_t::collection_id
char * collection_id
Definition: globus_i_gfs_gcs_db.h:32
globus_i_gfs_storage_data_t::force_encryption
bool force_encryption
Definition: globus_i_gfs_gcs_db.h:45
globus_i_gfs_storage_data_t::process_username
char * process_username
Definition: globus_i_gfs_gcs_db.h:61
globus_i_gfs_storage_data_t::sharing_groups_deny
char * sharing_groups_deny
Definition: globus_i_gfs_gcs_db.h:77
globus_i_gfs_storage_data_t::default_dir
char * default_dir
Definition: globus_i_gfs_gcs_db.h:117
globus_i_gfs_storage_data_t::domains
char ** domains
Definition: globus_i_gfs_gcs_db.h:113
globus_i_gfs_storage_data_t::storage_gateway_credential
char * storage_gateway_credential
Definition: globus_i_gfs_gcs_db.h:90
globus_i_gfs_storage_data_t::gridmap
char * gridmap
Definition: globus_i_gfs_gcs_db.h:105
globus_i_gfs_storage_data_t
Definition: globus_i_gfs_gcs_db.h:29