www.pudn.com > lucent_softphone.rar > ATTPRIV.H


/***********************************************************/ 
/* Copyright (C) 1993 AT&T Bell Labs.  All rights reserved.*/ 
/***********************************************************/ 
/* 
 *  attpriv.h    ATT Private Defines 
 * 
 *  Header File Dependencies 
 *   	acs.h 
 *   	csta.h 
 * 
 */ 
 
#ifndef ATT_PRIV__H 
#define ATT_PRIV__H 
 
/* platform-dependent definitions */ 
#include "tsplatfm.h" 
 
/* structure definitions for AT&T private messages */ 
#include "attpdefs.h" 
 
 
#define	ATT_MAX_PRIVATE_DATA	1024	/* Max size of encoded private data */ 
#define ATT_MAX_USER_INFO		129	/* Max user to user length	    */ 
#define ATT_MAX_UUI_SIZE		96	/* Max supported V6 user to user length   */ 
#define ATTV5_MAX_UUI_SIZE	        32	/* Max supported V5 user to user length   */ 
#define ATT_MAX_USER_CODE		25		/* Max length of user entered code  */ 
#define ATT_MAX_RECEIVERS		5		/* Max receivers for touch tones    */ 
#define ATT_MAX_PARTIES_ON_CALL	6		/* Max parties on a call	    */ 
#define ATT_MAX_AGENT_EXT		10		/* Max agent extensions for query   */ 
#define ATT_MAX_TONES			33		/* Max touch tones sent		    */ 
#define ATT_MAX_PROVIDED_CODE	25		/* Max size of user provided code   */ 
#define ATT_MAX_ENTERED_DIGITS  ATT_MAX_USER_CODE 
 
#define ATT_VENDOR_STRING	"AT&T Definity G3" 
#define ATTPRIV_MAX_HEAP            64 
 
#define ATT_NULL_UCID            "00000000000000000000"   // used as no universal call id 
 
	/* 
	 * ATT Private Data Structure 
	 * 	Structure large enough to hold all ATT encoded  
	 *	private data sent and received via the Private Data  
	 *	Parameter for TSAPI function calls. 
	 */ 
 
typedef struct ATTPrivateData_t { 
	char			vendor[32]; 
	unsigned short	length; 
   	char			data[ATT_MAX_PRIVATE_DATA]; 
} ATTPrivateData_t; 
 
 
typedef unsigned short ATTEventType_t; 
 
	/* 
	 * ATT Private Data Event Structure 
	 * ATT Event structure created by the ATT Private Data  
	 * decoding functions. 
	 */ 
 
