#ifndef H_ED_MFG_20021224105413
#define H_ED_MFG_20021224105413

/* ---------------------------------------------------------------------
   (c) ED 2002
   Project      : Multiframe simulator
   Function     : MultiFrame Generator
   Module       : MFG
   File         : MFG.H
   Created      : 24-12-2002
   Modified     : 24-12-2002
   --------------------------------------------------------------------- */

/* ---------------------------------------------------------------------
   Log

   0.0 24-12-2002 Creation

   --------------------------------------------------------------------- */
#ifdef __cplusplus
extern "C"
{
#endif

#include "ed/inc/types.h"

/* public data ========================================================= */
/* macros ============================================================== */
/* constants =========================================================== */
   enum
   {
      MFG_FRAME_NB = 16,
      MFG_dummy
   };

   typedef enum
   {
      MFG_BIT_a,
      MFG_BIT_b,
      MFG_BIT_c,
      MFG_BIT_d,
      MFG_BIT_NB
   }
   mfg_bit_e;

/* types =============================================================== */
/* structures ========================================================== */
   typedef struct
   {
      int frame;
      int rmai;
      int data;
      int frc;
      uchar mfsw;
      uchar sig[30];            /* les bits abcd des 30 voies */
      uchar it16[MFG_FRAME_NB]; /* les 16 trame d'IT16 */
   }
   mfg_s;

/* internal public data ================================================ */
/* internal public functions =========================================== */
/* entry points ======================================================== */

   void mfg_init (mfg_s * const this, uint frame);
   void mfg_zero (mfg_s * const this, int const sts);
   void mfg_one (mfg_s * const this, int const sts);
   void mfg_rmai (mfg_s * const this, int const sts);
   void mfg_sig (mfg_s * const this
                 ,uint const voie
                 ,mfg_bit_e const bit
                 ,int const sts);
   uchar mfg_get_it16 (mfg_s * const this);
   void mfg_mfsw (mfg_s * const this, uchar const mfsw);

#ifdef __cplusplus
}
#endif

#endif                          /* H_ED_MFG_20021224105413 */
/* GUARD (c) ED 2000-2002 Dec 16 2002 Ver. 1.4 */
