globus_xio_gridftp_driver.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef GLOBUS_XIO_GRIDFTP_DRIVER_H
00018 #define GLOBUS_XIO_GRIDFTP_DRIVER_H
00019 
00025 #include "globus_xio_system.h"
00026 #include "globus_common.h"
00027 
00028 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00029 
00033 #endif
00034 
00095 #define globus_xio_gridftp_attr_cntl globus_xio_attr_cntl
00096 #define globus_xio_gridftp_handle_cntl globus_xio_handle_cntl
00097 
00118 typedef enum
00119 {
00123     GLOBUS_XIO_GRIDFTP_ERROR_ATTR,
00127     GLOBUS_XIO_GRIDFTP_ERROR_SEEK,
00132     GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ,
00137     GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE,
00141     GLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ,
00145     GLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE,
00150     GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER
00151 
00152 } globus_xio_gridftp_error_type_t;
00153 
00154 #define globus_xio_gridftp_attr_cntl globus_xio_attr_cntl
00155 #define globus_xio_gridftp_handle_cntl globus_xio_handle_cntl
00156 
00169 typedef enum
00170 {
00171     /*
00172      * handle cntls
00173      */         
00174 
00182     /* globus_off_t                     seek_offset */
00183     GLOBUS_XIO_GRIDFTP_SEEK,
00184 
00185     /*
00186      * attr cntls
00187      */
00197     /* globus_ftp_client_handle_t *     ftp_handle */
00198     GLOBUS_XIO_GRIDFTP_SET_HANDLE,
00199 
00208     /* globus_ftp_client_handle_t **    ftp_handle_out */
00209     GLOBUS_XIO_GRIDFTP_GET_HANDLE,
00210 
00218     /* globus_bool_t                    append */
00219     GLOBUS_XIO_GRIDFTP_SET_APPEND,
00220 
00228     /* globus_bool_t *                  append_out */
00229     GLOBUS_XIO_GRIDFTP_GET_APPEND,
00230 
00240     /* const char *                     eret_alg_str */
00241     GLOBUS_XIO_GRIDFTP_SET_ERET,
00242 
00251     /* char **                          eret_alg_str_out */
00252     GLOBUS_XIO_GRIDFTP_GET_ERET,
00253 
00263     /* const char *                     esto_alg_str */
00264     GLOBUS_XIO_GRIDFTP_SET_ESTO,
00265 
00274     /* char **                          esto_alg_str_out */
00275     GLOBUS_XIO_GRIDFTP_GET_ESTO,
00276 
00285     /* globus_bool_t                    partial_xfer */
00286     GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER,
00287 
00295     /* globus_bool_t *                  partial_xfer_out */
00296     GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER,
00297 
00306     /* int                              num_streams */
00307     GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS,
00308 
00316     /* int *                            num_streams_out */
00317     GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS,
00318 
00327     /* int                              buf_size */
00328     GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER,
00329 
00337     /* int *                            buf_size_out */
00338     GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER,
00339 
00349     /* int                              mode */
00350     GLOBUS_XIO_GRIDFTP_SET_MODE,
00351 
00361     /* int *                            mode_out */
00362     GLOBUS_XIO_GRIDFTP_GET_MODE,
00363 
00387     /* gss_cred_id_t                    credential,
00388      * const char *                     user,
00389      * const char *                     password,
00390      * const char *                     account,
00391      * const char *                     subject */
00392     GLOBUS_XIO_GRIDFTP_SET_AUTH,
00393 
00409     /* gss_cred_id_t *                  credential_out,
00410      * const char **                    user_out,
00411      * const char **                    password_out,
00412      * const char **                    account_out,
00413      * const char **                    subject_out */
00414     GLOBUS_XIO_GRIDFTP_GET_AUTH,
00415 
00425     /* int                              dcau_mode */
00426     GLOBUS_XIO_GRIDFTP_SET_DCAU,
00427 
00437     /* int *                            dcau_mode_out */
00438     GLOBUS_XIO_GRIDFTP_GET_DCAU,
00439 
00449     /* int                              protection */
00450     GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION,
00451 
00461     /* int *                            protection_out */
00462     GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION,
00463 
00473     /* int                              protection */
00474     GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION,
00475 
00485     /* int *                            protection_out */
00486     GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION
00487 
00488 } globus_xio_gridftp_cmd_t;     
00489 
00496 typedef enum globus_l_xio_gridftp_mode_e
00497 {
00498     GLOBUS_XIO_GRIDFTP_MODE_NONE,
00499     GLOBUS_XIO_GRIDFTP_MODE_STREAM = 'S',
00500     GLOBUS_XIO_GRIDFTP_MODE_BLOCK = 'B',
00501     GLOBUS_XIO_GRIDFTP_MODE_EXTENDED_BLOCK = 'E',
00502     GLOBUS_XIO_GRIDFTP_MODE_COMPRESSED = 'C'
00503 } globus_l_xio_gridftp_mode_t;
00504 
00505 typedef enum globus_l_xio_gridftp_dcau_mode_e
00506 {
00507     GLOBUS_XIO_GRIDFTP_DCAU_NONE = 'N',
00508     GLOBUS_XIO_GRIDFTP_DCAU_SELF = 'A',
00509     GLOBUS_XIO_GRIDFTP_DCAU_SUBJECT = 'S',
00510     GLOBUS_XIO_GRIDFTP_DCAU_DEFAULT
00511 } globus_l_xio_gridftp_dcau_mode_t;
00512 
00513 
00514 typedef enum globus_l_xio_gridftp_protection_e
00515 {
00516     GLOBUS_XIO_GRIDFTP_PROTECTION_CLEAR = 'C',
00517     GLOBUS_XIO_GRIDFTP_PROTECTION_SAFE = 'S',
00518     GLOBUS_XIO_GRIDFTP_PROTECTION_CONFIDENTIAL = 'E',
00519     GLOBUS_XIO_GRIDFTP_PROTECTION_PRIVATE = 'P'
00520 } globus_l_xio_gridftp_protection_t;
00521 
00522 
00523 #endif /* GLOBUS_XIO_GRIDFTP_DRIVER_H */

Generated on 5 Nov 2016 for globus_xio_gridftp_driver by  doxygen 1.4.7