typedef struct  ATTEvent_t 
{ 
    ATTEventType_t	eventType; 
	union 
	{ 
		/* events received by a client */ 
		 
		ATTSingleStepConferenceCallConfEvent_t      ssconference; 
		ATTSelectiveListeningHoldConfEvent_t  slhold; 
		ATTSelectiveListeningRetrieveConfEvent_t slretrieve; 
		ATTSendDTMFToneConfEvent_t			sendDTMFTone; 
		ATTQueryAcdSplitConfEvent_t			queryAcdSplit; 
		ATTQueryAgentLoginConfEvent_t		queryAgentLogin; 
		ATTQueryAgentLoginResp_t			queryAgentLoginResp; 
		ATTQueryAgentStateConfEvent_t		queryAgentState; 
		ATTQueryCallClassifierConfEvent_t	queryCallClassifier; 
		ATTQueryDeviceInfoConfEvent_t		queryDeviceInfo; 
		ATTQueryDeviceNameConfEvent_t		queryDeviceName; 
		ATTQueryMwiConfEvent_t				queryMwi; 
		ATTQueryStationStatusConfEvent_t	queryStationStatus; 
		ATTQueryTodConfEvent_t				queryTod; 
		ATTQueryTgConfEvent_t				queryTg; 
		ATTQueryAgentMeasurementsConfEvent_t		queryAgentMeas; 
		ATTQuerySplitSkillMeasurementsConfEvent_t	querySplitSkillMeas; 
		ATTQueryTrunkGroupMeasurementsConfEvent_t	queryTrunkGroupMeas; 
		ATTQueryVdnMeasurementsConfEvent_t			queryVdnMeas; 
		ATTSnapshotDeviceConfEvent_t		snapshotDevice; 
		ATTMonitorConfEvent_t		  		monitorStart; 
		ATTMonitorCallConfEvent_t			monitorCallStart;  
		ATTMonitorStopOnCallConfEvent_t		monitorStopOnCall; 
		ATTCallClearedEvent_t				callClearedEvent; 
		ATTConferencedEvent_t				conferencedEvent; 
		ATTConnectionClearedEvent_t			connectionClearedEvent; 
		ATTDeliveredEvent_t					deliveredEvent; 
		ATTEnteredDigitsEvent_t				enteredDigitsEvent; 
		ATTEstablishedEvent_t				establishedEvent; 
		ATTLoggedOnEvent_t					loggedOnEvent; 
		ATTNetworkReachedEvent_t			networkReachedEvent; 
		ATTOriginatedEvent_t				originatedEvent; 
		ATTTransferredEvent_t				transferredEvent; 
		ATTRouteRequestEvent_t				routeRequest; 
		ATTRouteUsedEvent_t					routeUsed; 
		ATTLinkStatusEvent_t				linkStatus; 
		ATTGetAPICapsConfEvent_t			getAPICaps; 
		ATTServiceInitiatedEvent_t			serviceInitiated; 
		ATTChargeAdviceEvent_t				chargeAdviceEvent; 
		ATTSetBillRateConfEvent_t			setBillRate; 
		ATTQueryUcidConfEvent_t				queryUCID; 
		ATTLoggedOffEvent_t					loggedOffEvent; 
		ATTConsultationCallConfEvent_t		consultationCall; 
		ATTConferenceCallConfEvent_t		conferenceCall; 
		ATTMakeCallConfEvent_t				makeCall; 
		ATTMakePredictiveCallConfEvent_t	makePredictiveCall; 
		ATTTransferCallConfEvent_t			transferCall; 
		ATTSetAdviceOfChargeConfEvent_t		setAdviceOfCharge; 
		ATTSetAgentStateConfEvent_t			setAgentState; 
 
		/* the following are obsolete as of protocol version 4 and should not be used */ 
 
		ATTV3ConferencedEvent_t				v3conferencedEvent; 
		ATTV3DeliveredEvent_t				v3deliveredEvent; 
		ATTV3EstablishedEvent_t				v3establishedEvent; 
		ATTV3TransferredEvent_t				v3transferredEvent; 
		ATTV3LinkStatusEvent_t				v3linkStatus; 
 
		/* version 4 events */ 
		ATTV4QueryDeviceInfoConfEvent_t		v4queryDeviceInfo; 
		ATTV4GetAPICapsConfEvent_t			v4getAPICaps; 
		ATTV4SnapshotDeviceConfEvent_t		v4snapshotDevice; 
		ATTV4ConferencedEvent_t				v4conferencedEvent; 
		ATTV4DeliveredEvent_t				v4deliveredEvent; 
		ATTV4EstablishedEvent_t				v4establishedEvent; 
		ATTV4TransferredEvent_t				v4transferredEvent; 
		ATTV4LinkStatusEvent_t				v4linkStatus; 
		ATTV4RouteRequestEvent_t			v4routeRequest; 
		ATTV4QueryAgentStateConfEvent_t		v4queryAgentState; 
		ATTV4QueryDeviceNameConfEvent_t		v4queryDeviceName; 
		ATTV4MonitorConfEvent_t		  		v4monitorStart; 
		ATTV4MonitorCallConfEvent_t			v4monitorCallStart; 
		ATTV4NetworkReachedEvent_t			v4networkReachedEvent; 
 
		/*version 5 events*/ 
		ATTV5QueryAgentStateConfEvent_t		v5queryAgentState; 
		ATTV5RouteRequestEvent_t			v5routeRequest; 
		ATTV5TransferredEvent_t				v5transferredEvent; 
		ATTV5ConferencedEvent_t				v5conferencedEvent; 
		ATTV5ConnectionClearedEvent_t		v5connectionClearedEvent; 
		ATTV5OriginatedEvent_t				v5originatedEvent; 
		ATTV5EstablishedEvent_t				v5establishedEvent; 
		ATTV5DeliveredEvent_t				v5deliveredEvent; 
 
 
		/* events received by the G3PD */ 
 
		ATTClearConnection_t				clearConnectionReq; 
		ATTConsultationCall_t				consultationCallReq; 
		ATTMakeCall_t						makeCallReq; 
		ATTDirectAgentCall_t				directAgentCallReq; 
		ATTMakePredictiveCall_t				makePredictiveCallReq; 
		ATTSupervisorAssistCall_t			supervisorAssistCallReq; 
		ATTReconnectCall_t					reconnectCallReq; 
		ATTSendDTMFTone_t					sendDTMFToneReq; 
		ATTSingleStepConferenceCall_t       ssconferenceReq; 
		ATTSelectiveListeningHold_t         slholdReq; 
		ATTSelectiveListeningRetrieve_t     slretrieveReq; 
		ATTSetAgentState_t					setAgentStateReq; 
		ATTQueryAgentState_t				queryAgentStateReq; 
		ATTQueryAcdSplit_t					queryAcdSplitReq; 
		ATTQueryAgentLogin_t				queryAgentLoginReq;                           
		ATTQueryCallClassifier_t			queryCallClassifierReq; 
		ATTQueryDeviceName_t				queryDeviceNameReq; 
		ATTQueryStationStatus_t				queryStationStatusReq; 
		ATTQueryTod_t						queryTodReq; 
		ATTQueryTg_t						queryTgReq; 
		ATTQueryAgentMeasurements_t			queryAgentMeasReq; 
		ATTQuerySplitSkillMeasurements_t	querySplitSkillMeasReq; 
		ATTQueryTrunkGroupMeasurements_t	queryTrunkGroupMeasReq; 
		ATTQueryVdnMeasurements_t			queryVdnMeasReq; 
		ATTMonitorFilter_t					monitorFilterReq; 
		ATTMonitorStopOnCall_t				monitorStopOnCallReq; 
		ATTRouteSelect_t					routeSelectReq; 
		ATTSysStat_t						sysStatReq; 
		ATTSetBillRate_t					setBillRateReq; 
		ATTQueryUcid_t						queryUCIDReq; 
		ATTSetAdviceOfCharge_t				adviceOfChargeReq; 
 
		// private data version 4 
 
		ATTV4SendDTMFTone_t					v4sendDTMFToneReq; 
		ATTV4SetAgentState_t				v4setAgentStateReq; 
		ATTV4MonitorFilter_t				v4monitorFilterReq; 
 
		// version 5 of private data 
		ATTV5SetAgentState_t				v5setAgentStateReq; 
		ATTV5ClearConnection_t				v5clearConnectionReq; 
		ATTV5ConsultationCall_t				v5consultationCallReq; 
		ATTV5MakeCall_t						v5makeCallReq; 
		ATTV5DirectAgentCall_t				v5directAgentCallReq; 
		ATTV5MakePredictiveCall_t			v5makePredictiveCallReq; 
		ATTV5SupervisorAssistCall_t			v5supervisorAssistCallReq; 
		ATTV5ReconnectCall_t				v5reconnectCallReq; 
		ATTV5RouteSelect_t					v5routeSelectReq; 
    } u; 
    char    heap[ATTPRIV_MAX_HEAP]; 
     
} ATTEvent_t; 
	 
