/*
****************************************************************************

      GamePort Device ToolKit Subroutines.
      Function Prototypes and Pragmas.

      GamePort.h.
      Version 1.1.

      Paris E. Bingham Jr.
      Copyright © 1986 - 1990  All Rights Reserved.


      History:

    Version      Date      Comments
    -------    --------    -----------------------------------------------
      1.0      10/01/89    PEB - Created.
      1.1      08/12/90    PEB - Add support for Manx C V5.0.
               09/18/90    PEB - Add support for SAS C V5.10.
               12/19/90    PEB - Added hardware interface routines.

****************************************************************************
*/

#ifndef  DT_PROTO_GAMEPORT_H
#define  DT_PROTO_GAMEPORT_H

/*
      Functions Prototypes
*/

#ifdef   __ARGS
#undef   __ARGS
#endif

#ifdef   MANXV3
#define  __ARGS(a)   ()    /* No intelligent function prototyping (ANSI) */
#else
#define  __ARGS(a)   a     /* Lattice and Manx V5 supports the above */
#endif

DTGamePort_t   DTGamePortCreate __ARGS( (ULONG,LONG *) );
DTGamePort_t   DTGamePortCreateLike __ARGS( (DTGamePort_t,LONG *) );
void           DTGamePortDestroy __ARGS( (DTGamePort_t) );
LONG           DTGamePortClear __ARGS( (DTGamePort_t) );
LONG           DTGamePortRead __ARGS( (DTGamePort_t,BYTE *,ULONG,ULONG *) );
LONG           DTGamePortQueueRead __ARGS( (DTGamePort_t,BYTE *,ULONG) );
LONG           DTGamePortCheckRead __ARGS( (DTGamePort_t,ULONG *) );
LONG           DTGamePortGetType __ARGS( (DTGamePort_t,BYTE *) );
LONG           DTGamePortSetType __ARGS( (DTGamePort_t,BYTE *) );
LONG           DTGamePortGetTrigger \
                  __ARGS( (DTGamePort_t,struct GamePortTrigger *) );
LONG           DTGamePortSetTrigger \
                  __ARGS( (DTGamePort_t,struct GamePortTrigger *) );
void           DTGamePortOpen __ARGS( (ULONG) );
void           DTGamePortClose __ARGS( () );
LONG           DTGamePortJoy0Dat __ARGS( () );
LONG           DTGamePortJoy1Dat __ARGS( () );
void           DTGamePortJoyTest __ARGS( (ULONG) );
LONG           DTGamePortLButton0 __ARGS( () );
LONG           DTGamePortLButton1 __ARGS( () );
LONG           DTGamePortRButton0 __ARGS( () );
LONG           DTGamePortRButton1 __ARGS( () );
LONG           DTGamePortMButton0 __ARGS( () );
LONG           DTGamePortMButton1 __ARGS( () );
LONG           DTGamePortDJoy __ARGS( (ULONG) );

/*
      Pragmas
*/

#ifndef  NO_PRAGMAS
#include "DeviceToolKits/proto/GamePortPragmas.h"
#endif

#undef   __ARGS

/*
****************************************************************************
      End of GamePort.h
****************************************************************************
*/

#endif

