00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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
00096 #define globus_xio_gridftp_attr_cntl globus_xio_attr_cntl
00097 #define globus_xio_gridftp_handle_cntl globus_xio_handle_cntl
00098
00119 typedef enum
00120 {
00124 GLOBUS_XIO_GRIDFTP_ERROR_ATTR,
00128 GLOBUS_XIO_GRIDFTP_ERROR_SEEK,
00133 GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ,
00138 GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE,
00142 GLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ,
00146 GLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE,
00151 GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER
00152
00153 } globus_xio_gridftp_error_type_t;
00154
00155 #define globus_xio_gridftp_attr_cntl globus_xio_attr_cntl
00156 #define globus_xio_gridftp_handle_cntl globus_xio_handle_cntl
00157
00170 typedef enum
00171 {
00172
00173
00174
00175
00183
00184 GLOBUS_XIO_GRIDFTP_SEEK,
00185
00186
00187
00188
00198
00199 GLOBUS_XIO_GRIDFTP_SET_HANDLE,
00200
00209
00210 GLOBUS_XIO_GRIDFTP_GET_HANDLE,
00211
00219
00220 GLOBUS_XIO_GRIDFTP_SET_APPEND,
00221
00229
00230 GLOBUS_XIO_GRIDFTP_GET_APPEND,
00231
00241
00242 GLOBUS_XIO_GRIDFTP_SET_ERET,
00243
00252
00253 GLOBUS_XIO_GRIDFTP_GET_ERET,
00254
00264
00265 GLOBUS_XIO_GRIDFTP_SET_ESTO,
00266
00275
00276 GLOBUS_XIO_GRIDFTP_GET_ESTO,
00277
00286
00287 GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER,
00288
00296
00297 GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER,
00298
00307
00308 GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS,
00309
00317
00318 GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS,
00319
00328
00329 GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER,
00330
00338
00339 GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER,
00340
00350
00351 GLOBUS_XIO_GRIDFTP_SET_MODE,
00352
00362
00363 GLOBUS_XIO_GRIDFTP_GET_MODE,
00364
00388
00389
00390
00391
00392
00393 GLOBUS_XIO_GRIDFTP_SET_AUTH,
00394
00410
00411
00412
00413
00414
00415 GLOBUS_XIO_GRIDFTP_GET_AUTH,
00416
00426
00427 GLOBUS_XIO_GRIDFTP_SET_DCAU,
00428
00438
00439 GLOBUS_XIO_GRIDFTP_GET_DCAU,
00440
00450
00451 GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION,
00452
00462
00463 GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION,
00464
00474
00475 GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION,
00476
00486
00487 GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION
00488
00489 } globus_xio_gridftp_cmd_t;
00490
00497 typedef enum globus_l_xio_gridftp_mode_e
00498 {
00499 GLOBUS_XIO_GRIDFTP_MODE_NONE,
00500 GLOBUS_XIO_GRIDFTP_MODE_STREAM = 'S',
00501 GLOBUS_XIO_GRIDFTP_MODE_BLOCK = 'B',
00502 GLOBUS_XIO_GRIDFTP_MODE_EXTENDED_BLOCK = 'E',
00503 GLOBUS_XIO_GRIDFTP_MODE_COMPRESSED = 'C'
00504 } globus_l_xio_gridftp_mode_t;
00505
00506 typedef enum globus_l_xio_gridftp_dcau_mode_e
00507 {
00508 GLOBUS_XIO_GRIDFTP_DCAU_NONE = 'N',
00509 GLOBUS_XIO_GRIDFTP_DCAU_SELF = 'A',
00510 GLOBUS_XIO_GRIDFTP_DCAU_SUBJECT = 'S',
00511 GLOBUS_XIO_GRIDFTP_DCAU_DEFAULT
00512 } globus_l_xio_gridftp_dcau_mode_t;
00513
00514
00515 typedef enum globus_l_xio_gridftp_protection_e
00516 {
00517 GLOBUS_XIO_GRIDFTP_PROTECTION_CLEAR = 'C',
00518 GLOBUS_XIO_GRIDFTP_PROTECTION_SAFE = 'S',
00519 GLOBUS_XIO_GRIDFTP_PROTECTION_CONFIDENTIAL = 'E',
00520 GLOBUS_XIO_GRIDFTP_PROTECTION_PRIVATE = 'P'
00521 } globus_l_xio_gridftp_protection_t;
00522
00523
00524 #endif