/**************************************************************************************************************/
/*                                                                                                            */
/* File        : ./userrockfifo.h                                                                             */
/* Description : tl compiler definitions                                                                      */
/*                                                                                                            */
/* Command     : rockfifo                                                                                     */
/* Comment     : ROCK FIFO library tcl interface
If you use this command, do not read the FIFO in other ways! */
/*                                                                                                            */
/* Note : This file was created from a tl file.                                                               */
/*        Do not modify by hand.                                                                              */
/*                                                                                                            */
/* Created : Mon 30. Jun 1997 10:36:38                                                                        */
/*                                                                                                            */
/**************************************************************************************************************/

#ifndef TLC_TCLC_rockfifo_USER_H
#define TLC_TCLC_rockfifo_USER_H

#define TL_OK	0

typedef struct
	{
	 int nr;    	/* associated nr. */
	 char *str; 	/* read string */
	} _TL_siset;	/* set/iset data structure */

/*****************************************/
/*             Constants                 */
/*****************************************/

#define	ROCKFIFOT_Ccancache_block_advanced	7
#define	ROCKFIFOT_Ccancache_block	6
#define	ROCKFIFOT_Ccancache_advanced	5
#define	ROCKFIFOT_Ccancache_minimal	4
#define	ROCKFIFOT_Ccancache_off	3
#define	ROCKFIFOT_Cwhat_dfifo	2
#define	ROCKFIFOT_Cwhat_efifo	1

/*****************************************/
/*           User types                  */
/*****************************************/

typedef int ROCKFIFOT_OTdummy;	/* outtype integer */

typedef void * ROCKT_ITrid;	/* intype pointer */

typedef void * ROCKFIFOT_ITfid;	/* intype pointer */

typedef void * ROCKFIFOT_OTfid;	/* outtype pointer */

typedef struct
	{
	 unsigned int nvd;	/* intype natural */
	 unsigned int ff;	/* intype natural */
	 unsigned int hf;	/* intype natural */
	 unsigned int ef;	/* intype natural */
	 unsigned int fifodata;	/* intype natural */
	} ROCKFIFOT_ITelbits;	/* intype record*/

typedef struct
	{
	 unsigned int nvd;	/* outtype natural */
	 unsigned int ff;	/* outtype natural */
	 unsigned int hf;	/* outtype natural */
	 unsigned int ef;	/* outtype natural */
	 unsigned int fifodata;	/* outtype natural */
	} ROCKFIFOT_OTelbits;	/* outtype record*/

typedef _TL_siset ROCKFIFOT_ITwhat;	/* intype iset */

typedef _TL_siset ROCKFIFOT_ITcancache;	/* intype iset */

typedef struct _str_ROCKFIFOT_OTelbits
	{ /* auto dispose by tl compiler */
	 struct _str_ROCKFIFOT_OTelbits *next;	/* last must be NULL */
	 ROCKFIFOT_OTelbits element;	/* outtype idf. element*/
	} _STR_ROCKFIFOT_OTelbits;

typedef _STR_ROCKFIFOT_OTelbits *ROCKFIFOT_OTclose;	/* outtype list of idf.*/

typedef struct _str_natural
	{ /* auto dispose by tl compiler */
	 struct _str_natural *next;	/* last must be NULL */
	 unsigned int element;	/* outtype natural element*/
	} _STR_natural;

typedef _STR_natural *ROCKFIFOT_OTread;	/* outtype list of natural*/

typedef ROCKFIFOT_OTelbits ROCKFIFOT_OTread_bits_el;	/* outtype idf. */

typedef struct _str_ROCKFIFOT_OTread_bits_el
	{ /* auto dispose by tl compiler */
	 struct _str_ROCKFIFOT_OTread_bits_el *next;	/* last must be NULL */
	 ROCKFIFOT_OTread_bits_el element;	/* outtype idf. element*/
	} _STR_ROCKFIFOT_OTread_bits_el;

typedef _STR_ROCKFIFOT_OTread_bits_el *ROCKFIFOT_OTread_bits;	/* outtype list of idf.*/

typedef struct
	{
	 unsigned int sy;	/* outtype natural */
	 unsigned int last;	/* outtype natural */
	 unsigned int cradd;	/* outtype natural */
	 unsigned int trigger;	/* outtype natural */
	} ROCKFIFOT_OTheader;	/* outtype record*/

typedef struct
	{
	 unsigned int slvadd;	/* outtype natural */
	 unsigned int channel;	/* outtype natural */
	 unsigned int reserved;	/* outtype natural */
	 unsigned int slvdata;	/* outtype natural */
	} ROCKFIFOT_OTslave;	/* outtype record*/

