EGEE
Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

channel-simple.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) Members of the EGEE Collaboration. 2005.
00003  *  See http://eu-egee.org/partners/ for details on the copyright holders.
00004  *  For license conditions see the license file or http://eu-egee.org/license.html
00005  *
00006  *  GLite Data Management - Simple channel management API
00007  *
00008  *  Authors: Gabor Gombas <Gabor.Gombas@cern.ch>
00009  *
00010  */
00011 
00012 #ifndef GLITE_DATA_TRANSFER_CHANNEL_SIMPLE_H
00013 #define GLITE_DATA_TRANSFER_CHANNEL_SIMPLE_H
00014 
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018 
00019 #include <glite/data/transfer/c/transfer-simple.h>
00020 
00021 /**********************************************************************
00022  * Constants
00023  */
00024 
00025 /* Service type for Service Discovery */
00026 #define GLITE_CHANNEL_SD_TYPE       "org.glite.ChannelManagement"
00027 
00028 /* Environment variable to override service type */
00029 #define GLITE_CHANNEL_SD_ENV        "GLITE_SD_CHANNEL_TYPE"
00030 
00031 /**********************************************************************
00032  * Function prototypes - library management functions
00033  */
00034 
00047 const char *glite_channel_get_endpoint(glite_transfer_ctx *ctx);
00048 
00057 glite_channel_state glite_channel_state_parse(glite_transfer_ctx *ctx,
00058     const char *state);
00059 
00067 const char *glite_channel_state_str(glite_channel_state state);
00068 
00073 /**********************************************************************
00074  * Function prototypes - org.glite.data.transfer.ServiceBase
00075  */
00076 
00090 char *glite_channel_getVersion(glite_transfer_ctx *ctx);
00091 
00100 char *glite_channel_getSchemaVersion(glite_transfer_ctx *ctx);
00101 
00110 char *glite_channel_getInterfaceVersion(glite_transfer_ctx *ctx);
00111 
00121 char *glite_channel_getServiceMetadata(glite_transfer_ctx *ctx, const char *key);
00122 
00127 /**********************************************************************
00128  * Function prototypes - org.glite.data.transfer.channel.ChannelManagement
00129  */
00130 
00143 int glite_channel_add(glite_transfer_ctx *ctx,
00144     const glite_transfer_Channel *channel);
00145 
00154 int glite_channel_drop(glite_transfer_ctx *ctx, const char *name);
00155 
00164 glite_transfer_Channel *glite_channel_getChannel(glite_transfer_ctx *ctx,
00165     const char *name);
00166 
00167 glite_transfer_Channel2 *glite_channel_getChannel2(glite_transfer_ctx *ctx,
00168    const char *name);
00169 
00178 char **glite_channel_listChannels(glite_transfer_ctx *ctx, int *resultCnt);
00179 
00192 int glite_channel_changeStateForHeldJob(glite_transfer_ctx *ctx,
00193     const char *jobId, glite_transfer_state state);
00194 
00208 int glite_channel_changeStateForHeldJobsOnChannel(glite_transfer_ctx *ctx,
00209     const char *name, glite_transfer_state state);
00210 
00220 int glite_channel_setBandwidth(glite_transfer_ctx *ctx, const char *name,
00221     int utilisation);
00222 int glite_channel_setBandwidth2(glite_transfer_ctx *ctx, const char *name,
00223     int utilisation, const char* message);
00224 
00234 int glite_channel_setContact(glite_transfer_ctx *ctx, const char *name,
00235     const char *contact);
00236 int glite_channel_setContact2(glite_transfer_ctx *ctx, const char *name,
00237     const char *contact, const char* message);
00238 
00249 int glite_channel_setTCPBufferSize(glite_transfer_ctx *ctx, const char *name,
00250     const char *buffer_size);
00251 int glite_channel_setTCPBufferSize2(glite_transfer_ctx *ctx, const char *name,
00252     const char *buffer_size, const char* message);
00253 
00263 int glite_channel_setNominalThroughput(glite_transfer_ctx *ctx,
00264     const char *name, int nominalThroughput);
00265 int glite_channel_setNominalThroughput2(glite_transfer_ctx *ctx,
00266     const char *name, int nominalThroughput, const char* message);
00267 
00277 int glite_channel_setNumberOfFiles(glite_transfer_ctx *ctx, const char *name,
00278     int numberOfFiles);
00279 int glite_channel_setNumberOfFiles2(glite_transfer_ctx *ctx, const char *name,
00280     int numberOfFiles, const char* message);
00281 
00290 int glite_channel_setNumberOfStreams(glite_transfer_ctx *ctx, const char *name,
00291     int numberOfStreams);
00292 int glite_channel_setNumberOfStreams2(glite_transfer_ctx *ctx, const char *name,
00293     int numberOfStreams, const char* message);
00294 
00304 int glite_channel_setState(glite_transfer_ctx *ctx, const char *name,
00305     glite_channel_state state);
00306 int glite_channel_setState2(glite_transfer_ctx *ctx, const char *name,
00307     glite_channel_state state, const char* message);
00308 
00318 int glite_channel_addManager(glite_transfer_ctx *ctx, const char *name,
00319     const char *principal);
00320 
00330 int glite_channel_removeManager(glite_transfer_ctx *ctx, const char *name,
00331     const char *principal);
00332 
00342 char **glite_channel_listManagers(glite_transfer_ctx *ctx, const char *name,
00343         int *resultCnt);
00344 
00355 int glite_channel_setVOShare(glite_transfer_ctx *ctx, const char *name,
00356         const char *VOname, int share);
00357 
00368 int glite_channel_setVOLimit(glite_transfer_ctx *ctx, const char *name,
00369         const char *VOname, int limit);
00370 
00383 glite_transfer_ChannelAuditEntry ** glite_channel_channelAudit(glite_transfer_ctx *ctx, 
00384          const time_t startTime, const time_t endTime, const char * restrictType,
00385          const int lastNentries, const char * channelName, int* resultCount);
00386 
00391 #ifdef __cplusplus
00392 }
00393 #endif
00394 
00395 #endif /* GLITE_DATA_TRANSFER_CHANNEL_SIMPLE_H */
The GLite Project. All rights reserved.