rpm  5.2.1
Defines | Functions | Variables
rpmio/rpmlog.c File Reference
#include "system.h"
#include <stdarg.h>
#include <rpmlog.h>
#include "debug.h"
Include dependency graph for rpmlog.c:

Go to the source code of this file.

Defines

#define _RPMLOG_INTERNAL

Functions

static void * _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
int rpmlogGetNrecs (void)
 Return number of messages.
int rpmlogCode (void)
 Return error code from last rpmError() message.
const char * rpmlogMessage (void)
 Return text of last rpmError() message.
const char * rpmlogRecMessage (rpmlogRec rec)
 Retrieve log message string from rpmlog record.
rpmlogLvl rpmlogRecPriority (rpmlogRec rec)
 Retrieve log priority from rpmlog record.
void rpmlogPrint (FILE *f)
 Print all rpmError() messages.
void rpmlogClose (void)
 Close desriptor used to write to system logger.
void rpmlogOpen (const char *ident, int option, int facility)
 Open connection to system logger.
int rpmlogSetMask (int mask)
 Set the log mask level.
rpmlogCallback rpmlogSetCallback (rpmlogCallback cb, rpmlogCallbackData data)
 Set rpmlog callback function.
void rpmlogGetCallback (rpmlogCallback *cb, rpmlogCallbackData *data)
 Get rpmlog callback function and data.
static int rpmlogDefault (rpmlogRec rec)
FILE * rpmlogSetFile (FILE *fp)
 Set rpmlog file handle.
const char * rpmlogLevelPrefix (rpmlogLvl pri)
 Return translated prefix string (if any) given log level.
static int vsnprintf (char *buf, int nb, const char *fmt, va_list ap)
void vrpmlog (unsigned code, const char *fmt, va_list ap)
 Same as _rpmlog with stdarg argument list.
void _rpmlog (int code, const char *fmt,...)
 Generate a log message using FMT string and option arguments.

Variables

static int nrecs = 0
static rpmlogRec recs = NULL
static unsigned rpmlogMask = RPMLOG_UPTO( RPMLOG_NOTICE )
static rpmlogCallback _rpmlogCallback
static rpmlogCallbackData _rpmlogCallbackData
static FILE * _stdlog = NULL
static const char * rpmlogMsgPrefix []

Detailed Description

Definition in file rpmlog.c.


Define Documentation

Definition at line 7 of file rpmlog.c.


Function Documentation

static void* _free ( const void *  p) [inline, static]

Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

Parameters:
pmemory to free
Return values:
NULLalways

Definition at line 24 of file rpmlog.c.

Referenced by rpmlogClose(), and vrpmlog().

void _rpmlog ( int  code,
const char *  fmt,
  ... 
)

Generate a log message using FMT string and option arguments.

Note: inline'd to avoid debugging insturmentation overhead.

Definition at line 294 of file rpmlog.c.

References vrpmlog().

void rpmlogClose ( void  )

Close desriptor used to write to system logger.

Todo:
Implement.

Definition at line 78 of file rpmlog.c.

References _free(), nrecs, and recs.

Referenced by rpmioClean().

int rpmlogCode ( void  )

Return error code from last rpmError() message.

Deprecated:
Perl-RPM needs, what's really needed is predictable, non-i18n encumbered, error text that can be retrieved through rpmlogMessage() and parsed IMHO.
Returns:
code from last message

Definition at line 35 of file rpmlog.c.

References nrecs, and recs.

static int rpmlogDefault ( rpmlogRec  rec) [static]

Get rpmlog callback function and data.

Parameters:
cbpointer to rpmlog callback function
datapointer to callback private (user) data
Returns:
none

Definition at line 133 of file rpmlog.c.

References _rpmlogCallback, and _rpmlogCallbackData.

int rpmlogGetNrecs ( void  )

Return number of messages.

Returns:
number of messages

Definition at line 30 of file rpmlog.c.

References nrecs.

Referenced by buildSpec().

const char* rpmlogLevelPrefix ( rpmlogLvl  pri)

Return translated prefix string (if any) given log level.

Parameters:
prilog priority
Returns:
message prefix (or "" for none)

Definition at line 197 of file rpmlog.c.

References rpmlogMsgPrefix.

Referenced by rpmlogDefault().

const char* rpmlogMessage ( void  )

Return text of last rpmError() message.

Returns:
text of last message

Definition at line 42 of file rpmlog.c.

References _, nrecs, and recs.

void rpmlogOpen ( const char *  ident,
int  option,
int  facility 
)

Open connection to system logger.

Todo:
Implement.

Definition at line 93 of file rpmlog.c.

void rpmlogPrint ( FILE *  f)

Print all rpmError() messages.

Parameters:
ffile handle (NULL uses stderr)

Definition at line 62 of file rpmlog.c.

References nrecs, and recs.

Referenced by buildSpec().

const char* rpmlogRecMessage ( rpmlogRec  rec)

Retrieve log message string from rpmlog record.

Parameters:
recrpmlog record
Returns:
log message

Definition at line 49 of file rpmlog.c.

Retrieve log priority from rpmlog record.

Parameters:
recrpmlog record
Returns:
log priority

Definition at line 55 of file rpmlog.c.

Set rpmlog callback function.

Parameters:
cbrpmlog callback function
datacallback private (user) data
Returns:
previous rpmlog callback function

Definition at line 123 of file rpmlog.c.

References _rpmlogCallback, and _rpmlogCallbackData.

FILE* rpmlogSetFile ( FILE *  fp)

Set rpmlog file handle.

Parameters:
fprpmlog file handle (NULL uses stdout/stderr)
Returns:
previous rpmlog file handle

Definition at line 174 of file rpmlog.c.

References _stdlog.

Referenced by setLogFile().

int rpmlogSetMask ( int  mask)

Set the log mask level.

Parameters:
masklog mask (0 is no operation)
Returns:
previous log mask

Definition at line 107 of file rpmlog.c.

References rpmlogMask.

Referenced by doFoo(), and rpmlog().

void vrpmlog ( unsigned  code,
const char *  fmt,
va_list  ap 
)
static int vsnprintf ( char *  buf,
int  nb,
const char *  fmt,
va_list  ap 
) [inline, static]

Definition at line 203 of file rpmlog.c.

Referenced by vrpmlog().


Variable Documentation

Definition at line 118 of file rpmlog.c.

Referenced by rpmlogGetCallback(), rpmlogSetCallback(), and vrpmlog().

Definition at line 121 of file rpmlog.c.

Referenced by rpmlogGetCallback(), rpmlogSetCallback(), and vrpmlog().

FILE* _stdlog = NULL [static]

Definition at line 142 of file rpmlog.c.

Referenced by rpmlogDefault(), and rpmlogSetFile().

int nrecs = 0 [static]

Definition at line 14 of file rpmlog.c.

Referenced by rpmlogClose(), rpmlogCode(), rpmlogGetNrecs(), rpmlogMessage(), rpmlogPrint(), and vrpmlog().

rpmlogRec recs = NULL [static]
unsigned rpmlogMask = RPMLOG_UPTO( RPMLOG_NOTICE ) [static]

Definition at line 100 of file rpmlog.c.

Referenced by rpmlogSetMask(), and vrpmlog().

const char* rpmlogMsgPrefix[] [static]
Initial value:
 {
    N_("fatal error: "),
    N_("fatal error: "),
    N_("fatal error: "),
    N_("error: "),      
    N_("warning: "),    
    "",                 
    "",                 
    "D: ",              
}

Definition at line 185 of file rpmlog.c.

Referenced by rpmlogLevelPrefix().