GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSF / V2-0-8 > lsfutils / rhel4-32


Interface   Data Structures   File List   Data Fields   Globals  

LSF_scan.c File Reference

Scans an LSF formatted data structure. More...

#include <LSF/LSF_scan.h>
#include <LSF/LSF.h>
#include <PBI/PTR.h>

Functions

unsigned int root_check (unsigned int root_len, unsigned int dgm_len)
 Checks that the length is consistent with not being too big or too small.
static __inline unsigned int dgm_check (unsigned int dgm_len, unsigned int dgms_len)
 Checks that the length is consistent with not being too big or too small.
static __inline unsigned int ctb_check (unsigned int ctb_len, unsigned int ctbs_len)
 Checks that the length is consistent with not being too big or too small.
static __inline unsigned int rec_check (unsigned int rec_len, unsigned int recs_len)
 Checks that the length is consistent with not being too big or too small.
unsigned int LSF_scanDatagrams (const LSF_datagram *dgms, unsigned int dgms_len, LSF_scanDatagramRtn dgm_rtn, void *dgm_ctx)
 Scans through the input set of LSF datagrams.
unsigned int LSF_scanContributions (const LSF_contribution *ctbs, unsigned int ctbs_len, LSF_scanContributionRtn ctb_rtn, void *ctb_ctx)
 Scans through the input LSF contributions processing each contribution.
unsigned int LSF_scanRecords (const LSF_record *recs, unsigned int recs_len, LSF_scanRecordRtn rec_rtn, void *rec_ctx)
 Loops through the set of LSF records.
unsigned int LSF_scanDatagram (const LSF_datagram *dgm, LSF_scanContributionRtn ctb_rtn, void *ctb_ctx)
 Scans through the input LSF datagram.
unsigned int LSF_scanDatagramRoot (const LSF_datagram *dgm, LSF_scanContributionRtn ctb_rtn, void *ctb_ctx)
 Scans through the root contributions of input LSF datagram.
unsigned int LSF_scanContribution (const LSF_contribution *ctb, LSF_scanRecordRtn rec_rtn, void *rec_ctx)
 Scans through the input LSF datagram.


Detailed Description

Scans an LSF formatted data structure.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: LSF_scan.c,v 1.7 2011/03/25 18:23:09 apw Exp $

Function Documentation

static __inline unsigned int ctb_check ( unsigned int  ctb_len,
unsigned int  ctbs_len 
) [static]

Checks that the length is consistent with not being too big or too small.

Parameters:
ctb_len The length of this contribution
ctbs_len The amount left for all contributions

References LSF_SCAN_STATUS_M_CTB_OVRFLW, and LSF_SCAN_STATUS_M_CTB_UNDFLW.

Referenced by LSF_scanContributions().

static __inline unsigned int dgm_check ( unsigned int  dgm_len,
unsigned int  dgms_len 
) [static]

Checks that the length is consistent with not being too big or too small.

Parameters:
dgm_len The length of this datagram
dgms_len The amount left in the packet

References LSF_SCAN_STATUS_M_DGM_OVRFLW, and LSF_SCAN_STATUS_M_DGM_UNDFLW.

Referenced by LSF_scanDatagrams().

unsigned int LSF_scanContribution ( const LSF_contribution ctb,
LSF_scanRecordRtn  rec_rtn,
void *  rec_ctx 
)

Scans through the input LSF datagram.

Returns:
The return value of LSF_scanContributions, really the return value of the ctb_handler.
Parameters:
ctb The contribution to scan
rec_rtn The record level handling routine for this contribution
rec_ctx The context parameter for ctb

References _LSF_contribution::bdy, _LSF_contribution::hdr, _LSF_contribution_hdr::len32, LSF_scanRecords(), and _LSF_contribution_bdy::rec.

unsigned int LSF_scanContributions ( const LSF_contribution ctbs,
unsigned int  ctbs_len,
LSF_scanContributionRtn  ctb_rtn,
void *  ctb_ctx 
)

Scans through the input LSF contributions processing each contribution.

Parameters:
ctbs The first of a series of LSF contributions
ctbs_len The length, in 32-bit words, of all the contributions
ctb_rtn The contribution level handling routine
ctb_ctx The context parameter for ctb_rtn

References _LSF_contribution::bdy, _LSF_identity::bf, ctb_check(), _LSF_scanRecordHandler::ctx, _LSF_identity_bf::dir, _LSF_contribution::hdr, _LSF_contribution_hdr::id, _LSF_contribution_hdr::len32, LSF_contributionAdvance(), LSF_SCAN_STATUS_M_CTB, LSF_scanRecords(), _LSF_contribution_bdy::rec, and _LSF_scanRecordHandler::rtn.

