librtasevent_src/print_rtas_event.c File Reference

generic routines to handle printing RTAS event sections More...

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <stdarg.h>
#include <string.h>
#include "librtasevent.h"
#include "rtas_event.h"

Functions

int print_scn_title (char *fmt,...)
 print the title of the RTAS event section
int print_raw_data (char *data, int data_len)
 dump raw data
int rtas_print_raw_event (FILE *stream, struct rtas_event *re)
 Dump the entire rtas event in raw format.
static char * rtas_error_type (int type)
 print a description of the RTAS error type
int rtas_set_print_width (int width)
 set the output character width for librtasevent
int rtas_print (char *fmt,...)
 routine to handle all librtas printing
int rtas_print_scn (FILE *stream, struct scn_header *shdr, int verbosity)
 print the contents of the specified rtas event section
int rtas_print_event (FILE *stream, struct rtas_event *re, int verbosity)
 print the contents of an entire rtas event
struct rtas_event_hdrrtas_get_event_hdr_scn (struct rtas_event *re)
 Retrieve the Main RTAS event header.
int print_re_hdr_scn (struct scn_header *shdr, int verbosity)
 Print the contents of an RTAS main event header.
struct rtas_event_exthdrrtas_get_event_exthdr_scn (struct rtas_event *re)
 Retrieve the RTAS Event extended header.
int print_re_exthdr_scn (struct scn_header *shdr, int verbosity)
 print the contents of the RTAS extended header section

Variables

static int rtas_print_width = 80
 character width of the librtasevent output
static int line_offset = 0
 current character offset into the print line
static FILE * ostream
 output stream for librtasevent printing
static int(* re_print_fns [])()
 arrary of function pointers for printing RTAS event sections
static char * rtas_severity_names []
 description of the RTAS severity levels
static char * rtas_disposition_names []
 description of the RTAS event disposition levels
char * rtas_entity_names []
 description of the initiator and target names
static char * rtas_event_error_type []
 description of some of the RTAS error types


Detailed Description

Copyriht (C) 2005 IBM Corporation Common Public License Version 1.0 (see COPYRIGHT)

Author:
Nathan Fontenot <nfont@austin.ibm.com>

Function Documentation

int print_raw_data ( char *  data,
int  data_len 
)

print_raw_data

Parameters:
data pointer to data to dump
data_len length of data to dump
Returns:
number of bytes written

References line_offset, ostream, and rtas_print().

Referenced by print_re_dump_scn(), print_re_generic_scn(), print_re_src_scn(), print_re_vend_errlog_scn(), print_v6_epow(), print_v6_io(), and rtas_print_raw_event().

int print_re_exthdr_scn ( struct scn_header shdr,
int  verbosity 
)

int print_re_hdr_scn ( struct scn_header shdr,
int  verbosity 
)

int print_scn_title ( char *  fmt,
  ... 
)

print_scn_title

Parameters:
fmt string format for section title
... additional args a la printf()
Returns:
number of characters printed

References rtas_print(), and rtas_print_width.

Referenced by print_fru_id_scn(), print_fru_mr_scn(), print_fru_pe_scn(), print_re_cpu_scn(), print_re_fru_scn(), print_re_ibm_diag_scn(), print_re_ibmsp_scn(), print_re_mem_scn(), print_re_post_scn(), print_re_vend_errlog_scn(), print_v4_epow(), print_v4_io(), print_v6_hdr(), rtas_print_event(), and rtas_print_raw_event().

static char* rtas_error_type ( int  type  )  [static]

rtas_error_type

Parameters:
type RTAS event type
Returns:
pointer to description of RTAS type

NULL on unrecognized event type

References rtas_event_error_type.

Referenced by print_re_hdr_scn().

struct rtas_event_exthdr* rtas_get_event_exthdr_scn ( struct rtas_event re  )  [read]

rtas_get_event_exthdr_scn

Parameters:
re rtas_event pointer
Returns:
rtas_event_scn pointer for RTAS extended header section

References get_re_scn(), and RTAS_EVENT_EXT_HDR.

struct rtas_event_hdr* rtas_get_event_hdr_scn ( struct rtas_event re  )  [read]

rtas_get_event_hdr_scn

Parameters:
re rtas_event pointer
Returns:
pointer to rtas_event_scn for main rtas event header

References get_re_scn(), and RTAS_EVENT_HDR.

int rtas_print ( char *  fmt,
  ... 
)

int rtas_print_event ( FILE *  stream,
struct rtas_event re,
int  verbosity 
)

rtas_print_event

Parameters:
stream output stream to print to
re rtas_event pointer to print out
verbosity verbose level of output
Returns:
number of bytes written

References rtas_event::event_no, rtas_event::event_scns, scn_header::next, ostream, print_scn_title(), and rtas_print_scn().

int rtas_print_raw_event ( FILE *  stream,
struct rtas_event re 
)

rtas_print_raw_event

Parameters:
stream ouput stream to write to
re rtas_event pointer
Returns:
number of bytes written

References rtas_event::buffer, rtas_event::event_length, ostream, print_raw_data(), and print_scn_title().

int rtas_print_scn ( FILE *  stream,
struct scn_header shdr,
int  verbosity 
)

rtas_print_scn

Parameters:
stream output stream to write to
res rtas_event_scn pointer to print
verbosity verbose level for output
Returns:
number of bytes written

References ostream, re_print_fns, and scn_header::scn_id.

Referenced by rtas_print_event().

int rtas_set_print_width ( int  width  ) 

rtas_set_print_width

Parameters:
width character width of output
Returns:
0 on success, !0 on failure

References rtas_print_width.


Variable Documentation

int line_offset = 0 [static]

line_offset

Referenced by print_raw_data(), and rtas_print().

FILE* ostream [static]

int(* re_print_fns[])() [static]

Initial value:

re_print_fns NOTE: the index of these print functions corresponds to the definitions for the rtas event sections from librtasevent.h. Changes need to be made in both places to avoid breaking librtasevent.

Referenced by rtas_print_scn().

char* rtas_disposition_names[] [static]

Initial value:

 {
    "Fully Recovered", "Limited Recovery", "Not Recoverd", "(4)"
}
rtas_disposition_names

Referenced by print_re_hdr_scn().

Initial value:

 { 
    "Unknown", "CPU", "PCI", "ISA", "Memory", "Power Management",
    "Hot Plug", "(7)", "(8)", "(9)", "(10)", "(11)", "(12)",
    "(13)", "(14)", "(15)"
}
rtas_entity_names

Referenced by print_re_hdr_scn().

char* rtas_event_error_type[] [static]

Initial value:

 {
    "Unknown", "Retry", "TCE Error", "Internal Device Failure",
    "Timeout", "Data Parity", "Address Parity", "Cache Parity",
    "Address Invalid", "ECC Uncorrected", "ECC Corrupted",
}
rtas_error_type Not all of the event types are covered in this array, please bounds check before using.

Referenced by rtas_error_type().

int rtas_print_width = 80 [static]

rtas_print_width The default output of librtasevent is 80 characters wide. This can be adjusted via the rtas_set_print_width() call.

Referenced by print_scn_title(), rtas_print(), and rtas_set_print_width().

char* rtas_severity_names[] [static]

Initial value:

 {
    "No Error", "Event", "Warning", "Error Sync", "Error",
    "Fatal", "Already Reported", "(7)"
}
rtas_severity_names

Referenced by print_re_hdr_scn().


Generated on Sat Jun 7 04:46:31 2008 for librtasevent by  doxygen 1.5.5