#ifndef SUPERGEN_COPINIT_H
#define SUPERGEN_COPINIT_H

/************************************************************************
**                                                                     **
**  copinit.h -- copinit.library declarations                          **
**                                                                     **
**  v2.2                                                               **
**                                                                     **
**  11/25/91  Bill Barton - slight revisions (v2.2)                    **
**   8/15/89  Bill Barton - revised for v2.0                           **
**  12/30/87  John Botteri - created this file                         **
**                                                                     **
**  Copyright (C) 1987-1991 Digital Creations, Inc.                    **
**  All rights reserved.                                               **
**                                                                     **
************************************************************************/

#ifndef EXEC_TYPES_H
  #include <exec/types.h>
#endif


/************************************************************************
**                                                                     **
**      Misc. Definitions                                              **
**                                                                     **
************************************************************************/

#define COPINIT_Minimum 2       /* Minimum supported library version */


/************************************************************************
**                                                                     **
**      CopinitList data structure                                     **
**                                                                     **
************************************************************************/

struct CopinitList
{
    struct CopinitList *next;
    UWORD Begin,Ending,Length;
    UWORD *MyCopList;
    UWORD *GenCopList;
};


/************************************************************************
**                                                                     **
**      Macros for creating a CopinitList                              **
**                                                                     **
************************************************************************/

#define MOVE_OPCODE(addr,val)   (((long)(addr)<<16)|(val))

#define WAIT_OPCODE(bfd,v,h,vm,hm) \
            (((long)(v)<<24)|((long)(h)<<17)|(1L<<16)|((long)(bfd)<<15)|((long)(vm)<<8)|((long)(hm)<<1))

#define SKIP_OPCODE(bfd,v,h,vm,hm) \
            (((long)(v)<<24)|((long)(h)<<17)|(1L<<16)|((long)(bfd)<<15)|((long)(vm)<<8)|((long)(hm)<<1)|1)

#endif
