22 #ifndef GLOBUS_GASS_TRANSFER_H 23 #define GLOBUS_GASS_TRANSFER_H 31 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET 100 #define GLOBUS_GASS_TRANSFER_MODULE (&globus_i_gass_transfer_module) 102 #define _GTSL(s) globus_common_i18n_get_string( \ 103 GLOBUS_GASS_TRANSFER_MODULE, \ 133 typedef globus_object_t * globus_gass_transfer_requestattr_t;
137 typedef globus_object_t * globus_gass_transfer_listenerattr_t;
158 GLOBUS_GASS_TRANSFER_FILE_MODE_BINARY,
159 GLOBUS_GASS_TRANSFER_FILE_MODE_TEXT
160 } globus_gass_transfer_file_mode_t;
165 GLOBUS_GASS_TRANSFER_AUTHORIZE_SELF,
166 GLOBUS_GASS_TRANSFER_AUTHORIZE_HOST,
167 GLOBUS_GASS_TRANSFER_AUTHORIZE_SUBJECT,
168 GLOBUS_GASS_TRANSFER_AUTHORIZE_CALLBACK
169 } globus_gass_transfer_authorization_t;
204 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL 205 GLOBUS_GASS_TRANSFER_REQUEST_ACCEPTING,
210 GLOBUS_GASS_TRANSFER_REQUEST_ACTING,
211 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_PENDING,
212 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_FAILING,
214 GLOBUS_GASS_TRANSFER_REQUEST_FAILING,
217 GLOBUS_GASS_TRANSFER_REQUEST_USER_FAIL,
219 GLOBUS_GASS_TRANSFER_REQUEST_REFERRING,
221 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_REFERRING,
223 GLOBUS_GASS_TRANSFER_REQUEST_FINISHING,
226 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL1,
228 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL2,
230 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL3,
232 GLOBUS_GASS_TRANSFER_REQUEST_STARTING2,
233 GLOBUS_GASS_TRANSFER_REQUEST_STARTING3
239 GLOBUS_GASS_TRANSFER_LISTENER_INVALID,
240 GLOBUS_GASS_TRANSFER_LISTENER_STARTING,
241 GLOBUS_GASS_TRANSFER_LISTENER_LISTENING,
243 GLOBUS_GASS_TRANSFER_LISTENER_READY,
244 GLOBUS_GASS_TRANSFER_LISTENER_ACCEPTING,
245 GLOBUS_GASS_TRANSFER_LISTENER_CLOSING1,
247 GLOBUS_GASS_TRANSFER_LISTENER_CLOSING2,
249 GLOBUS_GASS_TRANSFER_LISTENER_CLOSED
250 } globus_gass_transfer_listener_status_t;
303 GLOBUS_GASS_TRANSFER_DEFAULT_BUFFER_LENGTH = 1024
313 #define GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN 0UL 322 #define GLOBUS_GASS_TRANSFER_TIMESTAMP_UNKNOWN 0UL 325 (* globus_gass_transfer_callback_t)(
352 globus_gass_transfer_requestattr_t * attr,
354 globus_gass_transfer_callback_t callback,
360 globus_gass_transfer_requestattr_t * attr,
366 globus_gass_transfer_requestattr_t * attr,
369 globus_gass_transfer_callback_t callback,
375 globus_gass_transfer_requestattr_t * attr,
382 globus_gass_transfer_requestattr_t * attr,
385 globus_gass_transfer_callback_t callback,
391 globus_gass_transfer_requestattr_t * attr,
433 globus_gass_transfer_listener_t listener);
444 globus_gass_transfer_listener_t listener);
448 globus_gass_transfer_listener_t * listener,
449 globus_gass_transfer_listenerattr_t * attr,
454 globus_gass_transfer_listener_t listener,
460 globus_gass_transfer_listener_t listener,
467 globus_gass_transfer_requestattr_t * attr,
468 globus_gass_transfer_listener_t listener,
469 globus_gass_transfer_callback_t callback,
491 globus_gass_transfer_listener_t listener);
495 globus_gass_transfer_listener_t listener);
499 globus_gass_transfer_listener_t listener,
500 void * user_pointer);
553 globus_gass_transfer_fail(
555 globus_gass_transfer_callback_t callback,
579 } globus_gass_transfer_referral_t;
584 globus_gass_transfer_referral_t * referral);
588 globus_gass_transfer_referral_t * referral,
593 globus_gass_transfer_referral_t * referral);
639 globus_gass_transfer_request_set_subject(
646 globus_gass_transfer_referral_t * referral);
676 void * user_pointer);
699 globus_gass_transfer_requestattr_t * attr,
704 globus_gass_transfer_requestattr_t * attr);
708 globus_gass_transfer_listenerattr_t * attr,
712 globus_gass_transfer_listenerattr_destroy(
713 globus_gass_transfer_listenerattr_t * attr);
718 globus_gass_transfer_requestattr_t * attr,
722 globus_gass_transfer_requestattr_get_proxy_url(
723 globus_gass_transfer_requestattr_t * attr,
728 globus_gass_transfer_requestattr_t * attr,
732 globus_gass_transfer_requestattr_get_block_size(
733 globus_gass_transfer_requestattr_t * attr,
738 globus_gass_transfer_requestattr_t * attr,
739 globus_gass_transfer_file_mode_t file_mode);
742 globus_gass_transfer_requestattr_get_file_mode(
743 globus_gass_transfer_requestattr_t * attr,
744 globus_gass_transfer_file_mode_t * file_mode);
748 globus_gass_transfer_requestattr_t * attr,
752 globus_gass_transfer_requestattr_get_connection_reuse(
753 globus_gass_transfer_requestattr_t * attr,
759 globus_gass_transfer_requestattr_t * attr,
763 globus_gass_transfer_requestattr_get_socket_sndbuf(
764 globus_gass_transfer_requestattr_t * attr,
769 globus_gass_transfer_requestattr_t * attr,
773 globus_gass_transfer_requestattr_get_socket_rcvbuf(
774 globus_gass_transfer_requestattr_t * attr,
779 globus_gass_transfer_requestattr_t * attr,
783 globus_gass_transfer_requestattr_get_socket_nodelay(
784 globus_gass_transfer_requestattr_t * attr,
790 globus_gass_transfer_requestattr_t * attr,
791 globus_gass_transfer_authorization_t mode,
795 globus_gass_transfer_secure_requestattr_get_authorization(
796 globus_gass_transfer_requestattr_t * attr,
797 globus_gass_transfer_authorization_t * mode,
808 globus_gass_transfer_listenerattr_t * attr,
812 globus_gass_transfer_listenerattr_get_backlog(
813 globus_gass_transfer_listenerattr_t * attr,
818 globus_gass_transfer_listenerattr_t * attr,
819 unsigned short port);
822 globus_gass_transfer_listenerattr_get_port(
823 globus_gass_transfer_listenerattr_t * attr,
824 unsigned short * port);
831 extern const globus_object_type_t
832 GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR_DEFINITION;
834 #define GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR \ 835 (&GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR_DEFINITION) 839 globus_object_t * obj,
842 globus_gass_transfer_file_mode_t file_mode,
845 extern const globus_object_type_t
846 GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR_DEFINITION;
848 #define GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR \ 849 (&GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR_DEFINITION) 853 globus_object_t * obj,
856 globus_gass_transfer_file_mode_t file_mode,
862 extern const globus_object_type_t
863 GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR_DEFINITION;
865 #define GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR \ 866 (&GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR_DEFINITION) 870 globus_object_t * obj,
873 globus_gass_transfer_file_mode_t file_mode,
878 globus_gass_transfer_authorization_t authorization,
882 extern const globus_object_type_t
883 GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR_DEFINITION;
885 #define GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR \ 886 (&GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR_DEFINITION) 890 globus_object_t * obj,
892 unsigned short port);
Definition: globus_gass_transfer.h:261
Definition: globus_gass_transfer.h:147
int globus_gass_transfer_receive_bytes(globus_gass_transfer_request_t request, globus_byte_t *bytes, globus_size_t max_length, globus_size_t wait_for_length, globus_gass_transfer_bytes_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_send_recv.c:279
Definition: globus_gass_transfer.h:195
int globus_gass_transfer_request_get_denial_reason(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:493
int globus_gass_transfer_requestattr_set_proxy_url(globus_gass_transfer_requestattr_t *attr, char *proxy_url)
Definition: globus_gass_transfer_attribute.c:310
int globus_gass_transfer_authorize(globus_gass_transfer_request_t request, globus_size_t total_length)
Definition: globus_gass_transfer_server.c:692
int globus_gass_transfer_register_listen(globus_gass_transfer_listener_t listener, globus_gass_transfer_listen_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_server.c:228
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:527
globus_size_t globus_gass_transfer_referral_get_count(globus_gass_transfer_referral_t *referral)
Definition: globus_gass_transfer_referral.c:45
void * globus_gass_transfer_request_get_user_pointer(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:77
globus_size_t globus_gass_transfer_request_get_length(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:322
int globus_gass_transfer_referral_destroy(globus_gass_transfer_referral_t *referral)
Definition: globus_gass_transfer_referral.c:119
Definition: globus_gass_transfer.h:275
char * globus_gass_transfer_request_get_denial_message(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:528
Definition: globus_gass_transfer.h:201
int globus_gass_transfer_requestattr_init(globus_gass_transfer_requestattr_t *attr, char *url_scheme)
Definition: globus_gass_transfer_attribute.c:219
int globus_gass_transfer_request_destroy(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:632
int globus_gass_transfer_requestattr_set_socket_sndbuf(globus_gass_transfer_requestattr_t *attr, int sndbuf)
Definition: globus_gass_transfer_attribute.c:697
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
int globus_gass_transfer_register_append(globus_gass_transfer_request_t *request, globus_gass_transfer_requestattr_t *attr, char *url, globus_size_t length, globus_gass_transfer_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_client.c:453
int globus_gass_transfer_requestattr_set_file_mode(globus_gass_transfer_requestattr_t *attr, globus_gass_transfer_file_mode_t file_mode)
Definition: globus_gass_transfer_attribute.c:480
Definition: globus_gass_transfer.h:198
int globus_gass_transfer_request_get_referral(globus_gass_transfer_request_t request, globus_gass_transfer_referral_t *referral)
Definition: globus_gass_transfer_request.c:226
Definition: globus_gass_transfer.h:289
Definition: globus_gass_transfer.h:281
Definition: globus_gass_transfer.h:285
Definition: globus_gass_transfer.h:291
int globus_gass_transfer_listenerattr_init(globus_gass_transfer_listenerattr_t *attr, char *url_scheme)
Definition: globus_gass_transfer_attribute.c:1136
globus_gass_transfer_request_type_t
Definition: globus_gass_transfer.h:144
int globus_handle_t
Handle abstract type.
Definition: globus_handle_table.h:55
char * globus_gass_transfer_request_get_url(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:287
int globus_gass_transfer_requestattr_destroy(globus_gass_transfer_requestattr_t *attr)
Definition: globus_gass_transfer_attribute.c:267
int globus_gass_transfer_put(globus_gass_transfer_request_t *request, globus_gass_transfer_requestattr_t *attr, char *url, globus_size_t length)
Definition: globus_gass_transfer_client.c:361
Definition: globus_gass_transfer.h:267
globus_object_t * globus_gass_transfer_secure_requestattr_initialize(globus_object_t *obj, char *proxy_url, globus_size_t block_size, globus_gass_transfer_file_mode_t file_mode, globus_bool_t connection_reuse, int sndbuf, int rcvbuf, globus_bool_t nodelay, globus_gass_transfer_authorization_t authorization, char *subject)
Definition: globus_gass_transfer_attribute.c:931
int globus_gass_transfer_request_set_user_pointer(globus_gass_transfer_request_t request, void *user_pointer)
Definition: globus_gass_transfer_request.c:117
Definition: globus_gass_transfer.h:283
void * globus_gass_transfer_listener_get_user_pointer(globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer_server.c:431
int globus_gass_transfer_send_bytes(globus_gass_transfer_request_t request, globus_byte_t *bytes, globus_size_t send_length, globus_bool_t last_data, globus_gass_transfer_bytes_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_send_recv.c:107
int globus_gass_transfer_refer(globus_gass_transfer_request_t request, char **urls, globus_size_t num_urls)
Definition: globus_gass_transfer_server.c:561
Definition: globus_gass_transfer.h:279
int globus_gass_transfer_request_set_type(globus_gass_transfer_request_t request, globus_gass_transfer_request_type_t type)
Definition: globus_gass_transfer_request.c:363
Definition: globus_gass_transfer.h:265
Definition: globus_gass_transfer.h:271
Definition: globus_gass_transfer.h:277
int globus_gass_transfer_close_listener(globus_gass_transfer_listener_t listener, globus_gass_transfer_close_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_server.c:168
Definition: globus_gass_transfer.h:273
int globus_gass_transfer_listenerattr_set_backlog(globus_gass_transfer_listenerattr_t *attr, int backlog)
Definition: globus_gass_transfer_attribute.c:1190
Definition: globus_gass_transfer.h:203
int globus_gass_transfer_listener_set_user_pointer(globus_gass_transfer_listener_t listener, void *user_pointer)
Definition: globus_gass_transfer_server.c:470
Definition: globus_gass_transfer.h:190
int globus_gass_transfer_get(globus_gass_transfer_request_t *request, globus_gass_transfer_requestattr_t *attr, char *url)
Definition: globus_gass_transfer_client.c:177
int globus_gass_transfer_requestattr_set_socket_nodelay(globus_gass_transfer_requestattr_t *attr, globus_bool_t nodelay)
Definition: globus_gass_transfer_attribute.c:855
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
int globus_gass_transfer_register_accept(globus_gass_transfer_request_t *request, globus_gass_transfer_requestattr_t *attr, globus_gass_transfer_listener_t listener, globus_gass_transfer_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_server.c:329
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
Definition: globus_gass_transfer.h:191
Definition: globus_gass_transfer.h:149
globus_gass_transfer_request_status_t globus_gass_transfer_request_get_status(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:155
int globus_gass_transfer_requestattr_set_socket_rcvbuf(globus_gass_transfer_requestattr_t *attr, int rcvbuf)
Definition: globus_gass_transfer_attribute.c:776
Definition: globus_gass_transfer.h:153
int globus_gass_transfer_create_listener(globus_gass_transfer_listener_t *listener, globus_gass_transfer_listenerattr_t *attr, char *scheme)
Definition: globus_gass_transfer_server.c:69
int globus_gass_transfer_secure_requestattr_set_authorization(globus_gass_transfer_requestattr_t *attr, globus_gass_transfer_authorization_t mode, char *subject)
Definition: globus_gass_transfer_attribute.c:1001
Headers common to all of Globus.
int globus_gass_transfer_listenerattr_set_port(globus_gass_transfer_listenerattr_t *attr, unsigned short port)
Definition: globus_gass_transfer_attribute.c:1268
Definition: globus_gass_transfer.h:287
globus_gass_transfer_request_type_t globus_gass_transfer_request_get_type(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:43
Definition: globus_gass_transfer.h:263
int globus_gass_transfer_register_put(globus_gass_transfer_request_t *request, globus_gass_transfer_requestattr_t *attr, char *url, globus_size_t length, globus_gass_transfer_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_client.c:266
int globus_gass_transfer_register_get(globus_gass_transfer_request_t *request, globus_gass_transfer_requestattr_t *attr, char *url, globus_gass_transfer_callback_t callback, void *user_arg)
Definition: globus_gass_transfer_client.c:89
void(* globus_gass_transfer_close_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:431
globus_gass_transfer_request_status_t
Definition: globus_gass_transfer.h:188
void(* globus_gass_transfer_listen_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:442
Definition: globus_gass_transfer.h:259
char * globus_gass_transfer_listener_get_base_url(globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer_server.c:508
char * globus_gass_transfer_request_get_subject(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:562
char * globus_gass_transfer_referral_get_url(globus_gass_transfer_referral_t *referral, globus_size_t index)
Definition: globus_gass_transfer_referral.c:80
globus_object_t * globus_gass_transfer_requestattr_initialize(globus_object_t *obj, char *proxy_url, globus_size_t block_size, globus_gass_transfer_file_mode_t file_mode, globus_bool_t connection_reuse)
Definition: globus_gass_transfer_attribute.c:157
int globus_gass_transfer_deny(globus_gass_transfer_request_t request, int reason, char *message)
Definition: globus_gass_transfer_server.c:805
globus_object_t * globus_gass_transfer_listenerattr_initialize(globus_object_t *obj, int backlog, unsigned short port)
Definition: globus_gass_transfer_attribute.c:1086
int globus_gass_transfer_requestattr_set_block_size(globus_gass_transfer_requestattr_t *attr, globus_size_t block_size)
Definition: globus_gass_transfer_attribute.c:401
int globus_gass_transfer_request_set_url(globus_gass_transfer_request_t request, char *url)
Definition: globus_gass_transfer_request.c:412
Definition: globus_gass_transfer.h:194
Definition: globus_gass_transfer.h:151
globus_object_t * globus_gass_transfer_socket_requestattr_initialize(globus_object_t *obj, char *proxy_url, globus_size_t block_size, globus_gass_transfer_file_mode_t file_mode, globus_bool_t connection_reuse, int sndbuf, int rcvbuf, globus_bool_t nodelay)
Definition: globus_gass_transfer_attribute.c:633
Definition: globus_gass_transfer.h:269
Module Descriptor.
Definition: globus_module.h:69
int globus_gass_transfer_requestattr_set_connection_reuse(globus_gass_transfer_requestattr_t *attr, globus_bool_t connection_reuse)
Definition: globus_gass_transfer_attribute.c:559
int globus_gass_transfer_append(globus_gass_transfer_request_t *request, globus_gass_transfer_requestattr_t *attr, char *url, globus_size_t length)
Definition: globus_gass_transfer_client.c:549