typedef struct
{
        int     contrl[15];
        int     global[80];
        int     intin[128];
        int     intout[45];
        int     ptsout[128];
        void    *addrin[128];
        void    *addrout[6];
        int     ptsin[128];
} GEMPARBLK;

extern  GEMPARBLK _GemParBlk;

#define contrl  _GemParBlk.contrl
#define global  _GemParBlk.global
#define intin   _GemParBlk.intin
#define ptsin   _GemParBlk.ptsin
#define intout  _GemParBlk.intout
#define ptsout  _GemParBlk.ptsout
#define addrin  _GemParBlk.addrin
#define addrout _GemParBlk.addrout

extern int *vdipb[];

extern struct { int  *Contrl, *Global, *Intin, *Intout;
                void **Addrin, **Addrout;
              }
              aespb;

void CALL_VDI( void );
void CALL_AES( void );

#define VDI( c0, c1, c3, c6 ) contrl[0] = c0; contrl[1] = c1;\
                              contrl[3] = c3; contrl[6] = c6; CALL_VDI()

#define AES( c0, c1, c2, c3, c4 ) contrl[0] = c0; contrl[1] = c1;\
                                  contrl[2] = c2; contrl[3] = c3;\
                                  contrl[4] = c4; CALL_AES()
#ifndef __AES__

#define OBJECT  int
#define MFORM   int

#endif

#ifndef __VDI__

#define MFDB    int

#endif

