GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > RIM / V1-0-0

Constituent: trim     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

RIM.h File Reference

Public definitions for the RIM (Register In-Memory) facility. More...

#include <stdio.h>

Include dependency graph for RIM.h:

This graph shows which files directly or indirectly include this file:


Data Structures

struct  Layer_addr
 Address of a TFE/SPT node. More...
struct  ACD_addr
 Address of a ARC/AFE node. More...
struct  TEM_addr
 Address of a TEM/TIC/CCC/TCC/CRC/TRC/CFE node. More...
union  RIM_addr
 Union of all the address structures and an array, used for hierarchical leaf identification throughout RIM. More...
struct  RIM_errorInfo
 Information used to record a read error occured. More...

Typedefs

typedef unsigned RIM_type
 Creates a new type used to identify components (TEM, TFE etc).
typedef RIM_ RIM
 Forward declaration of the RIM structure.
typedef RIM_map_ RIM_map
 Forward declaration of the RIM_map structure, a bit-map of all the LAT components.
typedef void( RIM_decodeFn )(unsigned short *pkt, void *ptr)
 Function that Decodes the response from one type of LAT register.
typedef unsigned( RIM_loadFn )(void *param, const RIM_addr *addr, unsigned regId, const void *value)
 Function that Loads one type of LAT register.
typedef unsigned( RIM_readFn )(void *param, const RIM_addr *addr, unsigned regId, RIM_decodeFn *decodeFn, void *dst, const RIM_errorInfo *info)
 Function that Reads one type of LAT register.
typedef void( RIM_startDgm )(void *ctl)
 Function called to start a new datagram.
typedef unsigned( RIM_startCtb )(void *ctl, size_t size, unsigned type)
 Function called to start a new contribution.
typedef void( RIM_addData )(void *ctl, void *data, size_t size)
 Function called to add data to a contribution.
typedef void( RIM_endCtb )(void *ctl)
 Function called to end a datagram.
typedef unsigned( RIM_endDgm )(void *ctl)
 Function called to end (and send) a datagram.

Enumerations

enum  {
  LATC_MAJ = 14,
  LATC_MIN = 0
}
 Current version numbers.
enum  { RIM_MEM_ALIGN = sizeof(unsigned long long) }
 Memory alignment requirements on a memory block used for a RIM structure.
enum  { FIO_PERMS = 0666 }
 File permissions for output files.
enum  LATC_CTB_BASE_ID {
  LATC_SSR_APID = 0x3fd,
  LATC_CTB_MAP = 0,
  LATC_CTB_DATA = 128
}
 Contribution type base ID for the two types of LATC contributions.
enum  {
  RIM_BCAST_ADDR = 255,
  N_RIM_ADDR_CPTS = 4
}
 Constant values associated with addressing LAT component instances.
enum  { RIM_BAD_TYPE = -1 }
enum  RIM_ERROR {
  RIM_SUCCESS = 0,
  RIM_ADDR_BCAST = -11,
  RIM_ADDR_RANGE = -12,
  RIM_ADDR_INDEX = -13,
  RIM_ADDR_LAYER = -14,
  RIM_ADDR_LSIG = -15,
  RIM_ADDR_LXY = -16,
  RIM_ADDR_LIND = -17,
  RIM_TYPE_UK = -21,
  RIM_TYPE_STR = -22,
  RIM_MAP_NONE = -31,
  RIM_DIFFER = -41,
  RIM_REG_ID = -42,
  RIM_FLD_ID = -43,
  RIM_NOT_SET = -44,
  RIM_CPT_NONE = -45,
  RIM_XML_PARSE = -51,
  RIM_FILE_END = -61,
  RIM_FILE_READ = -62,
  RIM_FILE_WRITE = -63,
  RIM_FILE_OPEN = -64,
  RIM_FILE_CLOSE = -65,
  RIM_BUF_SHORT = -71,
  RIM_FLD_RANGE = -81
}
 RIM error codes. More...

Functions