typedef struct _str_ROCKFIFOT_OTslave
	{ /* auto dispose by tl compiler */
	 struct _str_ROCKFIFOT_OTslave *next;	/* last must be NULL */
	 ROCKFIFOT_OTslave element;	/* outtype idf. element*/
	} _STR_ROCKFIFOT_OTslave;

typedef _STR_ROCKFIFOT_OTslave *ROCKFIFOT_OTslaves;	/* outtype list of idf.*/

typedef struct
	{
	 unsigned int last;	/* outtype natural */
	 unsigned int softparity;	/* outtype natural */
	 unsigned int hardparity;	/* outtype natural */
	} ROCKFIFOT_OTfooter;	/* outtype record*/

typedef struct
	{
	 ROCKFIFOT_OTheader header;	/* outtype idf. */
	 ROCKFIFOT_OTslaves slaves;	/* outtype idf. */
	 ROCKFIFOT_OTfooter footer;	/* outtype idf. */
	} ROCKFIFOT_OTframe;	/* outtype record*/

typedef struct _str_ROCKFIFOT_OTframe
	{ /* auto dispose by tl compiler */
	 struct _str_ROCKFIFOT_OTframe *next;	/* last must be NULL */
	 ROCKFIFOT_OTframe element;	/* outtype idf. element*/
	} _STR_ROCKFIFOT_OTframe;

typedef _STR_ROCKFIFOT_OTframe *ROCKFIFOT_OTdecode_elements;	/* outtype list of idf.*/

typedef struct
	{
	 char * status;	/* outtype string */
	 ROCKFIFOT_OTdecode_elements elements;	/* outtype idf. */
	} ROCKFIFOT_OTdecode;	/* outtype record*/

typedef struct
	{
	 char * status;	/* outtype string */
	 ROCKFIFOT_OTread elements;	/* outtype idf. */
	} ROCKFIFOT_OTread_frame;	/* outtype record*/

typedef struct
	{
	 char * status;	/* outtype string */
	 ROCKFIFOT_OTread_bits elements;	/* outtype idf. */
	} ROCKFIFOT_OTread_frame_bits;	/* outtype record*/

typedef ROCKFIFOT_ITelbits ROCKFIFOT_ITrefill_el;	/* intype idf. */

typedef struct
	{
	 int nrels;	/* nr of elements in the list */
	 ROCKFIFOT_ITrefill_el *els;	/* array of intype idf. elements*/
	} ROCKFIFOT_ITrefill;	/* intype list of idf.*/

typedef struct
	{
	 unsigned int sy;	/* intype natural */
	 unsigned int last;	/* intype natural */
	 unsigned int cradd;	/* intype natural */
	 unsigned int trigger;	/* intype natural */
	} ROCKFIFOT_ITheader;	/* intype record*/

typedef struct
	{
	 unsigned int slvadd;	/* intype natural */
	 unsigned int channel;	/* intype natural */
	 unsigned int reserved;	/* intype natural */
	 unsigned int slvdata;	/* intype natural */
	} ROCKFIFOT_ITslave;	/* intype record*/

typedef struct
	{
	 int nrels;	/* nr of elements in the list */
	 ROCKFIFOT_ITslave *els;	/* array of intype idf. elements*/
	} ROCKFIFOT_ITslaves;	/* intype list of idf.*/

typedef struct
	{
	 unsigned int last;	/* intype natural */
	 unsigned int softparity;	/* intype natural */
	 unsigned int hardparity;	/* intype natural */
	} ROCKFIFOT_ITfooter;	/* intype record*/

typedef struct
	{
	 ROCKFIFOT_ITheader header;	/* intype idf. */
	 ROCKFIFOT_ITslaves slaves;	/* intype idf. */
	 ROCKFIFOT_ITfooter footer;	/* intype idf. */
	} ROCKFIFOT_ITframe;	/* intype record*/

typedef struct
	{
	 int nrels;	/* nr of elements in the list */
	 unsigned int *els;	/* array of intype natural elements*/
	} ROCKFIFOT_ITraw2frame;	/* intype list of natural*/

typedef struct
	{
	 char * status;	/* outtype string */
	 ROCKFIFOT_OTframe frame;	/* outtype idf. */
	} ROCKFIFOT_OTraw2frame;	/* outtype record*/

typedef ROCKFIFOT_ITrefill ROCKFIFOT_ITraw_bits2frame;	/* intype idf. */

