00001
00020 #ifndef GLITE_DATA_TRANSFER_CHANNEL_SIMPLE_H
00021 #define GLITE_DATA_TRANSFER_CHANNEL_SIMPLE_H
00022
00023 #ifdef __GNUC__
00024 #define DEPRECATED __attribute__ ((deprecated))
00025 #else
00026 #define DEPRECATED
00027 #endif
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033 #include <glite/data/transfer/c/transfer-simple.h>
00034
00038 typedef enum {
00039 TRANSFER_LOG_LEVEL_INVALID,
00040 TRANSFER_LOG_LEVEL_DEBUG,
00041 TRANSFER_LOG_LEVEL_INFO,
00042 TRANSFER_LOG_LEVEL_WARN,
00043 TRANSFER_LOG_LEVEL_ERROR
00044 } transfer_log_level;
00045
00051 transfer_log_level transfer_log_level_parse(const char * value);
00052
00058 const char * transfer_log_level_str(transfer_log_level value);
00059
00063 typedef enum {
00064 SRMCOPY_DIRECTION_INVALID,
00065 SRMCOPY_DIRECTION_PUSH,
00066 SRMCOPY_DIRECTION_PULL
00067 } srmcopy_direction;
00068
00074 srmcopy_direction srmcopy_direction_parse(const char * value);
00075
00081 const char * srmcopy_direction_str(srmcopy_direction value);
00082
00092 int validate_size_string(const char * value);
00093
00094
00095
00096
00097
00098
00099 #define GLITE_CHANNEL_SD_TYPE "org.glite.ChannelManagement"
00100
00101
00102 #define GLITE_CHANNEL_SD_ENV "GLITE_SD_CHANNEL_TYPE"
00103
00104
00105
00106
00107
00118 const char *glite_channel_get_endpoint(glite_transfer_ctx *ctx);
00119
00126 glite_channel_state glite_channel_state_parse(
00127 glite_transfer_ctx *ctx,
00128 const char *state);
00129
00135 const char *glite_channel_state_str(glite_channel_state state);
00136
00141
00142
00143
00144
00156 char *glite_channel_getVersion(glite_transfer_ctx *ctx);
00157
00164 char *glite_channel_getSchemaVersion(glite_transfer_ctx *ctx);
00165
00172 char *glite_channel_getInterfaceVersion(glite_transfer_ctx *ctx);
00173
00181 char *glite_channel_getServiceMetadata(glite_transfer_ctx *ctx, const char *key);
00182
00187
00188
00189
00190
00201 int glite_channel_add(
00202 glite_transfer_ctx *ctx,
00203 const glite_transfer_Channel *channel);
00204
00211 int glite_channel_drop(
00212 glite_transfer_ctx *ctx,
00213 const char *name);
00214
00221 glite_transfer_Channel * glite_channel_getChannel(
00222 glite_transfer_ctx *ctx,
00223 const char *name);
00224
00225 glite_transfer_Channel2 * glite_channel_getChannel2(
00226 glite_transfer_ctx *ctx,
00227 const char *name);
00228
00229 glite_transfer_Channel3 * glite_channel_getChannel3(
00230 glite_transfer_ctx *ctx,
00231 const char *name);
00232
00239 char **glite_channel_listChannels(glite_transfer_ctx *ctx, int *resultCnt);
00240
00251 int glite_channel_changeStateForHeldJob(
00252 glite_transfer_ctx *ctx,
00253 const char *jobId,
00254 glite_transfer_state state);
00255
00267 int glite_channel_changeStateForHeldJobsOnChannel(glite_transfer_ctx *ctx,
00268 const char *name, glite_transfer_state state);
00269
00277 int glite_channel_setBandwidth(
00278 glite_transfer_ctx *ctx,
00279 const char *name,
00280 int utilisation);
00281
00282 int glite_channel_setBandwidth2(
00283 glite_transfer_ctx *ctx,
00284 const char *name,
00285 int utilisation,
00286 const char *message);
00287
00295 int glite_channel_setContact(glite_transfer_ctx *ctx, const char *name,
00296 const char *contact);
00297 int glite_channel_setContact2(glite_transfer_ctx *ctx, const char *name,
00298 const char *contact, const char* message);
00299
00307 int glite_channel_setTCPBufferSize2(glite_transfer_ctx *ctx, const char *name,
00308 const char *buffer_size, const char* message);
00309
00317 int glite_channel_setNominalThroughput(glite_transfer_ctx *ctx,
00318 const char *name, int nominalThroughput);
00319 int glite_channel_setNominalThroughput2(glite_transfer_ctx *ctx,
00320 const char *name, int nominalThroughput, const char* message);
00321
00329 int glite_channel_setTargetDirCheck(glite_transfer_ctx *ctx, const char *name,
00330 int target_dir_check, const char* message);
00331
00339 int glite_channel_setUrlCopyFirstMarkTo(glite_transfer_ctx *ctx, const char *name,
00340 int url_copy_first_txmark_to, const char* message);
00341
00349 int glite_channel_setNumberOfFiles(glite_transfer_ctx *ctx, const char *name,
00350 int numberOfFiles);
00351 int glite_channel_setNumberOfFiles2(glite_transfer_ctx *ctx, const char *name,
00352 int numberOfFiles, const char* message);
00353
00361 int glite_channel_setNumberOfStreams(glite_transfer_ctx *ctx, const char *name,
00362 int numberOfStreams);
00363 int glite_channel_setNumberOfStreams2(glite_transfer_ctx *ctx, const char *name,
00364 int numberOfStreams, const char* message);
00365
00373 int glite_channel_setState(
00374 glite_transfer_ctx *ctx,
00375 const char *name,
00376 glite_channel_state state);
00377 int glite_channel_setState2(
00378 glite_transfer_ctx *ctx,
00379 const char *name,
00380 glite_channel_state state,
00381 const char * message);
00382
00383 #if 0
00384
00392 int glite_channel_setChannelType(
00393 glite_transfer_ctx *ctx,
00394 const char *name,
00395 int value,
00396 const char * message);
00397 #endif
00398
00407 int glite_channel_setBlockSize(
00408 glite_transfer_ctx *ctx,
00409 const char *name,
00410 const char *value,
00411 const char *message);
00412
00421 int glite_channel_setHttpTimeout(
00422 glite_transfer_ctx *ctx,
00423 const char *name,
00424 int value,
00425 const char *message);
00426
00435 int glite_channel_setTransferLogLevel(
00436 glite_transfer_ctx *ctx,
00437 const char *name,
00438 transfer_log_level value,
00439 const char *message);
00440
00449 int glite_channel_setPreparingFilesRatio(
00450 glite_transfer_ctx *ctx,
00451 const char *name,
00452 double value,
00453 const char *message);
00454
00455 #if 0
00456
00464 int glite_channel_setTransferType(
00465 glite_transfer_ctx *ctx,
00466 const char *name,
00467 const char *value,
00468 const char *message);
00469 #endif
00470
00479 int glite_channel_setUrlCopyPutTimeout(
00480 glite_transfer_ctx *ctx,
00481 const char *name,
00482 int value,
00483 const char *message);
00484
00493 int glite_channel_setUrlCopyPutDoneTimeout(
00494 glite_transfer_ctx *ctx,
00495 const char *name,
00496 int value,
00497 const char * message);
00498
00507 int glite_channel_setUrlCopyGetTimeout(
00508 glite_transfer_ctx *ctx,
00509 const char *name,
00510 int value,
00511 const char * message);
00512
00521 int glite_channel_setUrlCopyGetDoneTimeout(
00522 glite_transfer_ctx *ctx,
00523 const char *name,
00524 int value,
00525 const char * message);
00526
00535 int glite_channel_setUrlCopyTransferTimeout(
00536 glite_transfer_ctx *ctx,
00537 const char *name,
00538 int value,
00539 const char * message);
00540
00549 int glite_channel_setUrlCopyTransferMarkersTimeout(
00550 glite_transfer_ctx *ctx,
00551 const char *name,
00552 int value,
00553 const char * message);
00554
00563 int glite_channel_setUrlCopyNoProgressTimeout(
00564 glite_transfer_ctx *ctx,
00565 const char *name,
00566 int value,
00567 const char * message);
00568
00577 int glite_channel_setUrlCopyTransferTimeoutPerMB(
00578 glite_transfer_ctx *ctx,
00579 const char *name,
00580 double value,
00581 const char * message);
00582
00591 int glite_channel_setSrmCopyDirection(
00592 glite_transfer_ctx *ctx,
00593 const char *name,
00594 srmcopy_direction value,
00595 const char * message);
00596
00605 int glite_channel_setSrmCopyTimeout(
00606 glite_transfer_ctx *ctx,
00607 const char *name,
00608 int value,
00609 const char * message);
00610
00619 int glite_channel_setSrmCopyRefreshTimeout(
00620 glite_transfer_ctx *ctx,
00621 const char *name,
00622 int value,
00623 const char * message);
00624
00632 int glite_channel_addManager(glite_transfer_ctx *ctx, const char *name,
00633 const char *principal);
00634
00642 int glite_channel_removeManager(glite_transfer_ctx *ctx, const char *name,
00643 const char *principal);
00644
00652 char **glite_channel_listManagers(glite_transfer_ctx *ctx, const char *name,
00653 int *resultCnt);
00654
00663 int glite_channel_setVOShare(glite_transfer_ctx *ctx, const char *name,
00664 const char *VOname, int share);
00665
00674 int glite_channel_setVOLimit(glite_transfer_ctx *ctx, const char *name,
00675 const char *VOname, int limit);
00676
00687 glite_transfer_ChannelAuditEntry ** glite_channel_channelAudit(glite_transfer_ctx *ctx,
00688 const time_t startTime, const time_t endTime, const char * restrictType,
00689 const int lastNentries, const char * channelName, int* resultCount);
00690
00691
00692
00693
00694
00701 char ** glite_channel_getSiteGroupNames(
00702 glite_transfer_ctx *ctx,
00703 int *resultCnt);
00704
00712 char ** glite_channel_getSiteGroupMembers(
00713 glite_transfer_ctx *ctx,
00714 char *groupName,
00715 int *resultCnt);
00716
00724 int glite_channel_addGroupMember(
00725 glite_transfer_ctx *ctx,
00726 char *groupName,
00727 char *siteName);
00728
00736 int glite_channel_removeGroupMember(
00737 glite_transfer_ctx *ctx,
00738 char *groupName,
00739 char *siteName);
00740
00745 #ifdef __cplusplus
00746 }
00747 #endif
00748
00749 #endif