topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-Telephones.h / h
/*
File: Telephones.h
Contains: Telephone Manager Interfaces.
Version: Technology: System 7.5
Release: QuickTime 6.0.2
Copyright: (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
ifndef __TELEPHONES__
define __TELEPHONES__
ifndef __MACTYPES__
include <MacTypes.h>
endif
ifndef __DIALOGS__
include <Dialogs.h>
endif
ifndef __MACERRORS__
include <MacErrors.h>
endif
ifndef __EVENTS__
include <Events.h>
endif
ifndef __CTBUTILITIES__
include <CTBUtilities.h>
endif
ifndef __COMPONENTS__
include <Components.h>
endif
if PRAGMA_ONCE
#pragma once
endif
ifdef __cplusplus
extern "C" {
endif
if PRAGMA_IMPORT
#pragma import on
endif
if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
endif
if CALL_NOT_IN_CARBON
enum {
curTELVersion = 3, /* current Telephone Manager version */
/* the chooseXXX symbols are defined in CTBUtilities.(pah) */
telChooseDisaster = chooseDisaster,
telChooseFailed = chooseFailed,
telChooseAborted = chooseAborted,
telChooseOKMinor = chooseOKMinor,
telChooseOKMajor = chooseOKMajor,
telChooseCancel = chooseCancel,
telChooseOKTermChanged = 4
};
ifndef classTEL
enum {
/* telephone tool file type */
classTEL = FOUR_CHAR_CODE('vbnd')
};
endif /* !defined(classTEL) */
enum {
/* PHYSICAL TERMINAL CONSTANTS */
/* INDEPENDENT HANDSET CONSTANTS */
telIndHSOnHook = 0, /* independent handset on hook */
telIndHSOffHook = 1, /* independent handset off hook */
telIndHSDisconnected = 0, /* handset disconnected from the line */
telIndHSConnected = 1, /* handset connected to the line */
/* HOOK STATE CONSTANTS */
telHandset = 1, /* handset hookswitch */
telSpeakerphone = 2, /* speakerphone 'on' switch */
telDeviceOffHook = 1, /* device off hook */
telDeviceOnHook = 0, /* device on hook */
/* VOLUME CONTROL CONSTANTS */
telHandsetSpeakerVol = 1, /* volume of the handset speaker */
telHandsetMicVol = 2, /* sensitivity of the handset mic */
telSpeakerphoneVol = 3, /* speakerphone volume */
telSpeakerphoneMicVol = 4, /* sensitivity of the spkrphone mic */
telRingerVol = 5, /* volume of the ringer */
telBuiltinSPVol = 6, /* volume of the built-in speakerphone */
telBuiltinSPMicVol = 7, /* sensitivity of the built-in speakerphone mic */
telVolSame = 0, /* leaves the volume at previous level */
telVolMin = 1, /* turns volume down to minimum level, but not off */
telVolMax = 100, /* highest level allowed by the Telephone Manager */
telVolStateSame = 0, /* leaves device in same state */
telVolStateOff = 1, /* turns the device off , */
/* but doesn't change the volume setting. */
/* Use for mute functions. */
telVolStateOn = 2, /* turns the device on. Volume setting is */
/* the same as previously set.*/
/* DISPLAY CONSTANTS */
telNormalDisplayMode = 1, /* normal display mode */
telInspectMode = 2, /* inspect display mode */
telMiscMode = 3, /* miscellaneous display mode */
telRetrieveMode = 4, /* message retrieval mode */
telDirectoryQueryMode = 5, /* electronic directory mode */
telEntireDisplay = 0, /* entire Display */
/* KEY PRESS CONSTANTS */
telHangupKey = 1, /* drop, or release, key pressed */
telHoldKey = 2, /* hold key pressed */
telConferenceKey = 3, /* conference key pressed */
telTransferKey = 4, /* transfer key pressed */
telForwardKey = 5, /* call forward key pressed */
telCallbackKey = 6, /* call back key pressed */
telDNDKey = 7, /* do not disturb key pressed */
telCallPickupKey = 8, /* call Pickup key pressed */
telCallParkKey = 9, /* call Park key pressed */
telCallDeflectKey = 10, /* call Deflect key pressed */
telVoiceMailAccessKey = 11, /* voice Mail Access key pressed */
telCallRejectKey = 12, /* call Reject key pressed */
telOtherKey = 16, /* other key pressed */
telKeyPadPress = 1, /* key pressed on 12 digit keypad*/
telFeatureKeyPress = 2, /* feature Key Pressed */
telTerminalEnabled = 0,
telTerminalDisabled = 1,
telUnknown = 0, /* unknown error */
telTerminalHWDisconnected = 1, /* terminal hardware is disconnected */
telDeviceDriverClosed = 2, /* device driver is closed */
/* ALERT PATTERN */
telPattern0 = 0,
telPattern1 = 1,
telPattern2 = 2,
telPattern3 = 3,
telPattern4 = 4,
telPattern5 = 5,
telPattern6 = 6,
telPattern7 = 7,
telPatternOff = 8,
telPatternUndefined = 15, /* DN TYPES */
telAllDNs = 0, /* counts all types of DNs */
telInternalDNs = 1, /* connected to PBX or other non-public switch */
telInternalDNsOnly = 2, /* connected to PBX or other non-public switch */
/* and able to place internal calls only */
telExternalDNs = 3, /* connected to public network */
telDNTypeUnknown = 4, /* DN type unknown */
/* DN USAGE */
telDNNotUsed = 0, /* DN is not used - onhook */
telDNPOTSCall = 1, /* DN used for POTs call */
telDNFaxCall = 2, /* DN used for fax call */
telDNDataCall = 3, /* DN used for data call */
telDNAlerting = 4, /* Incoming call at DN */
telDNUnknownState = 5, /* DN is in unknown state */
/* CALL FORWARDING TYPES */
telForwardImmediate = 1, /* immediately forward calls */
telForwardBusy = 2, /* forward on Busy */
telForwardNoAnswer = 3, /* forward on No answer */
telForwardBusyNA = 4, /* forwarding for busy and no answer*/
telForwardTypeUnknown = 5, /* type of forwarding is unknown */
/* CALL FORWARDING MESSAGES */
telForwardCleared = 0, /* forwarding has been cleared */
telForwardEst = 1, /* forwarding has been established*/
telForwardFailed = 2, /* attempt to setup forwarding has failed*/
/* DO NOT DISTURB TYPES */
telDNDIntExt = 0, /* do not disturb for all internal and external calls*/
telDNDExternal = 1, /* do not disturb for external calls only */
telDNDInternal = 2, /* do not disturb for internal calls only */
telDNDNonIntercom = 3, /* do not disturb for all calls except intercom */
/* DO NOT DISTURB MESSAGES */
telDNDCleared = 0, /* do not disturb has been cleared */
telDNDEst = 1, /* do not disturb has been established */
telDNDFailed = 2, /* attempt to setup do not disturb has failed */
/* VOICE MAIL MESSAGES */
telAllVoiceMessagesRead = 0, /* all messages have been read, none are waiting */
/* to be read */
telNewVoiceMessage = 1, /* a new message has arrived or messages are waiting */
/* for this DN */
/* DNSELECT MESSAGE */
telDNDeselected = 0, /* DN has been deselected */
telDNSelected = 1, /* DN has been selected */
/* CALL ORIGINATORS */
telInternalCall = 0, /* return nth internal CA */
telExternalCall = 1, /* return nth external CA */
telUnknownCallOrigin = 2, /* unknown call type */
telAllCallOrigins = 2, /* return nth CA internal or external */
/* CALL TYPES */
telVoiceMailAccessOut = (-7),
telPageOut = (-6),
telIntercomOut = (-5),
telCallbackOut = (-4),
telPickup = (-3),
telParkRetrieve = (-2),
telNormalOut = (-1),
telUnknownCallType = 0,
telNormalIn = 1,
telForwardedImmediate = 2,
telForwardedBusy = 3,
telForwardedNoAnswer = 4,
telTransfer = 5,
telDeflected = 6,
telIntercepted = 7,
telDeflectRecall = 8,
telParkRecall = 9,
telTransferredRecall = 10,
telIntercomIn = 11,
telCallbackIn = 12, /* DIAL TYPES */
telDNDialable = 0, /* this DN could be dialed via TELSetupCall */
telDNNorthAmerican = 1, /* rmtDN is standard North America 10 digit number */
telDNInternational = 2, /* rmtDN is an international number */
telDNAlmostDialable = 3, /* rmtDN is almost dialable, */
/* missing prefix such as 9 or 1 */
telDNUnknown = 15, /* unknown whether DN is dialable */
/* CALL PROGRESS MESSAGES */
telCAPDialTone = 1, /* dial tone */
telCAPRinging = 2, /* destination CA is alerting */
telCAPDialing = 3, /* dialing the other end */
telCAPReorder = 4, /* reorder */
telCAPBusy = 5, /* busy */
telCAPRouted = 6, /* call routed; rmtDN will hold the routing directory */
/* number routeDN and routePartyName have been updated */
telCAPRoutedOff = 7, /* call routed off-network; no further progress will */
/* be available */
telCAPTimeout = 8, /* call timed out */
telCAPUpdate = 9, /* name and rmtDN information has been updated */
telCAPPrompt = 10, /* the network is prompting for more information */
telCAPWaiting = 11, /* call is proceeding, but there is no response yet */
/* from the destination */
telCAPCPC = 12, /* telephone tool detected CPC signal */
telCAPNoDialTone = 13, /* dial tone not detected */
telCAPUnknown = 15, /* call progress state unknown */
telCAPDialDisabled = 16, /* Blacklisting: Dial Disabled */
telCAPBlacklistedNumber = 17, /* Blacklisting: Blacklisted Number */
telCAPForbiddenNumber = 18, /* Blacklisting: Forbidden Number */
telCAPModemGuardTime = 19, /* Modem Guard Timein force, unable to dial */
telCAPLCDetected = 20, /* trying to dial a number while the handset is offhook */
telCAPLostLC = 21, /* trying manual dial or answer while handset not off hook */
/* or also lost line current during dialing. */
/* OUTGOING CALL MESSAGES */
telPhysical = 0, /* user lifted handset and initiated call */
telProgrammatic = 1, /* programmatic initiation of outgoing call */
/* DISCONNECT MESSAGES */
telLocalDisconnect = 0, /* local party, this user, responsible for disconnect */
telRemoteDisconnect = 1, /* remote party responsible for disconnect */
/* DISCONNECT TYPES */
telCADNormal = 1, /* normal disconnect */
telCADBusy = 2, /* remote user busy */
telCADNoResponse = 3, /* remote not responding */
telCADRejected = 4, /* call rejected */
telCADNumberChanged = 5, /* number changed */
telCADInvalidDest = 6, /* invalid destination address */
telCADFacilityRejected = 7, /* requested facility rejected */
telCADUnobtainableDest = 9, /* destination not obtainable */
telCADCongested = 10, /* network congestion */
telCADIncompatibleDest = 11, /* incompatible destination */
telCADTimeout = 12, /* call timed out */
telCADUnknown = 15, /* reason unknown */
/* CONFERENCE MESSAGES */
telConferencePrepFailed = 0, /* conference could not be prepared */
telConferencePending = 1, /* conference prepared successfully */
telConferenceEstFailed = 2, /* conference could not be established */
telConferenceEst = 3, /* conference established */
/* TRANSFER MESSAGES */
telTransferPrepFailed = 0, /* transfer could not be prepared */
telTransferPending = 1, /* transfer prepared successfully */
telTransferEst = 2, /* consult or blind xfer successful */
telTransferFailed = 3, /* consult or blind xfer failed */
telTransferred = 4, /* message to originator of CA specifying */
/* that call was transferred to rmtDN */
/* HOLD MESSAGES */
telHoldCleared = 0,
telHoldEst = 1,
telHoldFailed = 2, /* RECEIVE DIGIT MESSAGES */
telDigitAudible = 0,
telDigitNotAudible = 1, /* CALL PARK MESSAGES */
telCallParkEst = 1, /* call has been successfully parked */
telCallParkRetrieveEst = 2, /* parked Call has been successfully retrieved */
telCallParkFailed = 3, /* attempt to setup call park has failed */
telCallParkRetrieveFailed = 4, /* attempt to retrieve parked call failed */
telCallParkRecall = 5, /* call park has been recalled */
/* CALL BACK MESSAGES */
telCallbackCleared = 0, /* call back has been cleared */
telCallbackEst = 1, /* call back has been established */
telCallbackNowAvail = 2, /* call can be called back with TELCallBackNow */
/* if CA is zero, else call IS calling back on CA */
telCallbackFailed = 3, /* attempt to setup callback has failed */
telCallbackDesired = 4, /* a user has called this terminal, received no */
/* answer and desires this terminal to call it */
/* back */
telCallbackDesiredCleared = 5, /* call back for no answer no longer desired */
telCalledback = 6, /* callback has occurred successfully */
/* CALL REJECT MESSAGES */
telCallRejectFailed = 0, /* attempt to reject call has failed */
telCallRejectEst = 1, /* call successfully rejected */
telCallRejected = 2, /* message to originator that call was rejected */
/* CALL DEFLECT MESSAGES */
telCallDeflectFailed = 0, /* attempt to deflect call has failed */
telCallDeflectEst = 1, /* call successfully deflected */
telCallDeflectRecall = 2, /* deflected call has been recalled */
telCallDeflected = 3, /* message to originator that call was deflected */
/* to rmtDN */
telAutoDeflectImmediate = 4, /* a call was automatically deflected from this */
/* terminal as a result of immediate call */
/* forwarding */
telAutoDeflectBusy = 5, /* a call was automatically deflected from this */
/* terminal as a result of call forwarding on busy */
telAutoDeflectNoAnswer = 6, /* a call was automatically deflected from this */
/* terminal as a result of call forwarding on */
/* no answer */
/* CONFERENCE SPLIT MESSAGES */
telConferenceSplitFailed = 0, /* CA could not be split */
telConferenceSplitEst = 1, /* CA split successfully */
/* CONFERENCE DROP MESSAGES */
telConferenceDropFailed = 0, /* CA could not be dropped */
telConferenceDropped = 1, /* CA dropped successfully */
/* CALL PICKUP MESSAGES */
telCallPickupEst = 0, /* call pickup was successful */
telCallPickupFailed = 1, /* call pickup failed */
telCallPickedUp = 2, /* message to originator that call was picked */
/* up at a different DN */
/* PAGING MESSAGES */
telPageEst = 0, /* paging was successful */
telPageComplete = 1, /* paging activity completed */
telPageFailed = 2, /* paging failed */
/* INTERCOM MESSAGES */
telIntercomEst = 0, /* intercom was successful */
telIntercomComplete = 1, /* intercom activity completed */
telIntercomFailed = 2, /* intercom failed */
/* MODEM TONE MESSAGES */
telModemToneDetected = 0, /* modem tone was detected */
telModemToneCleared = 1, /* modem tone went away */
/* FAX TONE MESSAGES */
telFaxToneDetected = 0, /* fax tone was detected */
telFaxToneCleared = 1, /* fax tone went away */
/* IN USE MESSAGES */
telInUsePrivate = 0, /* MADN is in use and can't be accessed */
telInUseCanAccess = 1, /* MADN is in use, and others can access it */
/* and join in */
telInUseCanMakePrivate = 2, /* MADN is in use, but available for any one */
/* person to access */
telInUseCleared = 3, /* MADN is no longer in use */
/* CALL APPEARANCE STATES */
telCAIdleState = 0, /* a call doesn't exist at this time */
telCAInUseState = 1, /* the call is active but at another terminal */
telCAOfferState = 2, /* a call is being offered to the terminal */
telCAQueuedState = 3, /* a call is being queued at this terminal */
telCAAlertingState = 4, /* a call is alerting at the terminal */
telCADialToneState = 5, /* initiated outgoing call has dialtone */
telCADialingState = 6, /* initiated outgoing call is dialing */
telCAWaitingState = 7, /* initiated outgoing call is waiting for */
/* response from destination */
telCARingingState = 8, /* the outgoing call is ringing. */
telCABusyState = 9, /* destination is busy or can't be reached */
telCAHeldState = 10, /* call has been put on hold by this terminal */
telCAConferencedState = 11, /* this CA is part of a conference now */
telCAActiveState = 12, /* the call is active and parties are free */
/* to exchange data */
telCAReorderState = 13, /* CA is in a reorder state */
telCAConferencedHeldState = 14, /* CA is a conference call in a held state */
telCAUnknownState = 15, /* the call state is unknown */
/* TERMINAL MESSAGE EVENTMASKS */
telTermHookMsg = 0x00000001, /* the hookswitch state has changed */
telTermKeyMsg = 0x00000002, /* a phone pad key has been depressed */
telTermVolMsg = 0x00000004, /* volume setting has changed */
telTermDisplayMsg = 0x00000008, /* display has changed */
telTermEnableMsg = 0x00000010, /* terminal has become enabled */
telTermOpenMsg = 0x00000020, /* terminal has been opened */
telTermCloseMsg = 0x00000040, /* terminal is shutting down */
telTermResetMsg = 0x00000080, /* terminal has been reset */
telTermErrorMsg = 0x00000100, /* hard equipment error */
telTermIndHSStateChgMsg = 0x00000200, /* change in handset state from inacive to */
/* active or vice versa */
telTermIndHSConnectMsg = 0x00000400, /* independent handset connection has been changed */
telTermKeyImmMsg = 0x00000800, /* immidiate arrival of phone pad key */
telTermVolStateMsg = 0x00001000, /* volume state has changed */
telTermOtherMsg = (long)0x80000000, /* vendor defined error */
telAllTermMsgs = 0x00001FFF, /* mask to all non tool specific terminal events */
/* DN MESSAGE EVENTMASK CONSTANTS */
telDNForwardMsg = 0x00000001, /* forward feature activity */
telDNDNDMsg = 0x00000002, /* do not disturb feature activity */
telDNVoiceMailMsg = 0x00000004, /* message has arrived for this DN */
telDNSelectedMsg = 0x00000008, /* DN has been selected or deselected */
telDNOtherMsg = (long)0x80000000, /* a custom message for use by tools */
telAllDNMsgs = 0x0000000F, /* mask to all non tool specific dn events */
/* CA MESSAGE EVENTMASK CONSTANTS */
telCAAlertingMsg = 0x00000001, /* CA is alerting */
telCAOfferMsg = 0x00000002, /* CA is being offered a call */
telCAProgressMsg = 0x00000004, /* call progress info for this CA */
telCAOutgoingMsg = 0x00000008, /* CA is initiating an outgoing call */
telCADisconnectMsg = 0x00000010, /* CA disconnected (dropped or rmt disc */
telCAActiveMsg = 0x00000020, /* CA is active and voice/data is free */
/* to flow end to end */
telCAConferenceMsg = 0x00000040, /* conference activity on CA */
telCATransferMsg = 0x00000080, /* transfer feature activity */
telCAHoldMsg = 0x00000100, /* hold feature activity */
telCADigitsMsg = 0x00000200, /* remote signaling digits arrived */
telCACallParkMsg = 0x00000400, /* CA call park feature activity */
telCACallbackMsg = 0x00000800, /* CA call back feature activity */
telCARejectMsg = 0x00001000, /* CA is rejected */
telCADeflectMsg = 0x00002000, /* CA is deflected */
telCAForwardMsg = 0x00004000, /* CA is forwarded to this DN */
telCAConferenceSplitMsg = 0x00008000, /* conference split activity */
telCAConferenceDropMsg = 0x00010000, /* conference drop activity */
telCAQueuedMsg = 0x00020000, /* CA has been queued */
telCAInUseMsg = 0x00040000, /* CA is in use */
telCACallPickupMsg = 0x00080000, /* CA pickup activity */
telCAPagingMsg = 0x00100000, /* CA paging activity */
telCAIntercomMsg = 0x00200000, /* CA intercom activity */
telCAModemToneMsg = 0x00400000, /* modem tones detected */
telCAFaxToneMsg = 0x00800000, /* fax tones detected */
telCAIdleMsg = 0x01000000, /* CA is in idle state */
telCASuccessiveAlertMsg = 0x02000000, /* phone is alerting, one per ring */
telCAUserUserInfoMsg = 0x04000000, /* user to user information has arrrived */
/* for this CA */
telCAHandOffMsg = 0x08000000, /* CA is ready for hand-off */
telCAVoiceDetectedMsg = 0x10000000, /* voice Detect related event */
telCASilenceDetectedMsg = 0x20000000, /* silence Detect related event */
telCADigitsImmMsg = 0x40000000, /* immidiate arrival of remote signaling digits */
telCAOtherMsg = (long)0x80000000, /* tool specific CA message */
telAllCAMsgs = 0x7FFFFFFF /* mask to all non tool specific CA events */
};
typedef OSErr TELErr;
typedef unsigned long TELFlags;
enum {
telNoMenus = 1L << 16, /* tells tool not to display any custom menus */
telQuiet = 1L << 17, /* tells tool not to display any dialog boxes or alerts */
telConfigChanged = 1L << 18 /* notifies application that the config has changed */
};
typedef unsigned long TELFeatureFlags;
enum {
pcmAvail = 1L << 0, /* true if PCM voice data accessible */
hasHandset = 1L << 1, /* true if a phone handset is attached */
hasSpeakerphone = 1L << 2, /* true if a 2 way speakerphone is attached */
canOnHookDial = 1L << 3, /* can on-hook dial */
hasRinger = 1L << 4, /* terminal has its own ringer */
canSetDisplay = 1L << 5, /* application can write to the display */
hasKeypad = 1L << 6, /* attached phone has standard 12 key pad */
hasVideo = 1L << 7, /* terminal has a videophone */
hasOther = 1L << 8, /* reserved for future use */
crossDNConference = 1L << 9, /* can perform cross-DN conferences */
hasSubaddress = 1L << 10, /* attached network supports subaddressing */
hasUserUserInfo = 1L << 11, /* network supports user-to-user info */
hasHandsetSoundStreams = 1L << 12, /* sound streams are supported on the handset */
hasIndHandset = 1L << 13, /* handset can be accessed independently of the phone line */
hasBuiltinSpeakerphone = 1L << 14 /* speaker and microphone of the Mac can be used */
};
struct TELTermRecord {
short tRef;
TELFeatureFlags featureFlags;
short handsetSpeakerVol;
short handsetMicVol;
short speakerphoneVol;
short speakerphoneMicVol;
short ringerVol;
short otherVol;
short ringerTypes;
short hasDisplay;
short displayRows;
short numDNs;
short maxAllocCA;
short curAllocCA;
short builtinSpeakerVol;
short builtinSpeakerMicVol;
long reserved;
};
typedef struct TELTermRecord TELTermRecord;
typedef TELTermRecord * TELTermPtr;
struct TELRecord {
short procID;
TELFlags flags;
short reserved;
long refCon;
long userData;
UniversalProcPtr defproc;
Ptr config;
Ptr oldConfig;
TELTermPtr pTELTerm;
long telPrivate;
long reserved1;
long reserved2;
long pTELTermSize;
short version;
};
typedef struct TELRecord TELRecord;
typedef TELRecord * TELPtr;
typedef TELPtr * TELHandle;
typedef unsigned long TELDNFeatureFlags;
enum {
dndSub = 1L << 0, /* do not disturb subscribed */
dndAvail = 1L << 1, /* do not disturb available */
dndActive = 1L << 2, /* do not disturb active */
voiceMailAccessSub = 1L << 3, /* message waiting subscribed */
voiceMailAccessAvail = 1L << 4, /* message waiting available */
voiceMailAccessActive = 1L << 5, /* message waiting active */
pagingSub = 1L << 6, /* paging is subscribed */
pagingAvail = 1L << 7, /* paging is available */
pagingActive = 1L << 8, /* paging is active */
intercomSub = 1L << 9, /* intercom is subscribed */
intercomAvail = 1L << 10, /* intercom is available */
intercomActive = 1L << 11, /* intercom is active */
dnSelectSub = 1L << 12, /* DN select is subscribed */
dnSelectAvail = 1L << 13, /* DN select is available */
dnSelectActive = 1L << 14, /* DN is selected */
callPickupSub = 1L << 15, /* call pickup is subscribed */
callPickupAvail = 1L << 16, /* call pickup is available */
dnInUse = 1L << 17, /* a CA is allocated for this DN */
logicalDN = 1L << 18, /* this DN is not on this terminal */
dnAccessible = 1L << 19, /* commands can be sent to this DN */
canInitiate = 1L << 20, /* an outgoing CA can be initiated */
voiceMessageWaiting = 1L << 21, /* voice mail waiting for this dn */
hasDNSoundStreams = 1L << 22, /* sound streams are supported on this DN */
autoAnswerAvail = 1L << 23, /* AutoAnswer is set for this DN */
autoAnswerActive = 1L << 24, /* AutoAnswer is currently applied to CA on this DN */
tollSaverAvail = 1L << 25, /* tollSaver is set for this DN */
tollSaverActive = 1L << 26 /* tollSaver is currently applied to CA on this DN */
};
typedef unsigned long TELDNForwardFlags;
enum {
immediateForwardSub = 1L << 0, /* immediate call forward subscribed */
immediateForwardAvail = 1L << 1, /* immediate call forward available */
immediateForwardActive = 1L << 2, /* immediate call forward active */
busyForwardSub = 1L << 3, /* forward on busy subscribed */
busyForwardAvail = 1L << 4, /* forward on busy available */
busyForwardActive = 1L << 5, /* forward on busy active */
noAnswerForwardSub = 1L << 6, /* no answer call forward subscribed */
noAnswerForwardAvail = 1L << 7, /* no answer call forward available */
noAnswerForwardActive = 1L << 8, /* no answer call forward active */
busyNAForwardSub = 1L << 9, /* busy & no answer call forward subscribed */
busyNAForwardAvail = 1L << 10, /* busy & no answer call forward available */
busyNAForwardActive = 1L << 11 /* busy & no answer call forward active */
};
struct TELDNRecord {
short dnRef;
StringPtr dn;
StringPtr dnPartyName;
StringPtr dnSubaddress;
TELHandle hTEL;
short maxAllocCA;
short curAllocCA;
short dnType;
TELDNFeatureFlags featureFlags;
short numPageIDs;
short numIntercomIDs;
short numPickupIDs;
TELDNForwardFlags forwardFlags;
StringPtr iForwardDN;
StringPtr iForwardSubaddress;
StringPtr iForwardPartyName;
StringPtr bForwardDN;
StringPtr bForwardSubaddress;
StringPtr bForwardPartyName;
StringPtr naForwardDN;
StringPtr naForwardSubaddress;
StringPtr naForwardPartyName;
short naForwardRings;
long telDNPrivate;
long refCon;
long userData;
long reserved;
};
typedef struct TELDNRecord TELDNRecord;
typedef TELDNRecord * TELDNPtr;
typedef TELDNPtr * TELDNHandle;
typedef unsigned long TELCAFeatureFlags;
enum {
holdSub = 1L << 0, /* hold subscribed */
holdAvail = 1L << 1, /* hold available */
holdActive = 1L << 2, /* hold active */
conferenceSub = 1L << 3, /* conference subscribed */
conferenceAvail = 1L << 4, /* conference available */
conferenceActive = 1L << 5, /* conference active */
conferenceDropSub = 1L << 6, /* conference drop subscribed */
conferenceDropAvail = 1L << 7, /* a call to TELDrop will drop this */
/* CA only from a conference */
conferenceSplitSub = 1L << 8, /* conference split subscribed */
conferenceSplitAvail = 1L << 9, /* conference split available for this CA */
numToConferenceRequired = 1L << 10, /* the number of CAs to be conferenced is */
/* required in TELConfPrep */
transferSub = 1L << 11, /* transfer subscribed */
transferAvail = 1L << 12, /* transfer available */
transferActive = 1L << 13, /* transfer active */
caRelated = 1L << 14 /* this CA is the specified in some other CA's relatedCA field*/
};
typedef unsigned long TELCAOtherFeatures;
enum {
callbackSub = 1L << 0, /* call back subscribed */
callbackAvail = 1L << 1, /* call back available */
callbackActive = 1L << 2, /* call back active */
callbackClearSub = 1L << 3, /* call back clearing subscribed */
callbackNowSub = 1L << 4, /* call back now subscribed */
callbackNowAvail = 1L << 5, /* call back now available */
callbackBusy = 1L << 6, /* call back on busy */
callbackNoAnswer = 1L << 7, /* call back on no answer */
callbackReturnsRef = 1L << 8, /* call back returns a reference */
parkSub = 1L << 9, /* call park subscribed */
parkAvail = 1L << 10, /* call park available */
parkActive = 1L << 11, /* call park active */
parkRetrieveSub = 1L << 12, /* call park retrieve subscribed */
parkRetrieveWithID = 1L << 13, /* retrieve parked calls with IDs */
parkWithReturnedID = 1L << 14, /* park call to a specific remote ID */
parkWithGivenID = 1L << 18, /* for switch that requires ID for parking */
rejectable = 1L << 15, /* CA is rejectable */
deflectable = 1L << 16, /* CA is deflectable */
acceptable = 1L << 17, /* CA is acceptable */
voiceDetected = 1L << 19, /* voice has been detected on this CA incase of */
/* an incoming call */
callAnswdTSRings = 1L << 20 /* incoimng call was answered on TollSaver rings */
};
typedef struct TELCARecord TELCARecord;
typedef TELCARecord * TELCAPtr;
typedef TELCAPtr * TELCAHandle;
struct TELCARecord {
short caRef;
TELDNHandle hTELDN;
TELHandle hTEL;
short caState;
TELCAHandle relatedCA;
long connectTime; /* can be used by application to keep track of connect time */
short intExt;
short callType;
short dialType;
short bearerType;
short rate;
StringPtr rmtDN;
StringPtr rmtPartyName;
StringPtr rmtSubaddress;
StringPtr routeDN;
StringPtr routePartyName;
StringPtr routeSubaddress;
short priority;
short conferenceLimit;
TELCAFeatureFlags featureFlags;
TELCAOtherFeatures otherFeatures;
long telCAPrivate;
long refCon;
long userData;
long reserved;
};
/* Constants for HandleType in structure above */
enum {
telHandleType = 0, /* feature requires a terminal handle */
telDNHandleType = 1, /* feature requires a DN handle */
telCAHandleType = 2 /* feature requires a CA handle */
};
struct FeatureList {
short featureID;
StringPtr featureName;
short handleType;
struct FeatureList * nextFeature;
};
typedef struct FeatureList FeatureList;
typedef FeatureList * FeatureListPtr;
/* CA MESSAGE STRUCTURES FOR MSGINFO */
struct CAGenericMsgRec {
StringPtr rmtDN;
StringPtr rmtName;
StringPtr rmtSubaddress;
short dialType;
};
typedef struct CAGenericMsgRec CAGenericMsgRec;
struct CAUserUserInfoMsgRec {
StringPtr userUserInfo;
};
typedef struct CAUserUserInfoMsgRec CAUserUserInfoMsgRec;
struct CAConfMsgRec {
TELCAHandle relatedCA;
};
typedef struct CAConfMsgRec CAConfMsgRec;
struct CATransfMsgRec {
StringPtr rmtDN;
StringPtr rmtName;
StringPtr rmtSubaddress;
short dialType;
TELCAHandle prepCA;
};
typedef struct CATransfMsgRec CATransfMsgRec;
typedef CALLBACK_API( void , TelephoneTermMsgProcPtr )(TELHandle hTEL, long msg, short mtype, short value, long globals);
typedef CALLBACK_API( void , TelephoneDNMsgProcPtr )(TELDNHandle hTELDN, long Msg, short mtype, short value, ConstStr255Param rmtDN, ConstStr255Param rmtName, ConstStr255Param rmtSubaddress, long globals);
typedef CALLBACK_API( void , TelephoneCAMsgProcPtr )(TELCAHandle hTELCA, long Msg, short mtype, short value, Ptr Msginfo, long globals);
typedef CALLBACK_API( void , TelephoneChooseIdleProcPtr )(void );
typedef STACK_UPP_TYPE(TelephoneTermMsgProcPtr) TelephoneTermMsgUPP;
typedef STACK_UPP_TYPE(TelephoneDNMsgProcPtr) TelephoneDNMsgUPP;
typedef STACK_UPP_TYPE(TelephoneCAMsgProcPtr) TelephoneCAMsgUPP;
typedef STACK_UPP_TYPE(TelephoneChooseIdleProcPtr) TelephoneChooseIdleUPP;
if OPAQUE_UPP_TYPES
if CALL_NOT_IN_CARBON
EXTERN_API(TelephoneTermMsgUPP)
NewTelephoneTermMsgUPP (TelephoneTermMsgProcPtr userRoutine);
EXTERN_API(TelephoneDNMsgUPP)
NewTelephoneDNMsgUPP (TelephoneDNMsgProcPtr userRoutine);
EXTERN_API(TelephoneCAMsgUPP)
NewTelephoneCAMsgUPP (TelephoneCAMsgProcPtr userRoutine);
EXTERN_API(TelephoneChooseIdleUPP)
NewTelephoneChooseIdleUPP (TelephoneChooseIdleProcPtr userRoutine);
EXTERN_API(void)
DisposeTelephoneTermMsgUPP (TelephoneTermMsgUPP userUPP);
EXTERN_API(void)
DisposeTelephoneDNMsgUPP (TelephoneDNMsgUPP userUPP);
EXTERN_API(void)
DisposeTelephoneCAMsgUPP (TelephoneCAMsgUPP userUPP);
EXTERN_API(void)
DisposeTelephoneChooseIdleUPP (TelephoneChooseIdleUPP userUPP);
EXTERN_API(void)
InvokeTelephoneTermMsgUPP (TELHandle hTEL,
long msg,
short mtype,
short value,
long globals,
TelephoneTermMsgUPP userUPP);
EXTERN_API(void)
InvokeTelephoneDNMsgUPP (TELDNHandle hTELDN,
long Msg,
short mtype,
short value,
ConstStr255Param rmtDN,
ConstStr255Param rmtName,
ConstStr255Param rmtSubaddress,
long globals,
TelephoneDNMsgUPP userUPP);
EXTERN_API(void)
InvokeTelephoneCAMsgUPP (TELCAHandle hTELCA,
long Msg,
short mtype,
short value,
Ptr Msginfo,
long globals,
TelephoneCAMsgUPP userUPP);
EXTERN_API(void)
InvokeTelephoneChooseIdleUPP (TelephoneChooseIdleUPP userUPP);
endif /* CALL_NOT_IN_CARBON */
else
enum { uppTelephoneTermMsgProcInfo = 0x0000EBC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes) */
enum { uppTelephoneDNMsgProcInfo = 0x003FEBC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
enum { uppTelephoneCAMsgProcInfo = 0x0003EBC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes) */
enum { uppTelephoneChooseIdleProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
#define NewTelephoneTermMsgUPP(userRoutine) (TelephoneTermMsgUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTelephoneTermMsgProcInfo, GetCurrentArchitecture())
#define NewTelephoneDNMsgUPP(userRoutine) (TelephoneDNMsgUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTelephoneDNMsgProcInfo, GetCurrentArchitecture())
#define NewTelephoneCAMsgUPP(userRoutine) (TelephoneCAMsgUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTelephoneCAMsgProcInfo, GetCurrentArchitecture())
#define NewTelephoneChooseIdleUPP(userRoutine) (TelephoneChooseIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTelephoneChooseIdleProcInfo, GetCurrentArchitecture())
#define DisposeTelephoneTermMsgUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#define DisposeTelephoneDNMsgUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#define DisposeTelephoneCAMsgUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#define DisposeTelephoneChooseIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#define InvokeTelephoneTermMsgUPP(hTEL, msg, mtype, value, globals, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppTelephoneTermMsgProcInfo, (hTEL), (msg), (mtype), (value), (globals))
#define InvokeTelephoneDNMsgUPP(hTELDN, Msg, mtype, value, rmtDN, rmtName, rmtSubaddress, globals, userUPP) CALL_EIGHT_PARAMETER_UPP((userUPP), uppTelephoneDNMsgProcInfo, (hTELDN), (Msg), (mtype), (value), (rmtDN), (rmtName), (rmtSubaddress), (globals))
#define InvokeTelephoneCAMsgUPP(hTELCA, Msg, mtype, value, Msginfo, globals, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppTelephoneCAMsgProcInfo, (hTELCA), (Msg), (mtype), (value), (Msginfo), (globals))
#define InvokeTelephoneChooseIdleUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppTelephoneChooseIdleProcInfo)
endif
/* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
define NewTelephoneTermMsgProc(userRoutine) NewTelephoneTermMsgUPP(userRoutine)
define NewTelephoneDNMsgProc(userRoutine) NewTelephoneDNMsgUPP(userRoutine)
define NewTelephoneCAMsgProc(userRoutine) NewTelephoneCAMsgUPP(userRoutine)
define NewTelephoneChooseIdleProc(userRoutine) NewTelephoneChooseIdleUPP(userRoutine)
define CallTelephoneTermMsgProc(userRoutine, hTEL, msg, mtype, value, globals) InvokeTelephoneTermMsgUPP(hTEL, msg, mtype, value, globals, userRoutine)
define CallTelephoneDNMsgProc(userRoutine, hTELDN, Msg, mtype, value, rmtDN, rmtName, rmtSubaddress, globals) InvokeTelephoneDNMsgUPP(hTELDN, Msg, mtype, value, rmtDN, rmtName, rmtSubaddress, globals, userRoutine)
define CallTelephoneCAMsgProc(userRoutine, hTELCA, Msg, mtype, value, Msginfo, globals) InvokeTelephoneCAMsgUPP(hTELCA, Msg, mtype, value, Msginfo, globals, userRoutine)
define CallTelephoneChooseIdleProc(userRoutine) InvokeTelephoneChooseIdleUPP(userRoutine)
endif /* CALL_NOT_IN_CARBON */
if CALL_NOT_IN_CARBON
EXTERN_API( TELErr )
InitTEL (void);
EXTERN_API( TELErr )
TELGetInfo (TELHandle hTEL);
EXTERN_API( TELErr )
TELOpenTerm (TELHandle hTEL);
EXTERN_API( TELErr )
TELResetTerm (TELHandle hTEL);
EXTERN_API( TELErr )
TELCloseTerm (TELHandle hTEL);
EXTERN_API( TELErr )
TELTermMsgHand (TELHandle hTEL,
long eventMask,
TelephoneTermMsgUPP msgProc,
long globals);
EXTERN_API( TELErr )
TELClrTermMsgHand (TELHandle hTEL,
TelephoneTermMsgUPP msgProc);
EXTERN_API( TELErr )
TELTermEventsSupp (TELHandle hTEL,
long * eventMask);
EXTERN_API( short )
TELGetProcID (Str255 name);
EXTERN_API( TELHandle )
TELNew (short procID,
TELFlags flags,
long refCon,
long userData);
EXTERN_API( TELHandle )
TELNewWithResult (short procID,
TELFlags flags,
long refCon,
long userData,
TELErr * error);
EXTERN_API( TELErr )
TELDefault (Ptr * theConfig,
short procID,
Boolean allocate);
EXTERN_API( Boolean )
TELValidate (TELHandle hTEL);
EXTERN_API( Ptr )
TELGetConfig (TELHandle hTEL);
EXTERN_API( short )
TELSetConfig (TELHandle hTEL,
Ptr thePtr);
EXTERN_API( TELErr )
TELChoose (TELHandle * hTEL,
Point where,
TelephoneChooseIdleUPP idleProc);
EXTERN_API( Handle )
TELSetupPreflight (short procID,
long * magicCookie);
EXTERN_API( void )
TELSetupSetup (short procID,
Ptr theConfig,
short count,
DialogPtr theDialog,
long * magicCookie);
EXTERN_API( Boolean )
TELSetupFilter (short procID,
Ptr theConfig,
short count,
DialogPtr theDialog,
EventRecord * theEvent,
short * theItem,
long * magicCookie);
EXTERN_API( void )
TELSetupItem (short procID,
Ptr theConfig,
short count,
DialogPtr theDialog,
short * theItem,
long * magicCookie);
EXTERN_API( void )
TELSetupCleanup (short procID,
Ptr theConfig,
short count,
DialogPtr theDialog,
long * magicCookie);
EXTERN_API( void )
TELSetupXCleanup (short procID,
Ptr theConfig,
short count,
DialogPtr theDialog,
Boolean OKed,
long * magicCookie);
EXTERN_API( void )
TELSetupPostflight (short procID);
EXTERN_API( TELErr )
TELDispose (TELHandle hTEL);
EXTERN_API( short )
TELCountDNs (TELHandle hTEL,
short dnType,
Boolean physical);
EXTERN_API( TELErr )
TELDNLookupByIndex (TELHandle hTEL,
short dnType,
Boolean physical,
short index,
TELDNHandle * hTELDN);
EXTERN_API( TELErr )
TELDNLookupByName (TELHandle hTEL,
ConstStr255Param DN,
TELDNHandle * hTELDN);
EXTERN_API( TELErr )
TELDNSelect (TELDNHandle hTELDN,
Boolean select);
EXTERN_API( TELErr )
TELDNDispose (TELDNHandle hTELDN);
EXTERN_API( TELErr )
TELGetDNInfo (TELDNHandle hTELDN);
EXTERN_API( TELErr )
TELGetDNFlags (TELDNHandle hTELDN,
long * dnFeatureFlags,
long * dnForwardFlags);
EXTERN_API( TELErr )
TELDNMsgHand (TELDNHandle hTELDN,
Boolean allDNs,
long eventMask,
TelephoneDNMsgUPP msgProc,
long globals);
EXTERN_API( TELErr )
TELClrDNMsgHand (TELDNHandle hTELDN,
TelephoneDNMsgUPP msgProc);
EXTERN_API( TELErr )
TELDNEventsSupp (TELDNHandle hTELDN,
long * eventMask);
EXTERN_API( short )
TELCountCAs (TELDNHandle hTELDN,
short internalExternal);
EXTERN_API( TELErr )
TELCALookup (TELDNHandle hTELDN,
short internalExternal,
short index,
TELCAHandle * hTELCA);
EXTERN_API( TELErr )
TELCADispose (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELGetCAState (TELCAHandle hTELCA,
short * state);
EXTERN_API( TELErr )
TELGetCAFlags (TELCAHandle hTELCA,
long * caFeatureFlags,
long * caOtherFeatures);
EXTERN_API( TELErr )
TELGetCAInfo (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELCAMsgHand (TELDNHandle hTELDN,
long eventMask,
TelephoneCAMsgUPP msgProc,
long globals);
EXTERN_API( TELErr )
TELClrCAMsgHand (TELDNHandle hTELDN,
TelephoneCAMsgUPP msgProc);
EXTERN_API( TELErr )
TELCAEventsSupp (TELDNHandle hTELDN,
long * eventMask);
EXTERN_API( TELErr )
TELSetupCall (TELDNHandle hTELDN,
TELCAHandle * hTELCA,
ConstStr255Param destDN,
ConstStr255Param destName,
ConstStr255Param destSubaddress,
ConstStr255Param userUserInfo,
short bearerType,
short rate);
EXTERN_API( TELErr )
TELConnect (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELDialDigits (TELCAHandle hTELCA,
ConstStr255Param digits);
EXTERN_API( TELErr )
TELAcceptCall (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELRejectCall (TELCAHandle hTELCA,
short reason);
EXTERN_API( TELErr )
TELDeflectCall (TELCAHandle hTELCA,
ConstStr255Param rmtDN,
ConstStr255Param rmtName,
ConstStr255Param rmtSubaddress);
EXTERN_API( TELErr )
TELAnswerCall (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELDrop (TELCAHandle hTELCA,
ConstStr255Param userUserInfo);
EXTERN_API( TELErr )
TELHold (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELRetrieve (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELConferencePrep (TELCAHandle hTELCA1,
TELCAHandle hTELCA2,
short numToConference);
EXTERN_API( TELErr )
TELConferenceEstablish (TELCAHandle hTELCA1,
TELCAHandle hTELCA2);
EXTERN_API( TELErr )
TELConferenceSplit (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELTransferPrep (TELCAHandle hTELCA1,
TELCAHandle hTELCA2);
EXTERN_API( TELErr )
TELTransferEstablish (TELCAHandle hTELCA1,
TELCAHandle hTELCA2);
EXTERN_API( TELErr )
TELTransferBlind (TELCAHandle hTELCA,
ConstStr255Param rmtDN,
ConstStr255Param rmtName,
ConstStr255Param rmtSubaddress);
EXTERN_API( TELErr )
TELForwardSet (TELDNHandle hTELDN,
ConstStr255Param forwardDN,
ConstStr255Param forwardName,
ConstStr255Param forwardSubaddress,
short forwardType,
short numrings);
EXTERN_API( TELErr )
TELForwardClear (TELDNHandle hTELDN,
short forwardType);
EXTERN_API( TELErr )
TELCallbackSet (TELCAHandle hTELCA,
short * callbackRef);
EXTERN_API( TELErr )
TELCallbackClear (TELHandle hTEL,
short callbackRef);
EXTERN_API( TELErr )
TELCallbackNow (TELCAHandle hTELCA,
short callbackRef);
EXTERN_API( TELErr )
TELDNDSet (TELDNHandle hTELDN,
short dndType);
EXTERN_API( TELErr )
TELDNDClear (TELDNHandle hTELDN,
short dndType);
EXTERN_API( TELErr )
TELCallPickup (TELCAHandle hTELCA,
ConstStr255Param pickupDN,
short pickupGroupID);
EXTERN_API( TELErr )
TELParkCall (TELCAHandle hTELCA,
StringPtr * parkRetrieveID,
ConstStr255Param parkID);
EXTERN_API( TELErr )
TELRetrieveParkedCall (TELCAHandle hTELCA,
ConstStr255Param parkRetrieveID);
EXTERN_API( TELErr )
TELVoiceMailAccess (TELCAHandle hTELCA);
EXTERN_API( TELErr )
TELPaging (TELCAHandle hTELCA,
short pageID);
EXTERN_API( TELErr )
TELIntercom (TELCAHandle hTELCA,
short intercomID);
EXTERN_API( TELErr )
TELOtherFeatureList (TELHandle hTEL,
FeatureListPtr * fList);
EXTERN_API( TELErr )
TELOtherFeatureImplement (TELHandle hTEL,
Handle theHandle,
short featureID);
EXTERN_API( TELErr )
TELToolFunctions (TELHandle hTEL,
short msgcode,
Boolean * supportsIt);
EXTERN_API( TELErr )
TELOtherFunction (TELHandle hTEL,
Ptr paramblock,
long size);
EXTERN_API( TELErr )
TELGetHooksw (TELHandle hTEL,
short hookType,
Boolean * offHook);
EXTERN_API( TELErr )
TELSetHooksw (TELHandle hTEL,
short hookType,
Boolean offHook);
EXTERN_API( TELErr )
TELGetVolume (TELHandle hTEL,
short volType,
short * level,
short * volState);
EXTERN_API( TELErr )
TELSetVolume (TELHandle hTEL,
short volType,
short * level,
short volState);
EXTERN_API( TELErr )
TELAlert (TELHandle hTEL,
short * level,
short alertPattern);
EXTERN_API( TELErr )
TELGetDisplay (TELHandle hTEL,
short index,
short * displayMode,
StringPtr * text);
EXTERN_API( TELErr )
TELSetDisplay (TELHandle hTEL,
short index,
short displayMode,
ConstStr255Param text);
EXTERN_API( void )
TELIdle (TELHandle hTEL);
EXTERN_API( void )
TELActivate (TELHandle hTEL,
Boolean activate);
EXTERN_API( void )
TELResume (TELHandle hTEL,
Boolean resume);
EXTERN_API( Boolean )
TELMenu (TELHandle hTEL,
short menuID,
short item);
EXTERN_API( void )
TELEvent (TELHandle hTEL,
const EventRecord * theEvent);
EXTERN_API( void )
TELGetToolName (short procID,
Str255 name);
EXTERN_API( Handle )
TELGetVersion (TELHandle hTEL);
EXTERN_API( short )
TELGetTELVersion (void);
EXTERN_API( TELErr )
TELIntlToEnglish (TELHandle hTEL,
Ptr inputPtr,
Ptr * outputPtr,
short language);
EXTERN_API( TELErr )
TELEnglishToIntl (TELHandle hTEL,
Ptr inputPtr,
Ptr * outputPtr,
short language);
EXTERN_API( TELErr )
TELGetDNSoundInput (TELDNHandle hTELDN,
Str255 deviceName);
EXTERN_API( TELErr )
TELDisposeDNSoundInput (TELDNHandle hTELDN,
ConstStr255Param deviceName);
EXTERN_API( TELErr )
TELGetDNSoundOutput (TELDNHandle hTELDN,
Component * SndOut);
EXTERN_API( TELErr )
TELDisposeDNSoundOutput (TELDNHandle hTELDN,
Component SndOut);
EXTERN_API( TELErr )
TELGetHSSoundInput (TELHandle termHand,
Str255 deviceName);
EXTERN_API( TELErr )
TELDisposeHSSoundInput (TELHandle termHand,
ConstStr255Param deviceName);
EXTERN_API( TELErr )
TELGetHSSoundOutput (TELHandle termHand,
Component * SndOut);
EXTERN_API( TELErr )
TELDisposeHSSoundOutput (TELHandle termHand,
Component SndOut);
EXTERN_API( TELErr )
TELDNSetAutoAnswer (TELDNHandle hTELDN,
Boolean AutoAnswerOn);
EXTERN_API( TELErr )
TELDNTollSaverControl (TELDNHandle hTELDN,
Boolean QuickAnswer);
EXTERN_API( TELErr )
TELSetIndHSConnect (TELHandle termHand,
Boolean Connect);
EXTERN_API( TELErr )
TELGetIndHSConnect (TELHandle termHand,
Boolean * Connect);
EXTERN_API( TELErr )
TELCAVoiceDetect (TELCAHandle hTELCA,
Boolean VoiceDetectOn);
EXTERN_API( TELErr )
TELCASilenceDetect (TELCAHandle hTELCA,
Boolean DetectOn,
long Period);
EXTERN_API( TELErr )
TELGetTelNewErr (void);
EXTERN_API( TELErr )
TELDNSetDTMF (TELDNHandle hTELDN,
Boolean dtmfOn);
EXTERN_API( TELErr )
TELDNGetDTMF (TELDNHandle hTELDN,
Boolean * dtmfOn);
EXTERN_API( TELErr )
TELHSSetDTMF (TELHandle termHand,
Boolean dtmfOn);
EXTERN_API( TELErr )
TELHSGetDTMF (TELHandle termHand,
Boolean * dtmfOn);
EXTERN_API( TELErr )
TELGetDNStatus (TELDNHandle hTELDN,
long * inUse);
EXTERN_API( TELErr )
TELGetDNProgressDet (TELDNHandle hTELDN,
long selector,
Boolean * prgDetOn);
EXTERN_API( TELErr )
TELSetDNProgressDet (TELDNHandle hTELDN,
long selector,
Boolean prgDetOn);
endif /* CALL_NOT_IN_CARBON */
if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
endif
ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
endif
ifdef __cplusplus
}
endif
endif /* __TELEPHONES__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.