Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Typedefs | Enumerations | Functions | Variables
log.h File Reference
#include <stdio.h>
#include <error.h>
#include <stdlib.h>
#include <argp.h>

Go to the source code of this file.

Macros

#define log_argp_header   "Log/Debug Options"
 
#define verror(format,...)
 
#define verrorc(format,...)   fprintf(stderr,format, ## __VA_ARGS__)
 
#define vwarn(format,...)
 
#define vwarnc(format,...)   fprintf(stderr,format, ## __VA_ARGS__)
 
#define vwarnopt(level, area, flags, format,...)
 
#define vwarnoptc(level, area, flags, format,...)
 
#define LA_ALL   INT_MAX
 
#define LF_ALL   INT_MAX
 
#define LF_L_ALL   (LF_CLMATCH | LF_CLRANGE | LF_RFILTER | LF_WAITPIPE | LF_EVLOOP | LF_MONITOR | LF_ROP | LF_CFI | LF_REGCACHE)
 
#define LF_D_ALL
 
#define LF_T_ALL
 
#define LF_T_D_ALL   (LF_LUP | LF_XV | LF_GDB | LF_OSP | LF_PHP)
 
#define LF_P_ALL   (LF_PROBE | LF_PROBEPOINT | LF_ACTION)
 
#define LF_X_ALL   (LF_XML | LF_RPC | LF_SVC | LF_PROXYREQ)
 
#define LF_A_ALL   (LF_ANL)
 
#define LF_U_ALL   INT_MAX
 
#define vdebug(devel, areas, flags, format,...)   ((void)0)
 
#define vdebugc(devel, areas, flags, format,...)   ((void)0)
 

Typedefs

typedef enum log_area_bits log_area_bits_t
 
typedef enum log_areas log_areas_t
 
typedef int log_flags_t
 
typedef enum log_flag_bits_lib log_flag_bits_lib_t
 
typedef enum log_flags_lib log_flags_lib_t
 
typedef enum log_flag_bits_debug log_flag_bits_debug_t
 
typedef enum log_flags_debug log_flags_debug_t
 
typedef enum log_flag_bits_target log_flag_bits_target_t
 
typedef enum log_flags_target log_flags_target_t
 
typedef enum log_flag_bits_probe log_flag_bits_probe_t
 
typedef enum log_flags_probe log_flags_probe_t
 
typedef enum log_flag_bits_xml log_flag_bits_xml_t
 
typedef enum log_flags_xml log_flags_xml_t
 
typedef enum log_flag_bits_anl log_flag_bits_anl_t
 
typedef enum log_flags_anl log_flags_anl_t
 

Enumerations

enum  log_area_bits {
  LAB_NONE = 0, LAB_LIB = 1, LAB_DEBUG = 2, LAB_TARGET = 3,
  LAB_PROBE = 4, LAB_XML = 5, LAB_TEST = 6, LAB_ANL = 7,
  LAB_USER = 31
}
 
enum  log_areas {
  LA_NONE = 0, LA_LIB = 1 << LAB_LIB, LA_DEBUG = 1 << LAB_DEBUG, LA_TARGET = 1 << LAB_TARGET,
  LA_PROBE = 1 << LAB_PROBE, LA_XML = 1 << LAB_XML, LA_TEST = 1 << LAB_TEST, LA_ANL = 1 << LAB_ANL,
  LA_USER = 1 << LAB_USER
}
 
enum  log_flag_bits_lib {
  LFB_CLMATCH = 0, LFB_CLRANGE = 1, LFB_RFILTER = 2, LFB_WAITPIPE = 3,
  LFB_EVLOOP = 4, LFB_MONITOR = 5, LFB_ROP = 6, LFB_CFI = 7,
  LFB_REGCACHE = 8
}
 
enum  log_flags_lib {
  LF_CLMATCH = 1 << LFB_CLMATCH, LF_CLRANGE = 1 << LFB_CLRANGE, LF_RFILTER = 1 << LFB_RFILTER, LF_WAITPIPE = 1 << LFB_WAITPIPE,
  LF_EVLOOP = 1 << LFB_EVLOOP, LF_MONITOR = 1 << LFB_MONITOR, LF_ROP = 1 << LFB_ROP, LF_CFI = 1 << LFB_CFI,
  LF_REGCACHE = 1 << LFB_REGCACHE
}
 
