Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

klog.c File Reference

Go to the source code of this file.

Functions

int klog_args (u_config_t *ls, klog_args_t **pka)
 create a klog_args_t object with configuration parameters read from a log subsection of a kloned configuration file
int klog_open (klog_args_t *ka, klog_t **pkl)
 Create a new klog_t object from the corresponding klog_args_t.
int klog (klog_t *kl, int level, const char *fmt,...)
 Log a KLOG message.
void klog_close (klog_t *kl)
 Destroy a klog_t object.
int klog_getln (klog_t *kl, size_t nth, char ln[])
 Return the nth memory-log message.
int klog_clear (klog_t *kl)
 Remove all memory-log messages from the supplied klog_t context.
ssize_t klog_countln (klog_t *kl)
 Count the number of lines in the supplied memory-log context kl.
int klog_open_from_config (u_config_t *ls, klog_t **pkl)
 create a klog_t object reading configuration parameters from a configuration "log" record
int klog_flush (klog_t *kl)
 flush all buffered data to the klog_t (file) device
void klog_args_print (FILE *fp, klog_args_t *ka)
void klog_args_free (klog_args_t *ka)


Function Documentation

int klog klog_t kl,
int  level,
const char *  fmt,
  ...
 

Parameters:
kl The klog context in use
level log severity, from KLOG_DEBUG to KLOG_EMERG
fmt log format string. Note that the conversion specification depends on the underying log type: KLOG_TYPE_MEM and KLOG_TYPE_FILE have printf(3)-like behaviour, while KLOG_TYPE_SYSLOG follows syslog(3) format rules.
... parameters to fmt
Returns:
  • 0 success
  • ~0 on failure

Definition at line 149 of file klog.c.

References klog_s::cb_log, IS_KLOG_TYPE, KLOG_LEVEL_UNKNOWN, klog_t, klog_s::threshold, and klog_s::type.

Referenced by server_ppc_cb_log_add().

int klog_args u_config_t *  ls,
klog_args_t **  pka
 

Parameters:
ls a log configuration record
pka the corresponding klog_args_t object as a value-result argument
Returns:
  • 0 success
  • ~0 on failure (pka MUST not be referenced)

Definition at line 37 of file klog.c.

References klog_args_s::fbasename, klog_args_s::flimit, klog_args_s::fsplits, klog_args_s::ident, klog_args_free(), klog_args_t, klog_args_s::mlimit, klog_args_s::sfacility, klog_args_s::soptions, klog_args_s::threshold, and klog_args_s::type.

Referenced by klog_open_from_config().

void klog_args_free klog_args_t ka  ) 
 

Definition at line 339 of file klog.c.

References klog_args_s::fbasename, klog_args_s::ident, and klog_args_t.

Referenced by klog_args(), and klog_open_from_config().

void klog_args_print FILE *  fp,
klog_args_t ka
 

Definition at line 321 of file klog.c.

References klog_args_s::fbasename, klog_args_s::flimit, klog_args_s::fsplits, klog_args_s::ident, klog_args_t, klog_args_s::mlimit, klog_args_s::sfacility, klog_args_s::soptions, klog_args_s::threshold, and klog_args_s::type.

int klog_clear klog_t kl  ) 
 

Parameters:
kl A KLOG_TYPE_MEM context
Returns:
  • 0 success
  • ~0 on failure

Definition at line 232 of file klog.c.

References klog_s::cb_clear, IS_KLOG_TYPE, klog_t, and klog_s::type.

void klog_close klog_t kl  ) 
 

Parameters:
kl The klog_t object to be destroyed. When destroying a KLOG_TYPE_MEM object, all log messages are lost.
Returns:
nothing

Definition at line 184 of file klog.c.

References klog_s::cb_close, IS_KLOG_TYPE, klog_t, and klog_s::type.

Referenced by backend_free(), klog_open(), klog_open_from_config(), and server_free().

ssize_t klog_countln klog_t kl  ) 
 

Parameters:
kl A KLOG_TYPE_MEM context
Returns:
nothing

Definition at line 250 of file klog.c.

References klog_s::cb_countln, IS_KLOG_TYPE, klog_t, and klog_s::type.

int klog_flush klog_t kl  ) 
 

Parameters:
kl a klog device
Returns:
  • 0 success
  • ~0 on failure

Definition at line 307 of file klog.c.

References klog_s::cb_flush, IS_KLOG_TYPE, klog_t, and klog_s::type.

Referenced by server_loop().

int klog_getln klog_t kl,
size_t  nth,
char  ln[]
 

Parameters:
kl A KLOG_TYPE_MEM context
nth a log message index: elements are retrieved in reverse order with respect to insertion
ln where the log string shall be stored: it must be a preallocated buffer, at least KLOG_MSG_SZ + 1 bytes long
Returns:
  • 0 success
  • ~0 on failure

Definition at line 212 of file klog.c.

References klog_s::cb_getln, IS_KLOG_TYPE, klog_t, and klog_s::type.

Referenced by server_ppc_cb_log_get().

int klog_open klog_args_t ka,
klog_t **  pkl
 

Parameters:
ka an initialised klog_args_t object
pkl the newly created klog_t object as a value-result argument
Returns:
  • 0 success
  • ~0 on error (pkl MUST not be referenced)

Definition at line 96 of file klog.c.

References klog_args_s::fbasename, klog_args_s::flimit, klog_args_s::fsplits, klog_args_s::ident, klog_args_t, klog_close(), klog_new(), klog_open_file(), klog_open_mem(), klog_open_syslog(), klog_t, klog_args_s::mlimit, klog_args_s::sfacility, klog_args_s::soptions, klog_args_s::threshold, and klog_args_s::type.

Referenced by klog_open_from_config().

int klog_open_from_config u_config_t *  ls,
klog_t **  pkl
 

Parameters:
ls a log configuration record
pkl the corresponding klog_args_t object as a value-result argument
Returns:
  • 0 success
  • ~0 on failure (pka MUST not be referenced)

Definition at line 272 of file klog.c.

References klog_args(), klog_args_free(), klog_args_t, klog_close(), klog_open(), and klog_t.

Referenced by server_create().


←Products
© 2005-2006 - KoanLogic S.r.l. - All rights reserved