/* function prototypes */ 
 
#ifdef __cplusplus 
extern "C" 
{ 
#endif   
 
 
TSAPI 
attMakeVersionString (CONST_PARAM char FAR * requestedVersion, char FAR * supportedVersion); 
 
/********* ATT Private Data Encoding Function	*******/ 
TSAPI 
encodePrivate ( int pdunum, CONST_PARAM void FAR * pdu, ATTPrivateData_t FAR * priv ); 
 
/********* ATT Private Data Decoding Function	*******/ 
 
TSAPI 
attPrivateData(	CONST_PARAM ATTPrivateData_t FAR *	privateData, 
				ATTEvent_t FAR	*					eventBuffer); 
 
 
/********* ATT Private Data Encoding Functions	*******/ 
 
TSAPI 
attClearConnection(	ATTPrivateData_t FAR *					privateData, 
					ATTDropResource_t						dropResource, 
					CONST_PARAM ATTV5UserToUserInfo_t FAR *	userInfo); 
 
 
TSAPI 
attConsultationCall(ATTPrivateData_t FAR *					privateData, 
					CONST_PARAM DeviceID_t FAR *			destRoute, 
					Boolean									priorityCalling, 
					CONST_PARAM ATTV5UserToUserInfo_t FAR *	userInfo); 
 
 
TSAPI 
attMakeCall(ATTPrivateData_t FAR *					privateData, 
			CONST_PARAM DeviceID_t FAR *			destRoute, 
			Boolean									priorityCalling, 
			CONST_PARAM ATTV5UserToUserInfo_t	FAR *	userInfo); 
 
 
TSAPI 
attDirectAgentCall(	ATTPrivateData_t FAR *					privateData, 
					CONST_PARAM DeviceID_t FAR *			split, 
					Boolean									priorityCalling, 
					CONST_PARAM ATTV5UserToUserInfo_t	FAR *	userInfo); 
 
 
TSAPI 
attMakePredictiveCall(	ATTPrivateData_t FAR *					privateData, 
						Boolean									priorityCalling, 
						short									maxRings, 
						ATTAnswerTreat_t						answerTreat, 
						CONST_PARAM DeviceID_t FAR *			destRoute, 
						CONST_PARAM ATTV5UserToUserInfo_t FAR *	userInfo); 
 
 
TSAPI 
attSupervisorAssistCall(ATTPrivateData_t FAR *					privateData, 
						CONST_PARAM DeviceID_t FAR *			split, 
						CONST_PARAM ATTV5UserToUserInfo_t FAR *	userInfo); 
 
 
TSAPI 
attReconnectCall(	ATTPrivateData_t FAR *					privateData, 
					ATTDropResource_t						dropResource, 
					CONST_PARAM ATTV5UserToUserInfo_t	FAR *	userInfo); 
 
 
TSAPI 
attSendDTMFTone(ATTPrivateData_t FAR *				privateData, 
				CONST_PARAM ConnectionID_t FAR *	sender, 
				CONST_PARAM ATTV4ConnIDList_t FAR *	receivers, 
				CONST_PARAM char FAR *				tones, 
				short								toneDuration, 
				short								pauseDuration); 
 
 
TSAPI 
attSetAgentState(	ATTPrivateData_t FAR *	privateData, 
					ATTWorkMode_t			workMode);	 
 
 
TSAPI 
attQueryAcdSplit(	ATTPrivateData_t	FAR *		privateData, 
					CONST_PARAM DeviceID_t FAR *	device);	 
 
 
TSAPI 
attQueryAgentLogin(	ATTPrivateData_t FAR *			privateData, 
					CONST_PARAM DeviceID_t FAR *	device);	 
 
 
TSAPI 
attQueryAgentState(	ATTPrivateData_t FAR *			privateData, 
					CONST_PARAM DeviceID_t FAR *	device);	 
 
 
TSAPI 
attQueryCallClassifier(ATTPrivateData_t	FAR * privateData); 
 
 
TSAPI 
attQueryDeviceName(	ATTPrivateData_t FAR *			privateData, 
					CONST_PARAM DeviceID_t FAR *	device);	 
						 
TSAPI 
attQueryStationStatus(	ATTPrivateData_t FAR *			privateData, 
						CONST_PARAM DeviceID_t FAR *	device);	 
 
 
TSAPI 
attQueryTimeOfDay(ATTPrivateData_t FAR *privateData); 
 
 
TSAPI 
attQueryTrunkGroup(	ATTPrivateData_t FAR *			privateData, 
					CONST_PARAM DeviceID_t FAR *	device); 
 
 
TSAPI 
attQueryAgentMeasurements (	ATTPrivateData_t FAR *							privateData, 
							CONST_PARAM DeviceID_t FAR *					agentID,	 
							ATTAgentTypeID_t								typeID, 
							ATTSplitSkill_t									splitSkill, 
							CONST_PARAM ATTAgentMeasurementsPresent_t FAR *	requestItems, 
							ATTInterval_t									interval); 
 
TSAPI 
attQuerySplitSkillMeasurements (ATTPrivateData_t FAR *									privateData, 
								CONST_PARAM DeviceID_t FAR *							device,	 
								CONST_PARAM ATTSplitSkillMeasurementsPresent_t FAR *	requestItems, 
								ATTInterval_t											interval); 
 
TSAPI 
attQueryTrunkGroupMeasurements (ATTPrivateData_t FAR *									privateData, 
								CONST_PARAM DeviceID_t FAR *							device,	 
								CONST_PARAM ATTTrunkGroupMeasurementsPresent_t FAR *	requestItems, 
								ATTInterval_t											interval); 
 
TSAPI 
attQueryVdnMeasurements (	ATTPrivateData_t FAR *							privateData, 
							CONST_PARAM DeviceID_t FAR *					device,	 
							CONST_PARAM ATTVdnMeasurementsPresent_t FAR *	requestItems, 
							ATTInterval_t									interval); 
 
TSAPI 
attMonitorFilter (	ATTPrivateData_t FAR *		privateData, 
					ATTV4PrivateFilter_t		privateFilter); 
 
TSAPI 
attMonitorStopOnCall (	ATTPrivateData_t FAR *				privateData, 
						CSTAMonitorCrossRefID_t				monitorCrossRefID, 
						CONST_PARAM ConnectionID_t FAR *	call); 
					 
				 
TSAPI 
attRouteSelect(	ATTPrivateData_t FAR *					privateData, 
				CONST_PARAM DeviceID_t FAR *			callingDevice, 
				CONST_PARAM DeviceID_t FAR *			directAgentCallSplit, 
				Boolean									priorityCalling, 
				CONST_PARAM DeviceID_t FAR *			destRoute, 
				CONST_PARAM ATTUserCollectCode_t FAR *	collectCode, 
				CONST_PARAM ATTUserProvidedCode_t FAR *	userProvidedCode, 
				CONST_PARAM ATTV5UserToUserInfo_t FAR *	userInfo); 
 
TSAPI 
attSysStat (ATTPrivateData_t FAR *	privateData, 
			Boolean					linkStatusReq); 
 
TSAPI 
attGetAPICapsConf (ATTPrivateData_t FAR *	privateData, 
				CONST_PARAM char FAR *		switchVersion, 
				Boolean						sendDTMFTone, 
				Boolean						enteredDigitsEvent, 
				Boolean						queryDeviceName, 
				Boolean						queryAgentMeas, 
				Boolean						querySplitSkillMeas, 
				Boolean						queryTrunkGroupMeas, 
				Boolean						queryVdnMeas, 
				Boolean						singleStepConference, 
				Boolean						selectiveListeningHold, 
				Boolean						selectiveListeningRetrieve, 
				Boolean						setBillRate, 
				Boolean						queryUCID, 
				Boolean						chargeAdviceEvent, 
				Boolean						reserved1, 
				Boolean						reserved2, 
				_Int						privDataVersion); 
 
TSAPI 
attSingleStepConferenceCall(ATTPrivateData_t FAR *			privateData, 
							CONST_PARAM ConnectionID_t FAR *activeCall, 
							CONST_PARAM DeviceID_t FAR *	deviceToBeJoin, 
							ATTParticipationType_t			participationType, 
							Boolean							alertDestination); 
 
TSAPI 
attSelectiveListeningHold(ATTPrivateData_t FAR *			privateData, 
						CONST_PARAM ConnectionID_t FAR *	subjectConnection, 
						Boolean								allParties, 
						CONST_PARAM ConnectionID_t FAR *	selectedParty); 
 
TSAPI 
attSelectiveListeningRetrieve(ATTPrivateData_t FAR *		privateData, 
						CONST_PARAM ConnectionID_t FAR *	subjectConnection, 
						Boolean								allParties, 
						CONST_PARAM ConnectionID_t FAR *	selectedParty);  
 
TSAPI 
attSetAgentStateExt (ATTPrivateData_t FAR*	privateData, 
					ATTWorkMode_t			workMode, 
					long					reasonCode); 
 
TSAPI  
attSetBillRate(ATTPrivateData_t FAR *				privateData, 
				CONST_PARAM ConnectionID_t FAR *	call, 
				ATTBillType_t						billType, 
				float								billRate); 
 
TSAPI  
attQueryUCID(ATTPrivateData_t FAR *				privateData, 
			CONST_PARAM ConnectionID_t FAR *	call); 
	 
 
TSAPI 
attSetAdviceOfCharge( ATTPrivateData_t FAR * privateData, Boolean flag); 
 
 
TSAPI 
attSendDTMFToneExt(ATTPrivateData_t FAR *				privateData, 
					CONST_PARAM ConnectionID_t FAR *	sender, 
					CONST_PARAM ATTConnIDList_t FAR *	receivers, 
					CONST_PARAM char FAR *				tones, 
					short								toneDuration, 
					short								pauseDuration); 
 
TSAPI 
attMonitorFilterExt (ATTPrivateData_t	FAR *	privateData, 
					ATTPrivateFilter_t			privateFilter); 
/* V6 Private Data */ 
TSAPI 
attV6SetAgentState (ATTPrivateData_t FAR*	privateData, 
					ATTWorkMode_t			workMode, 
					long					reasonCode, 
					Boolean					enablePending); 
TSAPI 
attV6MakeCall(ATTPrivateData_t FAR *					privateData, 
			CONST_PARAM DeviceID_t FAR *			destRoute, 
			Boolean									priorityCalling, 
			CONST_PARAM ATTUserToUserInfo_t	FAR *	userInfo); 
 
TSAPI 
attV6ClearConnection(	ATTPrivateData_t FAR *					privateData, 
					ATTDropResource_t						dropResource, 
					CONST_PARAM ATTUserToUserInfo_t FAR *	userInfo); 
 
TSAPI 
attV6ConsultationCall(ATTPrivateData_t FAR *					privateData, 
					CONST_PARAM DeviceID_t FAR *			destRoute, 
					Boolean									priorityCalling, 
					CONST_PARAM ATTUserToUserInfo_t FAR *	userInfo); 
 
TSAPI 
attV6DirectAgentCall(	ATTPrivateData_t FAR *					privateData, 
					CONST_PARAM DeviceID_t FAR *			split, 
					Boolean									priorityCalling, 
					CONST_PARAM ATTUserToUserInfo_t	FAR *	userInfo); 
 
TSAPI 
attV6MakePredictiveCall(	ATTPrivateData_t FAR *					privateData, 
						Boolean									priorityCalling, 
						short									maxRings, 
						ATTAnswerTreat_t						answerTreat, 
						CONST_PARAM DeviceID_t FAR *			destRoute, 
						CONST_PARAM ATTUserToUserInfo_t FAR *	userInfo); 
 
TSAPI 
attV6SupervisorAssistCall(ATTPrivateData_t FAR *					privateData, 
						CONST_PARAM DeviceID_t FAR *			split, 
						CONST_PARAM ATTUserToUserInfo_t FAR *	userInfo); 
 
TSAPI 
attV6ReconnectCall(	ATTPrivateData_t FAR *					privateData, 
					ATTDropResource_t						dropResource, 
					CONST_PARAM ATTUserToUserInfo_t	FAR *	userInfo); 
 
TSAPI 
attV6RouteSelect(	ATTPrivateData_t FAR *					privateData, 
				CONST_PARAM DeviceID_t FAR *			callingDevice, 
				CONST_PARAM DeviceID_t FAR *			directAgentCallSplit, 
				Boolean									priorityCalling, 
				CONST_PARAM DeviceID_t FAR *			destRoute, 
				CONST_PARAM ATTUserCollectCode_t FAR *	collectCode, 
				CONST_PARAM ATTUserProvidedCode_t FAR *	userProvidedCode, 
				CONST_PARAM ATTUserToUserInfo_t FAR *	userInfo); 
 
#ifdef __cplusplus 
} 
#endif   
 
