kopia lustrzana https://github.com/Hamlib/Hamlib
Update Doxygen comments.
rodzic
8e3e93da0f
commit
a6f2180874
141
src/debug.c
141
src/debug.c
|
@ -20,13 +20,14 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \addtogroup rig_internal
|
* \addtogroup rig
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file debug.c
|
* \file debug.c
|
||||||
* \brief control hamlib debugging functions
|
*
|
||||||
|
* \brief Control Hamlib debugging functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@ -52,9 +53,17 @@
|
||||||
#include <hamlib/rig_dll.h>
|
#include <hamlib/rig_dll.h>
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
//! @cond Doxygen_Suppress
|
/*! @} */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rig_internal
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** \brief Sets the number of hexadecimal pairs to print per line. */
|
||||||
#define DUMP_HEX_WIDTH 16
|
#define DUMP_HEX_WIDTH 16
|
||||||
//! @endcond
|
|
||||||
|
|
||||||
|
|
||||||
static int rig_debug_level = RIG_DEBUG_TRACE;
|
static int rig_debug_level = RIG_DEBUG_TRACE;
|
||||||
|
@ -66,9 +75,17 @@ static rig_ptr_t rig_vprintf_arg;
|
||||||
extern HAMLIB_EXPORT(void) dump_hex(const unsigned char ptr[], size_t size);
|
extern HAMLIB_EXPORT(void) dump_hex(const unsigned char ptr[], size_t size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \param ptr Pointer to memory area
|
|
||||||
* \param size Number of chars to words to dump
|
|
||||||
* \brief Do a hex dump of the unsigned char array.
|
* \brief Do a hex dump of the unsigned char array.
|
||||||
|
*
|
||||||
|
* \param ptr Pointer to a character array.
|
||||||
|
* \param size Number of chars to words to dump.
|
||||||
|
*
|
||||||
|
* Prints the hex dump to `stderr` via rig_debug():
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
* 0000 4b 30 30 31 34 35 30 30 30 30 30 30 30 35 30 32 K001450000000502
|
||||||
|
* 0010 30 30 0d 0a 00..
|
||||||
|
* ```
|
||||||
*/
|
*/
|
||||||
void dump_hex(const unsigned char ptr[], size_t size)
|
void dump_hex(const unsigned char ptr[], size_t size)
|
||||||
{
|
{
|
||||||
|
@ -115,10 +132,24 @@ void dump_hex(const unsigned char ptr[], size_t size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*! @} */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \param debug_level
|
* \addtogroup rig
|
||||||
* \brief Change the current debug level
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Change the current debug level.
|
||||||
|
*
|
||||||
|
* \param debug_level Equivalent to the `-v` option of the utilities.
|
||||||
|
*
|
||||||
|
* Allows for dynamically changing the debugging output without reinitializing
|
||||||
|
* the library.
|
||||||
|
*
|
||||||
|
* Useful for programs that want to enable and disable debugging
|
||||||
|
* output without restarting.
|
||||||
*/
|
*/
|
||||||
void HAMLIB_API rig_set_debug(enum rig_debug_level_e debug_level)
|
void HAMLIB_API rig_set_debug(enum rig_debug_level_e debug_level)
|
||||||
{
|
{
|
||||||
|
@ -127,17 +158,28 @@ void HAMLIB_API rig_set_debug(enum rig_debug_level_e debug_level)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \param debug_level
|
* \brief Test if a given debug level is active.
|
||||||
* \brief Useful for dump_hex, etc.
|
*
|
||||||
|
* \param debug_level The level to test.
|
||||||
|
*
|
||||||
|
* May be used to determine if an action such as opening a dialog should
|
||||||
|
* happen only if a desired debug level is active.
|
||||||
|
*
|
||||||
|
* Also useful for dump_hex(), etc.
|
||||||
*/
|
*/
|
||||||
int HAMLIB_API rig_need_debug(enum rig_debug_level_e debug_level)
|
int HAMLIB_API rig_need_debug(enum rig_debug_level_e debug_level)
|
||||||
{
|
{
|
||||||
return (debug_level <= rig_debug_level);
|
return (debug_level <= rig_debug_level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \param flag
|
* \brief Enable or disable the time stamp on debugging output.
|
||||||
* \brief Enbable/disable time stamp on debug output
|
*
|
||||||
|
* \param flag `TRUE` or `FALSE`.
|
||||||
|
*
|
||||||
|
* Sets or unsets the flag which controls whether debugging output includes a
|
||||||
|
* time stamp.
|
||||||
*/
|
*/
|
||||||
void HAMLIB_API rig_set_debug_time_stamp(int flag)
|
void HAMLIB_API rig_set_debug_time_stamp(int flag)
|
||||||
{
|
{
|
||||||
|
@ -162,10 +204,15 @@ char *date_strget(char *buf, int buflen)
|
||||||
}
|
}
|
||||||
//! @endcond
|
//! @endcond
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \param debug_level
|
* \brief Print debugging messages through `stderr` by default.
|
||||||
* \param fmt
|
*
|
||||||
* \brief Default is debugging messages are done through stderr
|
* \param debug_level Debug level from none to most output.
|
||||||
|
* \param fmt Formatted character string to print.
|
||||||
|
*
|
||||||
|
* The formatted character string is passed to the `frprintf`(3) C library
|
||||||
|
* call and follows its format specification.
|
||||||
*/
|
*/
|
||||||
#undef rig_debug
|
#undef rig_debug
|
||||||
void HAMLIB_API rig_debug(enum rig_debug_level_e debug_level,
|
void HAMLIB_API rig_debug(enum rig_debug_level_e debug_level,
|
||||||
|
@ -243,37 +290,36 @@ void HAMLIB_API rig_debug(enum rig_debug_level_e debug_level,
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief set callback to handle debug messages
|
* \brief Set callback to handle debugging messages.
|
||||||
* \param cb The callback to install
|
|
||||||
* \param arg A Pointer to some private data to pass later on to the callback
|
|
||||||
*
|
*
|
||||||
* Install a callback for \a rig_debug messages.
|
* \param cb The callback function to install.
|
||||||
\code
|
* \param arg A Pointer to some private data to pass later on to the callback.
|
||||||
int
|
|
||||||
rig_message_cb(enum rig_debug_level_e debug_level,
|
|
||||||
rig_ptr_t user_data,
|
|
||||||
const char *fmt,
|
|
||||||
va_list ap)
|
|
||||||
{
|
|
||||||
char buf[1024];
|
|
||||||
|
|
||||||
sprintf (buf, "Message(%s) ", (char*)user_data);
|
|
||||||
syslog (LOG_USER, buf);
|
|
||||||
vsprintf (buf, fmt, ap);
|
|
||||||
syslog (LOG_USER, buf);
|
|
||||||
|
|
||||||
return RIG_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
. . .
|
|
||||||
|
|
||||||
char *cookie = "Foo";
|
|
||||||
rig_set_debug_callback (rig_message_cb, (rig_ptr_t)cookie);
|
|
||||||
\endcode
|
|
||||||
*
|
*
|
||||||
* \return RIG_OK if the operation has been successful, otherwise
|
* Install a callback for rig_debug() messages.
|
||||||
* a negative value if an error occurred (in which case, cause
|
* \code
|
||||||
* is set appropriately).
|
* int
|
||||||
|
* rig_message_cb(enum rig_debug_level_e debug_level,
|
||||||
|
* rig_ptr_t user_data,
|
||||||
|
* const char *fmt,
|
||||||
|
* va_list ap)
|
||||||
|
* {
|
||||||
|
* char buf[1024];
|
||||||
|
*
|
||||||
|
* sprintf (buf, "Message(%s) ", (char*)user_data);
|
||||||
|
* syslog (LOG_USER, buf);
|
||||||
|
* vsprintf (buf, fmt, ap);
|
||||||
|
* syslog (LOG_USER, buf);
|
||||||
|
*
|
||||||
|
* return RIG_OK;
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* . . .
|
||||||
|
*
|
||||||
|
* char *cookie = "Foo";
|
||||||
|
* rig_set_debug_callback (rig_message_cb, (rig_ptr_t)cookie);
|
||||||
|
* \endcode
|
||||||
|
*
|
||||||
|
* \return A pointer to the previous callback that was set, if any.
|
||||||
*
|
*
|
||||||
* \sa rig_debug()
|
* \sa rig_debug()
|
||||||
*/
|
*/
|
||||||
|
@ -289,8 +335,11 @@ vprintf_cb_t HAMLIB_API rig_set_debug_callback(vprintf_cb_t cb, rig_ptr_t arg)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief change stderr to some different output
|
* \brief Change the output stream from `stderr` a different stream.
|
||||||
* \param stream The stream to set output to
|
*
|
||||||
|
* \param stream The stream to direct debugging output.
|
||||||
|
*
|
||||||
|
* \sa `FILE`(3)
|
||||||
*/
|
*/
|
||||||
FILE *HAMLIB_API rig_set_debug_file(FILE *stream)
|
FILE *HAMLIB_API rig_set_debug_file(FILE *stream)
|
||||||
{
|
{
|
||||||
|
|
Ładowanie…
Reference in New Issue