Referenced by LSF_scanDatagram(), LSF_scanDatagramRoot(), and LSF_scanDatagrams().

unsigned int LSF_scanDatagram ( const LSF_datagram dgm,
LSF_scanContributionRtn  ctb_rtn,
void *  ctb_ctx 
)

Scans through the input LSF datagram.

Returns:
The return value of LSF_scanContributions, really the return value of the ctb_handler.
Parameters:
dgm The datagram to scan
ctb_rtn The contribution level handling routine for this datagram.
ctb_ctx The context parameter for ctb_rtn.

References _LSF_datagram::bdy, _LSF_datagram_bdy::ctb, _LSF_datagram::hdr, _LSF_datagram_hdr::len32, and LSF_scanContributions().

unsigned int LSF_scanDatagramRoot ( const LSF_datagram dgm,
LSF_scanContributionRtn  ctb_rtn,
void *  ctb_ctx 
)

Scans through the root contributions of input LSF datagram.

Returns:
The return value of LSF_scanContributions, really the return value of the ctb_handler.
Parameters:
dgm The datagram containing the root to scan
ctb_rtn The contribution level handling routine for this datagram.
ctb_ctx The context parameter for ctb_rtn.

References _LSF_root::bdy, _LSF_datagram::bdy, _LSF_root_hdr::bf, _LSF_root_bdy::ctb, _LSF_root_bdy::dat, _LSF_root::hdr, _LSF_root_hdr_bf::len32, LSF_scanContributions(), and _LSF_datagram_bdy::root.

unsigned int LSF_scanDatagrams ( const LSF_datagram dgms,
unsigned int  dgms_len,
LSF_scanDatagramRtn  dgm_rtn,
void *  dgm_ctx 
)

Scans through the input set of LSF datagrams.

Parameters:
dgms The first of a series of LSF datagrams
dgms_len The length, in bytes, of all the datagrams
dgm_rtn The datagram handling routine
dgm_ctx Context parameter for dgm_rtn

References _LSF_datagram::bdy, _LSF_root_hdr::bf, _LSF_identity::bf, _LSF_scanContributionHandler::ctx, dgm_check(), _LSF_identity_bf::dir, _LSF_root::hdr, _LSF_datagram::hdr, _LSF_datagram_hdr::id, _LSF_root_hdr_bf::len32, _LSF_datagram_hdr::len32, LSF_contributionAdvance(), LSF_datagramAdvance(), LSF_SCAN_STATUS_M_DGM, LSF_scanContributions(), _LSF_datagram_bdy::root, _LSF_identity_bf::root, root_check(), and _LSF_scanContributionHandler::rtn.

unsigned int LSF_scanRecords ( const LSF_record recs,
unsigned int  recs_len,
LSF_scanRecordRtn  rec_rtn,
void *  rec_ctx 
)

Loops through the set of LSF records.

Return values:
0,if all records where processed
!=0,if the scan was aborted.
Parameters:
recs The list of records to scan
recs_len The length, in 32-bit units of all the records
rec_rtn The record level handling routine
rec_ctx The context parameter.for rec_rtn

References _LSF_record_hdr::bf, _LSF_record::hdr, _LSF_record_hdr_bf::len32, LSF_recordAdvance(), LSF_SCAN_STATUS_M_REC, and rec_check().

Referenced by LSF_scanContribution(), and LSF_scanContributions().

static __inline unsigned int rec_check ( unsigned int  rec_len,
unsigned int  recs_len 
) [static]

Checks that the length is consistent with not being too big or too small.

Parameters:
rec_len The length of this record
recs_len The amount left for all records

References LSF_SCAN_STATUS_M_REC_OVRFLW, and LSF_SCAN_STATUS_M_REC_UNDFLW.

Referenced by LSF_scanRecords().

static __inline unsigned int root_check ( unsigned int  root_len,
unsigned int  dgm_len 
)

Checks that the length is consistent with not being too big or too small.

Parameters:
root_len The length of this root contribution
dgm_len The size of this datagram

References LSF_SCAN_STATUS_M_DGM_ROOT_OVRFLW, and LSF_SCAN_STATUS_M_DGM_ROOT_UNDFLW.

Referenced by LSF_scanDatagrams().


Generated on Fri Sep 30 18:07:57 2011 by  doxygen 1.5.8