GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > FBS / V0-2-3

Constituent: fbs_boot     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

FBS_pubrtos.h File Reference

Public definitions for FBS facilities built into the RTOS. More...

#include <stdio.h>
#include <sys/types.h>

Include dependency graph for FBS_pubrtos.h:

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


Data Structures

struct  _SIB_Info
 Contains address and size information about the various SIB board memory and register regions. More...

File Device Definitions

#define FILE_DEV_NAME_BOOT   "/boot"
 The name of the boot file device.
#define FILE_DEV_NAME_RAM   "/ram"
 The name of the RAM disk file device.
#define FILE_DEV_NAME_EE0   "/ee0"
 The name of the TFFS/EEPROM file device 0.
#define FILE_DEV_NAME_EE1   "/ee1"
 The name of the TFFS/EEPROM file device 1.
#define FILE_DEV_NAME_TMP   "/tmp"
 The name of the temp file device.
#define FILE_DEV_NUM_BOOT   (0)
 The device number of the boot file device.
#define FILE_DEV_NUM_RAM   (1)
 The device number of the RAM disk file device.
#define FILE_DEV_NUM_EE0   (2)
 The device number of the TFFS/EEPROM file device 0.
#define FILE_DEV_NUM_EE1   (3)
 The device number of the TFFS/EEPROM file device 1.
#define FILE_DEV_NUM_TMP   (4)
 The device number of the temp file device.
#define FILE_DEV_NUM_USR0   (5)
 The devive number of the user file device 0.
#define FILE_DEV_NUM_USR1   (6)
 The devive number of the user file device 1.

File ID Utility Macros

#define FILE_ID_M_DEV   (0xe0000000)
 The file ID device number bitmask.
#define FILE_ID_M_DIR   (0x1fc00000)
 The file ID directory number bitmask.
#define FILE_ID_M_FILE   (0x003fffff)
 The file ID file number bitmask.
#define FILE_ID_S_DEV   (29)
 The file ID device number shift count.
#define FILE_ID_S_DIR   (22)
 The file ID directory number shift count.
#define FILE_ID_S_FILE   (0)
 The file ID file number shift count.
#define FILE_ID_TO_NUM(_id, _dev, _dir, _file)
 Translates a file ID word into component numbers.
#define FILE_NUM_TO_ID(_id, _dev, _dir, _file)
 Translates file component numbers to an ID word.

File Path Utility Macros

#define FILE_PATH_STR_SIZE   (24)
 The number of bytes needed to hold a system file path string.
#define FILE_PATH_STR_SIZE_USR   (256)
 The number of bytes needed to hold a user-defined file path string.
#define FILE_ID_TO_PATH(_str, _dev, _dir, _file)
 Translates file component numbers to an ASCII path name.

File Manipulation Functions

int FILE_close (int fd)
unsigned int FILE_decodePrimary (unsigned char *buf, unsigned int len, unsigned int *ver, unsigned int *cmp, unsigned short *typ, unsigned int *key, unsigned int *fcs)
unsigned int FILE_getCompression (int fd)
unsigned int FILE_getKey (int fd)
int FILE_getName (int fd, char *nam, unsigned int len)
unsigned int FILE_getSize (int fd)
unsigned short FILE_getType (int fd)
unsigned int FILE_getVersion (int fd)
unsigned int FILE_hdrCreate (void *buf, unsigned int length, unsigned int time, unsigned int chksum, unsigned short type, unsigned int key, FILE_Hdr_Compression_Flag compress, const char *name)
 Create a new file header.
unsigned int FILE_hdrGetChksum (const void *buf, unsigned int *chksum)
 Get the file checksum.
unsigned int FILE_hdrGetCompression (const void *buf, unsigned short *compress)
 Get the file compression flag.
unsigned int FILE_hdrGetKey (const void *buf, unsigned int *key)
 Get the file key.
unsigned int FILE_hdrGetLength (const void *buf, unsigned int *length)
 Get the file data size.
unsigned int FILE_hdrGetName (const void *buf, char *name)
 Get the file name string.
unsigned int FILE_hdrGetTime (const void *buf, unsigned int *time)
 Get the file timestamp.
unsigned int FILE_hdrGetType (const void *buf, unsigned short *type)
 Get the file type.
unsigned int FILE_hdrSizeof (void)
 Get the size of a file header.
unsigned int FILE_hdrVerify (const void *buf)
 Verify the integrety of a file header.
int FILE_open (const char *fil, int flg, mode_t mod)

Module Loading Functions

unsigned int FILE_loadModuleByID (unsigned int id, int sym, void **mod)
unsigned int FILE_loadModuleByName (const char *nam, int sym, void **mod)
unsigned int FILE_loadModuleSecondary (unsigned int id, int sym, void **mod, unsigned int *dat)

