librtasevent_src/get_rtas_event.c File Reference

librtasevent routines to parse RTAS events More...

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

Functions

void rtas_copy (void *to, struct rtas_event *re, uint32_t size)
 front end for common memcpy calls
int cleanup_rtas_event (struct rtas_event *re)
 free the structures related to a parsed rtas event
void add_re_scn (struct rtas_event *re, void *scn, int scn_id)
 Add a rtas event section to the section list.
int re_scn_id (struct rtas_v6_hdr *v6hdr)
 Convert the two character section id into an internal identifier.
static struct scn_header_get_re_scn (struct scn_header *scn_hdr, int scn_id)
 the real work for retreiving rtas event sections
struct scn_headerget_re_scn (struct rtas_event *re, int scn_id)
 find the specified section on the list of sections
struct rtas_eventparse_v6_rtas_event (struct rtas_event *re)
 parse a version 6 RTAS event
struct rtas_eventparse_rtas_event (char *buf, int buflen)
 parse an rtas event creating a populated rtas_event structure


Detailed Description

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

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

Function Documentation

static struct scn_header* _get_re_scn ( struct scn_header scn_hdr,
int  scn_id 
) [static, read]

_get_re_scn

Parameters:
res rtas_event_scn pointer at which to start search
scn_id section id to search for
Returns:
rtas_event_scn on success, NULL on failure

References scn_header::next, and scn_header::scn_id.

Referenced by get_re_scn().

void add_re_scn ( struct rtas_event re,
void *  scn,
int  scn_id 
)

add_re_scn

Parameters:
re rtas_event pointer to add this section to
scn pointer to start of rtas event section
scn_id id of the section to be added return pointer to newly created rtas_event_scn

References rtas_event::event_scns, scn_header::next, scn_header::re, and scn_header::scn_id.

Referenced by parse_cpu_scn(), parse_dump_scn(), parse_epow_scn(), parse_generic_v6_scn(), parse_ibm_diag_scn(), parse_io_scn(), parse_lri_scn(), parse_mem_scn(), parse_mt_scn(), parse_post_scn(), parse_priv_hdr_scn(), parse_rtas_event(), parse_sp_scn(), parse_src_scn(), parse_usr_hdr_scn(), and parse_vend_errlog_scn().

int cleanup_rtas_event ( struct rtas_event re  ) 

struct scn_header* get_re_scn ( struct rtas_event re,
int  scn_id 
) [read]

get_re_scn NOTE: this function has been split just so we can have common place to check for NULL 're' pointers (no sense checking everywhere we call this).

Parameters:
re rtas_event pointer
scn_id id of the section to find
Returns:
rtas_event_scn on success, NULL on failure

References _get_re_scn(), and rtas_event::event_scns.

Referenced by rtas_get_cpu_scn(), rtas_get_dump_scn(), rtas_get_epow_scn(), rtas_get_event_exthdr_scn(), rtas_get_event_hdr_scn(), rtas_get_ibm_diag_scn(), rtas_get_ibm_sp_scn(), rtas_get_io_scn(), rtas_get_lri_scn(), rtas_get_mem_scn(), rtas_get_mt_scn(), rtas_get_post_scn(), rtas_get_priv_hdr_scn(), rtas_get_src_scn(), rtas_get_usr_hdr_scn(), and rtas_get_vend_errlog_scn().

struct rtas_event* parse_rtas_event ( char *  buf,
int  buflen 
) [read]

struct rtas_event* parse_v6_rtas_event ( struct rtas_event re  )  [read]

int re_scn_id ( struct rtas_v6_hdr v6hdr  ) 

void rtas_copy ( void *  to,
struct rtas_event re,
uint32_t  size 
)


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