globus_connect_gridftp_server  16.0
/build/globus-connect-gridftp-server-16.0/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 */
Definition: globus_i_gfs_gcs_db.h:30
char * default_dir
Definition: globus_i_gfs_gcs_db.h:117
bool force_encryption
Definition: globus_i_gfs_gcs_db.h:45
char * dsi_options
Definition: globus_i_gfs_gcs_db.h:65
char * storage_gateway_credential
Definition: globus_i_gfs_gcs_db.h:90
char * process_username
Definition: globus_i_gfs_gcs_db.h:61
globus_i_gfs_collection_type_t collection_type
Definition: globus_i_gfs_gcs_db.h:36
char * sharing_users_allow
Definition: globus_i_gfs_gcs_db.h:71
char * sharing_groups_allow
Definition: globus_i_gfs_gcs_db.h:75
char * load_dsi_module
Definition: globus_i_gfs_gcs_db.h:63
char * storage_dsi_config
Definition: globus_i_gfs_gcs_db.h:96
size_t domains_count
Definition: globus_i_gfs_gcs_db.h:109
char * identity_id
Definition: globus_i_gfs_gcs_db.h:54
char * storage_gateway_id
Definition: globus_i_gfs_gcs_db.h:34
char * home_dir
Definition: globus_i_gfs_gcs_db.h:56
bool require_high_assurance
Definition: globus_i_gfs_gcs_db.h:41
char * sharing_users_deny
Definition: globus_i_gfs_gcs_db.h:73
char ** domains
Definition: globus_i_gfs_gcs_db.h:113
char * storage_user_credential
Definition: globus_i_gfs_gcs_db.h:83
char * stage_app
Definition: globus_i_gfs_gcs_db.h:121
char * collection_id
Definition: globus_i_gfs_gcs_db.h:32
char * sharing_groups_deny
Definition: globus_i_gfs_gcs_db.h:77
char * gridmap
Definition: globus_i_gfs_gcs_db.h:105
char * path
Definition: globus_i_gfs_gcs_db.h:47
char * username
Definition: globus_i_gfs_gcs_db.h:52
char * collection_policies
Definition: globus_i_gfs_gcs_db.h:101