File ID, Name and Path Manipulation Functions

unsigned int FILE_pathInit (const char *usrName5, const char *usrName6)
unsigned int FILE_pathSizeof (void)
unsigned int FILE_pathIdToNum (unsigned int id, unsigned int *dev, unsigned int *dir, unsigned int *file)
unsigned int FILE_pathNumToId (unsigned int *id, unsigned int dev, unsigned int dir, unsigned int file)
unsigned int FILE_pathIdToPath (unsigned int id, char *str)
unsigned int FILE_pathPathToId (const char *nam)

TFFS and RAM Disk Functions

unsigned int FILE_sysRamCreate (void *addr, int size)
unsigned int FILE_sysTffsMount (int drv)
unsigned int FILE_sysTffsFormat (int drv, unsigned int offset)
unsigned int FILE_sysTffsCheck (int drv)
unsigned int FILE_sysTffsRepair (int drv)

Defines

#define FILE_HDR_NAME_SIZE   (8)
 The size in bytes of the file name contained in a file header.
#define FILE_M_MODULE   ( 0x02000000 )
 Module number in the errno sense.
#define FILE_S_SUCCESS   ( FILE_M_MODULE | 0x0000 )
 File opened successfully (not a read-only request).
#define FILE_S_NOHED   ( FILE_M_MODULE | 0x0004 )
 File opened successfully (no FSW header found).
#define FILE_S_HEDNOCMP   ( FILE_M_MODULE | 0x0008 )
 File opened successfully (FSW header found, file not compressed).
#define FILE_S_HEDCMP   ( FILE_M_MODULE | 0x000c )
 File opened successfully (FSW header found, file compressed).
#define FILE_E_CORRUPT   ( FILE_M_MODULE | 0x0003 )
 File open failed (the adler32 checksum of the body failed).
#define FILE_E_NOMKDIR   ( FILE_M_MODULE | 0x0007 )
 File open failed (could not create directory for temporary file).
#define FILE_E_NOSLOT   ( FILE_M_MODULE | 0x000b )
 File open failed (no more slots to store temporary file info).
#define FILE_E_NOTMPOPN   ( FILE_M_MODULE | 0x000f )
 File open failed (could not open temporary file).
#define FILE_E_NOINFLAT   ( FILE_M_MODULE | 0x0013 )
 File open failed (inflation step failed).
#define FILE_E_NOREOPEN   ( FILE_M_MODULE | 0x0017 )
 File open failed (could not reopen temporary file read-only).

Typedefs

typedef enum _FILE_Hdr_Version FILE_Hdr_Version
 Typedef for enum _FILE_Hdr_Version.
typedef enum _FILE_Hdr_Compression_Flag FILE_Hdr_Compression_Flag
 Typedef for enum _FILE_Hdr_Compression_Flag.
typedef _SIB_Info SIB_Info
 Typedef for struct _SIB_Info.

Enumerations

enum  _FILE_Hdr_Version {
  FILE_HDR_VERSION_1 = 0x2000,
  FILE_HDR_VERSION_2 = 0x4000
}
 The file header version enumeration. Tracks format changes. More...
enum  _FILE_Hdr_Compression_Flag {
  FILE_HDR_UNCOMPRESSED = 0x0000,
  FILE_HDR_COMPRESSED = 0x1000
}
 The file header compression flag values. More...

Detailed Description

Public definitions for FBS facilities built into the RTOS.

CVS $Id: FBS_pubrtos.h,v 1.3 2005/11/09 22:48:08 apw Exp $
Author:
A.P.Waite

Define Documentation

#define FILE_ID_TO_NUM _id,
_dev,
_dir,
_file   ) 
 

Value:

{                                                               \
    *(_dev)  = (((_id) & FILE_ID_M_DEV ) >> FILE_ID_S_DEV );    \
    *(_dir)  = (((_id) & FILE_ID_M_DIR ) >> FILE_ID_S_DIR );    \
    *(_file) = (((_id) & FILE_ID_M_FILE) >> FILE_ID_S_FILE);    \
}
Translates a file ID word into component numbers.

Parameters:
_id The file ID word
_dev Storage for the device number
_dir Storage for the directory number
_file Storage for the file number

#define FILE_ID_TO_PATH _str,
_dev,
_dir,
_file   ) 
 

Value:

snprintf((_str), FILE_PATH_STR_SIZE, "%s/d%03u/f%07u", \
                                 (_dev), (_dir), (_file));
Translates file component numbers to an ASCII path name.

Parameters:
_str Storage for the path string
_dev The device name
_dir The directory number
_file The file number

