GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LATC / dev > reg_parser / rhel4-32


Interface   Data Structures   File List   Data Fields   Globals  

state.c File Reference

Initialisation of the parser structures. More...

#include <LATC/LATC_msgs.h>
#include <state_p.h>
#include <files_p.h>
#include <tags_p.h>
#include <LEM/msg_macros.h>
#include <string.h>

Enumerations

enum  { INITIAL_STACK_LIMIT = 8 }

Functions

void init_regState (RegState *state, int verbose)
 Initialises a RegState object for parsing XML files.
void scpt_regState (RegState *state, const char *name, unsigned regWidth, unsigned multi, unsigned suppress)
 Handle the start of a new component by recording some information on a stack and calling the various scpt_file functions.
void sreg_regState (RegState *state, const char *name, unsigned regId, REG_TYPE type)
 Handle the start of a new register updating some state information and calling the various sreg_file functions.
void sfld_regState (RegState *state, const char *name, unsigned width, unsigned offset)
 handle the start of a new field by calling the various sfld_file functions
void ereg_regState (RegState *state)
 Call the ereg_file functions.
void ecpt_regState (RegState *state)
 Round out a component by popping some information off the stack and calling the various ecpt_file functions.
void fini_regState (RegState *state)
 Finishes off the parsing by closing all the files and clearing the state information.


Detailed Description

Initialisation of the parser structures.

Author:
James Swain -- jswain@slac.stanford.edu

Function Documentation

void ecpt_regState ( RegState state  ) 

void ereg_regState ( RegState state  ) 

void fini_regState ( RegState state  ) 

void init_regState ( RegState state,
int  verbose 
)

void scpt_regState ( RegState state,
const char *  name,
unsigned  regWidth,
unsigned  multi,
unsigned  suppress 
)

Handle the start of a new component by recording some information on a stack and calling the various scpt_file functions.

Parameters:
state Parser state being manipulated
name Name of the component
regWidth Width (in bits) of the registers of this component
multi Multiplicity of this component
suppress 1 indicates that this component is not handled by LATC, so the parser should be suppressed.

References GenFiles::addr, RegState::cptDetail, GenFiles::description, RegState::file, GenFiles::fldEnum, GenFiles::latcType, GenFiles::lem, GenFiles::mapdtd, GenFiles::mapTags, newCptDetail(), RegState::nReg, GenFiles::number, GenFiles::regEnum, scpt_cptDetail(), scpt_fileAddr(), scpt_fileDescription(), scpt_fileFldEnum(), scpt_filelatcType(), scpt_fileLEM(), scpt_fileMapDTD(), scpt_fileMapTags(), scpt_fileNumber(), scpt_fileRegEnum(), scpt_fileTree_c(), scpt_fileTree_h(), scpt_fileTypeEnum(), scpt_fileXMLDTD(), scpt_fileXMLTags(), RegState::suppressed, GenFiles::tree_c, GenFiles::tree_h, GenFiles::typeEnum, GenFiles::xmldtd, and GenFiles::xmlTags.

Referenced by startComponent().

void sfld_regState ( RegState state,
const char *  name,
unsigned  width,
unsigned  offset 
)

void sreg_regState ( RegState state,
const char *  name,
unsigned  regId,
REG_TYPE  type 
)


Generated on Thu Apr 7 17:31:13 2011 by  doxygen 1.5.8