7 #ifndef GLOBUS_GASS_TRANSFER_H
8 #define GLOBUS_GASS_TRANSFER_H
10 #include "globus_common.h"
16 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
79 extern globus_module_descriptor_t globus_i_gass_transfer_module;
85 #define GLOBUS_GASS_TRANSFER_MODULE (&globus_i_gass_transfer_module)
87 #define _GTSL(s) globus_common_i18n_get_string( \
88 GLOBUS_GASS_TRANSFER_MODULE, \
113 typedef globus_handle_t globus_gass_transfer_listener_t;
118 typedef globus_object_t * globus_gass_transfer_requestattr_t;
122 typedef globus_object_t * globus_gass_transfer_listenerattr_t;
143 GLOBUS_GASS_TRANSFER_FILE_MODE_BINARY,
144 GLOBUS_GASS_TRANSFER_FILE_MODE_TEXT
145 } globus_gass_transfer_file_mode_t;
150 GLOBUS_GASS_TRANSFER_AUTHORIZE_SELF,
151 GLOBUS_GASS_TRANSFER_AUTHORIZE_HOST,
152 GLOBUS_GASS_TRANSFER_AUTHORIZE_SUBJECT,
153 GLOBUS_GASS_TRANSFER_AUTHORIZE_CALLBACK
154 } globus_gass_transfer_authorization_t;
189 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
190 GLOBUS_GASS_TRANSFER_REQUEST_ACCEPTING,
195 GLOBUS_GASS_TRANSFER_REQUEST_ACTING,
196 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_PENDING,
197 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_FAILING,
199 GLOBUS_GASS_TRANSFER_REQUEST_FAILING,
202 GLOBUS_GASS_TRANSFER_REQUEST_USER_FAIL,
204 GLOBUS_GASS_TRANSFER_REQUEST_REFERRING,
206 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_REFERRING,
208 GLOBUS_GASS_TRANSFER_REQUEST_FINISHING,
211 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL1,
213 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL2,
215 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL3,
217 GLOBUS_GASS_TRANSFER_REQUEST_STARTING2,
218 GLOBUS_GASS_TRANSFER_REQUEST_STARTING3
224 GLOBUS_GASS_TRANSFER_LISTENER_INVALID,
225 GLOBUS_GASS_TRANSFER_LISTENER_STARTING,
226 GLOBUS_GASS_TRANSFER_LISTENER_LISTENING,
228 GLOBUS_GASS_TRANSFER_LISTENER_READY,
229 GLOBUS_GASS_TRANSFER_LISTENER_ACCEPTING,
230 GLOBUS_GASS_TRANSFER_LISTENER_CLOSING1,
232 GLOBUS_GASS_TRANSFER_LISTENER_CLOSING2,
234 GLOBUS_GASS_TRANSFER_LISTENER_CLOSED
235 } globus_gass_transfer_listener_status_t;
288 GLOBUS_GASS_TRANSFER_DEFAULT_BUFFER_LENGTH = 1024
298 #define GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN 0UL
307 #define GLOBUS_GASS_TRANSFER_TIMESTAMP_UNKNOWN 0UL
310 (* globus_gass_transfer_callback_t)(
312 globus_gass_transfer_request_t request);
336 globus_gass_transfer_request_t * request,
337 globus_gass_transfer_requestattr_t * attr,
339 globus_gass_transfer_callback_t callback,
344 globus_gass_transfer_request_t * request,
345 globus_gass_transfer_requestattr_t * attr,
350 globus_gass_transfer_request_t * request,
351 globus_gass_transfer_requestattr_t * attr,
353 globus_size_t length,
354 globus_gass_transfer_callback_t callback,
359 globus_gass_transfer_request_t * request,
360 globus_gass_transfer_requestattr_t * attr,
362 globus_size_t length);
366 globus_gass_transfer_request_t * request,
367 globus_gass_transfer_requestattr_t * attr,
369 globus_size_t length,
370 globus_gass_transfer_callback_t callback,
375 globus_gass_transfer_request_t * request,
376 globus_gass_transfer_requestattr_t * attr,
378 globus_size_t length);
418 globus_gass_transfer_listener_t listener);
429 globus_gass_transfer_listener_t listener);
433 globus_gass_transfer_listener_t * listener,
434 globus_gass_transfer_listenerattr_t * attr,
439 globus_gass_transfer_listener_t listener,
445 globus_gass_transfer_listener_t listener,
451 globus_gass_transfer_request_t * request,
452 globus_gass_transfer_requestattr_t * attr,
453 globus_gass_transfer_listener_t listener,
454 globus_gass_transfer_callback_t callback,
459 globus_gass_transfer_request_t request,
461 globus_size_t num_urls);
465 globus_gass_transfer_request_t request,
466 globus_size_t total_length);
470 globus_gass_transfer_request_t request,
476 globus_gass_transfer_listener_t listener);
480 globus_gass_transfer_listener_t listener);
484 globus_gass_transfer_listener_t listener,
485 void * user_pointer);
514 globus_gass_transfer_request_t request,
515 globus_byte_t * bytes,
516 globus_size_t length,
517 globus_bool_t last_data);
521 globus_gass_transfer_request_t request,
522 globus_byte_t * bytes,
523 globus_size_t send_length,
524 globus_bool_t last_data,
530 globus_gass_transfer_request_t request,
531 globus_byte_t * bytes,
532 globus_size_t max_length,
533 globus_size_t wait_for_length,
538 globus_gass_transfer_fail(
539 globus_gass_transfer_request_t request,
540 globus_gass_transfer_callback_t callback,
564 } globus_gass_transfer_referral_t;
569 globus_gass_transfer_referral_t * referral);
573 globus_gass_transfer_referral_t * referral,
574 globus_size_t index);
578 globus_gass_transfer_referral_t * referral);
613 globus_gass_transfer_request_t request);
617 globus_gass_transfer_request_t request);
621 globus_gass_transfer_request_t request);
624 globus_gass_transfer_request_set_subject(
625 globus_gass_transfer_request_t request,
630 globus_gass_transfer_request_t request,
631 globus_gass_transfer_referral_t * referral);
635 globus_gass_transfer_request_t request);
639 globus_gass_transfer_request_t request,
644 globus_gass_transfer_request_t request);
648 globus_gass_transfer_request_t request);
652 globus_gass_transfer_request_t request);
656 globus_gass_transfer_request_t request);
660 globus_gass_transfer_request_t request,
661 void * user_pointer);
665 globus_gass_transfer_request_t request);
669 globus_gass_transfer_request_t request,
684 globus_gass_transfer_requestattr_t * attr,
689 globus_gass_transfer_requestattr_t * attr);
693 globus_gass_transfer_listenerattr_t * attr,
697 globus_gass_transfer_listenerattr_destroy(
698 globus_gass_transfer_listenerattr_t * attr);
703 globus_gass_transfer_requestattr_t * attr,
707 globus_gass_transfer_requestattr_get_proxy_url(
708 globus_gass_transfer_requestattr_t * attr,
713 globus_gass_transfer_requestattr_t * attr,
714 globus_size_t block_size);
717 globus_gass_transfer_requestattr_get_block_size(
718 globus_gass_transfer_requestattr_t * attr,
719 globus_size_t * block_size);
723 globus_gass_transfer_requestattr_t * attr,
724 globus_gass_transfer_file_mode_t file_mode);
727 globus_gass_transfer_requestattr_get_file_mode(
728 globus_gass_transfer_requestattr_t * attr,
729 globus_gass_transfer_file_mode_t * file_mode);
733 globus_gass_transfer_requestattr_t * attr,
734 globus_bool_t connection_reuse);
737 globus_gass_transfer_requestattr_get_connection_reuse(
738 globus_gass_transfer_requestattr_t * attr,
739 globus_bool_t * connection_reuse);
744 globus_gass_transfer_requestattr_t * attr,
748 globus_gass_transfer_requestattr_get_socket_sndbuf(
749 globus_gass_transfer_requestattr_t * attr,
754 globus_gass_transfer_requestattr_t * attr,
758 globus_gass_transfer_requestattr_get_socket_rcvbuf(
759 globus_gass_transfer_requestattr_t * attr,
764 globus_gass_transfer_requestattr_t * attr,
765 globus_bool_t nodelay);
768 globus_gass_transfer_requestattr_get_socket_nodelay(
769 globus_gass_transfer_requestattr_t * attr,
770 globus_bool_t * nodelay);
775 globus_gass_transfer_requestattr_t * attr,
776 globus_gass_transfer_authorization_t mode,
780 globus_gass_transfer_secure_requestattr_get_authorization(
781 globus_gass_transfer_requestattr_t * attr,
782 globus_gass_transfer_authorization_t * mode,
793 globus_gass_transfer_listenerattr_t * attr,
797 globus_gass_transfer_listenerattr_get_backlog(
798 globus_gass_transfer_listenerattr_t * attr,
803 globus_gass_transfer_listenerattr_t * attr,
804 unsigned short port);
807 globus_gass_transfer_listenerattr_get_port(
808 globus_gass_transfer_listenerattr_t * attr,
809 unsigned short * port);
816 extern const globus_object_type_t
817 GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR_DEFINITION;
819 #define GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR \
820 (&GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR_DEFINITION)
824 globus_object_t * obj,
826 globus_size_t block_size,
827 globus_gass_transfer_file_mode_t file_mode,
828 globus_bool_t connection_reuse);
830 extern const globus_object_type_t
831 GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR_DEFINITION;
833 #define GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR \
834 (&GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR_DEFINITION)
838 globus_object_t * obj,
840 globus_size_t block_size,
841 globus_gass_transfer_file_mode_t file_mode,
842 globus_bool_t connection_reuse,
845 globus_bool_t nodelay);
847 extern const globus_object_type_t
848 GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR_DEFINITION;
850 #define GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR \
851 (&GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR_DEFINITION)
855 globus_object_t * obj,
857 globus_size_t block_size,
858 globus_gass_transfer_file_mode_t file_mode,
859 globus_bool_t connection_reuse,
862 globus_bool_t nodelay,
863 globus_gass_transfer_authorization_t authorization,
867 extern const globus_object_type_t
868 GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR_DEFINITION;
870 #define GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR \
871 (&GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR_DEFINITION)
875 globus_object_t * obj,
877 unsigned short port);
Definition: globus_gass_transfer.h:268
Definition: globus_gass_transfer.h:132
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:264
Definition: globus_gass_transfer.h:180
int globus_gass_transfer_request_get_denial_reason(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:478
int globus_gass_transfer_requestattr_set_proxy_url(globus_gass_transfer_requestattr_t *attr, char *proxy_url)
Definition: globus_gass_transfer_attribute.c:295
int globus_gass_transfer_authorize(globus_gass_transfer_request_t request, globus_size_t total_length)
Definition: globus_gass_transfer_server.c:677
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:213
globus_size_t globus_gass_transfer_referral_get_count(globus_gass_transfer_referral_t *referral)
Definition: globus_gass_transfer_referral.c:30
Definition: globus_gass_transfer.h:252
void * globus_gass_transfer_request_get_user_pointer(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:62
globus_size_t globus_gass_transfer_request_get_length(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:307
int globus_gass_transfer_referral_destroy(globus_gass_transfer_referral_t *referral)
Definition: globus_gass_transfer_referral.c:104
char * globus_gass_transfer_request_get_denial_message(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:513
Definition: globus_gass_transfer.h:186
int globus_gass_transfer_requestattr_init(globus_gass_transfer_requestattr_t *attr, char *url_scheme)
Definition: globus_gass_transfer_attribute.c:204
void(* globus_gass_transfer_listen_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:427
int globus_gass_transfer_request_destroy(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:617
int globus_gass_transfer_requestattr_set_socket_sndbuf(globus_gass_transfer_requestattr_t *attr, int sndbuf)
Definition: globus_gass_transfer_attribute.c:682
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:438
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:465
Definition: globus_gass_transfer.h:183
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:211
Definition: globus_gass_transfer.h:276
int globus_gass_transfer_listenerattr_init(globus_gass_transfer_listenerattr_t *attr, char *url_scheme)
Definition: globus_gass_transfer_attribute.c:1121
globus_gass_transfer_request_type_t
Definition: globus_gass_transfer.h:129
Definition: globus_gass_transfer.h:254
char * globus_gass_transfer_request_get_url(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:272
Definition: globus_gass_transfer.h:260
int globus_gass_transfer_requestattr_destroy(globus_gass_transfer_requestattr_t *attr)
Definition: globus_gass_transfer_attribute.c:252
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:512
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:346
Definition: globus_gass_transfer.h:270
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:916
int globus_gass_transfer_request_set_user_pointer(globus_gass_transfer_request_t request, void *user_pointer)
Definition: globus_gass_transfer_request.c:102
void * globus_gass_transfer_listener_get_user_pointer(globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer_server.c:416
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:92
int globus_gass_transfer_refer(globus_gass_transfer_request_t request, char **urls, globus_size_t num_urls)
Definition: globus_gass_transfer_server.c:546
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:348
Definition: globus_gass_transfer.h:256
Definition: globus_gass_transfer.h:246
Definition: globus_gass_transfer.h:244
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:153
int globus_gass_transfer_listenerattr_set_backlog(globus_gass_transfer_listenerattr_t *attr, int backlog)
Definition: globus_gass_transfer_attribute.c:1175
Definition: globus_gass_transfer.h:188
int globus_gass_transfer_listener_set_user_pointer(globus_gass_transfer_listener_t listener, void *user_pointer)
Definition: globus_gass_transfer_server.c:455
Definition: globus_gass_transfer.h:175
Definition: globus_gass_transfer.h:258
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:162
int globus_gass_transfer_requestattr_set_socket_nodelay(globus_gass_transfer_requestattr_t *attr, globus_bool_t nodelay)
Definition: globus_gass_transfer_attribute.c:840
Definition: globus_gass_transfer.h:248
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:314
Definition: globus_gass_transfer.h:176
Definition: globus_gass_transfer.h:134
globus_gass_transfer_request_status_t globus_gass_transfer_request_get_status(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:140
int globus_gass_transfer_requestattr_set_socket_rcvbuf(globus_gass_transfer_requestattr_t *attr, int rcvbuf)
Definition: globus_gass_transfer_attribute.c:761
Definition: globus_gass_transfer.h:138
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:54
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:986
int globus_gass_transfer_listenerattr_set_port(globus_gass_transfer_listenerattr_t *attr, unsigned short port)
Definition: globus_gass_transfer_attribute.c:1253
globus_gass_transfer_request_type_t globus_gass_transfer_request_get_type(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:28
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:251
Definition: globus_gass_transfer.h:272
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:74
globus_gass_transfer_request_status_t
Definition: globus_gass_transfer.h:173
Definition: globus_gass_transfer.h:262
Definition: globus_gass_transfer.h:250
char * globus_gass_transfer_listener_get_base_url(globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer_server.c:493
Definition: globus_gass_transfer.h:264
char * globus_gass_transfer_request_get_subject(globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_request.c:547
char * globus_gass_transfer_referral_get_url(globus_gass_transfer_referral_t *referral, globus_size_t index)
Definition: globus_gass_transfer_referral.c:65
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:142
int globus_gass_transfer_deny(globus_gass_transfer_request_t request, int reason, char *message)
Definition: globus_gass_transfer_server.c:790
globus_object_t * globus_gass_transfer_listenerattr_initialize(globus_object_t *obj, int backlog, unsigned short port)
Definition: globus_gass_transfer_attribute.c:1071
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:386
void(* globus_gass_transfer_close_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:416
int globus_gass_transfer_request_set_url(globus_gass_transfer_request_t request, char *url)
Definition: globus_gass_transfer_request.c:397
Definition: globus_gass_transfer.h:179
Definition: globus_gass_transfer.h:266
Definition: globus_gass_transfer.h:274
Definition: globus_gass_transfer.h:136
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:618
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:544
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:534