Grid Community Toolkit  6.2.1541705016
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 
65 #ifndef GLOBUS_GASS_PROTO_H
66 #define GLOBUS_GASS_PROTO_H
67 
68 #include "globus_common.h"
69 #include "globus_gass_transfer.h"
70 
71 #ifdef __cplusplus
72 "C" {
73 #endif
74 
75 /* Module-specific types */
82 
89 
121 typedef void
125  globus_byte_t * bytes,
126  globus_size_t send_length,
127  globus_bool_t last_data);
128 
161 typedef void
165  globus_byte_t * bytes,
166  globus_size_t bytes_length,
167  globus_size_t wait_for_length);
168 
188 typedef void
192 
221 typedef void
224  globus_gass_transfer_requestattr_t * attr);
225 
263 typedef int
265  globus_gass_transfer_listener_t listener,
266  globus_gass_transfer_listenerattr_t * attr,
267  char * scheme,
268  char ** base_url,
270 
288 typedef void
291  globus_gass_transfer_listener_t listener);
292 
319 typedef globus_object_t *
320 (* globus_gass_transfer_proto_new_attr_t)(
321  char * url_scheme);
322 
356 typedef void
359  globus_gass_transfer_listener_t listener,
361  globus_gass_transfer_requestattr_t * attr);
362 
386 {
397 
398 
406 
419 
424 };
425 
432 {
441 };
442 
451 typedef struct
452 {
468  char * url_scheme;
469 
482 
502 
515 
536 
537 #ifndef DOXYGEN
538 int
541 
542 int
545 
546 void
550 
551 void
554  int reason,
555  char * message);
556 
557 void
560  char ** url,
561  globus_size_t num_urls);
562 
563 void
565  globus_gass_transfer_listener_t listener,
568 
569 void
572  globus_byte_t * bytes,
573  globus_size_t nbytes,
574  globus_bool_t failed,
575  globus_bool_t last_data);
576 
577 void
580  globus_byte_t * bytes,
581  globus_size_t nbytes,
582  globus_bool_t failed,
583  globus_bool_t last_data);
584 
585 void
587  globus_gass_transfer_listener_t listener);
588 
589 
590 /* Protocol Implementation Helper Functions */
591 /* implemented in globus_gass_transfer_text.c */
592 void
593 globus_gass_transfer_crlf_to_lf(
594  globus_byte_t * src,
595  globus_size_t src_len,
596  globus_byte_t ** dst,
597  globus_size_t * dst_len);
598 
599 void
600 globus_gass_transfer_lf_to_crlf(
601  globus_byte_t * src,
602  globus_size_t src_len,
603  globus_byte_t ** dst,
604  globus_size_t * dst_len);
605 
606 #endif
607 
608 #ifdef __cplusplus
609 }
610 #endif
611 
612 #endif /* GLOBUS_GASS_PROTO_H */
globus_gass_transfer_proto_new_attr_t new_listenerattr
Definition: globus_gass_transfer_proto.h:514
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:289
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:162
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:189
int globus_gass_transfer_proto_register_protocol(globus_gass_transfer_proto_descriptor_t *proto_desc)
Definition: globus_gass_transfer_proto.c:261
GASS transfer.
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:534
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:391
globus_gass_transfer_proto_func_t destroy
Definition: globus_gass_transfer_proto.h:423
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
Protocol module descriptor structure.
Definition: globus_gass_transfer_proto.h:451
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:264
globus_gass_transfer_proto_receive_t recv_buffer
Definition: globus_gass_transfer_proto.h:396
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:122
globus_gass_transfer_proto_listener_t listen
Definition: globus_gass_transfer_proto.h:436
globus_gass_transfer_proto_func_t refer
Definition: globus_gass_transfer_proto.h:414
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:405
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:481
globus_object_t *(* globus_gass_transfer_proto_new_attr_t)(char *url_scheme)
Definition: globus_gass_transfer_proto.h:320
Protocol module listener handling structure.
Definition: globus_gass_transfer_proto.h:431
char * url_scheme
Definition: globus_gass_transfer_proto.h:468
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:222
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:501
globus_gass_transfer_proto_listener_t close_listener
Definition: globus_gass_transfer_proto.h:434
globus_gass_transfer_proto_func_t deny
Definition: globus_gass_transfer_proto.h:410
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:357
Protocol module request handling structure.
Definition: globus_gass_transfer_proto.h:385
globus_gass_transfer_proto_func_t authorize
Definition: globus_gass_transfer_proto.h:418
globus_gass_transfer_proto_listener_t destroy
Definition: globus_gass_transfer_proto.h:440
globus_gass_transfer_proto_accept_t accept
Definition: globus_gass_transfer_proto.h:438