/*
	Public header file for magtape widget
*/

#ifndef MAGTAPE_H
#define MAGTAPE_H

#define NDRIVES 6

#define TAPE_IDLE 0
#define TAPE_FORWARD 1
#define TAPE_REVERSE 2
#define TAPE_DO_REWIND 3
#define TAPE_SETPOS 4

#define GAPLEN (0.75*0.0254)
#define BLOCKLEN(words,shortword,density) ((((double)(words))*((shortword)?4.0:7.0)/((double)((density)?556:200)))*0.0254+(GAPLEN))
#define TAPELENGTH (2400.0*12.0*0.0254)
#define TAPELENGTHx (100.0*12.0*0.0254)

/* global variable applicationdata */
typedef struct
{
} MagTapeApplicationData, *MagTapeApplicationDataPtr;

typedef struct _XsMagTapeClassRec *XsMagTapeWidgetClass;
typedef struct _XsMagTapeRec *XsMagTapeWidget;

/* exported functions */
extern int XsmagTapeIdle(XsMagTapeWidget,int);
extern int XsmagTapeCommand(XsMagTapeWidget, int, int, double, int );
extern void XsmagTapeLog(XsMagTapeWidget, int, char *);


#endif

