/* $Header: pd:zvmrcs/serial_proto.h,v 1.1 1993/04/07 18:46:29 rvillari Exp $ */
#ifndef _SERIAL_PROTO_H
#define _SERIAL_PROTO_H

/* Serial I/O routines */


#include <exec/types.h>
#include "serial.h"

ULONG SerialSignal(struct SerialData*);

/* opens the serial port in the default shared mode */
struct SerialData *OpenSerial(char *serialName, int UnitNumber, ULONG serialFlags);

/* close the serial port */
void CloseSerial(struct SerialData *);

/* change the serial port status */
int ChangeData(struct SerialData *, ULONG baudRate, UBYTE numBits, UBYTE stopBits, ULONG serialFlags, ULONG readBufferLength);

/* synchronous i/o */
long WriteSer(struct SerialData *,char *,long);
long ReadSer(struct SerialData *,char *, long, long*);

/* asynchronous i/o */
void SendSer(struct SerialData *, char *,long);
void RecvSer(struct SerialData *,char *, long);

void AbortSer(struct SerialData *);
long CheckSer(struct SerialData *);
long WaitSer(struct SerialData *);
void WaitWaitSer(struct SerialData *);

void StartSer(struct SerialData*);
void StopSer(struct SerialData*);

/* number of unread bytes in the internal serial buffer */
long SerBuffer(struct SerialData *);

/* clear the internal serial buffer */
void ClearSer(struct SerialData *);


#endif
