22 #ifndef GLOBUS_GASS_TRANSFER_H
23 #define GLOBUS_GASS_TRANSFER_H
31 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
101 #define GLOBUS_GASS_TRANSFER_MODULE (&globus_i_gass_transfer_module)
103 #define _GTSL(s) globus_common_i18n_get_string( \
104 GLOBUS_GASS_TRANSFER_MODULE, \
134 typedef globus_object_t * globus_gass_transfer_requestattr_t;
138 typedef globus_object_t * globus_gass_transfer_listenerattr_t;
159 GLOBUS_GASS_TRANSFER_FILE_MODE_BINARY,
160 GLOBUS_GASS_TRANSFER_FILE_MODE_TEXT
161 } globus_gass_transfer_file_mode_t;
166 GLOBUS_GASS_TRANSFER_AUTHORIZE_SELF,
167 GLOBUS_GASS_TRANSFER_AUTHORIZE_HOST,
168 GLOBUS_GASS_TRANSFER_AUTHORIZE_SUBJECT,
169 GLOBUS_GASS_TRANSFER_AUTHORIZE_CALLBACK
170 } globus_gass_transfer_authorization_t;
205 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
206 GLOBUS_GASS_TRANSFER_REQUEST_ACCEPTING,
211 GLOBUS_GASS_TRANSFER_REQUEST_ACTING,
212 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_PENDING,
213 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_FAILING,
215 GLOBUS_GASS_TRANSFER_REQUEST_FAILING,
218 GLOBUS_GASS_TRANSFER_REQUEST_USER_FAIL,
220 GLOBUS_GASS_TRANSFER_REQUEST_REFERRING,
222 GLOBUS_GASS_TRANSFER_REQUEST_ACTING_TO_REFERRING,
224 GLOBUS_GASS_TRANSFER_REQUEST_FINISHING,
227 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL1,
229 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL2,
231 GLOBUS_GASS_TRANSFER_REQUEST_SERVER_FAIL3,
233 GLOBUS_GASS_TRANSFER_REQUEST_STARTING2,
234 GLOBUS_GASS_TRANSFER_REQUEST_STARTING3
240 GLOBUS_GASS_TRANSFER_LISTENER_INVALID,
241 GLOBUS_GASS_TRANSFER_LISTENER_STARTING,
242 GLOBUS_GASS_TRANSFER_LISTENER_LISTENING,
244 GLOBUS_GASS_TRANSFER_LISTENER_READY,
245 GLOBUS_GASS_TRANSFER_LISTENER_ACCEPTING,
246 GLOBUS_GASS_TRANSFER_LISTENER_CLOSING1,
248 GLOBUS_GASS_TRANSFER_LISTENER_CLOSING2,
250 GLOBUS_GASS_TRANSFER_LISTENER_CLOSED
251 } globus_gass_transfer_listener_status_t;
304 GLOBUS_GASS_TRANSFER_DEFAULT_BUFFER_LENGTH = 1024
314 #define GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN 0UL
323 #define GLOBUS_GASS_TRANSFER_TIMESTAMP_UNKNOWN 0UL
326 (* globus_gass_transfer_callback_t)(
328 globus_gass_transfer_request_t request);
353 globus_gass_transfer_request_t * request,
354 globus_gass_transfer_requestattr_t * attr,
356 globus_gass_transfer_callback_t callback,
361 globus_gass_transfer_request_t * request,
362 globus_gass_transfer_requestattr_t * attr,
367 globus_gass_transfer_request_t * request,
368 globus_gass_transfer_requestattr_t * attr,
371 globus_gass_transfer_callback_t callback,
376 globus_gass_transfer_request_t * request,
377 globus_gass_transfer_requestattr_t * attr,
383 globus_gass_transfer_request_t * request,
384 globus_gass_transfer_requestattr_t * attr,
387 globus_gass_transfer_callback_t callback,
392 globus_gass_transfer_request_t * request,
393 globus_gass_transfer_requestattr_t * attr,
436 globus_gass_transfer_listener_t listener);
447 globus_gass_transfer_listener_t listener);
451 globus_gass_transfer_listener_t * listener,
452 globus_gass_transfer_listenerattr_t * attr,
457 globus_gass_transfer_listener_t listener,
463 globus_gass_transfer_listener_t listener,
469 globus_gass_transfer_request_t * request,
470 globus_gass_transfer_requestattr_t * attr,
471 globus_gass_transfer_listener_t listener,
472 globus_gass_transfer_callback_t callback,
477 globus_gass_transfer_request_t request,
483 globus_gass_transfer_request_t request,
488 globus_gass_transfer_request_t request,
494 globus_gass_transfer_listener_t listener);
498 globus_gass_transfer_listener_t listener);
502 globus_gass_transfer_listener_t listener,
503 void * user_pointer);
533 globus_gass_transfer_request_t request,
540 globus_gass_transfer_request_t request,
549 globus_gass_transfer_request_t request,
557 globus_gass_transfer_fail(
558 globus_gass_transfer_request_t request,
559 globus_gass_transfer_callback_t callback,
584 } globus_gass_transfer_referral_t;
589 globus_gass_transfer_referral_t * referral);
593 globus_gass_transfer_referral_t * referral,
598 globus_gass_transfer_referral_t * referral);
634 globus_gass_transfer_request_t request);
638 globus_gass_transfer_request_t request);
642 globus_gass_transfer_request_t request);
645 globus_gass_transfer_request_set_subject(
646 globus_gass_transfer_request_t request,
651 globus_gass_transfer_request_t request,
652 globus_gass_transfer_referral_t * referral);
656 globus_gass_transfer_request_t request);
660 globus_gass_transfer_request_t request,
665 globus_gass_transfer_request_t request);
669 globus_gass_transfer_request_t request);
673 globus_gass_transfer_request_t request);
677 globus_gass_transfer_request_t request);
681 globus_gass_transfer_request_t request,
682 void * user_pointer);
686 globus_gass_transfer_request_t request);
690 globus_gass_transfer_request_t request,
706 globus_gass_transfer_requestattr_t * attr,
711 globus_gass_transfer_requestattr_t * attr);
715 globus_gass_transfer_listenerattr_t * attr,
719 globus_gass_transfer_listenerattr_destroy(
720 globus_gass_transfer_listenerattr_t * attr);
725 globus_gass_transfer_requestattr_t * attr,
729 globus_gass_transfer_requestattr_get_proxy_url(
730 globus_gass_transfer_requestattr_t * attr,
735 globus_gass_transfer_requestattr_t * attr,
739 globus_gass_transfer_requestattr_get_block_size(
740 globus_gass_transfer_requestattr_t * attr,
745 globus_gass_transfer_requestattr_t * attr,
746 globus_gass_transfer_file_mode_t file_mode);
749 globus_gass_transfer_requestattr_get_file_mode(
750 globus_gass_transfer_requestattr_t * attr,
751 globus_gass_transfer_file_mode_t * file_mode);
755 globus_gass_transfer_requestattr_t * attr,
759 globus_gass_transfer_requestattr_get_connection_reuse(
760 globus_gass_transfer_requestattr_t * attr,
766 globus_gass_transfer_requestattr_t * attr,
770 globus_gass_transfer_requestattr_get_socket_sndbuf(
771 globus_gass_transfer_requestattr_t * attr,
776 globus_gass_transfer_requestattr_t * attr,
780 globus_gass_transfer_requestattr_get_socket_rcvbuf(
781 globus_gass_transfer_requestattr_t * attr,
786 globus_gass_transfer_requestattr_t * attr,
790 globus_gass_transfer_requestattr_get_socket_nodelay(
791 globus_gass_transfer_requestattr_t * attr,
797 globus_gass_transfer_requestattr_t * attr,
798 globus_gass_transfer_authorization_t mode,
802 globus_gass_transfer_secure_requestattr_get_authorization(
803 globus_gass_transfer_requestattr_t * attr,
804 globus_gass_transfer_authorization_t * mode,
816 globus_gass_transfer_listenerattr_t * attr,
820 globus_gass_transfer_listenerattr_get_backlog(
821 globus_gass_transfer_listenerattr_t * attr,
826 globus_gass_transfer_listenerattr_t * attr,
827 unsigned short port);
830 globus_gass_transfer_listenerattr_get_port(
831 globus_gass_transfer_listenerattr_t * attr,
832 unsigned short * port);
840 extern const globus_object_type_t
841 GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR_DEFINITION;
843 #define GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR \
844 (&GLOBUS_GASS_OBJECT_TYPE_REQUESTATTR_DEFINITION)
848 globus_object_t * obj,
851 globus_gass_transfer_file_mode_t file_mode,
854 extern const globus_object_type_t
855 GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR_DEFINITION;
857 #define GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR \
858 (&GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR_DEFINITION)
862 globus_object_t * obj,
865 globus_gass_transfer_file_mode_t file_mode,
871 extern const globus_object_type_t
872 GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR_DEFINITION;
874 #define GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR \
875 (&GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR_DEFINITION)
879 globus_object_t * obj,
882 globus_gass_transfer_file_mode_t file_mode,
887 globus_gass_transfer_authorization_t authorization,
891 extern const globus_object_type_t
892 GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR_DEFINITION;
894 #define GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR \
895 (&GLOBUS_GASS_OBJECT_TYPE_LISTENERATTR_DEFINITION)
899 globus_object_t * obj,
901 unsigned short port);
Definition: globus_gass_transfer.h:148
Definition: globus_gass_transfer.h:290
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:196
Definition: globus_gass_transfer.h:280
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
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:278
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:274
Definition: globus_gass_transfer.h:202
int globus_gass_transfer_requestattr_init(globus_gass_transfer_requestattr_t *attr, char *url_scheme)
Definition: globus_gass_transfer_attribute.c:219
void(* globus_gass_transfer_listen_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:445
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:199
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:260
Definition: globus_gass_transfer.h:270
Definition: globus_gass_transfer.h:262
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:145
int globus_handle_t
Handle abstract type.
Definition: globus_handle_table.h:57
Definition: globus_gass_transfer.h:268
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
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
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:286
Definition: globus_gass_transfer.h:272
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:292
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
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
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
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:204
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:191
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:192
Definition: globus_gass_transfer.h:150
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
Definition: globus_gass_transfer.h:276
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:154
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
Definition: globus_gass_transfer.h:264
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
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:282
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
globus_gass_transfer_request_status_t
Definition: globus_gass_transfer.h:189
Definition: globus_gass_transfer.h:288
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
void(* globus_gass_transfer_close_callback_t)(void *callback_arg, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer.h:434
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:195
Definition: globus_gass_transfer.h:152
Definition: globus_gass_transfer.h:284
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:266
Module Descriptor.
Definition: globus_module.h:71
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