/*
 *  DMOUSE.H
 */
#define DMS struct _DMS
#define PORTNAME    "DMouse"
#define REQ_SCREENON    -1
#define REQ_SCREENOFF   -2
#define REQ_MOUSEON     -3
#define REQ_MOUSEOFF    -4
#define REQ_DOCMD       -5
#define SBF_C   SIGBREAKF_CTRL_C
#define SBF_D   SIGBREAKF_CTRL_D
#define SBF_E   SIGBREAKF_CTRL_E
#define SBF_F   SIGBREAKF_CTRL_F
typedef unsigned short      uword;
typedef unsigned long       ulong;
typedef struct copinit      COPINIT;
typedef struct Message      MSG;
typedef struct Custom       CUST;
typedef struct Preferences  PREFS;
typedef struct InputEvent   IE;
typedef struct MsgPort      PORT;
typedef struct IOStdReq     IOR;
typedef struct Interrupt    INT;
typedef struct Screen       SCR;
typedef struct Window       WIN;
typedef struct Layer        LAYER;
typedef struct NewScreen    NS;
typedef struct Task         TASK;
typedef struct Process      PROC;
typedef struct timeval      TS;
typedef void                (*FPTR)();
DMS {
    PORT    Port;
    short   Version;
    short   Acc;
    short   AThresh;
    long    STo;
    long    MTo;
    uword   Code;
    uword   Qual;
    uword   RQual;
    char    Cmd[256];
    char    LMBEnable;
    char    AAEnable;
    TASK    *HandTask;
    TASK    *ShakeTask;
    short   ShakeSig;
    short   StartupError;
    uword   *NoSprData;
    long    Segment;
    uword   Clicks;     /*  # clicks required           */
    uword   CLeft;      /*  # clicks left to do         */
    TS      CTime;      /*  time of last click          */
    WIN     *CWin;      /*  All clicks in same window   */
};
extern IOR *CreateStdIO();
extern SCR *OpenScreen();
extern void *AllocMem();
extern void *malloc();
extern void *GetMsg();
extern void *OpenLibrary();
extern PORT *CreatePort();
extern TASK *FindTask();
extern PROC *CreateProc();
extern LAYER *WhichMouseLayer();
extern LAYER *WhichLayer();
extern DMS   *FindPort();
