typedef enum {JOG,VAR,SHUTTLE} MOVETYPE;
typedef enum {FORWARD,REVERSE} DIRECTION;
typedef enum {CUEUPATENDOFTAPE,CUEUPTCFOUND,CUEUPSTILLRUNNING} ISCUEUPCOMPLETERETURN;

BOOL FAR PASCAL SetupCommunicationJVC(char *comName);
void FAR PASCAL LocalDisableJVC(void);
void FAR PASCAL LocalEnableJVC(void);
void FAR PASCAL LocalEnableJVC(void);
void FAR PASCAL StopJVC(void);
void FAR PASCAL PlayJVC(void);
void FAR PASCAL StandByOffJVC(void);
void FAR PASCAL StandByOnJVC(void);
void FAR PASCAL EjectJVC(void);
void FAR PASCAL FastFwdJVC(void);
void FAR PASCAL RewindJVC(void);
void FAR PASCAL PrerollJVC(void);
void FAR PASCAL SyncPlayJVC(void);
void FAR PASCAL ProgramPlayPosJVC(void);
void FAR PASCAL ProgramPlayNegJVC(void);
void FAR PASCAL TensionReleaseJVC(void);
void FAR PASCAL AntiClogTimerDisableJVC(void);
void FAR PASCAL AntiClogTimerEnableJVC(void);
void FAR PASCAL Timer1ResetJVC(void);
void FAR PASCAL InEntryJVC(void);
void FAR PASCAL OutEntryJVC(void);
void FAR PASCAL InShiftPosJVC(void);
void FAR PASCAL InShiftNegJVC(void);
void FAR PASCAL OutShiftPosJVC(void);
void FAR PASCAL OutShiftNegJVC(void);
void FAR PASCAL InResetJVC(void);
void FAR PASCAL OutResetJVC(void);
void FAR PASCAL InRecallJVC(void);
void FAR PASCAL OutRecallJVC(void);
void FAR PASCAL DeviceTypeRequestJVC(BYTE FAR *b2Bytes);
void FAR PASCAL SloppyMoveJVC(MOVETYPE how,DIRECTION direc,BYTE speedData);
void FAR PASCAL ExactMoveJVC(MOVETYPE how,DIRECTION direc,BYTE data1,BYTE data2);
void FAR PASCAL SetVarJVC(float toKmH,float filmedSpeed);
void FAR PASCAL CueUpWithDataJVC(int nSt,int nMi,int nSe,int nFr);
ISCUEUPCOMPLETERETURN FAR PASCAL IsCueUpComplete(void);
void FAR PASCAL ForwardVar1Byte(BYTE selector);
void FAR PASCAL ForwardVar2Byte(BYTE selector1,BYTE selector2);
void FAR PASCAL ShutDownCommunicationJVC(void);
BOOL FAR PASCAL DoesPlayerRespondJVC(char *comName);
