17 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
26 #ifndef GLOBUS_I_GASS_TRANSFER_H
27 #define GLOBUS_I_GASS_TRANSFER_H
31 #include "globus_i_gass_transfer_keyvalue.h"
37 extern globus_hashtable_t globus_i_gass_transfer_protocols;
46 #define GLOBUS_I_GASS_TRANSFER_HTTP_MODULE (&globus_i_gass_transfer_http_module)
48 #define GLOBUS_I_GASS_TRANSFER_FTP_MODULE (&globus_i_gass_transfer_ftp_module)
51 globus_i_gass_transfer_http_descriptor;
53 globus_i_gass_transfer_https_descriptor;
55 globus_i_gass_transfer_ftp_descriptor;
57 globus_i_gass_transfer_gsiftp_descriptor;
77 globus_gass_transfer_callback_t callback;
80 globus_gass_transfer_callback_t fail_callback;
81 void * fail_callback_arg;
91 char * denial_message;
93 globus_object_t * attr;
98 } globus_gass_transfer_request_struct_t;
107 globus_gass_transfer_listener_status_t status;
112 void * listen_callback_arg;
115 void * close_callback_arg;
117 } globus_gass_transfer_listener_struct_t;
136 } globus_gass_transfer_pending_t;
140 globus_i_gass_transfer_request_init(
142 globus_gass_transfer_requestattr_t * attr,
145 globus_gass_transfer_callback_t callback,
149 globus_i_gass_transfer_request_destroy(
159 globus_i_gass_transfer_listener_destroy(
160 globus_gass_transfer_listener_t listener);
164 globus_i_gass_transfer_client_request(
169 (* globus_gass_transfer_dispatch_func_t) (
173 globus_i_gass_transfer_send_dispatcher(
177 globus_i_gass_transfer_recv_dispatcher(
181 globus_i_gass_transfer_fail(
183 globus_gass_transfer_request_struct_t * req,
184 globus_gass_transfer_callback_t callback,
185 void * callback_arg);
190 #if defined(GLOBUS_DEBUG_GASS_TRANSFER)
191 #define globus_i_gass_transfer_lock() \
192 thread_print(_GTSL("locking mutex at %s:%d\n"), __FILE__, __LINE__), \
193 globus_mutex_lock(&globus_i_gass_transfer_mutex)
194 #define globus_i_gass_transfer_unlock() \
195 thread_print(_GTSL("unlocking mutex at %s:%d\n"), __FILE__, __LINE__), \
196 globus_mutex_unlock(&globus_i_gass_transfer_mutex)
198 #define globus_i_gass_transfer_lock() \
199 globus_mutex_lock(&globus_i_gass_transfer_mutex)
200 #define globus_i_gass_transfer_unlock() \
201 globus_mutex_unlock(&globus_i_gass_transfer_mutex)
205 globus_i_gass_transfer_close_listener(
206 globus_gass_transfer_listener_t listener,
207 globus_gass_transfer_listener_struct_t * l,
212 globus_i_gass_transfer_deactivate_callback(
void globus_gass_transfer_request_set_length(globus_gass_transfer_request_t request, globus_size_t length)
Definition: globus_gass_transfer_request.c:455
struct globus_l_handle_table_s * globus_handle_table_t
Handle table abstract type.
Definition: globus_handle_table.h:51
void(* globus_gass_transfer_listen_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:445
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
Protocol module descriptor structure.
Definition: globus_gass_transfer_proto.h:452
struct globus_fifo_s * globus_fifo_t
Definition: globus_fifo.h:48
globus_gass_transfer_request_type_t
Definition: globus_gass_transfer.h:145
void(* globus_gass_transfer_bytes_callback_t)(void *arg, globus_gass_transfer_request_t request, globus_byte_t *bytes, globus_size_t length, globus_bool_t last_data)
Definition: globus_gass_transfer.h:531
List data type.
Definition: globus_list.h:44
Mutex.
Definition: globus_thread.h:107
Condition variable.
Definition: globus_thread.h:124
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
Protocol module listener handling structure.
Definition: globus_gass_transfer_proto.h:432
GASS Transfer Protocol Interface.
globus_gass_transfer_request_status_t
Definition: globus_gass_transfer.h:189
void(* globus_gass_transfer_close_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:434
Protocol module request handling structure.
Definition: globus_gass_transfer_proto.h:386
Module Descriptor.
Definition: globus_module.h:71