EGEE

channel-simple.h

Go to the documentation of this file.
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  * Constants
00096  */
00097 
00098 /* Service type for Service Discovery */
00099 #define GLITE_CHANNEL_SD_TYPE       "org.glite.ChannelManagement"
00100 
00101 /* Environment variable to override service type */
00102 #define GLITE_CHANNEL_SD_ENV        "GLITE_SD_CHANNEL_TYPE"
00103 
00104 /**********************************************************************
00105  * Function prototypes - library management functions
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  * Function prototypes - org.glite.data.transfer.ServiceBase
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  * Function prototypes - org.glite.data.transfer.channel.ChannelManagement
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 //                          Groups Management
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 /* GLITE_DATA_TRANSFER_CHANNEL_SIMPLE_H */
The GLite Project. All rights reserved.