trusty (3) globus_ftp_client_debug_plugin.3.gz

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.