libsigrokdecode
 All Data Structures Files Functions Variables Typedefs Enumerator Macros
Macros | Functions
log.c File Reference
#include "sigrokdecode.h"
#include "sigrokdecode-internal.h"
#include <stdarg.h>
#include <stdio.h>
Include dependency graph for log.c:

Go to the source code of this file.

Macros

#define LOGDOMAIN_MAXLEN   30
 
#define LOGDOMAIN_DEFAULT   "srd: "
 

Functions

SRD_API int srd_log_loglevel_set (int loglevel)
 Set the libsigrokdecode loglevel. More...
 
SRD_API int srd_log_loglevel_get (void)
 Get the libsigrokdecode loglevel. More...
 
SRD_API int srd_log_logdomain_set (const char *logdomain)
 Set the libsigrokdecode logdomain string. More...
 
SRD_API char * srd_log_logdomain_get (void)
 Get the currently configured libsigrokdecode logdomain. More...
 
SRD_API int srd_log_callback_set (srd_log_callback_t cb, void *cb_data)
 Set the libsigrokdecode log callback to the specified function. More...
 
SRD_API int srd_log_callback_set_default (void)
 Set the libsigrokdecode log callback to the default built-in one. More...
 
SRD_PRIV int srd_log (int loglevel, const char *format,...)
 
SRD_PRIV int srd_spew (const char *format,...)
 
SRD_PRIV int srd_dbg (const char *format,...)
 
SRD_PRIV int srd_info (const char *format,...)
 
SRD_PRIV int srd_warn (const char *format,...)
 
SRD_PRIV int srd_err (const char *format,...)
 

Macro Definition Documentation

#define LOGDOMAIN_DEFAULT   "srd: "

Definition at line 44 of file log.c.

#define LOGDOMAIN_MAXLEN   30

Definition at line 43 of file log.c.

Referenced by srd_log_logdomain_set().

Function Documentation

SRD_PRIV int srd_dbg ( const char *  format,
  ... 
)
SRD_PRIV int srd_err ( const char *  format,
  ... 
)
SRD_PRIV int srd_info ( const char *  format,
  ... 
)

Definition at line 234 of file log.c.

References SRD_LOG_INFO.

SRD_PRIV int srd_log ( int  loglevel,
const char *  format,
  ... 
)

Definition at line 196 of file log.c.

SRD_API int srd_log_callback_set ( srd_log_callback_t  cb,
void *  cb_data 
)

Set the libsigrokdecode log callback to the specified function.

Parameters
cbFunction pointer to the log callback function to use. Must not be NULL.
cb_dataPointer to private data to be passed on. This can be used by the caller to pass arbitrary data to the log functions. This pointer is only stored or passed on by libsigrokdecode, and is never used or interpreted in any way. The pointer is allowed to be NULL if the caller doesn't need/want to pass any data.
Returns
SRD_OK upon success, SRD_ERR_ARG upon invalid arguments.

Definition at line 142 of file log.c.

References srd_err(), SRD_ERR_ARG, and SRD_OK.

Here is the call graph for this function:

SRD_API int srd_log_callback_set_default ( void  )

Set the libsigrokdecode log callback to the default built-in one.

Additionally, the internal 'srd_log_callback_data' pointer is set to NULL.

Returns
SRD_OK upon success, a (negative) error code otherwise.

Definition at line 164 of file log.c.

References SRD_OK.

SRD_API char* srd_log_logdomain_get ( void  )

Get the currently configured libsigrokdecode logdomain.

Returns
A copy of the currently configured libsigrokdecode logdomain string. The caller is responsible for g_free()ing the string when it is no longer needed.

Definition at line 123 of file log.c.

SRD_API int srd_log_logdomain_set ( const char *  logdomain)

Set the libsigrokdecode logdomain string.

Parameters
logdomainThe string to use as logdomain for libsigrokdecode log messages from now on. Must not be NULL. The maximum length of the string is 30 characters (this does not include the trailing NUL-byte). Longer strings are silently truncated. In order to not use a logdomain, pass an empty string. The function makes its own copy of the input string, i.e. the caller does not need to keep it around.
Returns
SRD_OK upon success, SRD_ERR_ARG upon invalid logdomain.

Definition at line 101 of file log.c.

References LOGDOMAIN_MAXLEN, srd_dbg(), srd_err(), SRD_ERR_ARG, and SRD_OK.

Here is the call graph for this function:

SRD_API int srd_log_loglevel_get ( void  )

Get the libsigrokdecode loglevel.

Returns
The currently configured libsigrokdecode loglevel.

Definition at line 82 of file log.c.

SRD_API int srd_log_loglevel_set ( int  loglevel)

Set the libsigrokdecode loglevel.

This influences the amount of log messages (debug messages, error messages, and so on) libsigrokdecode will output. Using SRD_LOG_NONE disables all messages.

Note that this function itself will also output log messages. After the loglevel has changed, it will output a debug message with SRD_LOG_DBG for example. Whether this message is shown depends on the (new) loglevel.

Parameters
loglevelThe loglevel to set (SRD_LOG_NONE, SRD_LOG_ERR, SRD_LOG_WARN, SRD_LOG_INFO, SRD_LOG_DBG, or SRD_LOG_SPEW).
Returns
SRD_OK upon success, SRD_ERR_ARG upon invalid loglevel.

Definition at line 63 of file log.c.

References srd_dbg(), srd_err(), SRD_ERR_ARG, SRD_LOG_SPEW, and SRD_OK.

Here is the call graph for this function:

SRD_PRIV int srd_spew ( const char *  format,
  ... 
)

Definition at line 208 of file log.c.

References SRD_LOG_SPEW.

SRD_PRIV int srd_warn ( const char *  format,
  ... 
)

Definition at line 247 of file log.c.

References SRD_LOG_WARN.