/*
	Public header file for magtape widget
*/

#ifndef MAGTAPE_H
#define MAGTAPE_H

#define NDRIVES 6

#define TAPE_IDLE 10
#define TAPE_FORWARD 20
#define TAPE_REVERSE 30
#define TAPE_REWIND 40
#define TAPE_SETPOS 50

#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)

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

extern WidgetClass XsmagTapeWidgetClass;
typedef struct _XsMagTapeClassRec *XsMagTapeWidgetClass;
typedef struct _XsMagTapeRec *XsMagTapeWidget;

#define XtNbackgroundColor	"backgroundColor"
#define XtNdone			"done"
#define XtNtapeLabels		"tapeLabels"
#define XtCTapeLabels		"TapeLabels"
#define XtNnDrives		"nDrives"
#define XtCNDrives		"NDrives"

#define XtNvisualInfo		"visualInfo"
#define XtCVisualInfo		"VisualInfo"
#define XtRVisualInfo		"VisualInfo"

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


#endif

