Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_i_gfs_data.h
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GLOBUS_I_GFS_DATA_H
18 #define GLOBUS_I_GFS_DATA_H
19 
20 #include "globus_i_gridftp_server.h"
21 
22 typedef globus_gfs_finished_info_t globus_gfs_data_reply_t;
23 typedef globus_gfs_event_info_t globus_gfs_data_event_reply_t;
24 
25 typedef void
26 (*globus_i_gfs_data_callback_t)(
27  globus_gfs_data_reply_t * reply,
28  void * user_arg);
29 
30 typedef void
31 (*globus_i_gfs_data_event_callback_t)(
32  globus_gfs_data_event_reply_t * reply,
33  void * user_arg);
34 
35 void
36 globus_i_gfs_data_init();
37 
38 void
39 globus_i_gfs_data_request_stat(
40  globus_gfs_ipc_handle_t ipc_handle,
41  void * session_arg,
42  int id,
43  globus_gfs_stat_info_t * stat_info,
44  globus_i_gfs_data_callback_t cb,
45  void * user_arg);
46 
47 void
48 globus_i_gfs_data_request_recv(
49  globus_gfs_ipc_handle_t ipc_handle,
50  void * session_arg,
51  int id,
52  globus_gfs_transfer_info_t * recv_info,
53  globus_i_gfs_data_callback_t cb,
54  globus_i_gfs_data_event_callback_t event_cb,
55  void * user_arg);
56 
57 void
58 globus_i_gfs_data_request_send(
59  globus_gfs_ipc_handle_t ipc_handle,
60  void * session_arg,
61  int id,
62  globus_gfs_transfer_info_t * send_info,
63  globus_i_gfs_data_callback_t cb,
64  globus_i_gfs_data_event_callback_t event_cb,
65  void * user_arg);
66 
67 void
68 globus_i_gfs_data_request_list(
69  globus_gfs_ipc_handle_t ipc_handle,
70  void * session_arg,
71  int id,
72  globus_gfs_transfer_info_t * list_info,
73  globus_i_gfs_data_callback_t cb,
74  globus_i_gfs_data_event_callback_t event_cb,
75  void * user_arg);
76 
77 void
78 globus_i_gfs_data_request_command(
79  globus_gfs_ipc_handle_t ipc_handle,
80  void * session_arg,
81  int id,
82  globus_gfs_command_info_t * command_info,
83  globus_i_gfs_data_callback_t cb,
84  void * user_arg);
85 
86 void
87 globus_i_gfs_data_request_passive(
88  globus_gfs_ipc_handle_t ipc_handle,
89  void * session_arg,
90  int id,
91  globus_gfs_data_info_t * data_info,
92  globus_i_gfs_data_callback_t cb,
93  void * user_arg);
94 
95 void
96 globus_i_gfs_data_request_active(
97  globus_gfs_ipc_handle_t ipc_handle,
98  void * session_arg,
99  int id,
100  globus_gfs_data_info_t * data_info,
101  globus_i_gfs_data_callback_t cb,
102  void * user_arg);
103 
104 void
105 globus_i_gfs_data_request_handle_destroy(
106  globus_gfs_ipc_handle_t ipc_handle,
107  void * session_arg,
108  void * data_arg);
109 
110 void
111 globus_i_gfs_data_request_transfer_event(
112  globus_gfs_ipc_handle_t ipc_handle,
113  void * session_arg,
114  globus_gfs_event_info_t * event_info);
115 
116 void
117 globus_i_gfs_data_request_set_cred(
118  globus_gfs_ipc_handle_t ipc_handle,
119  void * session_arg,
120  gss_cred_id_t del_cred);
121 
122 void
123 globus_i_gfs_data_request_buffer_send(
124  globus_gfs_ipc_handle_t ipc_handle,
125  void * session_arg,
126  globus_byte_t * buffer,
127  int buffer_type,
128  globus_size_t buffer_len);
129 
130 void
131 globus_i_gfs_data_session_start(
132  globus_gfs_ipc_handle_t ipc_handle,
133  const gss_ctx_id_t context,
134  globus_gfs_session_info_t * session_info,
135  globus_i_gfs_data_callback_t cb,
136  void * user_arg);
137 
138 void
139 globus_i_gfs_data_session_stop(
140  globus_gfs_ipc_handle_t ipc_handle,
141  void * session_arg);
142 
144 globus_i_gfs_data_check_path(
145  void * session_arg,
146  char * in_path,
147  char ** ret_path,
148  int access_type,
149  globus_bool_t is_virtual);
150 
152 globus_i_gfs_data_virtualize_path(
153  void * session_arg,
154  char * in_string,
155  char ** ret_string);
156 
157 char *
158 globus_i_gfs_kv_getval(
159  char * kvstring,
160  const char * key,
161  globus_bool_t urldecode);
162 
163 char *
164 globus_i_gfs_kv_replaceval(
165  char * kvstring,
166  char * key,
167  char * new_val,
168  globus_bool_t encode);
169 
170 char *
171 globus_i_gfs_data_dsi_version();
172 
173 const char *
174 globus_i_gfs_data_dsi_checksum_support(
175  void * session_arg);
176 
177 #define GFS_L_READ 1<<0
178 #define GFS_L_WRITE 1<<1
179 #define GFS_L_LIST 1<<2
180 #define GFS_L_DIR 1<<3
181 #define GFS_L_NONE 1<<4
182 
183 #endif
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
size_t globus_size_t
Standard size of memory objectThe globus_size_t is the size of a memory object. It is identical to si...
Definition: globus_types.h:48
unsigned char globus_byte_t
Unsigned byte datatypeThis is used for byte-addressable arrays of arbitrary data which is not subject...
Definition: globus_types.h:85
uint32_t globus_result_t
Definition: globus_types.h:99