
#ifndef MK4_H
#define MK4_H


/* Global Constants */
#define MAX_CARDS          4              /* Max of four cards per computer */
#define MAX_BYTES_PER_CARD (64*1024*1024) /* There can be up to 64MB/Card   */
#define MAX_READ           1024           /* Maximum bytes per read         */



/* Define the ioctl numbers */
#define MK4_IOC_MAGIC 'T'

/* MK4_IOC_SBUFFUL      Sets the buffer to full.  There are two ways    */
/*                      The buffer can be set to "full" (1) by use of   */
/*                      this iocntl or (2) by an interrupt, if          */
/*                      interrupts are enabled on the RAM card.         */
/* MK4_IOC_SEXPECTED    This iocntl should be called just beforeIssuing */
/*                      the readout command to the STAMP so that this   */
/*                      driver can know how many bytes it got when the  */
/*                      interrupt arrives.                              */ 
/* MK4_IOC_SUSERSTATUS  Set the user status byte for the RAM card.      */
/*                      The only effect is that the byte is displayed   */
/*                      in the /proc/mk4 file.                          */
/* MK4_IOC_HARDRESET    Reset usage count to allow unload.  This is not */
/*                      needed for normal use.  Usfull to developers.   */


#define MK4_IOC_SBUFFULL    _IOW(MK4_IOC_MAGIC,  1, int*)
#define MK4_IOC_SEXPECTED   _IOW(MK4_IOC_MAGIC,  2, int*)

#define MK4_IOC_SUSERSTATUS _IOW(MK4_IOC_MAGIC, 14, char*)
#define MK4_IOC_HARDRESET   _IO( MK4_IOC_MAGIC, 15)
#define MK4_IOC_MAX                             15


#endif /* MK4_H */
