globus_connect_gridftp_server  16.16~rc1
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,
25  GLOBUS_I_GFS_COLLECTION_TYPE_TUNNEL
26 } globus_i_gfs_collection_type_t;
27 
31 typedef struct
32 {
34  char * collection_id;
38  globus_i_gfs_collection_type_t collection_type;
49  char * path;
50  char * storage_gateway_root;
51  char * collection_root;
52 
54  char * username;
56  char * identity_id;
58  char * home_dir;
67  char * dsi_options;
68  /* All collection path restrictions (GCSv5.0+) */
69  char * restrict_paths;
70  /* Guest collection path restrictions (GCSv5.4+) */
71  char * sharing_restrict_paths;
107  char * gridmap;
115  char ** domains;
119  char * default_dir;
123  char * stage_app;
125 
126 globus_result_t
127 globus_i_gfs_gcs_manager_load_collection_data(
128  const char * collection_id,
129  const char * identity_ids,
130  const char * desired_user,
131  globus_i_gfs_storage_data_t * storage_data);
132 
133 globus_result_t
134 globus_i_gfs_gcs_manager_load_credential(
135  const char * collection_id,
136  const char * identity_ids,
137  const char * desired_user,
138  const char * tunnel_id,
139  const char * stream_ap_id,
140  char ** user_credential,
141  globus_bool_t tunnel);
142 
143 globus_result_t
144 globus_i_gfs_gcs_manager_load_stream_ap_data(
145  const char * stream_ap_id,
146  const char * tunnel_id,
147  const char * identity_ids,
148  const char * desired_user,
149  globus_i_gfs_storage_data_t * storage_data);
150 
151 #endif /* GLOBUS_I_GFS_GCS_DB_H */
Definition: globus_i_gfs_gcs_db.h:32
char * path
Definition: globus_i_gfs_gcs_db.h:49
bool force_encryption
Definition: globus_i_gfs_gcs_db.h:47
char * sharing_groups_deny
Definition: globus_i_gfs_gcs_db.h:79
char * gridmap
Definition: globus_i_gfs_gcs_db.h:107
char * sharing_groups_allow
Definition: globus_i_gfs_gcs_db.h:77
char * dsi_options
Definition: globus_i_gfs_gcs_db.h:67
globus_i_gfs_collection_type_t collection_type
Definition: globus_i_gfs_gcs_db.h:38
char * username
Definition: globus_i_gfs_gcs_db.h:54
char * storage_user_credential
Definition: globus_i_gfs_gcs_db.h:85
size_t domains_count
Definition: globus_i_gfs_gcs_db.h:111
char * sharing_users_allow
Definition: globus_i_gfs_gcs_db.h:73
char * collection_policies
Definition: globus_i_gfs_gcs_db.h:103
char * process_username
Definition: globus_i_gfs_gcs_db.h:63
char * identity_id
Definition: globus_i_gfs_gcs_db.h:56
char * home_dir
Definition: globus_i_gfs_gcs_db.h:58
char * collection_id
Definition: globus_i_gfs_gcs_db.h:34
char * storage_dsi_config
Definition: globus_i_gfs_gcs_db.h:98
bool require_high_assurance
Definition: globus_i_gfs_gcs_db.h:43
char * load_dsi_module
Definition: globus_i_gfs_gcs_db.h:65
char * stage_app
Definition: globus_i_gfs_gcs_db.h:123
char * storage_gateway_id
Definition: globus_i_gfs_gcs_db.h:36
char * default_dir
Definition: globus_i_gfs_gcs_db.h:119
char ** domains
Definition: globus_i_gfs_gcs_db.h:115
char * sharing_users_deny
Definition: globus_i_gfs_gcs_db.h:75
char * storage_gateway_credential
Definition: globus_i_gfs_gcs_db.h:92