globus_gass_copy.h File Reference

Data Structures

struct  globus_gass_copy_glob_stat_t
 Glob expanded entry information. More...

Macros

#define GLOBUS_GASS_COPY_MODULE   (&globus_i_gass_copy_module)

Typedefs

typedef void(* globus_gass_copy_performance_cb_t )(void *user_arg, globus_gass_copy_handle_t *handle, globus_off_t total_bytes, float instantaneous_throughput, float avg_throughput)
typedef void(* globus_gass_copy_glob_entry_cb_t )(const char *url, const globus_gass_copy_glob_stat_t *info_stat, void *user_arg)

Enumerations

enum  globus_gass_copy_glob_entry_t

Functions

globus_result_t globus_gass_copy_glob_expand_url (globus_gass_copy_handle_t *handle, const char *url, globus_gass_copy_attr_t *attr, globus_gass_copy_glob_entry_cb_t entry_cb, void *user_arg)
globus_result_t globus_gass_copy_mkdir (globus_gass_copy_handle_t *handle, char *url, globus_gass_copy_attr_t *attr)

Detailed Description

Header file for the gass copy library.


Macro Definition Documentation

#define GLOBUS_GASS_COPY_MODULE   (&globus_i_gass_copy_module)

Module descriptor.

Globus GASS Copy uses standard Globus module activation and deactivation. Before any Globus GASS Copy functions are called, the following function must be called:

globus_module_activate(GLOBUS_GASS_COPY_MODULE)

This function returns GLOBUS_SUCCESS if Globus GASS Copy was successfully initialized, and you are therefore allowed to subsequently call Globus GASS Copy functions. Otherwise, an error code is returned, and Globus GASS Copy functions should not be subsequently called. This function may be called multiple times.

To deactivate Globus GASS Copy, the following function must be called:

globus_module_deactivate(GLOBUS_GASS_COPY_MODULE)

This function should be called once for each time Globus GASS Copy was activated.


Typedef Documentation

typedef void(* globus_gass_copy_performance_cb_t)(void *user_arg, globus_gass_copy_handle_t *handle, globus_off_t total_bytes, float instantaneous_throughput, float avg_throughput)

Gass copy transfer performance callback.

This callback is registered with 'globus_gass_copy_register_performance_cb' It will be called during a transfer to supply performance information on current transfer. Its frequency will be at most one per second, but it is possible to receive no callbacks. This is possible in very short transfers and in ftp transfers in which the server does not provide performance information.

Parameters:
handlethe gass copy handle this transfer is occurring on
user_arga user pointer registered with 'globus_gass_copy_register_performance_cb'
total_bytesthe total number of bytes transfer so far
instantaneous_throughputinstantaneous rate of transfer (since last callback or start) (bytes / sec)
avg_throughputthe avg thoughput calculated since the start of the transfer (bytes / sec)
Returns:
  • n/a
typedef void(* globus_gass_copy_glob_entry_cb_t)(const char *url, const globus_gass_copy_glob_stat_t *info_stat, void *user_arg)

Gass copy glob entry callback.

This callback is passed as a parameter to globus_gass_copy_glob_expand_url(). It is called once for each entry that the original expands to.

Parameters:
urlThe full url to the expanded entry. A directory entry will end in a forward slash '/'.
statA pointer to a globus_gass_copy_glob_stat_t containing information about the entry.
user_argThe user_arg passed to globus_gass_copy_glob_expand()
See also:
globus_gass_copy_glob_stat_t, globus_gass_copy_glob_expand_url

Enumeration Type Documentation

globbed entry types


Function Documentation

globus_result_t globus_gass_copy_glob_expand_url ( globus_gass_copy_handle_t *  handle,
const char *  url,
globus_gass_copy_attr_t *  attr,
globus_gass_copy_glob_entry_cb_t  entry_cb,
void *  user_arg 
)

Expand globbed url.

This function expands wildcards in a globbed url, and calls entry_cb() on each one.

Parameters:
handleA gass copy handle to use for the operation.
urlThe URL to expand. The URL may be an ftp, gsiftp or file URL. Wildcard characters supported are '?' '*' '[ ]' in the filename portion of the url.
attrGass copy attributes for this operation.
entry_cbFunction to call with information about each entry
user_argAn argument to pass to entry_cb()
Returns:
This function returns an error when any of these conditions are true:
  • handle is GLOBUS_NULL
  • url is GLOBUS_NULL
  • url cannot be parsed
  • url is not a ftp, gsiftp or file url

References globus_gass_copy_glob_expand_url(), GLOBUS_GASS_COPY_MODULE, globus_gass_copy_glob_stat_t::mdtm, globus_gass_copy_glob_stat_t::mode, globus_gass_copy_glob_stat_t::size, globus_gass_copy_glob_stat_t::symlink_target, globus_gass_copy_glob_stat_t::type, and globus_gass_copy_glob_stat_t::unique_id.

globus_result_t globus_gass_copy_mkdir ( globus_gass_copy_handle_t *  handle,
char *  url,
globus_gass_copy_attr_t *  attr 
)

Make directory.

This function creates a directory given a ftp or file url.

Parameters:
handleA gass copy handle to use for the mkdir operation.
urlThe URL for the directory to create. The URL may be an ftp, gsiftp or file URL.
attrGass copy attributes for this operation.
Returns:
This function returns an error when any of these conditions are true:
  • handle is GLOBUS_NULL
  • url is GLOBUS_NULL
  • url cannot be parsed
  • url is not a ftp, gsiftp or file url
  • the directory could not be created

References globus_gass_copy_get_url_mode(), globus_gass_copy_mkdir(), and GLOBUS_GASS_COPY_MODULE.


about globus | globus toolkit | dev.globus

Comments? webmaster@globus.org