/* $Header: pd:zvmRCS/voice.h,v 1.1 1993/04/07 18:46:36 rvillari Exp rvillari $ */
#ifndef _VOICE_H
#define _VOICE_H

/* ordered return status */
enum ReturnStatus {Normal = 0, KeyDetected = 1, QuietDetected = 2, SilenceDetected = 3, FaxDetected = 4, DataDetected = 5, BusyDetected = 8, TimedOut = 10, SignalDetected = 12, Overflow = 14, Error = 16};

enum DLECharacter {DLEOne = 20, DLETwo, DLEThree, DLEFour, DLEFive, DLESix,
		     DLESeven, DLEEight, DLENine, DLEZero,
		     DLEStar, DLEPound,
		     DLEBusy, DLEDialTone, DLEFax, DLEQuiet,
		     DLESilence, DLEETX, DLEDLE,
		     DLESync,
		     DLEOffHook, DLEOnHook, DLERunLength,
		     DLEDTMFPossible, DLEDTMFReleased, DLERing, DLEData,
                     DLEUnknown
		   };

enum VoiceDevice {TelephoneLine = 2, ExternalMic = 8, InternalSpeaker = 16, LocalHandset = 32};
enum VoiceCompression {
  NOVOICE = 0,
  CELP = 1,
  ADPCM2 = 2,
  ADPCM3 = 3,
  ADPCM2SYNC = 5,
  ADPCM3SYNC = 6,
  MTDADPCM2 = 10,
  LLCVSD7200 = 20,
  LLCVSD8000 = 21,
  LLCVSD9600 = 22,
  LLSPC7200 = 23,
  LLSPC8000 = 24,
  LLSPC9600 = 25,
  ROCKADPCM2_7200 = 30,
  ROCKADPCM3_7200 = 31,
  ROCKADPCM4_7200 = 32
};
enum ModemMode {UnknownMode = -1, CommandMode = 0, VoiceMode = 1, ConnectedMode = 2, PlayMode = 3, RecordMode = 4};

/* possible types */
enum FileType {UnknownFile, ZVMRawFile, ZyxelFile, IffFaxFile, Iff8SVXFile};

/* The maximum size of our phone pad buffer */
#define MaxPhoneBufferSize 50

enum ModemType {ZyxelModem, DolphinModem, LineLinkModem, RockwellModem, NoVoiceModem};

#endif
