globus_connect_gridftp_server  16.16~rc1
/home/rocky/workspace/us-connect-gridftp-server_master/gridftp/server/src/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;
36  char * storage_gateway_id;
38  globus_i_gfs_collection_type_t collection_type;
43  bool require_high_assurance;
47  bool force_encryption;
49  char * path;
50  char * storage_gateway_root;
51  char * collection_root;
52 
54  char * username;
56  char * identity_id;
58  char * home_dir;
63  char * process_username;
65  char * load_dsi_module;
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;
73  char * sharing_users_allow;
75  char * sharing_users_deny;
77  char * sharing_groups_allow;
79  char * sharing_groups_deny;
85  char * storage_user_credential;
92  char * storage_gateway_credential;
98  char * storage_dsi_config;
103  char * collection_policies;
107  char * gridmap;
111  size_t domains_count;
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