GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > QSD / V0-4-2
Constituent: qsdccsds     Tag: linux-gcc
#include "QSD/CCSDS_telemetryPrint.h"
Include dependency graph for CCSDS_istream.h:
This graph shows which files directly or indirectly include this file:
Data Structures | |
struct | _CCSDS_istreamCsb |
The stream's completion status block. This contains more detailed information about why processing was stopped. More... | |
Typedefs | |
typedef _CCSDS_istream | CCSDS_istream |
Typedef for struct _CCSDS_istream. | |
typedef enum _CCSDS_ISTREAM_SIV_S | CCSDS_ISTREAM_SIV_S |
Typedef for CCSDS_ISTREAM_SIV_S. | |
typedef enum _CCSDS_ISTREAM_SIV_V | CCSDS_ISTREAM_SIV_V |
Typedef for CCSDS_ISTREAM_SIV_V. | |
typedef enum _CCSDS_ISTREAM_SIV_M | CCSDS_ISTREAM_SIV_M |
Typedef for CCSDS_ISTREAM_SIV_M. | |
typedef enum _CCSDS_ISTREAM_PKT_STATE_K | CCSDS_ISTREAM_PKT_STATE_K |
Typedef for enum _CCSDS_ISTREAM_PKT_STATE_K. | |
typedef enum _CCSDS_ISTREAM_SIV_K | CCSDS_ISTREAM_SIV_K |
Typedef for enum _CCSDS_ISTREAM_SIV_K. | |
typedef enum _CCSDS_ISTREAM_PKT_CHECK_OPTS_M | CCSDS_ISTREAM_PKT_CHECK_OPTS_M |
Typedef for CCSDS_ISTREAM_PKT_CHECK_OPTS_M. | |
typedef int(* | CCSDS_istreamReader )(void *prm, void *buf, int nbytes, int pbytes) |
Routine to read the specified number of bytes from the input stream. | |
typedef int(* | CCSDS_istreamTeller )(void const *prm) |
Routine to give the current position in the stream. As an example, for files, this will do an ftell. | |
typedef int(* | CCSDS_istreamCloser )(void *prm) |
Routine to read the specified number of bytes from the input stream. | |
typedef int(* | CCSDS_istreamResolver )(void *ctx, CCSDS_telemetry const *pkt, CCSDS_apidDsc **dsc) |
User callback to CCSDS_istreamProcess that resolves an apid to its controlling APID descriptor. | |
typedef _CCSDS_istreamCsb | CCSDS_istreamCsb |
Typedef for struct _CCSDS_istreamCsb. | |
Enumerations | |
enum | _CCSDS_ISTREAM_SIV_S { CCSDS_ISTREAM_SIV_S_SEQGAP = 16, CCSDS_ISTREAM_SIV_S_PRV_FIRST = 1, CCSDS_ISTREAM_SIV_S_PRV_LAST = 1, CCSDS_ISTREAM_SIV_S_PRV = 2, CCSDS_ISTREAM_SIV_S_CUR_FIRST = 1, CCSDS_ISTREAM_SIV_S_CUR_LAST = 1, CCSDS_ISTREAM_SIV_S_CUR = 2, CCSDS_ISTREAM_SIV_S_RSVD_20 = 1, CCSDS_ISTREAM_SIV_S_RSVD_21 = 1, CCSDS_ISTREAM_SIV_S_RSVD_22 = 1, CCSDS_ISTREAM_SIV_S_RSVD_23 = 1, CCSDS_ISTREAM_SIV_S_ERR = 8, CCSDS_ISTREAM_SIV_S_ERR_EOS = 1, CCSDS_ISTREAM_SIV_S_ERR_RDHDR = 1, CCSDS_ISTREAM_SIV_S_ERR_BADHDR = 1, CCSDS_ISTREAM_SIV_S_ERR_SEQ = 1, CCSDS_ISTREAM_SIV_S_ERR_SEQNUM = 1, CCSDS_ISTREAM_SIV_S_ERR_RDDAT = 1, CCSDS_ISTREAM_SIV_S_ERR_OVRRUN = 1, CCSDS_ISTREAM_SIV_S_ERR_SUMMARY = 1 } |
State Information Vector, bit field sizes. More... | |
enum | _CCSDS_ISTREAM_SIV_V { CCSDS_ISTREAM_SIV_V_SEQGAP = 0, CCSDS_ISTREAM_SIV_V_PRV_FIRST = 16, CCSDS_ISTREAM_SIV_V_PRV_LAST = 17, CCSDS_ISTREAM_SIV_V_PRV = 16, CCSDS_ISTREAM_SIV_V_CUR_FIRST = 18, CCSDS_ISTREAM_SIV_V_CUR_LAST = 19, CCSDS_ISTREAM_SIV_V_CUR = 18, CCSDS_ISTREAM_SIV_V_RSVD_20 = 20, CCSDS_ISTREAM_SIV_V_RSVD_21 = 21, CCSDS_ISTREAM_SIV_V_RSVD_22 = 22, CCSDS_ISTREAM_SIV_V_RSVD_23 = 23, CCSDS_ISTREAM_SIV_V_ERR = 24, CCSDS_ISTREAM_SIV_V_ERR_EOS = 24, CCSDS_ISTREAM_SIV_V_ERR_RDHDR = 25, CCSDS_ISTREAM_SIV_V_ERR_BADHDR = 26, CCSDS_ISTREAM_SIV_V_ERR_SEQ = 27, CCSDS_ISTREAM_SIV_V_ERR_SEQNUM = 28, CCSDS_ISTREAM_SIV_V_ERR_RDDAT = 29, CCSDS_ISTREAM_SIV_V_ERR_OVRRUN = 30, CCSDS_ISTREAM_SIV_V_ERR_SUMMARY = 31 } |
State Information Vector, right justified bit field offsets. More... | |
enum | _CCSDS_ISTREAM_SIV_M { CCSDS_ISTREAM_SIV_M_SEQGAP, CCSDS_ISTREAM_SIV_M_PRV_FIRST, CCSDS_ISTREAM_SIV_M_PRV_LAST, CCSDS_ISTREAM_SIV_M_PRV, CCSDS_ISTREAM_SIV_M_CUR_FIRST, CCSDS_ISTREAM_SIV_M_CUR_LAST, CCSDS_ISTREAM_SIV_M_CUR, CCSDS_ISTREAM_SIV_M_RSVD_20, CCSDS_ISTREAM_SIV_M_RSVD_21, CCSDS_ISTREAM_SIV_M_RSVD_22, CCSDS_ISTREAM_SIV_M_RSVD_23, CCSDS_ISTREAM_SIV_M_ERR_EOS, CCSDS_ISTREAM_SIV_M_ERR_RDHDR, CCSDS_ISTREAM_SIV_M_ERR_BADHDR, CCSDS_ISTREAM_SIV_M_ERR_SEQ, CCSDS_ISTREAM_SIV_M_ERR_SEQNUM, CCSDS_ISTREAM_SIV_M_ERR_RDDAT, CCSDS_ISTREAM_SIV_M_ERR_OVRRUN, CCSDS_ISTREAM_SIV_M_ERR_SUMMARY, CCSDS_ISTREAM_SIV_M_ERR, CCSDS_ISTREAM_SIV_M_ERR_SYNCH } |
State Information Vector, in place mask. More... | |
enum | _CCSDS_ISTREAM_PKT_STATE_K { CCSDS_ISTREAM_PKT_STATE_K_MID = 0, CCSDS_ISTREAM_PKT_STATE_K_FIRST = 1, CCSDS_ISTREAM_PKT_STATE_K_LAST = 2, CCSDS_ISTREAM_PKT_STATE_K_ONLY = 3 } |
Enumerates the values of a packet's state. | |
enum | _CCSDS_ISTREAM_SIV_K { CCSDS_ISTREAM_SIV_K_PRV_ONLY, CCSDS_ISTREAM_SIV_K_PRV_FIRST, CCSDS_ISTREAM_SIV_K_PRV_MID, CCSDS_ISTREAM_SIV_K_PRV_LAST, CCSDS_ISTREAM_SIV_K_CUR_ONLY, CCSDS_ISTREAM_SIV_K_CUR_FIRST, CCSDS_ISTREAM_SIV_K_CUR_MID, CCSDS_ISTREAM_SIV_K_CUR_LAST } |
Enumerates the values of in place fields of the SIV word. These are all convenience symbols, all being derived from previously defined symbols. | |
enum | _CCSDS_ISTREAM_PKT_CHECK_OPTS_M { CCSDS_ISTREAM_PKT_CHECK_OPTS_M_NORESYNCH = 1 << 0, CCSDS_ISTREAM_PKT_CHECK_OPTS_M_PRINT_HDR = 1 << 4, CCSDS_ISTREAM_PKT_CHECK_OPTS_M_NOPRINT_SYNCH_ERR = 1 << 8, CCSDS_ISTREAM_PKT_CHECK_OPTS_M_NOPRINT_SIV_ERR = 1 << 9 } |
Options, in the form of bit masks, for the precanned CCSDS_istream packet checker routine. More... | |
enum | _CCSDS_ISTREAM_RESOLVER_STATUS_K { CCSDS_ISTREAM_RESOLVER_STATUS_K_SUCCESS = 0, CCSDS_ISTREAM_RESOLVER_STATUS_K_IGNORE = 1, CCSDS_ISTREAM_RESOLVER_STATUS_K_NOTFOUND = 2, CCSDS_ISTREAM_RESOLVER_STATUS_K_STOP = 3 } |
Permitted return values of the CCSDS APID resolver routine. More... | |
enum | _CCSDS_ISTREAM_STATUS_K { CCSDS_ISTREAM_STATUS_K_IO_READ_ERROR = -5, CCSDS_ISTREAM_STATUS_K_PACKET_ERROR = -4, CCSDS_ISTREAM_STATUS_K_IO_SKIP_ERROR = -3, CCSDS_ISTREAM_STATUS_K_VERIFY_ERROR = -2, CCSDS_ISTREAM_STATUS_K_IO_HEADER_ERROR = -1, CCSDS_ISTREAM_STATUS_K_EOS = 0, CCSDS_ISTREAM_STATUS_K_RESOLVER_STOP = 1, CCSDS_ISTREAM_STATUS_K_CHECKER_STOP = 2, CCSDS_ISTREAM_STATUS_K_PROCESSOR_STOP = 3 } |
Enumerates the return status codes. More... | |
Functions | |
int | CCSDS_istreamSizeof (void) |
Returns the size, in bytes, of a CCSDS_istream structure. | |
CCSDS_istream * | CCSDS_istreamNew (void) |
Convenience function to allocate and initialize a CCSDS_istream control structure. | |
int | CCSDS_istreamConstruct (CCSDS_istream *istream) |
Constructs (initializes) a previously uninitialized CCSDS_istream control structure. | |
int | CCSDS_istreamConnect (CCSDS_istream *istream, void *prm, CCSDS_istreamReader read, CCSDS_istreamCloser close, CCSDS_istreamTeller tell) |
Connects a read mechanism with the specified stream. | |
int | CCSDS_istreamDatAdvance (CCSDS_istream *istream, CCSDS_telemetry const *packet, CCSDS_apidDsc *dsc) |
Advances past the current CCSDS data payload with reading the data into the buffer. All integrity checks are preformed. This in contrast with calling CCSDS_istreamDatRead with a NULL descriptor. | |
int | CCSDS_istreamHdrRead (CCSDS_istream *istream, CCSDS_telemetry *packet) |
Reads the CCSDS header. | |
int | CCSDS_istreamDatRead (CCSDS_istream *istream, CCSDS_telemetry const *packet, CCSDS_apidDsc *dsc) |
Reads the current CCSDS data payload into the buffer specified by dsc. | |
int | CCSDS_istreamPktCheck (unsigned int opts, CCSDS_istream *istream, CCSDS_telemetry const *packet, CCSDS_apidDsc *dsc) |
Precanned CCSDS_istreamProcess callback routine to check the integrity of a CCSDS packet. | |
int | CCSDS_istreamPktResynch (CCSDS_istream *istream, CCSDS_telemetry const *packet, CCSDS_apidDsc *dsc) |
Routine to recover from an APID sequence number or sequence state (first, middle, last) packet error. It can be used part of the CCSDS_istreamProcess packer checker routine. | |
int | CCSDS_istreamFileOpen (CCSDS_istream *istream, char const *filename, unsigned int options, unsigned char *buf, unsigned int buf_size) |
Convenience function to construct a CCSDS_istream to read from the specified named file filename. | |
unsigned int | CCSDS_istreamTell (CCSDS_istream const *istream) |
Returns the current byte offset into the stream. | |
int | CCSDS_istreamProcess (CCSDS_istream *stream, CCSDS_istreamCsb *csb, CCSDS_istreamResolver resolve_rtn, void *resolve_ctx) |
Processes a stream of CCSDS packets. The packets may be from multiple APIDs. | |
int | CCSDS_istreamClose (CCSDS_istream *istream) |
Closes the input stream associated with istream. | |
int | CCSDS_istreamDestroy (CCSDS_istream *istream) |
Destroys (i.e. returns the resources) associated with the stream. | |
void | CCSDS_istreamHdrPrint (CCSDS_telemetry const *packet) |
Prints a one-line summary of the CCSDS_istream header. | |
static __inline int | CCSDS_istreamSivConstruct (void) |
Initializes the State Information Vector to a known and beign state. | |
static __inline int | CCSDS_istreamSivCurFlags (int siv) |
Returns the flags associated with the current packet packet. | |
static __inline int | CCSDS_istreamSivPrvFlags (int siv) |
Returns the flags associated with the last previously read packet. | |
static __inline int | CCSDS_istreamSivIsError (int siv) |
Returns non-zero if State Information Vector, siv, is in error. | |
static __inline int | CCSDS_istreamSivIsResynchable (int siv) |
Returns non-zero if State Information Vector, siv, has a recoverable synchronization error. | |
static __inline int | CCSDS_istreamSivIsFirst (int siv) |
Returns non-zero if the current packet is the first packet, either alone or in a sequence. | |
static __inline int | CCSDS_istreamSivIsLast (int siv) |
Returns non-zero if the current packet is the last packet, either alone or in a sequence. | |
static __inline int | CCSDS_istreamSivIsMid (int siv) |
Returns non-zero if the current packet is the middle packet in a sequence. | |
static __inline int | CCSDS_istreamSivIsOnly (int siv) |
Returns non-zero if the current packet is the only packet, i.e. bare packet, not a member of a sequence. | |
static __inline int | CCSDS_istreamSivIoUpdate (int siv, unsigned int status) |
Updates the SIV according to the IO status. | |
static __inline int | CCSDS_istreamSivFlagsUpdate (int siv, unsigned int flags) |
Updates the sequencing state of the SIV. | |
Variables | |
enum _CCSDS_ISTREAM_RESOLVER_STATUS_K | CCSDS_ISTREAM_RESOLVER_STATUS_K |
Typedef for enum _CCSDS_ISTREAM_RESOLVER_STATUS_K. | |
enum _CCSDS_ISTREAM_STATUS_K | CCSDS_ISTREAM_STATUS_K |
Typedef enum _CCSDS_ISTREAM_STATUS_K. |
CVS $Id: CCSDS_istream.h,v 1.6 2008/12/06 19:31:45 russell Exp $
|
Typedef for CCSDS_ISTREAM_PKT_CHECK_OPTS_M.
|
|
Typedef for enum _CCSDS_ISTREAM_PKT_STATE_K. A packet's state is determined by the values of 2 bits, with bit 0 representing the 'is first packet' and bit 1 representing 'is last packet' Under these definitions
|
|
Routine to read the specified number of bytes from the input stream.
|
|
Routine to read the specified number of bytes from the input stream.
|
|
User callback to CCSDS_istreamProcess that resolves an apid to its controlling APID descriptor.
|
|
Routine to give the current position in the stream. As an example, for files, this will do an ftell.
|
|
|
Permitted return values of the CCSDS APID resolver routine.
|
|
State Information Vector, in place mask.
|
|
State Information Vector, bit field sizes.
|
|
State Information Vector, right justified bit field offsets.
|
|
Enumerates the return status codes.
|
|
Closes the input stream associated with istream.
|
|
Connects a read mechanism with the specified stream.
|
|
Constructs (initializes) a previously uninitialized CCSDS_istream control structure.
|
|
Advances past the current CCSDS data payload with reading the data into the buffer. All integrity checks are preformed. This in contrast with calling CCSDS_istreamDatRead with a NULL descriptor.
|
|
Reads the current CCSDS data payload into the buffer specified by dsc.
|
|
Destroys (i.e. returns the resources) associated with the stream.
|
|
Convenience function to construct a CCSDS_istream to read from the specified named file filename.
|
|
Prints a one-line summary of the CCSDS_istream header.
|
|
Reads the CCSDS header.
|
|
Convenience function to allocate and initialize a CCSDS_istream control structure.
|
|
Precanned CCSDS_istreamProcess callback routine to check the integrity of a CCSDS packet.
|
|
Routine to recover from an APID sequence number or sequence state (first, middle, last) packet error. It can be used part of the CCSDS_istreamProcess packer checker routine.
|
|
Processes a stream of CCSDS packets. The packets may be from multiple APIDs.
|
|
Initializes the State Information Vector to a known and beign state.
|
|
Returns the flags associated with the current packet packet.
|
|
Updates the sequencing state of the SIV.
|
|
Updates the SIV according to the IO status.
|
|
Returns non-zero if State Information Vector, siv, is in error.
|
|
Returns non-zero if the current packet is the first packet, either alone or in a sequence.
|
|
Returns non-zero if the current packet is the last packet, either alone or in a sequence.
|
|
Returns non-zero if the current packet is the middle packet in a sequence.
|
|
Returns non-zero if the current packet is the only packet, i.e. bare packet, not a member of a sequence.
|
|
Returns non-zero if State Information Vector, siv, has a recoverable synchronization error.
|
|
Returns the flags associated with the last previously read packet.
|
|
Returns the size, in bytes, of a CCSDS_istream structure.
|
|
Returns the current byte offset into the stream.
|
|
Typedef enum _CCSDS_ISTREAM_STATUS_K. The codes are organized so that < 0 End of stream or internal errors, either IO errors or the CCSDS packets are mal-formed or sequenced. > 0 User requested stops = 0 Continue, processing so far has been successfully completed but user requested control be returned to calling program. After completing what every processing, the user should recall the processing routine. |