enum  log_flag_bits_debug {
  LFB_DFILE = 0, LFB_SYMBOL = 1, LFB_SCOPE = 2, LFB_DLOC = 3,
  LFB_DLOOKUP = 4, LFB_DWARF = 5, LFB_DWARFATTR = 6, LFB_DWARFSOPS = 7,
  LFB_DWARFOPS = 8, LFB_DCFA = 9, LFB_DOTHER = 10, LFB_ELF = 11,
  LFB_BFILE = 12
}
 
enum  log_flags_debug {
  LF_DFILE = 1 << LFB_DFILE, LF_SYMBOL = 1 << LFB_SYMBOL, LF_SCOPE = 1 << LFB_SCOPE, LF_DLOC = 1 << LFB_DLOC,
  LF_DLOOKUP = 1 << LFB_DLOOKUP, LF_DWARF = 1 << LFB_DWARF, LF_DWARFATTR = 1 << LFB_DWARFATTR, LF_DWARFSOPS = 1 << LFB_DWARFSOPS,
  LF_DWARFOPS = 1 << LFB_DWARFOPS, LF_DCFA = 1 << LFB_DCFA, LF_DOTHER = 1 << LFB_DOTHER, LF_ELF = 1 << LFB_ELF,
  LF_BFILE = 1 << LFB_BFILE
}
 
enum  log_flag_bits_target {
  LFB_TARGET = 0, LFB_SPACE = 1, LFB_REGION = 2, LFB_TLOOKUP = 3,
  LFB_TLOC = 4, LFB_TOTHER = 5, LFB_TSYMBOL = 6, LFB_MEMCACHE = 7,
  LFB_TUNW = 8, LFB_LUP = 9, LFB_XV = 10, LFB_OSP = 11,
  LFB_PHP = 12, LFB_GDB = 13, LFB_DISASM = 14, LFB_THREAD = 15,
  LFB_OS = 16, LFB_PROCESS = 17, LFB_APPLICATION = 18, LFB_OSLINUX = 19
}
 
enum  log_flags_target {
  LF_TARGET = 1 << LFB_TARGET, LF_SPACE = 1 << LFB_SPACE, LF_REGION = 1 << LFB_REGION, LF_TLOOKUP = 1 << LFB_TLOOKUP,
  LF_TLOC = 1 << LFB_TLOC, LF_TOTHER = 1 << LFB_TOTHER, LF_TSYMBOL = 1 << LFB_TSYMBOL, LF_MEMCACHE = 1 << LFB_MEMCACHE,
  LF_TUNW = 1 << LFB_TUNW, LF_LUP = 1 << LFB_LUP, LF_XV = 1 << LFB_XV, LF_OSP = 1 << LFB_OSP,
  LF_PHP = 1 << LFB_PHP, LF_GDB = 1 << LFB_GDB, LF_DISASM = 1 << LFB_DISASM, LF_THREAD = 1 << LFB_THREAD,
  LF_OS = 1 << LFB_OS, LF_PROCESS = 1 << LFB_PROCESS, LF_APPLICATION = 1 << LFB_APPLICATION, LF_OSLINUX = 1 << LFB_OSLINUX
}
 
enum  log_flag_bits_probe { LFB_PROBE = 0, LFB_PROBEPOINT = 1, LFB_ACTION = 2 }
 
enum  log_flags_probe { LF_PROBE = 1 << LFB_PROBE, LF_PROBEPOINT = 1 << LFB_PROBEPOINT, LF_ACTION = 1 << LFB_ACTION }
 
enum  log_flag_bits_xml { LFB_XML = 0, LFB_RPC = 1, LFB_SVC = 2, LFB_PROXYREQ = 3 }
 
enum  log_flags_xml { LF_XML = 1 << LFB_XML, LF_RPC = 1 << LFB_RPC, LF_SVC = 1 << LFB_SVC, LF_PROXYREQ = 1 << LFB_PROXYREQ }
 
enum  log_flag_bits_anl { LFB_ANL = 0 }
 
enum  log_flags_anl { LF_ANL = 1 << LFB_ANL }
 

Functions

void vmi_set_log_level (int level)
 
void vmi_inc_log_level (void)
 
void vmi_set_warn_level (int level)
 
void vmi_inc_warn_level (void)
 
void vmi_set_log_area_flags (log_areas_t area, log_flags_t flags)
 
int vmi_set_log_area_flaglist (char *flaglist, char *separator)
 
void vmi_add_log_area_flags (log_areas_t areas, log_flags_t flags)
 
int vmi_add_log_area_flaglist (char *flaglist, char *separator)
 
void vmi_set_user_area_flags (char **names)
 
int vmi_log_get_flag_val (char *flag, log_areas_t *areaval, log_flags_t *flagval)
 
