Grid Community Toolkit  6.2.1566487665 (tag: v6.2.20190829)
globus_gass_transfer_proto.h
Go to the documentation of this file.
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 
66 #ifndef GLOBUS_GASS_PROTO_H
67 #define GLOBUS_GASS_PROTO_H
68 
69 #include "globus_common.h"
70 #include "globus_gass_transfer.h"
71 
72 #ifdef __cplusplus
73 "C" {
74 #endif
75 
76 /* Module-specific types */
83 
90 
122 typedef void
126  globus_byte_t * bytes,
127  globus_size_t send_length,
128  globus_bool_t last_data);
129 
162 typedef void
166  globus_byte_t * bytes,
167  globus_size_t bytes_length,
168  globus_size_t wait_for_length);
169 
189 typedef void
193 
222 typedef void
225  globus_gass_transfer_requestattr_t * attr);
226 
264 typedef int
266  globus_gass_transfer_listener_t listener,
267  globus_gass_transfer_listenerattr_t * attr,
268  char * scheme,
269  char ** base_url,
271 
289 typedef void
292  globus_gass_transfer_listener_t listener);
293 
320 typedef globus_object_t *
321 (* globus_gass_transfer_proto_new_attr_t)(
322  char * url_scheme);
323 
357 typedef void
360  globus_gass_transfer_listener_t listener,
362  globus_gass_transfer_requestattr_t * attr);
363 
387 {
398 
399 
407 
420 
425 };
426 
433 {
442 };
443 
452 typedef struct
453 {
469  char * url_scheme;
470 
483 
503 
516 
537 
538 #ifndef DOXYGEN
539 int
542 
543 int
546 
547 void
551 
552 void
555  int reason,
556  char * message);
557 
558 void
561  char ** url,
562  globus_size_t num_urls);
563 
564 void
566  globus_gass_transfer_listener_t listener,
569 
570 void
573  globus_byte_t * bytes,
574  globus_size_t nbytes,
575  globus_bool_t failed,
576  globus_bool_t last_data);
577 
578 void
581  globus_byte_t * bytes,
582  globus_size_t nbytes,
583  globus_bool_t failed,
584  globus_bool_t last_data);
585 
586 void
588  globus_gass_transfer_listener_t listener);
589 
590 
591 /* Protocol Implementation Helper Functions */
592 /* implemented in globus_gass_transfer_text.c */
593 void
594 globus_gass_transfer_crlf_to_lf(
595  globus_byte_t * src,
596  globus_size_t src_len,
597  globus_byte_t ** dst,
598  globus_size_t * dst_len);
599 
600 void
601 globus_gass_transfer_lf_to_crlf(
602  globus_byte_t * src,
603  globus_size_t src_len,
604  globus_byte_t ** dst,
605  globus_size_t * dst_len);
606 
607 #endif
608 
609 #ifdef __cplusplus
610 }
611 #endif
612 
613 #endif /* GLOBUS_GASS_PROTO_H */
globus_gass_transfer_proto_new_attr_t new_listenerattr
Definition: globus_gass_transfer_proto.h:515
void(* globus_gass_transfer_proto_listener_t)(globus_gass_transfer_listener_proto_t *proto, globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer_proto.h:290
void globus_gass_transfer_proto_receive_complete(globus_gass_transfer_request_t request, globus_byte_t *bytes, globus_size_t nbytes, globus_bool_t failed, globus_bool_t last_data)
Definition: globus_gass_transfer_proto.c:124
void(* globus_gass_transfer_proto_receive_t)(globus_gass_transfer_request_proto_t *proto, globus_gass_transfer_request_t request, globus_byte_t *bytes, globus_size_t bytes_length, globus_size_t wait_for_length)
Definition: globus_gass_transfer_proto.h:163
void(* globus_gass_transfer_proto_func_t)(globus_gass_transfer_request_proto_t *proto, globus_gass_transfer_request_t request)
Definition: globus_gass_transfer_proto.h:190
int globus_gass_transfer_proto_register_protocol(globus_gass_transfer_proto_descriptor_t *proto_desc)
Definition: globus_gass_transfer_proto.c:261
void globus_gass_transfer_proto_new_listener_request(globus_gass_transfer_listener_t listener, globus_gass_transfer_request_t request, globus_gass_transfer_request_proto_t *proto)
Definition: globus_gass_transfer_proto.c:481
globus_gass_transfer_proto_create_listener_t new_listener
Definition: globus_gass_transfer_proto.h:535
int globus_gass_transfer_proto_unregister_protocol(globus_gass_transfer_proto_descriptor_t *proto_desc)
Definition: globus_gass_transfer_proto.c:309
void globus_gass_transfer_proto_request_denied(globus_gass_transfer_request_t request, int reason, char *message)
Definition: globus_gass_transfer_proto.c:622
globus_gass_transfer_proto_send_t send_buffer
Definition: globus_gass_transfer_proto.h:392
globus_gass_transfer_proto_func_t destroy
Definition: globus_gass_transfer_proto.h:424
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
Protocol module descriptor structure.
Definition: globus_gass_transfer_proto.h:452
void globus_gass_transfer_proto_listener_ready(globus_gass_transfer_listener_t listener)
Definition: globus_gass_transfer_proto.c:156
int(* globus_gass_transfer_proto_create_listener_t)(globus_gass_transfer_listener_t listener, globus_gass_transfer_listenerattr_t *attr, char *scheme, char **base_url, globus_gass_transfer_listener_proto_t **proto)
Definition: globus_gass_transfer_proto.h:265
globus_gass_transfer_proto_receive_t recv_buffer
Definition: globus_gass_transfer_proto.h:397
void globus_gass_transfer_proto_send_complete(globus_gass_transfer_request_t request, globus_byte_t *bytes, globus_size_t nbytes, globus_bool_t failed, globus_bool_t last_data)
Definition: globus_gass_transfer_proto.c:74
void globus_gass_transfer_proto_request_referred(globus_gass_transfer_request_t request, char **url, globus_size_t num_urls)
Definition: globus_gass_transfer_proto.c:733
void(* globus_gass_transfer_proto_send_t)(globus_gass_transfer_request_proto_t *proto, globus_gass_transfer_request_t request, globus_byte_t *bytes, globus_size_t send_length, globus_bool_t last_data)
Definition: globus_gass_transfer_proto.h:123
globus_gass_transfer_proto_listener_t listen
Definition: globus_gass_transfer_proto.h:437
globus_gass_transfer_proto_func_t refer
Definition: globus_gass_transfer_proto.h:415
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
globus_gass_transfer_proto_func_t fail
Definition: globus_gass_transfer_proto.h:406
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
globus_gass_transfer_proto_new_attr_t new_requestattr
Definition: globus_gass_transfer_proto.h:482
globus_object_t *(* globus_gass_transfer_proto_new_attr_t)(char *url_scheme)
Definition: globus_gass_transfer_proto.h:321
Protocol module listener handling structure.
Definition: globus_gass_transfer_proto.h:432
char * url_scheme
Definition: globus_gass_transfer_proto.h:469
Headers common to all of Globus.
void(* globus_gass_transfer_proto_new_request_t)(globus_gass_transfer_request_t request, globus_gass_transfer_requestattr_t *attr)
Definition: globus_gass_transfer_proto.h:223
void globus_gass_transfer_proto_request_ready(globus_gass_transfer_request_t request, globus_gass_transfer_request_proto_t *proto)
Definition: globus_gass_transfer_proto.c:354
globus_gass_transfer_proto_new_request_t new_request
Definition: globus_gass_transfer_proto.h:502
globus_gass_transfer_proto_listener_t close_listener
Definition: globus_gass_transfer_proto.h:435
globus_gass_transfer_proto_func_t deny
Definition: globus_gass_transfer_proto.h:411
void(* globus_gass_transfer_proto_accept_t)(globus_gass_transfer_listener_proto_t *proto, globus_gass_transfer_listener_t listener, globus_gass_transfer_request_t request, globus_gass_transfer_requestattr_t *attr)
Definition: globus_gass_transfer_proto.h:358
Protocol module request handling structure.
Definition: globus_gass_transfer_proto.h:386
globus_gass_transfer_proto_func_t authorize
Definition: globus_gass_transfer_proto.h:419
globus_gass_transfer_proto_listener_t destroy
Definition: globus_gass_transfer_proto.h:441
globus_gass_transfer_proto_accept_t accept
Definition: globus_gass_transfer_proto.h:439