GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> FES / V6-2-0 > fes / i845e


Interface   Data Structures   File List   Data Fields   Globals  

fesTrace.c File Reference

Routines to implement a simple trace buffer system. More...

#include "fesTrace.h"
#include "fesMsgs.h"
#include "EMSG/EMSG_pubdefs.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <vxWorks.h>
#include <semLib.h>

Functions

int fesTraceCreate (void **hndl, int size, int maxLeng)
 Create a trace buffer.
int fesTraceDelete (void *hndl)
 Delete a trace buffer.
int fesTraceAdd (void *hndl, const char *data, int leng)
 Add an item to a trace buffer.
int fesTraceGet (void *hndl, int last, int count, char *buff, int bufLeng, int *retCount)
 Get items from a trace buffer.
int fesTraceCount (void *hndl, int *count)
 Get the count of items in a trace buffer.
int fesTraceClear (void *hndl)
 Clear a trace buffer.


Detailed Description

Routines to implement a simple trace buffer system.

Author:
Owen H Saxton
Id

Function Documentation

int fesTraceAdd ( void *  hndl,
const char *  data,
int  leng 
)

Add an item to a trace buffer.

This routine adds an item to a trace buffer.

Parameters:
hndl The handle of the trace buffer.
data The address of the data to be added to the trace buffer.
leng The length of the data, in bytes.
Return values:
FES_SUCCESS Success.
FES_INVHNDL Invalid trace buffer handle.
FES_INVDTLNG Invalid data length specified.

int fesTraceClear ( void *  hndl  ) 

Clear a trace buffer.

This routine removes all items from a trace buffer.

Parameters:
hndl The handle of the trace buffer.
Return values:
FES_SUCCESS Success.
FES_INVHNDL Invalid trace buffer handle.

int fesTraceCount ( void *  hndl,
int *  count 
)

Get the count of items in a trace buffer.

This routine returns the number of items in a trace buffer.

Parameters:
hndl The handle of the trace buffer.
count The address of an integer to receive the number of items in the trace buffer.
Return values:
FES_SUCCESS Success.
FES_INVHNDL Invalid trace buffer handle.

int fesTraceCreate ( void **  hndl,
int  size,
int  maxLeng 
)

Create a trace buffer.

This routine creates a new trace buffer, and returns an opaque handle to it.

Parameters:
hndl The address of a location to receive the handle for the new trace buffer.
size The size of the trace buffer to be created.
maxLeng The maximum length of an item in the trace buffer.
Return values:
FES_SUCCESS Success.
FES_INVTBFSZ Invalid buffer size specified.
FES_INVITMLN Invalid maximum length specified.
FES_NOMEMORY Insufficient memory for trace buffer.
FES_NOSEMCRE Error creating mutex semaphore.

int fesTraceDelete ( void *  hndl  ) 

Delete a trace buffer.

This routine deletes a trace buffer.

Parameters:
hndl The handle of the trace buffer to be deleted.
Return values:
FES_SUCCESS Success.
FES_INVHNDL Invalid trace buffer handle.

int fesTraceGet ( void *  hndl,
int  last,
int  count,
char *  buff,
int  bufLeng,
int *  retCount 
)

Get items from a trace buffer.

This routines gets one or more items from a trace buffer.

Parameters:
hndl The handle of the trace buffer.
last The index of the last item to be obtained from the trace buffer, counting backwards from the latest entry.
count The number of items to be obtained from the trace buffer.
buff The address of a buffer to receive the trace buffer items.
bufLeng The size of the receiving buffer.
retCount The address of an integer to receive the number of items returned.
Return values:
FES_SUCCESS Success.
FES_INVHNDL Invalid trace buffer handle.


Generated on Tue Aug 18 17:05:47 2009 by  doxygen 1.5.3