void _vmi_debug (int level, log_areas_t areas, log_flags_t flags, char *format,...)
 
void _vmi_warn (int level, log_areas_t areas, log_flags_t flags, char *format,...)
 
int vdebug_is_on (int level, log_areas_t areas, log_flags_t flags)
 
int vwarn_is_on (int level, log_areas_t areas, log_flags_t flags)
 
error_t log_argp_parse_opt (int key, char *arg, struct argp_state *state)
 

Variables

struct argp log_argp
 

Macro Definition Documentation

#define LA_ALL   INT_MAX

Definition at line 52 of file log.h.

#define LF_A_ALL   (LF_ANL)

Definition at line 244 of file log.h.

#define LF_ALL   INT_MAX

Definition at line 232 of file log.h.

#define LF_D_ALL
Value:

Definition at line 234 of file log.h.

Definition at line 233 of file log.h.

#define LF_P_ALL   (LF_PROBE | LF_PROBEPOINT | LF_ACTION)

Definition at line 242 of file log.h.

#define LF_T_ALL
Value:

Definition at line 238 of file log.h.

#define LF_T_D_ALL   (LF_LUP | LF_XV | LF_GDB | LF_OSP | LF_PHP)

Definition at line 241 of file log.h.

#define LF_U_ALL   INT_MAX

Definition at line 246 of file log.h.

#define LF_X_ALL   (LF_XML | LF_RPC | LF_SVC | LF_PROXYREQ)

Definition at line 243 of file log.h.

#define log_argp_header   "Log/Debug Options"

Definition at line 28 of file log.h.

#define vdebug (   devel,
  areas,
  flags,
  format,
  ... 
)    ((void)0)

Definition at line 302 of file log.h.

#define vdebugc (   devel,
  areas,
  flags,
  format,
  ... 
)    ((void)0)

Definition at line 303 of file log.h.