int RIM_checkBit (const RIM_map *map, RIM_type type, const RIM_addr *addr)
void RIM_clear (RIM *rim)
unsigned RIM_clearBit (RIM_map *map, RIM_type type, const RIM_addr *addr)
unsigned RIM_clearByTWR (RIM_map *map, RIM_type type, unsigned twr)
void RIM_clearMap (RIM_map *map)
int RIM_compare (const RIM *this, const RIM *that, RIM_map *map)
int RIM_compareType (const char *string, RIM_type type)
RIMRIM_construct (void *buffer)
RIM_mapRIM_constructMap (void *buffer)
unsigned RIM_consume (RIM *rim, int fd)
unsigned RIM_consumeMap (RIM_map *map, int fd)
unsigned RIM_contrast (const RIM *this, const RIM *that, const RIM_map *map, RIM_type *r_type, RIM_addr *r_addr)
void RIM_correct (RIM *orig, RIM *capt)
unsigned RIM_create (RIM *rim, RIM_type type, int fd)
unsigned RIM_createMap (RIM_map *map, int fd)
unsigned RIM_createMask (RIM *rim)
void RIM_dumpMap (RIM_map *map, FILE *fp)
unsigned RIM_get (const RIM *rim, RIM_type type, const RIM_addr *addr, int regId, void *value)
unsigned RIM_getAddress (RIM_addr *addr, unsigned index, RIM_type type)
unsigned RIM_getAddrRng (const char *string, RIM_addr *addr)
const char * RIM_getErrorString (RIM_ERROR err)
unsigned RIM_getIndex (const RIM_addr *addr, unsigned *index, RIM_type type)
unsigned RIM_getLayerID (char sign, char xy, char index, unsigned *layer)
unsigned RIM_getLayerName (unsigned layer, char *sign, char *xy, char *index)
unsigned RIM_load (RIM *rim, void *param, RIM_loadFn **loadFn)
unsigned RIM_loadMdfy (RIM *rim, RIM_type type, unsigned reg, unsigned feMask, void *mask, void *value, void *param, RIM_loadFn **loadFn)
RIM_type RIM_lookupType (const char *string)
unsigned RIM_nameType (char *string, RIM_type type)
unsigned RIM_nTypes (void)
unsigned RIM_read (RIM *rim, void *param, RIM_readFn **readFn, RIM_decodeFn **decodeFn, const RIM_map *ign)
unsigned RIM_record (RIM *rim, void *pkt, RIM_startDgm *startDgm, RIM_startCtb *startCtb, RIM_addData *addData, RIM_endCtb *endCtb, RIM_endDgm *endDgm)
void RIM_report (RIM *rim, FILE *fp, unsigned noDflt)
unsigned RIM_retrieve (RIM *rim, char *dat, size_t len, unsigned id, int verb)
unsigned RIM_set (RIM *rim, RIM_type type, const RIM_addr *addr, int regId, const void *value)
unsigned RIM_setBit (RIM_map *map, RIM_type type, const RIM_addr *addr)
unsigned RIM_setByTWR (RIM_map *map, RIM_type type, unsigned twr)
void RIM_setSPT (void *ptr, unsigned short value, unsigned isHigh)
size_t RIM_sizeof (void)
size_t RIM_sizeofMap (void)

Detailed Description

Public definitions for the RIM (Register In-Memory) facility.

Author:
James Swain & Owen Saxton
Id
RIM.h,v 1.2 2007/03/22 23:40:00 saxton Exp

Enumeration Type Documentation

enum RIM_ERROR
 

RIM error codes.

Enumerator:
RIM_ADDR_BCAST  Address structure has a mixture of broadcast and unicast components.
RIM_ADDR_RANGE  Address structure has a component out of range.
RIM_ADDR_INDEX  The final index exceeds the total number of bits in the map.
RIM_ADDR_LAYER  The layer information is nonsensical.
RIM_ADDR_LSIG  The layer sign is wrong.
RIM_ADDR_LXY  The layer x/y is wrong.
RIM_ADDR_LIND  The layer index is wrong.
RIM_TYPE_UK  RIM_type is unknown.
RIM_TYPE_STR  The string does not match a type name.
RIM_MAP_NONE  There is no sub-map corresponding to this type.
RIM_DIFFER  Two RIM structures are functionally different.
RIM_REG_ID  The register ID is out of range.
RIM_FLD_ID  The field ID is out of range.
RIM_NOT_SET  The requested node has not be previously set.
RIM_CPT_NONE  The requested node has no real data.
RIM_XML_PARSE  There was an error parsing the XML.
RIM_FILE_END  File end was reached.
RIM_FILE_READ  There was an error reading a file.
RIM_FILE_WRITE  There was an error writing to a file.
RIM_FILE_OPEN  There was an error opening a file.
RIM_FILE_CLOSE  There was an error closing a file.
RIM_BUF_SHORT  Supplied buffer is too short.
RIM_FLD_RANGE  Value being loaded into a field is too large.


Generated on Fri Jun 15 02:14:02 2007 by  doxygen 1.4.4