/* this section of the header file contains obsoleted */ 
/* Release 1 definitions, for backward compatibility */ 
/* these functions are not recommended for Release 2 */ 
 
/*		AT&T private data templates		*/ 
 
/* 
	data member of PrivateData_t partitioned into N tagged items 
 
                |<- 1st item->|   |<- 2nd item->|   |<- 3rd item->| 
     _______________________________________________________________ 
    |   |   |   |   |         |   |   |         |   |   |         |  
    |enc| N |tag|len|  value  |tag|len|  value  |tag|len|  value  | ... 
    |___|___|___|___|_________|___|___|_________|___|___|_________|_ 
    | 2 | 2 | 2 |    len*     | 2 |    len*     | 2 |    len*     | 
 
	(*) value is padded to even boundary 
	Intel (lo/hi) byte order is used 
*/ 
 
typedef unsigned char	UINT8; 
typedef unsigned short	UINT16; 
 
/*	tags for data types */ 
 
#define	ATT_PRIV_UEC	1	/* user entered code */ 
 
/*	G3 CSTA user entered code */ 
 
#define MAX_USER_CODE	24  /* current max is 24 */ 
#define MAX_VDN			9 
 
typedef struct UserEnteredCode_t 
{ 
	UINT16	size;					/* sizeof(UserEnteredCode_t) */ 
			 
	UINT8	type;					/* type of user code */ 
 
	UINT8	timeout;				/* timeout interval 0-63 (not used) */ 
	 
	UINT8	indicator;				/* collect/collected indication */ 
 
	char	data[MAX_USER_CODE+1];	/* NULL terminated string of digits */ 
 
	char	collectVDN[MAX_VDN+1];	/* NULL terminated string of digits */ 
 
} UserEnteredCode_t; 
 
 
/* function prototypes */ 
 
#ifdef __cplusplus 
extern "C" 
{ 
#endif   
 
#if defined _MSDOS || defined __MSDOS__ 
 #define FPEXPORT	__far __pascal __export 
#else 
 #define FPEXPORT 
#endif 
 
void 
FPEXPORT 
initATTPrivate (PrivateData_t FAR *priv); 
 
void 
FPEXPORT 
addATTPrivate (UINT16 itemTag, void FAR *itemPtr, PrivateData_t FAR *priv); 
 
void * 
FPEXPORT 
getATTPrivate (UINT16 tag, PrivateData_t FAR *priv, UINT16 occ); 
 
#ifdef __cplusplus 
} 
#endif   
 
 
#endif