Man Linux: Main Page and Category List

NAME

       Debugging Plugin -

       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.

   Defines
       #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);
       }

Define 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()

   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()

Author

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