/*

	MyMouse.h : Definitions

	(C) 1995 Remi Lenoir

*/


// Some basics
#define	FALSE	0
#define	TRUE	1

// Janus interrupt number
#define	INT_JANUS	0x0B

// GetBase Flags
#define GETS_WAIT	0x0001	/* Wait until the service is available */
#define GETS_ALOAD_A	0x0040	/* Ask the Amiga to autoload the service */

// Memory areas
#define	MEMF_PARAMETER  (1<<0)
#define	MEMF_BUFFER     (1<<1)

// Application Identification
#define	AMOUSESERV_APPLICATION_ID	1L
#define	AMOUSESERV_LOCAL_ID		2

struct MouseServ
{
  UWORD MouseX;
  UWORD MouseY;
  UWORD LeftButtonDownCounter;
  UWORD RightButtonDownCounter;
  UWORD LeftButtonUpCounter;
  UWORD RightButtonUpCounter;
  UWORD ActualButtonsState;
  UBYTE Unknown;
  UBYTE UpdateCounter;
};

/* ServiceData structure */
struct ServiceData {
		     ULONG	no_name0;
		     USHORT	no_name1;
		     USHORT	sd_Flags;
		     UBYTE	sd_ServiceDataLock;
		     UBYTE	no_name2;
		     UBYTE	no_name3;
		     UBYTE	no_name4;
		     USHORT	no_name5;
		     USHORT	no_name6;
		     RPTR	no_name7;
		     APTR	no_name8;
		     APTR	sd_PCMemPtr;
		     RPTR	no_name9;
		     RPTR	no_name10;
		     APTR	no_name11;
		     APTR	no_name12;
		     ULONG	no_name13;
		     ULONG	no_name14[4];
		  };

