Provided by: libglobus-ftp-client-doc_7.6-1_all bug

NAME

       Debugging Plugin -

   Macros
       #define GLOBUS_FTP_CLIENT_DEBUG_PLUGIN_MODULE   (&globus_i_ftp_client_debug_plugin_module)

   Functions
       globus_result_t globus_ftp_client_debug_plugin_init (globus_ftp_client_plugin_t *plugin,
           FILE *stream, const char *text)
       globus_result_t globus_ftp_client_debug_plugin_destroy (globus_ftp_client_plugin_t
           *plugin)

Detailed Description

       The FTP Debugging plugin provides a way for the user to trace FTP protocol messages which
       occur while the GridFTP client library processes an FTP operation.

       This may be useful for debugging FTP configuration problems.

       When this plugin is used for a GridFTP Client operation, information will be printed to
       the file stream associated with the plugin when a user begins an operation, for all data
       buffers which pass through while handling a data transfer, and for all protocol messages
       which are sent and received.

       Example Usage:

       The following example illustrates a typical use of the debug plugin. In this case, we
       configure a plugin instance to output log messages preceded by the process name and pid to
       a file named gridftp.log.

       int main(int argc, char *argv[])
       {
           globus_ftp_client_plugin_t restart_plugin;
           globus_ftp_client_handleattr_t handleattr;
           globus_ftp_client_handle_t handle;
           FILE * log;
           char text[256];

           /* Activate the necessary modules */
           globus_module_activate(GLOBUS_FTP_CLIENT_MODULE);
           globus_module_activate(GLOBUS_FTP_CLIENT_DEBUG_PLUGIN_MODULE);

           /* Configure plugin to show custom text, and send plugin data to
            * a custom log file
            */
           log = fopen("gridftp.log", "a");
           sprintf(text, "%s:%ld", argv[0], (long) getpid());

           globus_ftp_client_debug_plugin_init(&debug_plugin, log, text);

           /* Set up our client handle to use the new plugin */
           globus_ftp_client_handleattr_init(&handleattr);
           globus_ftp_client_handleattr_add_plugin(&handleattr, &debug_plugin);
           globus_ftp_client_handle_init(&handle, &handleattr);

           /* As this get is processed, data will be appended to our gridftp.log
            * file
            */
           globus_ftp_client_get(&handle,
                                 "ftp://ftp.globus.org/pub/globus/README",
                                 GLOBUS_NULL,
                                 GLOBUS_NULL,
                                 callback_fn,
                                 GLOBUS_NULL);
       }

Macro Definition Documentation

   #define GLOBUS_FTP_CLIENT_DEBUG_PLUGIN_MODULE   (&globus_i_ftp_client_debug_plugin_module)
       Module descriptor.

Function Documentation

   globus_result_t globus_ftp_client_debug_plugin_init (globus_ftp_client_plugin_t *plugin, FILE
       *stream, const char *text)
       Initialize an instance of the GridFTP debugging plugin

       This function will initialize the debugging plugin-specific instance data for this plugin,
       and will make the plugin usable for ftp client handle attribute and handle creation.

       Parameters:
           plugin A pointer to an uninitialized plugin. The plugin will be configured as a
           debugging plugin, with the default of sending debugging messages to stderr.
           stream
           text

       Returns:
           This function returns an error if

           • plugin is null

       See Also:
           globus_ftp_client_debug_plugin_destroy(), globus_ftp_client_handleattr_add_plugin(),
           globus_ftp_client_handleattr_remove_plugin(), globus_ftp_client_handle_init()

       References GLOBUS_FTP_CLIENT_CMD_MASK_ALL, globus_ftp_client_debug_plugin_init(), and
       GLOBUS_FTP_CLIENT_MODULE.

   globus_result_t globus_ftp_client_debug_plugin_destroy (globus_ftp_client_plugin_t *plugin)
       Destroy an instance of the GridFTP debugging plugin

       This function will free all debugging plugin-specific instance data from this plugin, and
       will make the plugin unusable for further ftp handle creation. Existing FTP client handles
       and handle attributes will not be affected by destroying a plugin associated with them, as
       a local copy of the plugin is made upon handle initialization.

       Parameters:
           plugin A pointer to a GridFTP debugging plugin, previously initialized by calling
           globus_ftp_client_debug_plugin_init()

       Returns:
           This function returns an error if

           • plugin is null

           • plugin is not a debugging plugin

       See Also:
           globus_ftp_client_debug_plugin_init(), globus_ftp_client_handleattr_add_plugin(),
           globus_ftp_client_handleattr_remove_plugin(), globus_ftp_client_handle_init()

       References globus_ftp_client_debug_plugin_destroy().

Author

       Generated automatically by Doxygen for globus ftp client from the source code.