MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
Macros | Typedefs | Functions
mh5storage.c File Reference

Persistent storage module. The engine provides a persistent storage for 1024 bytes of data. Data is lost when receiver is is in stand-by or off. The file name used to access this storage is of the form "ram://<name>". It is the responsibility of the DVB to arrange a practice for the use of <name>, such that there are no accidental collisions of file names. When writing a file to persistent storage the receiver executes the following steps: More...

#include "mh5storage.h"
#include "mh5memory.h"
#include "mh5debug.h"
#include "mh5profile.h"

Macros

#define MAXFILES   32
 

Typedefs

typedef struct sRamFile MHEG5RamFile
 

Functions

void MHEG5InitStore (void)
 Initialise Persistent Storage. More...
 
void MHEG5ResetStore (void)
 destroy Persistent Storage - only really useful on platform like WINDOWS More...
 
MHEG5Bool MHEG5storageWrite (MHEG5String fn, void *buf, MHEG5Int len)
 Write a file to the persistent store. More...
 
MHEG5Bool MHEG5storageRead (MHEG5String fn, void **buf, MHEG5Int *len)
 Read a file from the persistent store. More...
 

Detailed Description

Persistent storage module. The engine provides a persistent storage for 1024 bytes of data. Data is lost when receiver is is in stand-by or off. The file name used to access this storage is of the form "ram://<name>". It is the responsibility of the DVB to arrange a practice for the use of <name>, such that there are no accidental collisions of file names. When writing a file to persistent storage the receiver executes the following steps:

  1. If the file is larger than the total size of the persistent store the action completes, returning False.
  2. Regardless of the availability of free memory, if a file of the same name as the file to be written already exists in the persistent storage, it is deleted.
  3. If there is insufficient free memory in the persistent storage for the file to be written, existing files are deleted in chronological order, ie. oldest first, as required. Also Note:
  1. Only the data is stored (not type information)
  2. The <name> part of the file name "ram://<name>" is 8 bytes long. The receiver provides storage for at least 32 such file names associated with the "ram://" persistent store.
Date
01/02/2002
Author
R.Freeman

Function Documentation

void MHEG5InitStore ( void  )

Initialise Persistent Storage.

Returns
MHEG5TRUE - Success MHEG5FALSE - Failure
void MHEG5ResetStore ( void  )

destroy Persistent Storage - only really useful on platform like WINDOWS

Returns
MHEG5TRUE - Success MHEG5FALSE - Failure
MHEG5Bool MHEG5storageRead ( MHEG5String  fn,
void **  buf,
MHEG5Int *  len 
)

Read a file from the persistent store.

Parameters
fnFile name specifier.
bufData variable.
lenData length.
Returns
MHEG5TRUE - Success. MHEG5FALSE - Failure.
MHEG5Bool MHEG5storageWrite ( MHEG5String  fn,
void *  buf,
MHEG5Int  len 
)

Write a file to the persistent store.

Parameters
fnFile name specifier.
bufData variable.
lenData length.
Returns
MHEG5TRUE - Success. MHEG5FALSE - Failure.