#define FILE_NUM_TO_ID _id,
_dev,
_dir,
_file   ) 
 

Value:

{                                                               \
    *(_id)  = (((_dev)  << FILE_ID_S_DEV ) & FILE_ID_M_DEV );   \
    *(_id) |= (((_dir)  << FILE_ID_S_DIR ) & FILE_ID_M_DIR );   \
    *(_id) |= (((_file) << FILE_ID_S_FILE) & FILE_ID_M_FILE);   \
}
Translates file component numbers to an ID word.

Parameters:
_id Storage for the file ID word
_dev The device number
_dir The directory number
_file The file number


Enumeration Type Documentation

enum _FILE_Hdr_Compression_Flag
 

The file header compression flag values.

Enumerator:
FILE_HDR_UNCOMPRESSED  File data is not ZLIB compressed.
FILE_HDR_COMPRESSED  File data is ZLIB compressed.

enum _FILE_Hdr_Version
 

The file header version enumeration. Tracks format changes.

Enumerator:
FILE_HDR_VERSION_1  Original format. Obsolete
FILE_HDR_VERSION_2  Current format.


Function Documentation

unsigned int FILE_hdrCreate void *  buf,
unsigned int  length,
unsigned int  time,
unsigned int  chksum,
unsigned short  type,
unsigned int  key,
FILE_Hdr_Compression_Flag  compress,
const char *  name
 

Create a new file header.

Parameters:
buf A pointer to the file header buffer.
length The size in bytes of file data to follow the file header.
time The file timestamp, in seconds.
chksum The checksum of the remainder of the file header and file data.
type The file type code.
key The file key value.
compress #FILE_HDR_UNCOMPRESSED - The file data following the header is uncompressed.
#FILE_HDR_COMPRESSED The file data following the header is compressed.
name The ASCII file name. This parameter should point to a buffer containing #FILE_HDR_NAME_SIZE characters.
Returns:
A FHDR MSG value.
Creates a file header in the buffer specified by buf. The user is resposible for actually writing the new header into file storage. This library only supports buffers whose total size is aligned on a 16-bit boundary. The function will fail with error #FILE_EHDRPARM if the length parameter is not correctly aligned.

unsigned int FILE_hdrGetChksum const void *  buf,
unsigned int *  chksum
 

Get the file checksum.

Parameters:
buf A pointer to the start of the file header buffer.
chksum Stores the checksum value.
Returns:
A FILE MSG value.
Returns the checksum of the remainder of the file header and file data.

unsigned int FILE_hdrGetCompression const void *  buf,
unsigned short *  compress
 

Get the file compression flag.

Parameters:
buf A pointer to the start of the file header buffer.
compress Stores the compression flag value.
Returns:
A FILE MSG value.
Returns the file compression flag value.

unsigned int FILE_hdrGetKey const void *  buf,
unsigned int *  key
 

Get the file key.

Parameters:
buf A pointer to the start of the file header buffer.
key Stores the key value.
Returns:
A FILE MSG value.
Returns the file key value.

unsigned int FILE_hdrGetLength const void *  buf,
unsigned int *  length
 

Get the file data size.

Parameters:
buf A pointer to the start of the file header buffer.
length Stores the length value.
Returns:
A FILE MSG value.
Returns the size in bytes of file data following the file header.

unsigned int FILE_hdrGetName const void *  buf,
char *  name
 

Get the file name string.

Parameters:
buf A pointer to the start of the file header buffer.
name Stores the name string. Should be at least FILE_HDR_NAME_SIZE bytes in size.
Returns:
A FILE MSG value.
Returns the file name string. The ASCII characters are copied to the user buffer indicated by name. The string is not NULL terminated after return.

unsigned int FILE_hdrGetTime const void *  buf,
unsigned int *  time
 

Get the file timestamp.

Parameters:
buf A pointer to the start of the file header buffer.
time Stores the timestamp value.
Returns:
A FILE MSG value.
Returns the file timestamp.

unsigned int FILE_hdrGetType const void *  buf,
unsigned short *  type
 

Get the file type.

Parameters:
buf A pointer to the start of the file header buffer.
type Stores the type value.
Returns:
A FILE MSG value.
Returns the file type code.

unsigned int FILE_hdrSizeof void   ) 
 

Get the size of a file header.

Returns:
The header size.
Returns the size in bytes of a LAT file header.

unsigned int FILE_hdrVerify const void *  buf  ) 
 

Verify the integrety of a file header.

Parameters:
buf A pointer to the start of the file header buffer.
Returns:
A FILE MSG value.
Verifies the format of a file header in buf. Calculates header checksum and compares it to value stored in header.


Generated on Wed Mar 21 01:40:57 2007 by  doxygen 1.4.4