typedef struct
	{
	 ROCKFIFOT_ITwhat what;	/* param: intype idf. */
	 ROCKT_ITrid rid;	/* param: intype idf. */

	 ROCKFIFOT_ITcancache cancache;	/* optparam: intype idf. */
	 char cancache_present;	/* boolean: optparam present */


	 ROCKFIFOT_OTfid result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_open;	/* data structure */

/* rockfifo open data function*/
/* return TL_OK iff no error */
int rockfifot_tl_open(rockfifot_t_open *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */


	 ROCKFIFOT_OTclose result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_close;	/* data structure */

/* rockfifo close data function*/
/* return TL_OK iff no error */
int rockfifot_tl_close(rockfifot_t_close *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */


	 char result;	/* outtype nboolean */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_isempty;	/* data structure */

/* rockfifo isempty data function*/
/* return TL_OK iff no error */
int rockfifot_tl_isempty(rockfifot_t_isempty *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */

	 unsigned int nrels;	/* optparam: intype natural */
	 char nrels_present;	/* boolean: optparam present */


	 ROCKFIFOT_OTread result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_read;	/* data structure */

/* rockfifo read data function*/
/* return TL_OK iff no error */
int rockfifot_tl_read(rockfifot_t_read *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */

	 unsigned int nrels;	/* optparam: intype natural */
	 char nrels_present;	/* boolean: optparam present */


	 ROCKFIFOT_OTread_bits result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_read_bits;	/* data structure */

/* rockfifo read_bits data function*/
/* return TL_OK iff no error */
int rockfifot_tl_read_bits(rockfifot_t_read_bits *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */

	 unsigned int nrels;	/* optparam: intype natural */
	 char nrels_present;	/* boolean: optparam present */


	 ROCKFIFOT_OTdecode result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_decode;	/* data structure */

/* rockfifo decode data function*/
/* return TL_OK iff no error */
int rockfifot_tl_decode(rockfifot_t_decode *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */


	 ROCKFIFOT_OTread_frame result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_read_frame;	/* data structure */

/* rockfifo read_frame data function*/
/* return TL_OK iff no error */
int rockfifot_tl_read_frame(rockfifot_t_read_frame *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */


	 ROCKFIFOT_OTread_frame_bits result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_read_frame_bits;	/* data structure */

/* rockfifo read_frame_bits data function*/
/* return TL_OK iff no error */
int rockfifot_tl_read_frame_bits(rockfifot_t_read_frame_bits *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */


	 ROCKFIFOT_OTread result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_synch;	/* data structure */

/* rockfifo synch data function*/
/* return TL_OK iff no error */
int rockfifot_tl_synch(rockfifot_t_synch *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */


	 ROCKFIFOT_OTread_bits result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_synch_bits;	/* data structure */

/* rockfifo synch_bits data function*/
/* return TL_OK iff no error */
int rockfifot_tl_synch_bits(rockfifot_t_synch_bits *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */
	 ROCKFIFOT_ITcancache cancache;	/* param: intype idf. */


	 ROCKFIFOT_OTdummy result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_setcancache;	/* data structure */

/* rockfifo cache set data function*/
/* return TL_OK iff no error */
int rockfifot_tl_setcancache(rockfifot_t_setcancache *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */


	 ROCKFIFOT_OTread_bits result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_flush;	/* data structure */

/* rockfifo cache flush data function*/
/* return TL_OK iff no error */
int rockfifot_tl_flush(rockfifot_t_flush *data);

typedef struct
	{
	 ROCKFIFOT_ITfid fid;	/* param: intype idf. */
	 ROCKFIFOT_ITrefill newdata;	/* param: intype idf. */


	 ROCKFIFOT_OTdummy result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_refill;	/* data structure */

/* rockfifo cache refill data function*/
/* return TL_OK iff no error */
int rockfifot_tl_refill(rockfifot_t_refill *data);

typedef struct
	{
	 ROCKFIFOT_ITframe framedata;	/* param: intype idf. */


	 ROCKFIFOT_OTread result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_frame2raw;	/* data structure */

/* rockfifo conv frame2raw data function*/
/* return TL_OK iff no error */
int rockfifot_tl_frame2raw(rockfifot_t_frame2raw *data);

typedef struct
	{
	 ROCKFIFOT_ITraw2frame rawdata;	/* param: intype idf. */


	 ROCKFIFOT_OTraw2frame result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_raw2frame;	/* data structure */

/* rockfifo conv raw2frame data function*/
/* return TL_OK iff no error */
int rockfifot_tl_raw2frame(rockfifot_t_raw2frame *data);

typedef struct
	{
	 ROCKFIFOT_ITraw_bits2frame rawdata;	/* param: intype idf. */


	 ROCKFIFOT_OTraw2frame result;	/* outtype idf. */

	 char *errorstr;	/* initialized ==NULL */
	} rockfifot_t_raw_bits2frame;	/* data structure */

/* rockfifo conv raw_bits2frame data function*/
/* return TL_OK iff no error */
int rockfifot_tl_raw_bits2frame(rockfifot_t_raw_bits2frame *data);

#endif /* TLC_TCLC_rockfifo_USER_H */