#define verror (   format,
  ... 
)
Value:
fprintf(stderr, "VERROR: %s:%d: "format, \
__FUNCTION__, __LINE__, ## __VA_ARGS__)

Definition at line 30 of file log.h.

#define verrorc (   format,
  ... 
)    fprintf(stderr,format, ## __VA_ARGS__)

Definition at line 32 of file log.h.

#define vwarn (   format,
  ... 
)
Value:
fprintf(stderr, "VWARNING: %s:%d: "format, \
__FUNCTION__, __LINE__, ## __VA_ARGS__)

Definition at line 33 of file log.h.

#define vwarnc (   format,
  ... 
)    fprintf(stderr,format, ## __VA_ARGS__)

Definition at line 35 of file log.h.

#define vwarnopt (   level,
  area,
  flags,
  format,
  ... 
)
Value:
_vmi_warn(level,area,flags, \
"VWARNING: %s:%d: "format, \
__FUNCTION__, __LINE__, \
## __VA_ARGS__)
void _vmi_warn(int level, log_areas_t areas, log_flags_t flags, char *format,...)
Definition: log.c:389

Definition at line 37 of file log.h.

#define vwarnoptc (   level,
  area,
  flags,
  format,
  ... 
)
Value:
_vmi_warn(level,area,flags,format, \
## __VA_ARGS__)
void _vmi_warn(int level, log_areas_t areas, log_flags_t flags, char *format,...)
Definition: log.c:389

Definition at line 41 of file log.h.

Typedef Documentation

typedef enum log_areas log_areas_t
typedef int log_flags_t

Definition at line 83 of file log.h.

Enumeration Type Documentation

Enumerator
LAB_NONE 
LAB_LIB 
LAB_DEBUG 
LAB_TARGET 
LAB_PROBE 
LAB_XML 
LAB_TEST 
LAB_ANL 
LAB_USER 

Definition at line 54 of file log.h.

enum log_areas
Enumerator
LA_NONE 
LA_LIB 
LA_DEBUG 
LA_TARGET 
LA_PROBE 
LA_XML 
LA_TEST 
LA_ANL 
LA_USER 

Definition at line 66 of file log.h.

Enumerator
LFB_ANL 

Definition at line 208 of file log.h.

Enumerator
LFB_DFILE 
LFB_SYMBOL 
LFB_SCOPE 
LFB_DLOC 
LFB_DLOOKUP 
LFB_DWARF 
LFB_DWARFATTR 
LFB_DWARFSOPS 
LFB_DWARFOPS 
LFB_DCFA 
LFB_DOTHER 
LFB_ELF 
LFB_BFILE 

Definition at line 108 of file log.h.

Enumerator
LFB_CLMATCH 
LFB_CLRANGE 
LFB_RFILTER 
LFB_WAITPIPE 
LFB_EVLOOP 
LFB_MONITOR 
LFB_ROP 
LFB_CFI 
LFB_REGCACHE 

Definition at line 85 of file log.h.

Enumerator
LFB_PROBE 
LFB_PROBEPOINT 
LFB_ACTION 

Definition at line 184 of file log.h.

Enumerator
LFB_TARGET 
LFB_SPACE 
LFB_REGION 
LFB_TLOOKUP 
LFB_TLOC 
LFB_TOTHER 
LFB_TSYMBOL 
LFB_MEMCACHE 
LFB_TUNW 
LFB_LUP 
LFB_XV 
LFB_OSP 
LFB_PHP 
LFB_GDB 
LFB_DISASM 
LFB_THREAD 
LFB_OS 
LFB_PROCESS 
LFB_APPLICATION 
LFB_OSLINUX 

Definition at line 139 of file log.h.

Enumerator
LFB_XML 
LFB_RPC 
LFB_SVC 
LFB_PROXYREQ 

Definition at line 195 of file log.h.

Enumerator
LF_ANL 

Definition at line 211 of file log.h.

Enumerator
LF_DFILE 
LF_SYMBOL 
LF_SCOPE 
LF_DLOC 
LF_DLOOKUP 
LF_DWARF 
LF_DWARFATTR 
LF_DWARFSOPS 
LF_DWARFOPS 
LF_DCFA 
LF_DOTHER 
LF_ELF 
LF_BFILE 

Definition at line 123 of file log.h.

Enumerator
LF_CLMATCH 
LF_CLRANGE 
LF_RFILTER 
LF_WAITPIPE 
LF_EVLOOP 
LF_MONITOR 
LF_ROP 
LF_CFI 
LF_REGCACHE 

Definition at line 96 of file log.h.

Enumerator
LF_PROBE 
LF_PROBEPOINT 
LF_ACTION 

Definition at line 189 of file log.h.

Enumerator
LF_TARGET 
LF_SPACE 
LF_REGION 
LF_TLOOKUP 
LF_TLOC 
LF_TOTHER 
LF_TSYMBOL 
LF_MEMCACHE 
LF_TUNW 
LF_LUP 
LF_XV 
LF_OSP 
LF_PHP 
LF_GDB 
LF_DISASM 
LF_THREAD 
LF_OS 
LF_PROCESS 
LF_APPLICATION 
LF_OSLINUX 

Definition at line 161 of file log.h.

Enumerator
LF_XML 
LF_RPC 
LF_SVC 
LF_PROXYREQ 

Definition at line 201 of file log.h.

Function Documentation

void _vmi_debug ( int  level,
log_areas_t  areas,
log_flags_t  flags,
char *  format,
  ... 
)

Definition at line 379 of file log.c.

void _vmi_warn ( int  level,
log_areas_t  areas,
log_flags_t  flags,
char *  format,
  ... 
)

Definition at line 389 of file log.c.

error_t log_argp_parse_opt ( int  key,
char *  arg,
struct argp_state *  state 
)

Definition at line 416 of file log.c.

int vdebug_is_on ( int  level,
log_areas_t  areas,
log_flags_t  flags 
)

Definition at line 335 of file log.c.

int vmi_add_log_area_flaglist ( char *  flaglist,
char *  separator 
)

Definition at line 103 of file log.c.

void vmi_add_log_area_flags ( log_areas_t  areas,
log_flags_t  flags 
)

Definition at line 67 of file log.c.

void vmi_inc_log_level ( void  )

Definition at line 38 of file log.c.

void vmi_inc_warn_level ( void  )

Definition at line 46 of file log.c.

int vmi_log_get_flag_val ( char *  flag,
log_areas_t areaval,
log_flags_t flagval 
)

Definition at line 168 of file log.c.

int vmi_set_log_area_flaglist ( char *  flaglist,
char *  separator 
)

Definition at line 84 of file log.c.

void vmi_set_log_area_flags ( log_areas_t  area,
log_flags_t  flags 
)

Definition at line 50 of file log.c.

void vmi_set_log_level ( int  level)

Definition at line 34 of file log.c.

void vmi_set_user_area_flags ( char **  names)

Definition at line 164 of file log.c.

void vmi_set_warn_level ( int  level)

Definition at line 42 of file log.c.

int vwarn_is_on ( int  level,
log_areas_t  areas,
log_flags_t  flags 
)

Definition at line 357 of file log.c.

Variable Documentation

struct argp log_argp

Definition at line 413 of file log.c.