Mercurial > games > semicongine
diff fuhtark_test/include/winapi/tapi.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/tapi.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,2383 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef TAPI_H +#define TAPI_H + +#ifndef TAPI_CURRENT_VERSION +#define TAPI_CURRENT_VERSION 0x00030001 +#endif + +#include <windows.h> +#include <basetsd.h> +#include <oaidl.h> + +#pragma pack(1) + +#ifdef __cplusplus +extern "C" { +#endif + +#define DECLARE_OPAQUE32(name) typedef DWORD name + + DECLARE_OPAQUE32(HCALL); + typedef HCALL *LPHCALL; + + DECLARE_OPAQUE32(HCALLHUB); + typedef HCALLHUB *LPHCALLHUB; + + DECLARE_OPAQUE32(HLINE); + typedef HLINE *LPHLINE; + + DECLARE_OPAQUE32(HPHONE); + typedef HPHONE *LPHPHONE; + + DECLARE_OPAQUE32(HLINEAPP); + typedef HLINEAPP *LPHLINEAPP; + + DECLARE_OPAQUE32(HPHONEAPP); + typedef HPHONEAPP *LPHPHONEAPP; + + DECLARE_OPAQUE32(HAGENTSESSION); + typedef HAGENTSESSION *LPHAGENTSESSION; + + DECLARE_OPAQUE32(HAGENT); + typedef HAGENT *LPHAGENT; + + DECLARE_OPAQUE32(HPRIVATECHANNEL); + typedef HPRIVATECHANNEL *LPHPRIVATECHANNEL; + + typedef HICON *LPHICON; + + typedef void (CALLBACK *LINECALLBACK)(DWORD hDevice,DWORD dwMessage,DWORD_PTR dwInstance,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3); + typedef void (CALLBACK *PHONECALLBACK)(DWORD hDevice,DWORD dwMessage,DWORD_PTR dwInstance,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3); + +#define LINE_ADDRESSSTATE 0L +#define LINE_CALLINFO 1L +#define LINE_CALLSTATE 2L +#define LINE_CLOSE 3L +#define LINE_DEVSPECIFIC 4L +#define LINE_DEVSPECIFICFEATURE 5L +#define LINE_GATHERDIGITS 6L +#define LINE_GENERATE 7L +#define LINE_LINEDEVSTATE 8L +#define LINE_MONITORDIGITS 9L +#define LINE_MONITORMEDIA 10L +#define LINE_MONITORTONE 11L +#define LINE_REPLY 12L +#define LINE_REQUEST 13L +#define PHONE_BUTTON 14L +#define PHONE_CLOSE 15L +#define PHONE_DEVSPECIFIC 16L +#define PHONE_REPLY 17L +#define PHONE_STATE 18L +#define LINE_CREATE 19L +#define PHONE_CREATE 20L +#define LINE_AGENTSPECIFIC 21L +#define LINE_AGENTSTATUS 22L +#define LINE_APPNEWCALL 23L +#define LINE_PROXYREQUEST 24L +#define LINE_REMOVE 25L +#define PHONE_REMOVE 26L + +#define LINE_AGENTSESSIONSTATUS 27L +#define LINE_QUEUESTATUS 28L +#define LINE_AGENTSTATUSEX 29L +#define LINE_GROUPSTATUS 30L +#define LINE_PROXYSTATUS 31L + +#define LINE_APPNEWCALLHUB 32L +#define LINE_CALLHUBCLOSE 33L +#define LINE_DEVSPECIFICEX 34L + +#define INITIALIZE_NEGOTIATION 0xFFFFFFFFUL + +#define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001 +#define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002 +#define LINEADDRCAPFLAGS_SECURE 0x00000004 +#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008 +#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010 +#define LINEADDRCAPFLAGS_DIALED 0x00000020 +#define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040 +#define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080 +#define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100 +#define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200 +#define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400 +#define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800 +#define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000 +#define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000 +#define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000 +#define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000 +#define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000 +#define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000 +#define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000 +#define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000 +#define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000 +#define LINEADDRCAPFLAGS_CONFDROP 0x00200000 +#define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000 +#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000 +#define LINEADDRCAPFLAGS_QUEUE 0x01000000 +#define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000 +#define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000 +#define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000 +#define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000 +#define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000 +#define LINEADDRCAPFLAGS_ACDGROUP 0x40000000 +#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION 0x80000000 + +#define LINEADDRESSMODE_ADDRESSID 0x00000001 +#define LINEADDRESSMODE_DIALABLEADDR 0x00000002 + +#define LINEADDRESSSHARING_PRIVATE 0x00000001 +#define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002 +#define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004 +#define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008 +#define LINEADDRESSSHARING_MONITORED 0x00000010 + +#define LINEADDRESSSTATE_OTHER 0x00000001 +#define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002 +#define LINEADDRESSSTATE_INUSEZERO 0x00000004 +#define LINEADDRESSSTATE_INUSEONE 0x00000008 +#define LINEADDRESSSTATE_INUSEMANY 0x00000010 +#define LINEADDRESSSTATE_NUMCALLS 0x00000020 +#define LINEADDRESSSTATE_FORWARD 0x00000040 +#define LINEADDRESSSTATE_TERMINALS 0x00000080 +#define LINEADDRESSSTATE_CAPSCHANGE 0x00000100 + +#define LINEADDRESSTYPE_PHONENUMBER 0x00000001 +#define LINEADDRESSTYPE_SDP 0x00000002 +#define LINEADDRESSTYPE_EMAILNAME 0x00000004 +#define LINEADDRESSTYPE_DOMAINNAME 0x00000008 +#define LINEADDRESSTYPE_IPADDRESS 0x00000010 + +#define LINEADDRFEATURE_FORWARD 0x00000001 +#define LINEADDRFEATURE_MAKECALL 0x00000002 +#define LINEADDRFEATURE_PICKUP 0x00000004 +#define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008 +#define LINEADDRFEATURE_SETTERMINAL 0x00000010 +#define LINEADDRFEATURE_SETUPCONF 0x00000020 +#define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040 +#define LINEADDRFEATURE_UNPARK 0x00000080 +#define LINEADDRFEATURE_PICKUPHELD 0x00000100 +#define LINEADDRFEATURE_PICKUPGROUP 0x00000200 +#define LINEADDRFEATURE_PICKUPDIRECT 0x00000400 +#define LINEADDRFEATURE_PICKUPWAITING 0x00000800 +#define LINEADDRFEATURE_FORWARDFWD 0x00001000 +#define LINEADDRFEATURE_FORWARDDND 0x00002000 + +#define LINEAGENTFEATURE_SETAGENTGROUP 0x00000001 +#define LINEAGENTFEATURE_SETAGENTSTATE 0x00000002 +#define LINEAGENTFEATURE_SETAGENTACTIVITY 0x00000004 +#define LINEAGENTFEATURE_AGENTSPECIFIC 0x00000008 +#define LINEAGENTFEATURE_GETAGENTACTIVITYLIST 0x00000010 +#define LINEAGENTFEATURE_GETAGENTGROUP 0x00000020 + +#define LINEAGENTSTATE_LOGGEDOFF 0x00000001 +#define LINEAGENTSTATE_NOTREADY 0x00000002 +#define LINEAGENTSTATE_READY 0x00000004 +#define LINEAGENTSTATE_BUSYACD 0x00000008 +#define LINEAGENTSTATE_BUSYINCOMING 0x00000010 +#define LINEAGENTSTATE_BUSYOUTBOUND 0x00000020 +#define LINEAGENTSTATE_BUSYOTHER 0x00000040 +#define LINEAGENTSTATE_WORKINGAFTERCALL 0x00000080 +#define LINEAGENTSTATE_UNKNOWN 0x00000100 +#define LINEAGENTSTATE_UNAVAIL 0x00000200 + +#define LINEAGENTSTATUS_GROUP 0x00000001 +#define LINEAGENTSTATUS_STATE 0x00000002 +#define LINEAGENTSTATUS_NEXTSTATE 0x00000004 +#define LINEAGENTSTATUS_ACTIVITY 0x00000008 +#define LINEAGENTSTATUS_ACTIVITYLIST 0x00000010 +#define LINEAGENTSTATUS_GROUPLIST 0x00000020 +#define LINEAGENTSTATUS_CAPSCHANGE 0x00000040 +#define LINEAGENTSTATUS_VALIDSTATES 0x00000080 +#define LINEAGENTSTATUS_VALIDNEXTSTATES 0x00000100 + +#define LINEAGENTSTATEEX_NOTREADY 0x00000001 +#define LINEAGENTSTATEEX_READY 0x00000002 +#define LINEAGENTSTATEEX_BUSYACD 0x00000004 +#define LINEAGENTSTATEEX_BUSYINCOMING 0x00000008 +#define LINEAGENTSTATEEX_BUSYOUTGOING 0x00000010 +#define LINEAGENTSTATEEX_UNKNOWN 0x00000020 +#define LINEAGENTSTATEEX_RELEASED 0x00000040 + +#define LINEAGENTSTATUSEX_NEWAGENT 0x00000001 +#define LINEAGENTSTATUSEX_STATE 0x00000002 +#define LINEAGENTSTATUSEX_UPDATEINFO 0x00000004 + +#define LINEAGENTSESSIONSTATE_NOTREADY 0x00000001 +#define LINEAGENTSESSIONSTATE_READY 0x00000002 +#define LINEAGENTSESSIONSTATE_BUSYONCALL 0x00000004 +#define LINEAGENTSESSIONSTATE_BUSYWRAPUP 0x00000008 +#define LINEAGENTSESSIONSTATE_ENDED 0x00000010 +#define LINEAGENTSESSIONSTATE_RELEASED 0x00000020 + +#define LINEAGENTSESSIONSTATUS_NEWSESSION 0x00000001 +#define LINEAGENTSESSIONSTATUS_STATE 0x00000002 +#define LINEAGENTSESSIONSTATUS_UPDATEINFO 0x00000004 + +#define LINEQUEUESTATUS_UPDATEINFO 0x00000001 +#define LINEQUEUESTATUS_NEWQUEUE 0x00000002 +#define LINEQUEUESTATUS_QUEUEREMOVED 0x00000004 + +#define LINEGROUPSTATUS_NEWGROUP 0x00000001 +#define LINEGROUPSTATUS_GROUPREMOVED 0x00000002 + +#define LINEPROXYSTATUS_OPEN 0x00000001 +#define LINEPROXYSTATUS_CLOSE 0x00000002 +#define LINEPROXYSTATUS_ALLOPENFORACD 0x00000004 + +#define LINEANSWERMODE_NONE 0x00000001 +#define LINEANSWERMODE_DROP 0x00000002 +#define LINEANSWERMODE_HOLD 0x00000004 + +#define LINEBEARERMODE_VOICE 0x00000001 +#define LINEBEARERMODE_SPEECH 0x00000002 +#define LINEBEARERMODE_MULTIUSE 0x00000004 +#define LINEBEARERMODE_DATA 0x00000008 +#define LINEBEARERMODE_ALTSPEECHDATA 0x00000010 +#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020 +#define LINEBEARERMODE_PASSTHROUGH 0x00000040 +#define LINEBEARERMODE_RESTRICTEDDATA 0x00000080 + +#define LINEBUSYMODE_STATION 0x00000001 +#define LINEBUSYMODE_TRUNK 0x00000002 +#define LINEBUSYMODE_UNKNOWN 0x00000004 +#define LINEBUSYMODE_UNAVAIL 0x00000008 + +#define LINECALLCOMPLCOND_BUSY 0x00000001 +#define LINECALLCOMPLCOND_NOANSWER 0x00000002 + +#define LINECALLCOMPLMODE_CAMPON 0x00000001 +#define LINECALLCOMPLMODE_CALLBACK 0x00000002 +#define LINECALLCOMPLMODE_INTRUDE 0x00000004 +#define LINECALLCOMPLMODE_MESSAGE 0x00000008 + +#define LINECALLFEATURE_ACCEPT 0x00000001 +#define LINECALLFEATURE_ADDTOCONF 0x00000002 +#define LINECALLFEATURE_ANSWER 0x00000004 +#define LINECALLFEATURE_BLINDTRANSFER 0x00000008 +#define LINECALLFEATURE_COMPLETECALL 0x00000010 +#define LINECALLFEATURE_COMPLETETRANSF 0x00000020 +#define LINECALLFEATURE_DIAL 0x00000040 +#define LINECALLFEATURE_DROP 0x00000080 +#define LINECALLFEATURE_GATHERDIGITS 0x00000100 +#define LINECALLFEATURE_GENERATEDIGITS 0x00000200 +#define LINECALLFEATURE_GENERATETONE 0x00000400 +#define LINECALLFEATURE_HOLD 0x00000800 +#define LINECALLFEATURE_MONITORDIGITS 0x00001000 +#define LINECALLFEATURE_MONITORMEDIA 0x00002000 +#define LINECALLFEATURE_MONITORTONES 0x00004000 +#define LINECALLFEATURE_PARK 0x00008000 +#define LINECALLFEATURE_PREPAREADDCONF 0x00010000 +#define LINECALLFEATURE_REDIRECT 0x00020000 +#define LINECALLFEATURE_REMOVEFROMCONF 0x00040000 +#define LINECALLFEATURE_SECURECALL 0x00080000 +#define LINECALLFEATURE_SENDUSERUSER 0x00100000 +#define LINECALLFEATURE_SETCALLPARAMS 0x00200000 +#define LINECALLFEATURE_SETMEDIACONTROL 0x00400000 +#define LINECALLFEATURE_SETTERMINAL 0x00800000 +#define LINECALLFEATURE_SETUPCONF 0x01000000 +#define LINECALLFEATURE_SETUPTRANSFER 0x02000000 +#define LINECALLFEATURE_SWAPHOLD 0x04000000 +#define LINECALLFEATURE_UNHOLD 0x08000000 +#define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000 +#define LINECALLFEATURE_SETTREATMENT 0x20000000 +#define LINECALLFEATURE_SETQOS 0x40000000 +#define LINECALLFEATURE_SETCALLDATA 0x80000000 +#define LINECALLFEATURE2_NOHOLDCONFERENCE 0x00000001 +#define LINECALLFEATURE2_ONESTEPTRANSFER 0x00000002 +#define LINECALLFEATURE2_COMPLCAMPON 0x00000004 +#define LINECALLFEATURE2_COMPLCALLBACK 0x00000008 +#define LINECALLFEATURE2_COMPLINTRUDE 0x00000010 +#define LINECALLFEATURE2_COMPLMESSAGE 0x00000020 +#define LINECALLFEATURE2_TRANSFERNORM 0x00000040 +#define LINECALLFEATURE2_TRANSFERCONF 0x00000080 +#define LINECALLFEATURE2_PARKDIRECT 0x00000100 +#define LINECALLFEATURE2_PARKNONDIRECT 0x00000200 + +#define LINECALLHUBTRACKING_NONE 0x00000000 +#define LINECALLHUBTRACKING_PROVIDERLEVEL 0x00000001 +#define LINECALLHUBTRACKING_ALLCALLS 0x00000002 + +#define LINECALLINFOSTATE_OTHER 0x00000001 +#define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002 +#define LINECALLINFOSTATE_BEARERMODE 0x00000004 +#define LINECALLINFOSTATE_RATE 0x00000008 +#define LINECALLINFOSTATE_MEDIAMODE 0x00000010 +#define LINECALLINFOSTATE_APPSPECIFIC 0x00000020 +#define LINECALLINFOSTATE_CALLID 0x00000040 +#define LINECALLINFOSTATE_RELATEDCALLID 0x00000080 +#define LINECALLINFOSTATE_ORIGIN 0x00000100 +#define LINECALLINFOSTATE_REASON 0x00000200 +#define LINECALLINFOSTATE_COMPLETIONID 0x00000400 +#define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800 +#define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000 +#define LINECALLINFOSTATE_NUMMONITORS 0x00002000 +#define LINECALLINFOSTATE_TRUNK 0x00004000 +#define LINECALLINFOSTATE_CALLERID 0x00008000 +#define LINECALLINFOSTATE_CALLEDID 0x00010000 +#define LINECALLINFOSTATE_CONNECTEDID 0x00020000 +#define LINECALLINFOSTATE_REDIRECTIONID 0x00040000 +#define LINECALLINFOSTATE_REDIRECTINGID 0x00080000 +#define LINECALLINFOSTATE_DISPLAY 0x00100000 +#define LINECALLINFOSTATE_USERUSERINFO 0x00200000 +#define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000 +#define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000 +#define LINECALLINFOSTATE_CHARGINGINFO 0x01000000 +#define LINECALLINFOSTATE_TERMINAL 0x02000000 +#define LINECALLINFOSTATE_DIALPARAMS 0x04000000 +#define LINECALLINFOSTATE_MONITORMODES 0x08000000 +#define LINECALLINFOSTATE_TREATMENT 0x10000000 +#define LINECALLINFOSTATE_QOS 0x20000000 +#define LINECALLINFOSTATE_CALLDATA 0x40000000 + +#define LINECALLORIGIN_OUTBOUND 0x00000001 +#define LINECALLORIGIN_INTERNAL 0x00000002 +#define LINECALLORIGIN_EXTERNAL 0x00000004 +#define LINECALLORIGIN_UNKNOWN 0x00000010 +#define LINECALLORIGIN_UNAVAIL 0x00000020 +#define LINECALLORIGIN_CONFERENCE 0x00000040 +#define LINECALLORIGIN_INBOUND 0x00000080 + +#define LINECALLPARAMFLAGS_SECURE 0x00000001 +#define LINECALLPARAMFLAGS_IDLE 0x00000002 +#define LINECALLPARAMFLAGS_BLOCKID 0x00000004 +#define LINECALLPARAMFLAGS_ORIGOFFHOOK 0x00000008 +#define LINECALLPARAMFLAGS_DESTOFFHOOK 0x00000010 +#define LINECALLPARAMFLAGS_NOHOLDCONFERENCE 0x00000020 +#define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040 +#define LINECALLPARAMFLAGS_ONESTEPTRANSFER 0x00000080 + +#define LINECALLPARTYID_BLOCKED 0x00000001 +#define LINECALLPARTYID_OUTOFAREA 0x00000002 +#define LINECALLPARTYID_NAME 0x00000004 +#define LINECALLPARTYID_ADDRESS 0x00000008 +#define LINECALLPARTYID_PARTIAL 0x00000010 +#define LINECALLPARTYID_UNKNOWN 0x00000020 +#define LINECALLPARTYID_UNAVAIL 0x00000040 + +#define LINECALLPRIVILEGE_NONE 0x00000001 +#define LINECALLPRIVILEGE_MONITOR 0x00000002 +#define LINECALLPRIVILEGE_OWNER 0x00000004 + +#define LINECALLREASON_DIRECT 0x00000001 +#define LINECALLREASON_FWDBUSY 0x00000002 +#define LINECALLREASON_FWDNOANSWER 0x00000004 +#define LINECALLREASON_FWDUNCOND 0x00000008 +#define LINECALLREASON_PICKUP 0x00000010 +#define LINECALLREASON_UNPARK 0x00000020 +#define LINECALLREASON_REDIRECT 0x00000040 +#define LINECALLREASON_CALLCOMPLETION 0x00000080 +#define LINECALLREASON_TRANSFER 0x00000100 +#define LINECALLREASON_REMINDER 0x00000200 +#define LINECALLREASON_UNKNOWN 0x00000400 +#define LINECALLREASON_UNAVAIL 0x00000800 +#define LINECALLREASON_INTRUDE 0x00001000 +#define LINECALLREASON_PARKED 0x00002000 +#define LINECALLREASON_CAMPEDON 0x00004000 +#define LINECALLREASON_ROUTEREQUEST 0x00008000 + +#define LINECALLSELECT_LINE 0x00000001 +#define LINECALLSELECT_ADDRESS 0x00000002 +#define LINECALLSELECT_CALL 0x00000004 +#define LINECALLSELECT_DEVICEID 0x00000008 +#define LINECALLSELECT_CALLID 0x00000010 + +#define LINECALLSTATE_IDLE 0x00000001 +#define LINECALLSTATE_OFFERING 0x00000002 +#define LINECALLSTATE_ACCEPTED 0x00000004 +#define LINECALLSTATE_DIALTONE 0x00000008 +#define LINECALLSTATE_DIALING 0x00000010 +#define LINECALLSTATE_RINGBACK 0x00000020 +#define LINECALLSTATE_BUSY 0x00000040 +#define LINECALLSTATE_SPECIALINFO 0x00000080 +#define LINECALLSTATE_CONNECTED 0x00000100 +#define LINECALLSTATE_PROCEEDING 0x00000200 +#define LINECALLSTATE_ONHOLD 0x00000400 +#define LINECALLSTATE_CONFERENCED 0x00000800 +#define LINECALLSTATE_ONHOLDPENDCONF 0x00001000 +#define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000 +#define LINECALLSTATE_DISCONNECTED 0x00004000 +#define LINECALLSTATE_UNKNOWN 0x00008000 + +#define LINECALLTREATMENT_SILENCE 0x00000001 +#define LINECALLTREATMENT_RINGBACK 0x00000002 +#define LINECALLTREATMENT_BUSY 0x00000003 +#define LINECALLTREATMENT_MUSIC 0x00000004 + +#define LINECARDOPTION_PREDEFINED 0x00000001 +#define LINECARDOPTION_HIDDEN 0x00000002 + +#define LINECONNECTEDMODE_ACTIVE 0x00000001 +#define LINECONNECTEDMODE_INACTIVE 0x00000002 +#define LINECONNECTEDMODE_ACTIVEHELD 0x00000004 +#define LINECONNECTEDMODE_INACTIVEHELD 0x00000008 +#define LINECONNECTEDMODE_CONFIRMED 0x00000010 + +#define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001 +#define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002 +#define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004 +#define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008 +#define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010 +#define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020 +#define LINEDEVCAPFLAGS_DIALBILLING 0x00000040 +#define LINEDEVCAPFLAGS_DIALQUIET 0x00000080 +#define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100 +#define LINEDEVCAPFLAGS_MSP 0x00000200 +#define LINEDEVCAPFLAGS_CALLHUB 0x00000400 +#define LINEDEVCAPFLAGS_CALLHUBTRACKING 0x00000800 +#define LINEDEVCAPFLAGS_PRIVATEOBJECTS 0x00001000 +#define LINEDEVCAPFLAGS_LOCAL 0x00002000 + +#define LINEDEVSTATE_OTHER 0x00000001 +#define LINEDEVSTATE_RINGING 0x00000002 +#define LINEDEVSTATE_CONNECTED 0x00000004 +#define LINEDEVSTATE_DISCONNECTED 0x00000008 +#define LINEDEVSTATE_MSGWAITON 0x00000010 +#define LINEDEVSTATE_MSGWAITOFF 0x00000020 +#define LINEDEVSTATE_INSERVICE 0x00000040 +#define LINEDEVSTATE_OUTOFSERVICE 0x00000080 +#define LINEDEVSTATE_MAINTENANCE 0x00000100 +#define LINEDEVSTATE_OPEN 0x00000200 +#define LINEDEVSTATE_CLOSE 0x00000400 +#define LINEDEVSTATE_NUMCALLS 0x00000800 +#define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000 +#define LINEDEVSTATE_TERMINALS 0x00002000 +#define LINEDEVSTATE_ROAMMODE 0x00004000 +#define LINEDEVSTATE_BATTERY 0x00008000 +#define LINEDEVSTATE_SIGNAL 0x00010000 +#define LINEDEVSTATE_DEVSPECIFIC 0x00020000 +#define LINEDEVSTATE_REINIT 0x00040000 +#define LINEDEVSTATE_LOCK 0x00080000 +#define LINEDEVSTATE_CAPSCHANGE 0x00100000 +#define LINEDEVSTATE_CONFIGCHANGE 0x00200000 +#define LINEDEVSTATE_TRANSLATECHANGE 0x00400000 +#define LINEDEVSTATE_COMPLCANCEL 0x00800000 +#define LINEDEVSTATE_REMOVED 0x01000000 + +#define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001 +#define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002 +#define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004 +#define LINEDEVSTATUSFLAGS_LOCKED 0x00000008 + +#define LINEDIALTONEMODE_NORMAL 0x00000001 +#define LINEDIALTONEMODE_SPECIAL 0x00000002 +#define LINEDIALTONEMODE_INTERNAL 0x00000004 +#define LINEDIALTONEMODE_EXTERNAL 0x00000008 +#define LINEDIALTONEMODE_UNKNOWN 0x00000010 +#define LINEDIALTONEMODE_UNAVAIL 0x00000020 + +#define LINEDIGITMODE_PULSE 0x00000001 +#define LINEDIGITMODE_DTMF 0x00000002 +#define LINEDIGITMODE_DTMFEND 0x00000004 + +#define LINEDISCONNECTMODE_NORMAL 0x00000001 +#define LINEDISCONNECTMODE_UNKNOWN 0x00000002 +#define LINEDISCONNECTMODE_REJECT 0x00000004 +#define LINEDISCONNECTMODE_PICKUP 0x00000008 +#define LINEDISCONNECTMODE_FORWARDED 0x00000010 +#define LINEDISCONNECTMODE_BUSY 0x00000020 +#define LINEDISCONNECTMODE_NOANSWER 0x00000040 +#define LINEDISCONNECTMODE_BADADDRESS 0x00000080 +#define LINEDISCONNECTMODE_UNREACHABLE 0x00000100 +#define LINEDISCONNECTMODE_CONGESTION 0x00000200 +#define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400 +#define LINEDISCONNECTMODE_UNAVAIL 0x00000800 +#define LINEDISCONNECTMODE_NODIALTONE 0x00001000 +#define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000 +#define LINEDISCONNECTMODE_OUTOFORDER 0x00004000 +#define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000 +#define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000 +#define LINEDISCONNECTMODE_BLOCKED 0x00020000 +#define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000 +#define LINEDISCONNECTMODE_CANCELLED 0x00080000 + +#define LINEERR_ALLOCATED 0x80000001 +#define LINEERR_BADDEVICEID 0x80000002 +#define LINEERR_BEARERMODEUNAVAIL 0x80000003 +#define LINEERR_CALLUNAVAIL 0x80000005 +#define LINEERR_COMPLETIONOVERRUN 0x80000006 +#define LINEERR_CONFERENCEFULL 0x80000007 +#define LINEERR_DIALBILLING 0x80000008 +#define LINEERR_DIALDIALTONE 0x80000009 +#define LINEERR_DIALPROMPT 0x8000000A +#define LINEERR_DIALQUIET 0x8000000B +#define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C +#define LINEERR_INCOMPATIBLEEXTVERSION 0x8000000D +#define LINEERR_INIFILECORRUPT 0x8000000E +#define LINEERR_INUSE 0x8000000F +#define LINEERR_INVALADDRESS 0x80000010 +#define LINEERR_INVALADDRESSID 0x80000011 +#define LINEERR_INVALADDRESSMODE 0x80000012 +#define LINEERR_INVALADDRESSSTATE 0x80000013 +#define LINEERR_INVALAPPHANDLE 0x80000014 +#define LINEERR_INVALAPPNAME 0x80000015 +#define LINEERR_INVALBEARERMODE 0x80000016 +#define LINEERR_INVALCALLCOMPLMODE 0x80000017 +#define LINEERR_INVALCALLHANDLE 0x80000018 +#define LINEERR_INVALCALLPARAMS 0x80000019 +#define LINEERR_INVALCALLPRIVILEGE 0x8000001A +#define LINEERR_INVALCALLSELECT 0x8000001B +#define LINEERR_INVALCALLSTATE 0x8000001C +#define LINEERR_INVALCALLSTATELIST 0x8000001D +#define LINEERR_INVALCARD 0x8000001E +#define LINEERR_INVALCOMPLETIONID 0x8000001F +#define LINEERR_INVALCONFCALLHANDLE 0x80000020 +#define LINEERR_INVALCONSULTCALLHANDLE 0x80000021 +#define LINEERR_INVALCOUNTRYCODE 0x80000022 +#define LINEERR_INVALDEVICECLASS 0x80000023 +#define LINEERR_INVALDEVICEHANDLE 0x80000024 +#define LINEERR_INVALDIALPARAMS 0x80000025 +#define LINEERR_INVALDIGITLIST 0x80000026 +#define LINEERR_INVALDIGITMODE 0x80000027 +#define LINEERR_INVALDIGITS 0x80000028 +#define LINEERR_INVALEXTVERSION 0x80000029 +#define LINEERR_INVALGROUPID 0x8000002A +#define LINEERR_INVALLINEHANDLE 0x8000002B +#define LINEERR_INVALLINESTATE 0x8000002C +#define LINEERR_INVALLOCATION 0x8000002D +#define LINEERR_INVALMEDIALIST 0x8000002E +#define LINEERR_INVALMEDIAMODE 0x8000002F +#define LINEERR_INVALMESSAGEID 0x80000030 +#define LINEERR_INVALPARAM 0x80000032 +#define LINEERR_INVALPARKID 0x80000033 +#define LINEERR_INVALPARKMODE 0x80000034 +#define LINEERR_INVALPOINTER 0x80000035 +#define LINEERR_INVALPRIVSELECT 0x80000036 +#define LINEERR_INVALRATE 0x80000037 +#define LINEERR_INVALREQUESTMODE 0x80000038 +#define LINEERR_INVALTERMINALID 0x80000039 +#define LINEERR_INVALTERMINALMODE 0x8000003A +#define LINEERR_INVALTIMEOUT 0x8000003B +#define LINEERR_INVALTONE 0x8000003C +#define LINEERR_INVALTONELIST 0x8000003D +#define LINEERR_INVALTONEMODE 0x8000003E +#define LINEERR_INVALTRANSFERMODE 0x8000003F +#define LINEERR_LINEMAPPERFAILED 0x80000040 +#define LINEERR_NOCONFERENCE 0x80000041 +#define LINEERR_NODEVICE 0x80000042 +#define LINEERR_NODRIVER 0x80000043 +#define LINEERR_NOMEM 0x80000044 +#define LINEERR_NOREQUEST 0x80000045 +#define LINEERR_NOTOWNER 0x80000046 +#define LINEERR_NOTREGISTERED 0x80000047 +#define LINEERR_OPERATIONFAILED 0x80000048 +#define LINEERR_OPERATIONUNAVAIL 0x80000049 +#define LINEERR_RATEUNAVAIL 0x8000004A +#define LINEERR_RESOURCEUNAVAIL 0x8000004B +#define LINEERR_REQUESTOVERRUN 0x8000004C +#define LINEERR_STRUCTURETOOSMALL 0x8000004D +#define LINEERR_TARGETNOTFOUND 0x8000004E +#define LINEERR_TARGETSELF 0x8000004F +#define LINEERR_UNINITIALIZED 0x80000050 +#define LINEERR_USERUSERINFOTOOBIG 0x80000051 +#define LINEERR_REINIT 0x80000052 +#define LINEERR_ADDRESSBLOCKED 0x80000053 +#define LINEERR_BILLINGREJECTED 0x80000054 +#define LINEERR_INVALFEATURE 0x80000055 +#define LINEERR_NOMULTIPLEINSTANCE 0x80000056 +#define LINEERR_INVALAGENTID 0x80000057 +#define LINEERR_INVALAGENTGROUP 0x80000058 +#define LINEERR_INVALPASSWORD 0x80000059 +#define LINEERR_INVALAGENTSTATE 0x8000005A +#define LINEERR_INVALAGENTACTIVITY 0x8000005B +#define LINEERR_DIALVOICEDETECT 0x8000005C +#define LINEERR_USERCANCELLED 0x8000005D +#define LINEERR_INVALADDRESSTYPE 0x8000005E +#define LINEERR_INVALAGENTSESSIONSTATE 0x8000005F +#define LINEERR_DISCONNECTED 0X80000060 +#define LINEERR_SERVICE_NOT_RUNNING 0x80000061 + +#define LINEFEATURE_DEVSPECIFIC 0x00000001 +#define LINEFEATURE_DEVSPECIFICFEAT 0x00000002 +#define LINEFEATURE_FORWARD 0x00000004 +#define LINEFEATURE_MAKECALL 0x00000008 +#define LINEFEATURE_SETMEDIACONTROL 0x00000010 +#define LINEFEATURE_SETTERMINAL 0x00000020 +#define LINEFEATURE_SETDEVSTATUS 0x00000040 +#define LINEFEATURE_FORWARDFWD 0x00000080 +#define LINEFEATURE_FORWARDDND 0x00000100 + +#define LINEFORWARDMODE_UNCOND 0x00000001 +#define LINEFORWARDMODE_UNCONDINTERNAL 0x00000002 +#define LINEFORWARDMODE_UNCONDEXTERNAL 0x00000004 +#define LINEFORWARDMODE_UNCONDSPECIFIC 0x00000008 +#define LINEFORWARDMODE_BUSY 0x00000010 +#define LINEFORWARDMODE_BUSYINTERNAL 0x00000020 +#define LINEFORWARDMODE_BUSYEXTERNAL 0x00000040 +#define LINEFORWARDMODE_BUSYSPECIFIC 0x00000080 +#define LINEFORWARDMODE_NOANSW 0x00000100 +#define LINEFORWARDMODE_NOANSWINTERNAL 0x00000200 +#define LINEFORWARDMODE_NOANSWEXTERNAL 0x00000400 +#define LINEFORWARDMODE_NOANSWSPECIFIC 0x00000800 +#define LINEFORWARDMODE_BUSYNA 0x00001000 +#define LINEFORWARDMODE_BUSYNAINTERNAL 0x00002000 +#define LINEFORWARDMODE_BUSYNAEXTERNAL 0x00004000 +#define LINEFORWARDMODE_BUSYNASPECIFIC 0x00008000 +#define LINEFORWARDMODE_UNKNOWN 0x00010000 +#define LINEFORWARDMODE_UNAVAIL 0x00020000 + +#define LINEGATHERTERM_BUFFERFULL 0x00000001 +#define LINEGATHERTERM_TERMDIGIT 0x00000002 +#define LINEGATHERTERM_FIRSTTIMEOUT 0x00000004 +#define LINEGATHERTERM_INTERTIMEOUT 0x00000008 +#define LINEGATHERTERM_CANCEL 0x00000010 + +#define LINEGENERATETERM_DONE 0x00000001 +#define LINEGENERATETERM_CANCEL 0x00000002 + +#define LINEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 +#define LINEINITIALIZEEXOPTION_USEEVENT 0x00000002 +#define LINEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000003 +#define LINEINITIALIZEEXOPTION_CALLHUBTRACKING 0x80000000 +#define LINELOCATIONOPTION_PULSEDIAL 0x00000001 + +#define LINEMAPPER 0xFFFFFFFF + +#define LINEMEDIACONTROL_NONE 0x00000001 +#define LINEMEDIACONTROL_START 0x00000002 +#define LINEMEDIACONTROL_RESET 0x00000004 +#define LINEMEDIACONTROL_PAUSE 0x00000008 +#define LINEMEDIACONTROL_RESUME 0x00000010 +#define LINEMEDIACONTROL_RATEUP 0x00000020 +#define LINEMEDIACONTROL_RATEDOWN 0x00000040 +#define LINEMEDIACONTROL_RATENORMAL 0x00000080 +#define LINEMEDIACONTROL_VOLUMEUP 0x00000100 +#define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200 +#define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400 + +#define LINEMEDIAMODE_UNKNOWN 0x00000002 +#define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004 +#define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008 +#define LINEMEDIAMODE_DATAMODEM 0x00000010 +#define LINEMEDIAMODE_G3FAX 0x00000020 +#define LINEMEDIAMODE_TDD 0x00000040 +#define LINEMEDIAMODE_G4FAX 0x00000080 +#define LINEMEDIAMODE_DIGITALDATA 0x00000100 +#define LINEMEDIAMODE_TELETEX 0x00000200 +#define LINEMEDIAMODE_VIDEOTEX 0x00000400 +#define LINEMEDIAMODE_TELEX 0x00000800 +#define LINEMEDIAMODE_MIXED 0x00001000 +#define LINEMEDIAMODE_ADSI 0x00002000 +#define LINEMEDIAMODE_VOICEVIEW 0x00004000 +#define LINEMEDIAMODE_VIDEO 0x00008000 +#define LAST_LINEMEDIAMODE 0x00008000 + +#define LINEOFFERINGMODE_ACTIVE 0x00000001 +#define LINEOFFERINGMODE_INACTIVE 0x00000002 + +#define LINEOPENOPTION_SINGLEADDRESS 0x80000000 +#define LINEOPENOPTION_PROXY 0x40000000 + +#define LINEPARKMODE_DIRECTED 0x00000001 +#define LINEPARKMODE_NONDIRECTED 0x00000002 + +#define LINEPROXYREQUEST_SETAGENTGROUP 0x00000001 +#define LINEPROXYREQUEST_SETAGENTSTATE 0x00000002 +#define LINEPROXYREQUEST_SETAGENTACTIVITY 0x00000003 +#define LINEPROXYREQUEST_GETAGENTCAPS 0x00000004 +#define LINEPROXYREQUEST_GETAGENTSTATUS 0x00000005 +#define LINEPROXYREQUEST_AGENTSPECIFIC 0x00000006 +#define LINEPROXYREQUEST_GETAGENTACTIVITYLIST 0x00000007 +#define LINEPROXYREQUEST_GETAGENTGROUPLIST 0x00000008 + +#define LINEPROXYREQUEST_CREATEAGENT 0x00000009 +#define LINEPROXYREQUEST_SETAGENTMEASUREMENTPERIOD 0x0000000A +#define LINEPROXYREQUEST_GETAGENTINFO 0x0000000B +#define LINEPROXYREQUEST_CREATEAGENTSESSION 0x0000000C +#define LINEPROXYREQUEST_GETAGENTSESSIONLIST 0x0000000D +#define LINEPROXYREQUEST_SETAGENTSESSIONSTATE 0x0000000E +#define LINEPROXYREQUEST_GETAGENTSESSIONINFO 0x0000000F +#define LINEPROXYREQUEST_GETQUEUELIST 0x00000010 +#define LINEPROXYREQUEST_SETQUEUEMEASUREMENTPERIOD 0x00000011 +#define LINEPROXYREQUEST_GETQUEUEINFO 0x00000012 +#define LINEPROXYREQUEST_GETGROUPLIST 0x00000013 +#define LINEPROXYREQUEST_SETAGENTSTATEEX 0x00000014 + +#define LINEREMOVEFROMCONF_NONE 0x00000001 +#define LINEREMOVEFROMCONF_LAST 0x00000002 +#define LINEREMOVEFROMCONF_ANY 0x00000003 + +#define LINEREQUESTMODE_MAKECALL 0x00000001 +#define LINEREQUESTMODE_MEDIACALL 0x00000002 +#define LINEREQUESTMODE_DROP 0x00000004 +#define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL + +#define LINEROAMMODE_UNKNOWN 0x00000001 +#define LINEROAMMODE_UNAVAIL 0x00000002 +#define LINEROAMMODE_HOME 0x00000004 +#define LINEROAMMODE_ROAMA 0x00000008 +#define LINEROAMMODE_ROAMB 0x00000010 + +#define LINESPECIALINFO_NOCIRCUIT 0x00000001 +#define LINESPECIALINFO_CUSTIRREG 0x00000002 +#define LINESPECIALINFO_REORDER 0x00000004 +#define LINESPECIALINFO_UNKNOWN 0x00000008 +#define LINESPECIALINFO_UNAVAIL 0x00000010 + +#define LINETERMDEV_PHONE 0x00000001 +#define LINETERMDEV_HEADSET 0x00000002 +#define LINETERMDEV_SPEAKER 0x00000004 + +#define LINETERMMODE_BUTTONS 0x00000001 +#define LINETERMMODE_LAMPS 0x00000002 +#define LINETERMMODE_DISPLAY 0x00000004 +#define LINETERMMODE_RINGER 0x00000008 +#define LINETERMMODE_HOOKSWITCH 0x00000010 +#define LINETERMMODE_MEDIATOLINE 0x00000020 +#define LINETERMMODE_MEDIAFROMLINE 0x00000040 +#define LINETERMMODE_MEDIABIDIRECT 0x00000080 + +#define LINETERMSHARING_PRIVATE 0x00000001 +#define LINETERMSHARING_SHAREDEXCL 0x00000002 +#define LINETERMSHARING_SHAREDCONF 0x00000004 + +#define LINETOLLLISTOPTION_ADD 0x00000001 +#define LINETOLLLISTOPTION_REMOVE 0x00000002 + +#define LINETONEMODE_CUSTOM 0x00000001 +#define LINETONEMODE_RINGBACK 0x00000002 +#define LINETONEMODE_BUSY 0x00000004 +#define LINETONEMODE_BEEP 0x00000008 +#define LINETONEMODE_BILLING 0x00000010 + +#define LINETRANSFERMODE_TRANSFER 0x00000001 +#define LINETRANSFERMODE_CONFERENCE 0x00000002 + +#define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001 +#define LINETRANSLATEOPTION_CANCELCALLWAITING 0x00000002 +#define LINETRANSLATEOPTION_FORCELOCAL 0x00000004 +#define LINETRANSLATEOPTION_FORCELD 0x00000008 + +#define LINETRANSLATERESULT_CANONICAL 0x00000001 +#define LINETRANSLATERESULT_INTERNATIONAL 0x00000002 +#define LINETRANSLATERESULT_LONGDISTANCE 0x00000004 +#define LINETRANSLATERESULT_LOCAL 0x00000008 +#define LINETRANSLATERESULT_INTOLLLIST 0x00000010 +#define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020 +#define LINETRANSLATERESULT_DIALBILLING 0x00000040 +#define LINETRANSLATERESULT_DIALQUIET 0x00000080 +#define LINETRANSLATERESULT_DIALDIALTONE 0x00000100 +#define LINETRANSLATERESULT_DIALPROMPT 0x00000200 +#define LINETRANSLATERESULT_VOICEDETECT 0x00000400 +#define LINETRANSLATERESULT_NOTRANSLATION 0x00000800 + +#define PHONEBUTTONFUNCTION_UNKNOWN 0x00000000 +#define PHONEBUTTONFUNCTION_CONFERENCE 0x00000001 +#define PHONEBUTTONFUNCTION_TRANSFER 0x00000002 +#define PHONEBUTTONFUNCTION_DROP 0x00000003 +#define PHONEBUTTONFUNCTION_HOLD 0x00000004 +#define PHONEBUTTONFUNCTION_RECALL 0x00000005 +#define PHONEBUTTONFUNCTION_DISCONNECT 0x00000006 +#define PHONEBUTTONFUNCTION_CONNECT 0x00000007 +#define PHONEBUTTONFUNCTION_MSGWAITON 0x00000008 +#define PHONEBUTTONFUNCTION_MSGWAITOFF 0x00000009 +#define PHONEBUTTONFUNCTION_SELECTRING 0x0000000A +#define PHONEBUTTONFUNCTION_ABBREVDIAL 0x0000000B +#define PHONEBUTTONFUNCTION_FORWARD 0x0000000C +#define PHONEBUTTONFUNCTION_PICKUP 0x0000000D +#define PHONEBUTTONFUNCTION_RINGAGAIN 0x0000000E +#define PHONEBUTTONFUNCTION_PARK 0x0000000F +#define PHONEBUTTONFUNCTION_REJECT 0x00000010 +#define PHONEBUTTONFUNCTION_REDIRECT 0x00000011 +#define PHONEBUTTONFUNCTION_MUTE 0x00000012 +#define PHONEBUTTONFUNCTION_VOLUMEUP 0x00000013 +#define PHONEBUTTONFUNCTION_VOLUMEDOWN 0x00000014 +#define PHONEBUTTONFUNCTION_SPEAKERON 0x00000015 +#define PHONEBUTTONFUNCTION_SPEAKEROFF 0x00000016 +#define PHONEBUTTONFUNCTION_FLASH 0x00000017 +#define PHONEBUTTONFUNCTION_DATAON 0x00000018 +#define PHONEBUTTONFUNCTION_DATAOFF 0x00000019 +#define PHONEBUTTONFUNCTION_DONOTDISTURB 0x0000001A +#define PHONEBUTTONFUNCTION_INTERCOM 0x0000001B +#define PHONEBUTTONFUNCTION_BRIDGEDAPP 0x0000001C +#define PHONEBUTTONFUNCTION_BUSY 0x0000001D +#define PHONEBUTTONFUNCTION_CALLAPP 0x0000001E +#define PHONEBUTTONFUNCTION_DATETIME 0x0000001F +#define PHONEBUTTONFUNCTION_DIRECTORY 0x00000020 +#define PHONEBUTTONFUNCTION_COVER 0x00000021 +#define PHONEBUTTONFUNCTION_CALLID 0x00000022 +#define PHONEBUTTONFUNCTION_LASTNUM 0x00000023 +#define PHONEBUTTONFUNCTION_NIGHTSRV 0x00000024 +#define PHONEBUTTONFUNCTION_SENDCALLS 0x00000025 +#define PHONEBUTTONFUNCTION_MSGINDICATOR 0x00000026 +#define PHONEBUTTONFUNCTION_REPDIAL 0x00000027 +#define PHONEBUTTONFUNCTION_SETREPDIAL 0x00000028 +#define PHONEBUTTONFUNCTION_SYSTEMSPEED 0x00000029 +#define PHONEBUTTONFUNCTION_STATIONSPEED 0x0000002A +#define PHONEBUTTONFUNCTION_CAMPON 0x0000002B +#define PHONEBUTTONFUNCTION_SAVEREPEAT 0x0000002C +#define PHONEBUTTONFUNCTION_QUEUECALL 0x0000002D +#define PHONEBUTTONFUNCTION_NONE 0x0000002E +#define PHONEBUTTONFUNCTION_SEND 0x0000002F + +#define PHONEBUTTONMODE_DUMMY 0x00000001 +#define PHONEBUTTONMODE_CALL 0x00000002 +#define PHONEBUTTONMODE_FEATURE 0x00000004 +#define PHONEBUTTONMODE_KEYPAD 0x00000008 +#define PHONEBUTTONMODE_LOCAL 0x00000010 +#define PHONEBUTTONMODE_DISPLAY 0x00000020 + +#define PHONEBUTTONSTATE_UP 0x00000001 +#define PHONEBUTTONSTATE_DOWN 0x00000002 +#define PHONEBUTTONSTATE_UNKNOWN 0x00000004 +#define PHONEBUTTONSTATE_UNAVAIL 0x00000008 + +#define PHONEERR_ALLOCATED 0x90000001 +#define PHONEERR_BADDEVICEID 0x90000002 +#define PHONEERR_INCOMPATIBLEAPIVERSION 0x90000003 +#define PHONEERR_INCOMPATIBLEEXTVERSION 0x90000004 +#define PHONEERR_INIFILECORRUPT 0x90000005 +#define PHONEERR_INUSE 0x90000006 +#define PHONEERR_INVALAPPHANDLE 0x90000007 +#define PHONEERR_INVALAPPNAME 0x90000008 +#define PHONEERR_INVALBUTTONLAMPID 0x90000009 +#define PHONEERR_INVALBUTTONMODE 0x9000000A +#define PHONEERR_INVALBUTTONSTATE 0x9000000B +#define PHONEERR_INVALDATAID 0x9000000C +#define PHONEERR_INVALDEVICECLASS 0x9000000D +#define PHONEERR_INVALEXTVERSION 0x9000000E +#define PHONEERR_INVALHOOKSWITCHDEV 0x9000000F +#define PHONEERR_INVALHOOKSWITCHMODE 0x90000010 +#define PHONEERR_INVALLAMPMODE 0x90000011 +#define PHONEERR_INVALPARAM 0x90000012 +#define PHONEERR_INVALPHONEHANDLE 0x90000013 +#define PHONEERR_INVALPHONESTATE 0x90000014 +#define PHONEERR_INVALPOINTER 0x90000015 +#define PHONEERR_INVALPRIVILEGE 0x90000016 +#define PHONEERR_INVALRINGMODE 0x90000017 +#define PHONEERR_NODEVICE 0x90000018 +#define PHONEERR_NODRIVER 0x90000019 +#define PHONEERR_NOMEM 0x9000001A +#define PHONEERR_NOTOWNER 0x9000001B +#define PHONEERR_OPERATIONFAILED 0x9000001C +#define PHONEERR_OPERATIONUNAVAIL 0x9000001D +#define PHONEERR_RESOURCEUNAVAIL 0x9000001F +#define PHONEERR_REQUESTOVERRUN 0x90000020 +#define PHONEERR_STRUCTURETOOSMALL 0x90000021 +#define PHONEERR_UNINITIALIZED 0x90000022 +#define PHONEERR_REINIT 0x90000023 +#define PHONEERR_DISCONNECTED 0x90000024 +#define PHONEERR_SERVICE_NOT_RUNNING 0x90000025 + +#define PHONEFEATURE_GETBUTTONINFO 0x00000001 +#define PHONEFEATURE_GETDATA 0x00000002 +#define PHONEFEATURE_GETDISPLAY 0x00000004 +#define PHONEFEATURE_GETGAINHANDSET 0x00000008 +#define PHONEFEATURE_GETGAINSPEAKER 0x00000010 +#define PHONEFEATURE_GETGAINHEADSET 0x00000020 +#define PHONEFEATURE_GETHOOKSWITCHHANDSET 0x00000040 +#define PHONEFEATURE_GETHOOKSWITCHSPEAKER 0x00000080 +#define PHONEFEATURE_GETHOOKSWITCHHEADSET 0x00000100 +#define PHONEFEATURE_GETLAMP 0x00000200 +#define PHONEFEATURE_GETRING 0x00000400 +#define PHONEFEATURE_GETVOLUMEHANDSET 0x00000800 +#define PHONEFEATURE_GETVOLUMESPEAKER 0x00001000 +#define PHONEFEATURE_GETVOLUMEHEADSET 0x00002000 +#define PHONEFEATURE_SETBUTTONINFO 0x00004000 +#define PHONEFEATURE_SETDATA 0x00008000 +#define PHONEFEATURE_SETDISPLAY 0x00010000 +#define PHONEFEATURE_SETGAINHANDSET 0x00020000 +#define PHONEFEATURE_SETGAINSPEAKER 0x00040000 +#define PHONEFEATURE_SETGAINHEADSET 0x00080000 +#define PHONEFEATURE_SETHOOKSWITCHHANDSET 0x00100000 +#define PHONEFEATURE_SETHOOKSWITCHSPEAKER 0x00200000 +#define PHONEFEATURE_SETHOOKSWITCHHEADSET 0x00400000 +#define PHONEFEATURE_SETLAMP 0x00800000 +#define PHONEFEATURE_SETRING 0x01000000 +#define PHONEFEATURE_SETVOLUMEHANDSET 0x02000000 +#define PHONEFEATURE_SETVOLUMESPEAKER 0x04000000 +#define PHONEFEATURE_SETVOLUMEHEADSET 0x08000000 +#define PHONEFEATURE_GENERICPHONE 0x10000000 + +#define PHONEHOOKSWITCHDEV_HANDSET 0x00000001 +#define PHONEHOOKSWITCHDEV_SPEAKER 0x00000002 +#define PHONEHOOKSWITCHDEV_HEADSET 0x00000004 + +#define PHONEHOOKSWITCHMODE_ONHOOK 0x00000001 +#define PHONEHOOKSWITCHMODE_MIC 0x00000002 +#define PHONEHOOKSWITCHMODE_SPEAKER 0x00000004 +#define PHONEHOOKSWITCHMODE_MICSPEAKER 0x00000008 +#define PHONEHOOKSWITCHMODE_UNKNOWN 0x00000010 + +#define PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 +#define PHONEINITIALIZEEXOPTION_USEEVENT 0x00000002 +#define PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000003 + +#define PHONELAMPMODE_DUMMY 0x00000001 +#define PHONELAMPMODE_OFF 0x00000002 +#define PHONELAMPMODE_STEADY 0x00000004 +#define PHONELAMPMODE_WINK 0x00000008 +#define PHONELAMPMODE_FLASH 0x00000010 +#define PHONELAMPMODE_FLUTTER 0x00000020 +#define PHONELAMPMODE_BROKENFLUTTER 0x00000040 +#define PHONELAMPMODE_UNKNOWN 0x00000080 + +#define PHONEPRIVILEGE_MONITOR 0x00000001 +#define PHONEPRIVILEGE_OWNER 0x00000002 + +#define PHONESTATE_OTHER 0x00000001 +#define PHONESTATE_CONNECTED 0x00000002 +#define PHONESTATE_DISCONNECTED 0x00000004 +#define PHONESTATE_OWNER 0x00000008 +#define PHONESTATE_MONITORS 0x00000010 +#define PHONESTATE_DISPLAY 0x00000020 +#define PHONESTATE_LAMP 0x00000040 +#define PHONESTATE_RINGMODE 0x00000080 +#define PHONESTATE_RINGVOLUME 0x00000100 +#define PHONESTATE_HANDSETHOOKSWITCH 0x00000200 +#define PHONESTATE_HANDSETVOLUME 0x00000400 +#define PHONESTATE_HANDSETGAIN 0x00000800 +#define PHONESTATE_SPEAKERHOOKSWITCH 0x00001000 +#define PHONESTATE_SPEAKERVOLUME 0x00002000 +#define PHONESTATE_SPEAKERGAIN 0x00004000 +#define PHONESTATE_HEADSETHOOKSWITCH 0x00008000 +#define PHONESTATE_HEADSETVOLUME 0x00010000 +#define PHONESTATE_HEADSETGAIN 0x00020000 +#define PHONESTATE_SUSPEND 0x00040000 +#define PHONESTATE_RESUME 0x00080000 +#define PHONESTATE_DEVSPECIFIC 0x00100000 +#define PHONESTATE_REINIT 0x00200000 +#define PHONESTATE_CAPSCHANGE 0x00400000 +#define PHONESTATE_REMOVED 0x00800000 + +#define PHONESTATUSFLAGS_CONNECTED 0x00000001 +#define PHONESTATUSFLAGS_SUSPENDED 0x00000002 + +#define STRINGFORMAT_ASCII 0x00000001 +#define STRINGFORMAT_DBCS 0x00000002 +#define STRINGFORMAT_UNICODE 0x00000003 +#define STRINGFORMAT_BINARY 0x00000004 + +#define TAPI_REPLY WM_USER + 99 + +#define TAPIERR_CONNECTED 0L +#define TAPIERR_DROPPED -1L +#define TAPIERR_NOREQUESTRECIPIENT -2L +#define TAPIERR_REQUESTQUEUEFULL -3L +#define TAPIERR_INVALDESTADDRESS -4L +#define TAPIERR_INVALWINDOWHANDLE -5L +#define TAPIERR_INVALDEVICECLASS -6L +#define TAPIERR_INVALDEVICEID -7L +#define TAPIERR_DEVICECLASSUNAVAIL -8L +#define TAPIERR_DEVICEIDUNAVAIL -9L +#define TAPIERR_DEVICEINUSE -10L +#define TAPIERR_DESTBUSY -11L +#define TAPIERR_DESTNOANSWER -12L +#define TAPIERR_DESTUNAVAIL -13L +#define TAPIERR_UNKNOWNWINHANDLE -14L +#define TAPIERR_UNKNOWNREQUESTID -15L +#define TAPIERR_REQUESTFAILED -16L +#define TAPIERR_REQUESTCANCELLED -17L +#define TAPIERR_INVALPOINTER -18L +#define TAPIERR_NOTADMIN -19L +#define TAPIERR_MMCWRITELOCKED -20L +#define TAPIERR_PROVIDERALREADYINSTALLED -21L +#define TAPIERR_SCP_ALREADY_EXISTS -22L +#define TAPIERR_SCP_DOES_NOT_EXIST -23L + +#define TAPIMAXDESTADDRESSSIZE 80L +#define TAPIMAXAPPNAMESIZE 40L +#define TAPIMAXCALLEDPARTYSIZE 40L +#define TAPIMAXCOMMENTSIZE 80L +#define TAPIMAXDEVICECLASSSIZE 40L +#define TAPIMAXDEVICEIDSIZE 40L + +#ifndef GUID_DEFINED +#define GUID_DEFINED + typedef struct _GUID { + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; + } GUID; +#endif + +#ifndef __LPGUID_DEFINED__ +#define __LPGUID_DEFINED__ + typedef GUID *LPGUID; +#endif + + typedef struct lineaddresscaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwLineDeviceID; + DWORD dwAddressSize; + DWORD dwAddressOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwAddressSharing; + DWORD dwAddressStates; + DWORD dwCallInfoStates; + DWORD dwCallerIDFlags; + DWORD dwCalledIDFlags; + DWORD dwConnectedIDFlags; + DWORD dwRedirectionIDFlags; + DWORD dwRedirectingIDFlags; + DWORD dwCallStates; + DWORD dwDialToneModes; + DWORD dwBusyModes; + DWORD dwSpecialInfo; + DWORD dwDisconnectModes; + DWORD dwMaxNumActiveCalls; + DWORD dwMaxNumOnHoldCalls; + DWORD dwMaxNumOnHoldPendingCalls; + DWORD dwMaxNumConference; + DWORD dwMaxNumTransConf; + DWORD dwAddrCapFlags; + DWORD dwCallFeatures; + DWORD dwRemoveFromConfCaps; + DWORD dwRemoveFromConfState; + DWORD dwTransferModes; + DWORD dwParkModes; + DWORD dwForwardModes; + DWORD dwMaxForwardEntries; + DWORD dwMaxSpecificEntries; + DWORD dwMinFwdNumRings; + DWORD dwMaxFwdNumRings; + DWORD dwMaxCallCompletions; + DWORD dwCallCompletionConds; + DWORD dwCallCompletionModes; + DWORD dwNumCompletionMessages; + DWORD dwCompletionMsgTextEntrySize; + DWORD dwCompletionMsgTextSize; + DWORD dwCompletionMsgTextOffset; + DWORD dwAddressFeatures; + DWORD dwPredictiveAutoTransferStates; + DWORD dwNumCallTreatments; + DWORD dwCallTreatmentListSize; + DWORD dwCallTreatmentListOffset; + DWORD dwDeviceClassesSize; + DWORD dwDeviceClassesOffset; + DWORD dwMaxCallDataSize; + DWORD dwCallFeatures2; + DWORD dwMaxNoAnswerTimeout; + DWORD dwConnectedModes; + DWORD dwOfferingModes; + DWORD dwAvailableMediaModes; + } LINEADDRESSCAPS,*LPLINEADDRESSCAPS; + + typedef struct lineaddressstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumInUse; + DWORD dwNumActiveCalls; + DWORD dwNumOnHoldCalls; + DWORD dwNumOnHoldPendCalls; + DWORD dwAddressFeatures; + DWORD dwNumRingsNoAnswer; + DWORD dwForwardNumEntries; + DWORD dwForwardSize; + DWORD dwForwardOffset; + DWORD dwTerminalModesSize; + DWORD dwTerminalModesOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + } LINEADDRESSSTATUS,*LPLINEADDRESSSTATUS; + + typedef struct lineagentactivityentry_tag { + DWORD dwID; + DWORD dwNameSize; + DWORD dwNameOffset; + } LINEAGENTACTIVITYENTRY,*LPLINEAGENTACTIVITYENTRY; + + typedef struct lineagentactivitylist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTACTIVITYLIST,*LPLINEAGENTACTIVITYLIST; + + typedef struct lineagentcaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAgentHandlerInfoSize; + DWORD dwAgentHandlerInfoOffset; + DWORD dwCapsVersion; + DWORD dwFeatures; + DWORD dwStates; + DWORD dwNextStates; + DWORD dwMaxNumGroupEntries; + DWORD dwAgentStatusMessages; + DWORD dwNumAgentExtensionIDs; + DWORD dwAgentExtensionIDListSize; + DWORD dwAgentExtensionIDListOffset; + GUID ProxyGUID; + } LINEAGENTCAPS,*LPLINEAGENTCAPS; + + typedef struct lineagentgroupentry_tag { + struct { + DWORD dwGroupID1; + DWORD dwGroupID2; + DWORD dwGroupID3; + DWORD dwGroupID4; + } GroupID; + DWORD dwNameSize; + DWORD dwNameOffset; + } LINEAGENTGROUPENTRY,*LPLINEAGENTGROUPENTRY; + + typedef struct lineagentgrouplist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTGROUPLIST,*LPLINEAGENTGROUPLIST; + + typedef struct lineagentstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwGroupListSize; + DWORD dwGroupListOffset; + DWORD dwState; + DWORD dwNextState; + DWORD dwActivityID; + DWORD dwActivitySize; + DWORD dwActivityOffset; + DWORD dwAgentFeatures; + DWORD dwValidStates; + DWORD dwValidNextStates; + } LINEAGENTSTATUS,*LPLINEAGENTSTATUS; + + typedef struct lineappinfo_tag { + DWORD dwMachineNameSize; + DWORD dwMachineNameOffset; + DWORD dwUserNameSize; + DWORD dwUserNameOffset; + DWORD dwModuleFilenameSize; + DWORD dwModuleFilenameOffset; + DWORD dwFriendlyNameSize; + DWORD dwFriendlyNameOffset; + DWORD dwMediaModes; + DWORD dwAddressID; + } LINEAPPINFO,*LPLINEAPPINFO; + + typedef struct lineagententry_tag { + HAGENT hAgent; + DWORD dwNameSize; + DWORD dwNameOffset; + DWORD dwIDSize; + DWORD dwIDOffset; + DWORD dwPINSize; + DWORD dwPINOffset; + } LINEAGENTENTRY,*LPLINEAGENTENTRY; + + typedef struct lineagentlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTLIST,*LPLINEAGENTLIST; + + typedef struct lineagentinfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAgentState; + DWORD dwNextAgentState; + DWORD dwMeasurementPeriod; + CURRENCY cyOverallCallRate; + DWORD dwNumberOfACDCalls; + DWORD dwNumberOfIncomingCalls; + DWORD dwNumberOfOutgoingCalls; + DWORD dwTotalACDTalkTime; + DWORD dwTotalACDCallTime; + DWORD dwTotalACDWrapUpTime; + } LINEAGENTINFO,*LPLINEAGENTINFO; + + typedef struct lineagentsession_tag { + HAGENTSESSION hAgentSession; + HAGENT hAgent; + GUID GroupID; + DWORD dwWorkingAddressID; + } LINEAGENTSESSIONENTRY ,*LPLINEAGENTSESSIONENTRY; + + typedef struct lineagentsessionlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTSESSIONLIST,*LPLINEAGENTSESSIONLIST; + + typedef struct lineagentsessioninfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAgentSessionState; + DWORD dwNextAgentSessionState; + DATE dateSessionStartTime; + DWORD dwSessionDuration; + DWORD dwNumberOfCalls; + DWORD dwTotalTalkTime; + DWORD dwAverageTalkTime; + DWORD dwTotalCallTime; + DWORD dwAverageCallTime; + DWORD dwTotalWrapUpTime; + DWORD dwAverageWrapUpTime; + CURRENCY cyACDCallRate; + DWORD dwLongestTimeToAnswer; + DWORD dwAverageTimeToAnswer; + } LINEAGENTSESSIONINFO,*LPLINEAGENTSESSIONINFO; + + typedef struct linequeueentry_tag { + DWORD dwQueueID; + DWORD dwNameSize; + DWORD dwNameOffset; + } LINEQUEUEENTRY,*LPLINEQUEUEENTRY; + + typedef struct linequeuelist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEQUEUELIST,*LPLINEQUEUELIST; + + typedef struct linequeueinfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwMeasurementPeriod; + DWORD dwTotalCallsQueued; + DWORD dwCurrentCallsQueued; + DWORD dwTotalCallsAbandoned; + DWORD dwTotalCallsFlowedIn; + DWORD dwTotalCallsFlowedOut; + DWORD dwLongestEverWaitTime; + DWORD dwCurrentLongestWaitTime; + DWORD dwAverageWaitTime; + DWORD dwFinalDisposition; + } LINEQUEUEINFO,*LPLINEQUEUEINFO; + + typedef struct lineproxyrequestlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEPROXYREQUESTLIST,*LPLINEPROXYREQUESTLIST; + + typedef struct linecallhubtrackinginfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAvailableTracking; + DWORD dwCurrentTracking; + } LINECALLHUBTRACKINGINFO,*LPLINECALLHUBTRACKINGINFO; + + typedef struct linedialparams_tag { + DWORD dwDialPause; + DWORD dwDialSpeed; + DWORD dwDigitDuration; + DWORD dwWaitForDialtone; + } LINEDIALPARAMS,*LPLINEDIALPARAMS; + + typedef struct linecallinfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + HLINE hLine; + DWORD dwLineDeviceID; + DWORD dwAddressID; + DWORD dwBearerMode; + DWORD dwRate; + DWORD dwMediaMode; + DWORD dwAppSpecific; + DWORD dwCallID; + DWORD dwRelatedCallID; + DWORD dwCallParamFlags; + DWORD dwCallStates; + DWORD dwMonitorDigitModes; + DWORD dwMonitorMediaModes; + LINEDIALPARAMS DialParams; + DWORD dwOrigin; + DWORD dwReason; + DWORD dwCompletionID; + DWORD dwNumOwners; + DWORD dwNumMonitors; + DWORD dwCountryCode; + DWORD dwTrunk; + DWORD dwCallerIDFlags; + DWORD dwCallerIDSize; + DWORD dwCallerIDOffset; + DWORD dwCallerIDNameSize; + DWORD dwCallerIDNameOffset; + DWORD dwCalledIDFlags; + DWORD dwCalledIDSize; + DWORD dwCalledIDOffset; + DWORD dwCalledIDNameSize; + DWORD dwCalledIDNameOffset; + DWORD dwConnectedIDFlags; + DWORD dwConnectedIDSize; + DWORD dwConnectedIDOffset; + DWORD dwConnectedIDNameSize; + DWORD dwConnectedIDNameOffset; + DWORD dwRedirectionIDFlags; + DWORD dwRedirectionIDSize; + DWORD dwRedirectionIDOffset; + DWORD dwRedirectionIDNameSize; + DWORD dwRedirectionIDNameOffset; + DWORD dwRedirectingIDFlags; + DWORD dwRedirectingIDSize; + DWORD dwRedirectingIDOffset; + DWORD dwRedirectingIDNameSize; + DWORD dwRedirectingIDNameOffset; + DWORD dwAppNameSize; + DWORD dwAppNameOffset; + DWORD dwDisplayableAddressSize; + DWORD dwDisplayableAddressOffset; + DWORD dwCalledPartySize; + DWORD dwCalledPartyOffset; + DWORD dwCommentSize; + DWORD dwCommentOffset; + DWORD dwDisplaySize; + DWORD dwDisplayOffset; + DWORD dwUserUserInfoSize; + DWORD dwUserUserInfoOffset; + DWORD dwHighLevelCompSize; + DWORD dwHighLevelCompOffset; + DWORD dwLowLevelCompSize; + DWORD dwLowLevelCompOffset; + DWORD dwChargingInfoSize; + DWORD dwChargingInfoOffset; + DWORD dwTerminalModesSize; + DWORD dwTerminalModesOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwCallTreatment; + DWORD dwCallDataSize; + DWORD dwCallDataOffset; + DWORD dwSendingFlowspecSize; + DWORD dwSendingFlowspecOffset; + DWORD dwReceivingFlowspecSize; + DWORD dwReceivingFlowspecOffset; + DWORD dwCallerIDAddressType; + DWORD dwCalledIDAddressType; + DWORD dwConnectedIDAddressType; + DWORD dwRedirectionIDAddressType; + DWORD dwRedirectingIDAddressType; + } LINECALLINFO,*LPLINECALLINFO; + + typedef struct linecalllist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwCallsNumEntries; + DWORD dwCallsSize; + DWORD dwCallsOffset; + } LINECALLLIST,*LPLINECALLLIST; + + typedef struct linecallparams_tag { + DWORD dwTotalSize; + DWORD dwBearerMode; + DWORD dwMinRate; + DWORD dwMaxRate; + DWORD dwMediaMode; + DWORD dwCallParamFlags; + DWORD dwAddressMode; + DWORD dwAddressID; + LINEDIALPARAMS DialParams; + DWORD dwOrigAddressSize; + DWORD dwOrigAddressOffset; + DWORD dwDisplayableAddressSize; + DWORD dwDisplayableAddressOffset; + DWORD dwCalledPartySize; + DWORD dwCalledPartyOffset; + DWORD dwCommentSize; + DWORD dwCommentOffset; + DWORD dwUserUserInfoSize; + DWORD dwUserUserInfoOffset; + DWORD dwHighLevelCompSize; + DWORD dwHighLevelCompOffset; + DWORD dwLowLevelCompSize; + DWORD dwLowLevelCompOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwPredictiveAutoTransferStates; + DWORD dwTargetAddressSize; + DWORD dwTargetAddressOffset; + DWORD dwSendingFlowspecSize; + DWORD dwSendingFlowspecOffset; + DWORD dwReceivingFlowspecSize; + DWORD dwReceivingFlowspecOffset; + DWORD dwDeviceClassSize; + DWORD dwDeviceClassOffset; + DWORD dwDeviceConfigSize; + DWORD dwDeviceConfigOffset; + DWORD dwCallDataSize; + DWORD dwCallDataOffset; + DWORD dwNoAnswerTimeout; + DWORD dwCallingPartyIDSize; + DWORD dwCallingPartyIDOffset; + DWORD dwAddressType; + } LINECALLPARAMS,*LPLINECALLPARAMS; + + typedef struct linecallstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwCallState; + DWORD dwCallStateMode; + DWORD dwCallPrivilege; + DWORD dwCallFeatures; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwCallFeatures2; + SYSTEMTIME tStateEntryTime; + } LINECALLSTATUS,*LPLINECALLSTATUS; + + typedef struct linecalltreatmententry_tag { + DWORD dwCallTreatmentID; + DWORD dwCallTreatmentNameSize; + DWORD dwCallTreatmentNameOffset; + } LINECALLTREATMENTENTRY,*LPLINECALLTREATMENTENTRY; + + typedef struct linecardentry_tag { + DWORD dwPermanentCardID; + DWORD dwCardNameSize; + DWORD dwCardNameOffset; + DWORD dwCardNumberDigits; + DWORD dwSameAreaRuleSize; + DWORD dwSameAreaRuleOffset; + DWORD dwLongDistanceRuleSize; + DWORD dwLongDistanceRuleOffset; + DWORD dwInternationalRuleSize; + DWORD dwInternationalRuleOffset; + DWORD dwOptions; + } LINECARDENTRY,*LPLINECARDENTRY; + + typedef struct linecountryentry_tag { + DWORD dwCountryID; + DWORD dwCountryCode; + DWORD dwNextCountryID; + DWORD dwCountryNameSize; + DWORD dwCountryNameOffset; + DWORD dwSameAreaRuleSize; + DWORD dwSameAreaRuleOffset; + DWORD dwLongDistanceRuleSize; + DWORD dwLongDistanceRuleOffset; + DWORD dwInternationalRuleSize; + DWORD dwInternationalRuleOffset; + } LINECOUNTRYENTRY,*LPLINECOUNTRYENTRY; + + typedef struct linecountrylist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumCountries; + DWORD dwCountryListSize; + DWORD dwCountryListOffset; + } LINECOUNTRYLIST,*LPLINECOUNTRYLIST; + + typedef struct linedevcaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwProviderInfoSize; + DWORD dwProviderInfoOffset; + DWORD dwSwitchInfoSize; + DWORD dwSwitchInfoOffset; + DWORD dwPermanentLineID; + DWORD dwLineNameSize; + DWORD dwLineNameOffset; + DWORD dwStringFormat; + DWORD dwAddressModes; + DWORD dwNumAddresses; + DWORD dwBearerModes; + DWORD dwMaxRate; + DWORD dwMediaModes; + DWORD dwGenerateToneModes; + DWORD dwGenerateToneMaxNumFreq; + DWORD dwGenerateDigitModes; + DWORD dwMonitorToneMaxNumFreq; + DWORD dwMonitorToneMaxNumEntries; + DWORD dwMonitorDigitModes; + DWORD dwGatherDigitsMinTimeout; + DWORD dwGatherDigitsMaxTimeout; + DWORD dwMedCtlDigitMaxListSize; + DWORD dwMedCtlMediaMaxListSize; + DWORD dwMedCtlToneMaxListSize; + DWORD dwMedCtlCallStateMaxListSize; + DWORD dwDevCapFlags; + DWORD dwMaxNumActiveCalls; + DWORD dwAnswerMode; + DWORD dwRingModes; + DWORD dwLineStates; + DWORD dwUUIAcceptSize; + DWORD dwUUIAnswerSize; + DWORD dwUUIMakeCallSize; + DWORD dwUUIDropSize; + DWORD dwUUISendUserUserInfoSize; + DWORD dwUUICallInfoSize; + LINEDIALPARAMS MinDialParams; + LINEDIALPARAMS MaxDialParams; + LINEDIALPARAMS DefaultDialParams; + DWORD dwNumTerminals; + DWORD dwTerminalCapsSize; + DWORD dwTerminalCapsOffset; + DWORD dwTerminalTextEntrySize; + DWORD dwTerminalTextSize; + DWORD dwTerminalTextOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwLineFeatures; + DWORD dwSettableDevStatus; + DWORD dwDeviceClassesSize; + DWORD dwDeviceClassesOffset; + GUID PermanentLineGuid; + DWORD dwAddressTypes; + GUID ProtocolGuid; + DWORD dwAvailableTracking; + } LINEDEVCAPS,*LPLINEDEVCAPS; + + typedef struct linedevstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumOpens; + DWORD dwOpenMediaModes; + DWORD dwNumActiveCalls; + DWORD dwNumOnHoldCalls; + DWORD dwNumOnHoldPendCalls; + DWORD dwLineFeatures; + DWORD dwNumCallCompletions; + DWORD dwRingMode; + DWORD dwSignalLevel; + DWORD dwBatteryLevel; + DWORD dwRoamMode; + DWORD dwDevStatusFlags; + DWORD dwTerminalModesSize; + DWORD dwTerminalModesOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwAvailableMediaModes; + DWORD dwAppInfoSize; + DWORD dwAppInfoOffset; + } LINEDEVSTATUS,*LPLINEDEVSTATUS; + + typedef struct lineextensionid_tag { + DWORD dwExtensionID0; + DWORD dwExtensionID1; + DWORD dwExtensionID2; + DWORD dwExtensionID3; + } LINEEXTENSIONID,*LPLINEEXTENSIONID; + + typedef struct lineforward_tag { + DWORD dwForwardMode; + DWORD dwCallerAddressSize; + DWORD dwCallerAddressOffset; + DWORD dwDestCountryCode; + DWORD dwDestAddressSize; + DWORD dwDestAddressOffset; + DWORD dwCallerAddressType; + DWORD dwDestAddressType; + } LINEFORWARD,*LPLINEFORWARD; + + typedef struct lineforwardlist_tag { + DWORD dwTotalSize; + DWORD dwNumEntries; + LINEFORWARD ForwardList[1]; + } LINEFORWARDLIST,*LPLINEFORWARDLIST; + + typedef struct linegeneratetone_tag { + DWORD dwFrequency; + DWORD dwCadenceOn; + DWORD dwCadenceOff; + DWORD dwVolume; + } LINEGENERATETONE,*LPLINEGENERATETONE; + + typedef struct lineinitializeexparams_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwOptions; + union { + HANDLE hEvent; + HANDLE hCompletionPort; + } Handles; + DWORD dwCompletionKey; + } LINEINITIALIZEEXPARAMS,*LPLINEINITIALIZEEXPARAMS; + + typedef struct linelocationentry_tag { + DWORD dwPermanentLocationID; + DWORD dwLocationNameSize; + DWORD dwLocationNameOffset; + DWORD dwCountryCode; + DWORD dwCityCodeSize; + DWORD dwCityCodeOffset; + DWORD dwPreferredCardID; + DWORD dwLocalAccessCodeSize; + DWORD dwLocalAccessCodeOffset; + DWORD dwLongDistanceAccessCodeSize; + DWORD dwLongDistanceAccessCodeOffset; + DWORD dwTollPrefixListSize; + DWORD dwTollPrefixListOffset; + DWORD dwCountryID; + DWORD dwOptions; + DWORD dwCancelCallWaitingSize; + DWORD dwCancelCallWaitingOffset; + } LINELOCATIONENTRY,*LPLINELOCATIONENTRY; + + typedef struct linemediacontrolcallstate_tag { + DWORD dwCallStates; + DWORD dwMediaControl; + } LINEMEDIACONTROLCALLSTATE,*LPLINEMEDIACONTROLCALLSTATE; + + typedef struct linemediacontroldigit_tag { + DWORD dwDigit; + DWORD dwDigitModes; + DWORD dwMediaControl; + } LINEMEDIACONTROLDIGIT,*LPLINEMEDIACONTROLDIGIT; + + typedef struct linemediacontrolmedia_tag { + DWORD dwMediaModes; + DWORD dwDuration; + DWORD dwMediaControl; + } LINEMEDIACONTROLMEDIA,*LPLINEMEDIACONTROLMEDIA; + + typedef struct linemediacontroltone_tag { + DWORD dwAppSpecific; + DWORD dwDuration; + DWORD dwFrequency1; + DWORD dwFrequency2; + DWORD dwFrequency3; + DWORD dwMediaControl; + } LINEMEDIACONTROLTONE,*LPLINEMEDIACONTROLTONE; + + typedef struct linemessage_tag { + DWORD hDevice; + DWORD dwMessageID; + DWORD_PTR dwCallbackInstance; + DWORD_PTR dwParam1; + DWORD_PTR dwParam2; + DWORD_PTR dwParam3; + } LINEMESSAGE,*LPLINEMESSAGE; + + typedef struct linemonitortone_tag { + DWORD dwAppSpecific; + DWORD dwDuration; + DWORD dwFrequency1; + DWORD dwFrequency2; + DWORD dwFrequency3; + } LINEMONITORTONE,*LPLINEMONITORTONE; + + typedef struct lineproviderentry_tag { + DWORD dwPermanentProviderID; + DWORD dwProviderFilenameSize; + DWORD dwProviderFilenameOffset; + } LINEPROVIDERENTRY,*LPLINEPROVIDERENTRY; + + typedef struct lineproviderlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumProviders; + DWORD dwProviderListSize; + DWORD dwProviderListOffset; + } LINEPROVIDERLIST,*LPLINEPROVIDERLIST; + + typedef struct lineproxyrequest_tag { + DWORD dwSize; + DWORD dwClientMachineNameSize; + DWORD dwClientMachineNameOffset; + DWORD dwClientUserNameSize; + DWORD dwClientUserNameOffset; + DWORD dwClientAppAPIVersion; + DWORD dwRequestType; + __MINGW_EXTENSION union { + struct { + DWORD dwAddressID; + LINEAGENTGROUPLIST GroupList; + } SetAgentGroup; + struct { + DWORD dwAddressID; + DWORD dwAgentState; + DWORD dwNextAgentState; + } SetAgentState; + struct { + DWORD dwAddressID; + DWORD dwActivityID; + } SetAgentActivity; + struct { + DWORD dwAddressID; + LINEAGENTCAPS AgentCaps; + } GetAgentCaps; + struct { + DWORD dwAddressID; + LINEAGENTSTATUS AgentStatus; + } GetAgentStatus; + struct { + DWORD dwAddressID; + DWORD dwAgentExtensionIDIndex; + DWORD dwSize; + BYTE Params[1]; + } AgentSpecific; + struct { + DWORD dwAddressID; + LINEAGENTACTIVITYLIST ActivityList; + } GetAgentActivityList; + struct { + DWORD dwAddressID; + LINEAGENTGROUPLIST GroupList; + } GetAgentGroupList; + struct { + HAGENT hAgent; + DWORD dwAgentIDSize; + DWORD dwAgentIDOffset; + DWORD dwAgentPINSize; + DWORD dwAgentPINOffset; + } CreateAgent; + struct { + HAGENT hAgent; + DWORD dwAgentState; + DWORD dwNextAgentState; + } SetAgentStateEx; + struct { + HAGENT hAgent; + DWORD dwMeasurementPeriod; + } SetAgentMeasurementPeriod; + struct { + HAGENT hAgent; + LINEAGENTINFO AgentInfo; + } GetAgentInfo; + struct { + HAGENTSESSION hAgentSession; + DWORD dwAgentPINSize; + DWORD dwAgentPINOffset; + HAGENT hAgent; + GUID GroupID; + DWORD dwWorkingAddressID; + } CreateAgentSession; + struct { + HAGENT hAgent; + LINEAGENTSESSIONLIST SessionList; + } GetAgentSessionList; + struct { + HAGENTSESSION hAgentSession; + LINEAGENTSESSIONINFO SessionInfo; + } GetAgentSessionInfo; + struct { + HAGENTSESSION hAgentSession; + DWORD dwAgentSessionState; + DWORD dwNextAgentSessionState; + } SetAgentSessionState; + struct { + GUID GroupID; + LINEQUEUELIST QueueList; + } GetQueueList; + struct { + DWORD dwQueueID; + DWORD dwMeasurementPeriod; + } SetQueueMeasurementPeriod; + struct { + DWORD dwQueueID; + LINEQUEUEINFO QueueInfo; + } GetQueueInfo; + struct { + LINEAGENTGROUPLIST GroupList; + } GetGroupList; + }; + } LINEPROXYREQUEST,*LPLINEPROXYREQUEST; + + typedef struct linereqmakecall_tag { + char szDestAddress[TAPIMAXDESTADDRESSSIZE]; + char szAppName[TAPIMAXAPPNAMESIZE]; + char szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + char szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMAKECALL,*LPLINEREQMAKECALL; + + typedef struct linereqmakecallW_tag { + WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE]; + WCHAR szAppName[TAPIMAXAPPNAMESIZE]; + WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + WCHAR szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMAKECALLW,*LPLINEREQMAKECALLW; + +#ifdef UNICODE +#define LINEREQMAKECALL LINEREQMAKECALLW +#endif + + typedef struct linereqmediacall_tag { + HWND hWnd; + WPARAM wRequestID; + char szDeviceClass[TAPIMAXDEVICECLASSSIZE]; + unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE]; + DWORD dwSize; + DWORD dwSecure; + char szDestAddress[TAPIMAXDESTADDRESSSIZE]; + char szAppName[TAPIMAXAPPNAMESIZE]; + char szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + char szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMEDIACALL,*LPLINEREQMEDIACALL; + + typedef struct linereqmediacallW_tag { + HWND hWnd; + WPARAM wRequestID; + WCHAR szDeviceClass[TAPIMAXDEVICECLASSSIZE]; + unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE]; + DWORD dwSize; + DWORD dwSecure; + WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE]; + WCHAR szAppName[TAPIMAXAPPNAMESIZE]; + WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + WCHAR szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMEDIACALLW,*LPLINEREQMEDIACALLW; + +#ifdef UNICODE +#define LINEREQMEDIACALL LINEREQMEDIACALLW +#endif + + typedef struct linetermcaps_tag { + DWORD dwTermDev; + DWORD dwTermModes; + DWORD dwTermSharing; + } LINETERMCAPS,*LPLINETERMCAPS; + + typedef struct linetranslatecaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumLocations; + DWORD dwLocationListSize; + DWORD dwLocationListOffset; + DWORD dwCurrentLocationID; + DWORD dwNumCards; + DWORD dwCardListSize; + DWORD dwCardListOffset; + DWORD dwCurrentPreferredCardID; + } LINETRANSLATECAPS,*LPLINETRANSLATECAPS; + + typedef struct linetranslateoutput_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwDialableStringSize; + DWORD dwDialableStringOffset; + DWORD dwDisplayableStringSize; + DWORD dwDisplayableStringOffset; + DWORD dwCurrentCountry; + DWORD dwDestCountry; + DWORD dwTranslateResults; + } LINETRANSLATEOUTPUT,*LPLINETRANSLATEOUTPUT; + + typedef struct phonebuttoninfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwButtonMode; + DWORD dwButtonFunction; + DWORD dwButtonTextSize; + DWORD dwButtonTextOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwButtonState; + } PHONEBUTTONINFO,*LPPHONEBUTTONINFO; + + typedef struct phonecaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwProviderInfoSize; + DWORD dwProviderInfoOffset; + DWORD dwPhoneInfoSize; + DWORD dwPhoneInfoOffset; + DWORD dwPermanentPhoneID; + DWORD dwPhoneNameSize; + DWORD dwPhoneNameOffset; + DWORD dwStringFormat; + DWORD dwPhoneStates; + DWORD dwHookSwitchDevs; + DWORD dwHandsetHookSwitchModes; + DWORD dwSpeakerHookSwitchModes; + DWORD dwHeadsetHookSwitchModes; + DWORD dwVolumeFlags; + DWORD dwGainFlags; + DWORD dwDisplayNumRows; + DWORD dwDisplayNumColumns; + DWORD dwNumRingModes; + DWORD dwNumButtonLamps; + DWORD dwButtonModesSize; + DWORD dwButtonModesOffset; + DWORD dwButtonFunctionsSize; + DWORD dwButtonFunctionsOffset; + DWORD dwLampModesSize; + DWORD dwLampModesOffset; + DWORD dwNumSetData; + DWORD dwSetDataSize; + DWORD dwSetDataOffset; + DWORD dwNumGetData; + DWORD dwGetDataSize; + DWORD dwGetDataOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwDeviceClassesSize; + DWORD dwDeviceClassesOffset; + DWORD dwPhoneFeatures; + DWORD dwSettableHandsetHookSwitchModes; + DWORD dwSettableSpeakerHookSwitchModes; + DWORD dwSettableHeadsetHookSwitchModes; + DWORD dwMonitoredHandsetHookSwitchModes; + DWORD dwMonitoredSpeakerHookSwitchModes; + DWORD dwMonitoredHeadsetHookSwitchModes; + GUID PermanentPhoneGuid; + } PHONECAPS,*LPPHONECAPS; + + typedef struct phoneextensionid_tag { + DWORD dwExtensionID0; + DWORD dwExtensionID1; + DWORD dwExtensionID2; + DWORD dwExtensionID3; + } PHONEEXTENSIONID,*LPPHONEEXTENSIONID; + + typedef struct phoneinitializeexparams_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwOptions; + union { + HANDLE hEvent; + HANDLE hCompletionPort; + } Handles; + DWORD dwCompletionKey; + } PHONEINITIALIZEEXPARAMS,*LPPHONEINITIALIZEEXPARAMS; + + typedef struct phonemessage_tag { + DWORD hDevice; + DWORD dwMessageID; + DWORD_PTR dwCallbackInstance; + DWORD_PTR dwParam1; + DWORD_PTR dwParam2; + DWORD_PTR dwParam3; + } PHONEMESSAGE,*LPPHONEMESSAGE; + + typedef struct phonestatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwStatusFlags; + DWORD dwNumOwners; + DWORD dwNumMonitors; + DWORD dwRingMode; + DWORD dwRingVolume; + DWORD dwHandsetHookSwitchMode; + DWORD dwHandsetVolume; + DWORD dwHandsetGain; + DWORD dwSpeakerHookSwitchMode; + DWORD dwSpeakerVolume; + DWORD dwSpeakerGain; + DWORD dwHeadsetHookSwitchMode; + DWORD dwHeadsetVolume; + DWORD dwHeadsetGain; + DWORD dwDisplaySize; + DWORD dwDisplayOffset; + DWORD dwLampModesSize; + DWORD dwLampModesOffset; + DWORD dwOwnerNameSize; + DWORD dwOwnerNameOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwPhoneFeatures; + } PHONESTATUS,*LPPHONESTATUS; + + typedef struct varstring_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwStringFormat; + DWORD dwStringSize; + DWORD dwStringOffset; + } VARSTRING,*LPVARSTRING; + +#ifdef UNICODE +#define lineAddProvider lineAddProviderW +#define lineBlindTransfer lineBlindTransferW +#define lineConfigDialog lineConfigDialogW +#define lineConfigDialogEdit lineConfigDialogEditW +#define lineCreateAgent lineCreateAgentW +#define lineCreateAgent lineCreateAgentW +#define lineDial lineDialW +#define lineForward lineForwardW +#define lineGatherDigits lineGatherDigitsW +#define lineGenerateDigits lineGenerateDigitsW +#define lineGetAddressCaps lineGetAddressCapsW +#define lineGetAddressID lineGetAddressIDW +#define lineGetAddressStatus lineGetAddressStatusW +#define lineGetAgentActivityList lineGetAgentActivityListW +#define lineGetAgentCaps lineGetAgentCapsW +#define lineGetAgentGroupList lineGetAgentGroupListW +#define lineGetAgentStatus lineGetAgentStatusW +#define lineGetAppPriority lineGetAppPriorityW +#define lineGetCallInfo lineGetCallInfoW +#define lineGetCountry lineGetCountryW +#define lineGetDevCaps lineGetDevCapsW +#define lineGetDevConfig lineGetDevConfigW +#define lineGetGroupList lineGetGroupListW +#define lineGetIcon lineGetIconW +#define lineGetID lineGetIDW +#define lineGetDevStatus lineGetDevStatusW +#define lineGetProviderList lineGetProviderListW +#define lineGetQueueList lineGetQueueListW +#define lineGetRequest lineGetRequestW +#define lineGetTranslateCaps lineGetTranslateCapsW +#define lineHandoff lineHandoffW +#define lineInitializeEx lineInitializeExW +#define lineMakeCall lineMakeCallW +#define lineOpen lineOpenW +#define linePark lineParkW +#define linePickup linePickupW +#define linePrepareAddToConference linePrepareAddToConferenceW +#define lineRedirect lineRedirectW +#define lineSetAppPriority lineSetAppPriorityW +#define lineSetDevConfig lineSetDevConfigW +#define lineSetTollList lineSetTollListW +#define lineSetupConference lineSetupConferenceW +#define lineSetupTransfer lineSetupTransferW +#define lineTranslateAddress lineTranslateAddressW +#define lineTranslateDialog lineTranslateDialogW +#define lineUnpark lineUnparkW +#define phoneConfigDialog phoneConfigDialogW +#define phoneGetButtonInfo phoneGetButtonInfoW +#define phoneGetDevCaps phoneGetDevCapsW +#define phoneGetIcon phoneGetIconW +#define phoneGetID phoneGetIDW +#define phoneGetStatus phoneGetStatusW +#define phoneInitializeEx phoneInitializeExW +#define phoneSetButtonInfo phoneSetButtonInfoW +#define tapiGetLocationInfo tapiGetLocationInfoW +#define tapiRequestMakeCall tapiRequestMakeCallW +#define tapiRequestMediaCall tapiRequestMediaCallW +#else +#define lineAddProvider lineAddProviderA +#define lineBlindTransfer lineBlindTransferA +#define lineConfigDialog lineConfigDialogA +#define lineConfigDialogEdit lineConfigDialogEditA +#define lineCreateAgent lineCreateAgentA +#define lineCreateAgent lineCreateAgentA +#define lineDial lineDialA +#define lineForward lineForwardA +#define lineGatherDigits lineGatherDigitsA +#define lineGenerateDigits lineGenerateDigitsA +#define lineGetAddressCaps lineGetAddressCapsA +#define lineGetAddressID lineGetAddressIDA +#define lineGetAddressStatus lineGetAddressStatusA +#define lineGetAgentActivityList lineGetAgentActivityListA +#define lineGetAgentCaps lineGetAgentCapsA +#define lineGetAgentGroupList lineGetAgentGroupListA +#define lineGetAgentStatus lineGetAgentStatusA +#define lineGetAppPriority lineGetAppPriorityA +#define lineGetCallInfo lineGetCallInfoA +#define lineGetCountry lineGetCountryA +#define lineGetDevCaps lineGetDevCapsA +#define lineGetDevConfig lineGetDevConfigA +#define lineGetGroupList lineGetGroupListA +#define lineGetIcon lineGetIconA +#define lineGetID lineGetIDA +#define lineGetDevStatus lineGetDevStatusA +#define lineGetProviderList lineGetProviderListA +#define lineGetQueueList lineGetQueueListA +#define lineGetRequest lineGetRequestA +#define lineGetTranslateCaps lineGetTranslateCapsA +#define lineHandoff lineHandoffA +#define lineInitializeEx lineInitializeExA +#define lineMakeCall lineMakeCallA +#define lineOpen lineOpenA +#define linePark lineParkA +#define linePickup linePickupA +#define linePrepareAddToConference linePrepareAddToConferenceA +#define lineRedirect lineRedirectA +#define lineSetAppPriority lineSetAppPriorityA +#define lineSetDevConfig lineSetDevConfigA +#define lineSetTollList lineSetTollListA +#define lineSetupConference lineSetupConferenceA +#define lineSetupTransfer lineSetupTransferA +#define lineTranslateAddress lineTranslateAddressA +#define lineTranslateDialog lineTranslateDialogA +#define lineUnpark lineUnparkA +#define phoneConfigDialog phoneConfigDialogA +#define phoneGetButtonInfo phoneGetButtonInfoA +#define phoneGetDevCaps phoneGetDevCapsA +#define phoneGetIcon phoneGetIconA +#define phoneGetID phoneGetIDA +#define phoneGetStatus phoneGetStatusA +#define phoneInitializeEx phoneInitializeExA +#define phoneSetButtonInfo phoneSetButtonInfoA +#define tapiGetLocationInfo tapiGetLocationInfoA +#define tapiRequestMakeCall tapiRequestMakeCallA +#define tapiRequestMediaCall tapiRequestMediaCallA +#endif + + LONG WINAPI lineAccept(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineAddProvider(LPCSTR lpszProviderFilename,HWND hwndOwner,LPDWORD lpdwPermanentProviderID); + LONG WINAPI lineAddProviderA(LPCSTR lpszProviderFilename,HWND hwndOwner,LPDWORD lpdwPermanentProviderID); + LONG WINAPI lineAddProviderW(LPCWSTR lpszProviderFilename,HWND hwndOwner,LPDWORD lpdwPermanentProviderID); + LONG WINAPI lineAddToConference(HCALL hConfCall,HCALL hConsultCall); + LONG WINAPI lineAgentSpecific(HLINE hLine,DWORD dwAddressID,DWORD dwAgentExtensionIDIndex,LPVOID lpParams,DWORD dwSize); + LONG WINAPI lineAnswer(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineBlindTransfer(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineBlindTransferA(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineBlindTransferW(HCALL hCall,LPCWSTR lpszDestAddressW,DWORD dwCountryCode); + LONG WINAPI lineClose(HLINE hLine); + LONG WINAPI lineCompleteCall(HCALL hCall,LPDWORD lpdwCompletionID,DWORD dwCompletionMode,DWORD dwMessageID); + LONG WINAPI lineCompleteTransfer(HCALL hCall,HCALL hConsultCall,LPHCALL lphConfCall,DWORD dwTransferMode); + LONG WINAPI lineConfigDialog(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI lineConfigDialogA(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI lineConfigDialogW(DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass); + LONG WINAPI lineConfigDialogEdit(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut); + LONG WINAPI lineConfigDialogEditA(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut); + LONG WINAPI lineConfigDialogEditW(DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut); + LONG WINAPI lineConfigProvider(HWND hwndOwner,DWORD dwPermanentProviderID); + LONG WINAPI lineCreateAgentW(HLINE hLine,LPWSTR lpszAgentID,LPWSTR lpszAgentPIN,LPHAGENT lphAgent); + LONG WINAPI lineCreateAgentA(HLINE hLine,LPSTR lpszAgentID,LPSTR lpszAgentPIN,LPHAGENT lphAgent); + LONG WINAPI lineCreateAgentSessionW(HLINE hLine,HAGENT hAgent,LPWSTR lpszAgentPIN,DWORD dwWorkingAddressID,LPGUID lpGroupID,LPHAGENTSESSION lphAgentSession); + LONG WINAPI lineCreateAgentSessionA(HLINE hLine,HAGENT hAgent,LPSTR lpszAgentPIN,DWORD dwWorkingAddressID,LPGUID lpGroupID,LPHAGENTSESSION lphAgentSession); + LONG WINAPI lineDeallocateCall(HCALL hCall); + LONG WINAPI lineDevSpecific(HLINE hLine,DWORD dwAddressID,HCALL hCall,LPVOID lpParams,DWORD dwSize); + LONG WINAPI lineDevSpecificFeature(HLINE hLine,DWORD dwFeature,LPVOID lpParams,DWORD dwSize); + LONG WINAPI lineDial(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineDialA(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineDialW(HCALL hCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineDrop(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineForward(HLINE hLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineForwardA(HLINE hLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineForwardW(HLINE hLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineGatherDigits(HCALL hCall,DWORD dwDigitModes,LPSTR lpsDigits,DWORD dwNumDigits,LPCSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout); + LONG WINAPI lineGatherDigitsA(HCALL hCall,DWORD dwDigitModes,LPSTR lpsDigits,DWORD dwNumDigits,LPCSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout); + LONG WINAPI lineGatherDigitsW(HCALL hCall,DWORD dwDigitModes,LPWSTR lpsDigits,DWORD dwNumDigits,LPCWSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout); + LONG WINAPI lineGenerateDigits(HCALL hCall,DWORD dwDigitMode,LPCSTR lpszDigits,DWORD dwDuration); + LONG WINAPI lineGenerateDigitsA(HCALL hCall,DWORD dwDigitMode,LPCSTR lpszDigits,DWORD dwDuration); + LONG WINAPI lineGenerateDigitsW(HCALL hCall,DWORD dwDigitMode,LPCWSTR lpszDigits,DWORD dwDuration); + LONG WINAPI lineGenerateTone(HCALL hCall,DWORD dwToneMode,DWORD dwDuration,DWORD dwNumTones,LPLINEGENERATETONE const lpTones); + LONG WINAPI lineGetAddressCaps(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps); + LONG WINAPI lineGetAddressCapsA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps); + LONG WINAPI lineGetAddressCapsW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps); + LONG WINAPI lineGetAddressID(HLINE hLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCSTR lpsAddress,DWORD dwSize); + LONG WINAPI lineGetAddressIDA(HLINE hLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCSTR lpsAddress,DWORD dwSize); + LONG WINAPI lineGetAddressIDW(HLINE hLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCWSTR lpsAddress,DWORD dwSize); + LONG WINAPI lineGetAddressStatus(HLINE hLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus); + LONG WINAPI lineGetAddressStatusA(HLINE hLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus); + LONG WINAPI lineGetAddressStatusW(HLINE hLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus); + LONG WINAPI lineGetAgentActivityListA(HLINE hLine,DWORD dwAddressID,LPLINEAGENTACTIVITYLIST lpAgentActivityList); + LONG WINAPI lineGetAgentActivityListW(HLINE hLine,DWORD dwAddressID,LPLINEAGENTACTIVITYLIST lpAgentActivityList); + LONG WINAPI lineGetAgentCapsA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAppAPIVersion,LPLINEAGENTCAPS lpAgentCaps); + LONG WINAPI lineGetAgentCapsW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAppAPIVersion,LPLINEAGENTCAPS lpAgentCaps); + LONG WINAPI lineGetAgentGroupListA(HLINE hLine,DWORD dwAddressID,LPLINEAGENTGROUPLIST lpAgentGroupList); + LONG WINAPI lineGetAgentGroupListW(HLINE hLine,DWORD dwAddressID,LPLINEAGENTGROUPLIST lpAgentGroupList); + LONG WINAPI lineGetAgentInfo(HLINE hLine,HAGENT hAgent,LPLINEAGENTINFO lpAgentInfo); + LONG WINAPI lineGetAgentSessionInfo(HLINE hLine,HAGENTSESSION hAgentSession,LPLINEAGENTSESSIONINFO lpAgentSessionInfo); + LONG WINAPI lineGetAgentSessionList(HLINE hLine,HAGENT hAgent,LPLINEAGENTSESSIONLIST lpAgentSessionList); + LONG WINAPI lineGetAgentStatusA(HLINE hLine,DWORD dwAddressID,LPLINEAGENTSTATUS lpAgentStatus); + LONG WINAPI lineGetAgentStatusW(HLINE hLine,DWORD dwAddressID,LPLINEAGENTSTATUS lpAgentStatus); + LONG WINAPI lineGetAppPriority(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPVARSTRING lpExtensionName,LPDWORD lpdwPriority); + LONG WINAPI lineGetAppPriorityA(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPVARSTRING lpExtensionName,LPDWORD lpdwPriority); + LONG WINAPI lineGetAppPriorityW(LPCWSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPVARSTRING lpExtensionName,LPDWORD lpdwPriority); + LONG WINAPI lineGetCallInfo(HCALL hCall,LPLINECALLINFO lpCallInfo); + LONG WINAPI lineGetCallInfoA(HCALL hCall,LPLINECALLINFO lpCallInfo); + LONG WINAPI lineGetCallInfoW(HCALL hCall,LPLINECALLINFO lpCallInfo); + LONG WINAPI lineGetCallStatus(HCALL hCall,LPLINECALLSTATUS lpCallStatus); + LONG WINAPI lineGetConfRelatedCalls(HCALL hCall,LPLINECALLLIST lpCallList); + LONG WINAPI lineGetCountry(DWORD dwCountryID,DWORD dwAPIVersion,LPLINECOUNTRYLIST lpLineCountryList); + LONG WINAPI lineGetCountryA(DWORD dwCountryID,DWORD dwAPIVersion,LPLINECOUNTRYLIST lpLineCountryList); + LONG WINAPI lineGetCountryW(DWORD dwCountryID,DWORD dwAPIVersion,LPLINECOUNTRYLIST lpLineCountryList); + LONG WINAPI lineGetDevCaps(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps); + LONG WINAPI lineGetDevCapsA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps); + LONG WINAPI lineGetDevCapsW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps); + LONG WINAPI lineGetDevConfig(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetDevConfigA(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetDevConfigW(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCWSTR lpszDeviceClass); + LONG WINAPI lineGetGroupListA(HLINE hLine,LPLINEAGENTGROUPLIST lpGroupList); + LONG WINAPI lineGetGroupListW(HLINE hLine,LPLINEAGENTGROUPLIST lpGroupList); + LONG WINAPI lineGetIcon(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI lineGetIconA(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI lineGetIconW(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI lineGetID(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetIDA(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetIDW(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass); + LONG WINAPI lineGetLineDevStatus(HLINE hLine,LPLINEDEVSTATUS lpLineDevStatus); + LONG WINAPI lineGetLineDevStatusA(HLINE hLine,LPLINEDEVSTATUS lpLineDevStatus); + LONG WINAPI lineGetLineDevStatusW(HLINE hLine,LPLINEDEVSTATUS lpLineDevStatus); + LONG WINAPI lineGetMessage(HLINEAPP hLineApp,LPLINEMESSAGE lpMessage,DWORD dwTimeout); + LONG WINAPI lineGetNewCalls(HLINE hLine,DWORD dwAddressID,DWORD dwSelect,LPLINECALLLIST lpCallList); + LONG WINAPI lineGetNumRings(HLINE hLine,DWORD dwAddressID,LPDWORD lpdwNumRings); + LONG WINAPI lineGetProviderList(DWORD dwAPIVersion,LPLINEPROVIDERLIST lpProviderList); + LONG WINAPI lineGetProviderListA(DWORD dwAPIVersion,LPLINEPROVIDERLIST lpProviderList); + LONG WINAPI lineGetProviderListW(DWORD dwAPIVersion,LPLINEPROVIDERLIST lpProviderList); + LONG WINAPI lineGetProxyStatus(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAppAPIVersion,LPLINEPROXYREQUESTLIST lpLineProxyReqestList); + LONG WINAPI lineGetQueueInfo(HLINE hLine,DWORD dwQueueID,LPLINEQUEUEINFO lpLineQueueInfo); + LONG WINAPI lineGetQueueListA(HLINE hLine,LPGUID lpGroupID,LPLINEQUEUELIST lpQueueList); + LONG WINAPI lineGetQueueListW(HLINE hLine,LPGUID lpGroupID,LPLINEQUEUELIST lpQueueList); + LONG WINAPI lineGetRequest(HLINEAPP hLineApp,DWORD dwRequestMode,LPVOID lpRequestBuffer); + LONG WINAPI lineGetRequestA(HLINEAPP hLineApp,DWORD dwRequestMode,LPVOID lpRequestBuffer); + LONG WINAPI lineGetRequestW(HLINEAPP hLineApp,DWORD dwRequestMode,LPVOID lpRequestBuffer); + LONG WINAPI lineGetStatusMessages(HLINE hLine,LPDWORD lpdwLineStates,LPDWORD lpdwAddressStates); + LONG WINAPI lineGetTranslateCaps(HLINEAPP hLineApp,DWORD dwAPIVersion,LPLINETRANSLATECAPS lpTranslateCaps); + LONG WINAPI lineGetTranslateCapsA(HLINEAPP hLineApp,DWORD dwAPIVersion,LPLINETRANSLATECAPS lpTranslateCaps); + LONG WINAPI lineGetTranslateCapsW(HLINEAPP hLineApp,DWORD dwAPIVersion,LPLINETRANSLATECAPS lpTranslateCaps); + LONG WINAPI lineHandoff(HCALL hCall,LPCSTR lpszFileName,DWORD dwMediaMode); + LONG WINAPI lineHandoffA(HCALL hCall,LPCSTR lpszFileName,DWORD dwMediaMode); + LONG WINAPI lineHandoffW(HCALL hCall,LPCWSTR lpszFileName,DWORD dwMediaMode); + LONG WINAPI lineHold(HCALL hCall); + LONG WINAPI lineInitialize(LPHLINEAPP lphLineApp,HINSTANCE hInstance,LINECALLBACK lpfnCallback,LPCSTR lpszAppName,LPDWORD lpdwNumDevs); + LONG WINAPI lineInitializeExA(LPHLINEAPP lphLineApp,HINSTANCE hInstance,LINECALLBACK lpfnCallback,LPCSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams); + LONG WINAPI lineInitializeExW(LPHLINEAPP lphLineApp,HINSTANCE hInstance,LINECALLBACK lpfnCallback,LPCWSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams); + LONG WINAPI lineMakeCall(HLINE hLine,LPHCALL lphCall,LPCSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineMakeCallA(HLINE hLine,LPHCALL lphCall,LPCSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineMakeCallW(HLINE hLine,LPHCALL lphCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineMonitorDigits(HCALL hCall,DWORD dwDigitModes); + LONG WINAPI lineMonitorMedia(HCALL hCall,DWORD dwMediaModes); + LONG WINAPI lineMonitorTones(HCALL hCall,LPLINEMONITORTONE const lpToneList,DWORD dwNumEntries); + LONG WINAPI lineNegotiateAPIVersion(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPILowVersion,DWORD dwAPIHighVersion,LPDWORD lpdwAPIVersion,LPLINEEXTENSIONID lpExtensionID); + LONG WINAPI lineNegotiateExtVersion(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtLowVersion,DWORD dwExtHighVersion,LPDWORD lpdwExtVersion); + LONG WINAPI lineOpen(HLINEAPP hLineApp,DWORD dwDeviceID,LPHLINE lphLine,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivileges,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineOpenA(HLINEAPP hLineApp,DWORD dwDeviceID,LPHLINE lphLine,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivileges,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineOpenW(HLINEAPP hLineApp,DWORD dwDeviceID,LPHLINE lphLine,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivileges,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI linePark(HCALL hCall,DWORD dwParkMode,LPCSTR lpszDirAddress,LPVARSTRING lpNonDirAddress); + LONG WINAPI lineParkA(HCALL hCall,DWORD dwParkMode,LPCSTR lpszDirAddress,LPVARSTRING lpNonDirAddress); + LONG WINAPI lineParkW(HCALL hCall,DWORD dwParkMode,LPCWSTR lpszDirAddress,LPVARSTRING lpNonDirAddress); + LONG WINAPI linePickup(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress,LPCSTR lpszGroupID); + LONG WINAPI linePickupA(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress,LPCSTR lpszGroupID); + LONG WINAPI linePickupW(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCWSTR lpszDestAddress,LPCWSTR lpszGroupID); + LONG WINAPI linePrepareAddToConference(HCALL hConfCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI linePrepareAddToConferenceA(HCALL hConfCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI linePrepareAddToConferenceW(HCALL hConfCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineProxyMessage(HLINE hLine,HCALL hCall,DWORD dwMsg,DWORD dwParam1,DWORD dwParam2,DWORD dwParam3); + LONG WINAPI lineProxyResponse(HLINE hLine,LPLINEPROXYREQUEST lpProxyRequest,DWORD dwResult); + LONG WINAPI lineRedirect(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineRedirectA(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineRedirectW(HCALL hCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineRegisterRequestRecipient(HLINEAPP hLineApp,DWORD dwRegistrationInstance,DWORD dwRequestMode,DWORD bEnable); + LONG WINAPI lineReleaseUserUserInfo(HCALL hCall); + LONG WINAPI lineRemoveFromConference(HCALL hCall); + LONG WINAPI lineRemoveProvider(DWORD dwPermanentProviderID,HWND hwndOwner); + LONG WINAPI lineSecureCall(HCALL hCall); + LONG WINAPI lineSendUserUserInfo(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineSetAgentActivity(HLINE hLine,DWORD dwAddressID,DWORD dwActivityID); + LONG WINAPI lineSetAgentGroup(HLINE hLine,DWORD dwAddressID,LPLINEAGENTGROUPLIST lpAgentGroupList); + LONG WINAPI lineSetAgentMeasurementPeriod(HLINE hLine,HAGENT hAgent,DWORD dwMeasurementPeriod); + LONG WINAPI lineSetAgentSessionState(HLINE hLine,HAGENTSESSION hAgentSession,DWORD dwAgentSessionState,DWORD dwNextAgentSessionState); + LONG WINAPI lineSetAgentStateEx(HLINE hLine,HAGENT hAgent,DWORD dwAgentState,DWORD dwNextAgentState); + LONG WINAPI lineSetAgentState(HLINE hLine,DWORD dwAddressID,DWORD dwAgentState,DWORD dwNextAgentState); + LONG WINAPI lineSetAppPriority(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPCSTR lpszExtensionName,DWORD dwPriority); + LONG WINAPI lineSetAppPriorityA(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPCSTR lpszExtensionName,DWORD dwPriority); + LONG WINAPI lineSetAppPriorityW(LPCWSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPCWSTR lpszExtensionName,DWORD dwPriority); + LONG WINAPI lineSetAppSpecific(HCALL hCall,DWORD dwAppSpecific); + LONG WINAPI lineSetCallData(HCALL hCall,LPVOID lpCallData,DWORD dwSize); + LONG WINAPI lineSetCallParams(HCALL hCall,DWORD dwBearerMode,DWORD dwMinRate,DWORD dwMaxRate,LPLINEDIALPARAMS const lpDialParams); + LONG WINAPI lineSetCallPrivilege(HCALL hCall,DWORD dwCallPrivilege); + LONG WINAPI lineSetCallQualityOfService(HCALL hCall,LPVOID lpSendingFlowspec,DWORD dwSendingFlowspecSize,LPVOID lpReceivingFlowspec,DWORD dwReceivingFlowspecSize); + LONG WINAPI lineSetCallTreatment(HCALL hCall,DWORD dwTreatment); + LONG WINAPI lineSetCurrentLocation(HLINEAPP hLineApp,DWORD dwLocation); + LONG WINAPI lineSetDevConfig(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCSTR lpszDeviceClass); + LONG WINAPI lineSetDevConfigA(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCSTR lpszDeviceClass); + LONG WINAPI lineSetDevConfigW(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCWSTR lpszDeviceClass); + LONG WINAPI lineSetLineDevStatus(HLINE hLine,DWORD dwStatusToChange,DWORD fStatus); + LONG WINAPI lineSetMediaControl(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPLINEMEDIACONTROLDIGIT const lpDigitList,DWORD dwDigitNumEntries,LPLINEMEDIACONTROLMEDIA const lpMediaList,DWORD dwMediaNumEntries,LPLINEMEDIACONTROLTONE const lpToneList,DWORD dwToneNumEntries,LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,DWORD dwCallStateNumEntries); + LONG WINAPI lineSetMediaMode(HCALL hCall,DWORD dwMediaModes); + LONG WINAPI lineSetQueueMeasurementPeriod(HLINE hLine,DWORD dwQueueID,DWORD dwMeasurementPeriod); + LONG WINAPI lineSetNumRings(HLINE hLine,DWORD dwAddressID,DWORD dwNumRings); + LONG WINAPI lineSetStatusMessages(HLINE hLine,DWORD dwLineStates,DWORD dwAddressStates); + LONG WINAPI lineSetTerminal(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,DWORD dwTerminalModes,DWORD dwTerminalID,DWORD bEnable); + LONG WINAPI lineSetTollList(HLINEAPP hLineApp,DWORD dwDeviceID,LPCSTR lpszAddressIn,DWORD dwTollListOption); + LONG WINAPI lineSetTollListA(HLINEAPP hLineApp,DWORD dwDeviceID,LPCSTR lpszAddressIn,DWORD dwTollListOption); + LONG WINAPI lineSetTollListW(HLINEAPP hLineApp,DWORD dwDeviceID,LPCWSTR lpszAddressInW,DWORD dwTollListOption); + LONG WINAPI lineSetupConference(HCALL hCall,HLINE hLine,LPHCALL lphConfCall,LPHCALL lphConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupConferenceA(HCALL hCall,HLINE hLine,LPHCALL lphConfCall,LPHCALL lphConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupConferenceW(HCALL hCall,HLINE hLine,LPHCALL lphConfCall,LPHCALL lphConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupTransfer(HCALL hCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupTransferA(HCALL hCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupTransferW(HCALL hCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineShutdown(HLINEAPP hLineApp); + LONG WINAPI lineSwapHold(HCALL hActiveCall,HCALL hHeldCall); + LONG WINAPI lineTranslateAddress(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,LPCSTR lpszAddressIn,DWORD dwCard,DWORD dwTranslateOptions,LPLINETRANSLATEOUTPUT lpTranslateOutput); + LONG WINAPI lineTranslateAddressA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,LPCSTR lpszAddressIn,DWORD dwCard,DWORD dwTranslateOptions,LPLINETRANSLATEOUTPUT lpTranslateOutput); + LONG WINAPI lineTranslateAddressW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,LPCWSTR lpszAddressIn,DWORD dwCard,DWORD dwTranslateOptions,LPLINETRANSLATEOUTPUT lpTranslateOutput); + LONG WINAPI lineTranslateDialog(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,HWND hwndOwner,LPCSTR lpszAddressIn); + LONG WINAPI lineTranslateDialogA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,HWND hwndOwner,LPCSTR lpszAddressIn); + LONG WINAPI lineTranslateDialogW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,HWND hwndOwner,LPCWSTR lpszAddressIn); + LONG WINAPI lineUncompleteCall(HLINE hLine,DWORD dwCompletionID); + LONG WINAPI lineUnhold(HCALL hCall); + LONG WINAPI lineUnpark(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress); + LONG WINAPI lineUnparkA(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress); + LONG WINAPI lineUnparkW(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCWSTR lpszDestAddress); + LONG WINAPI phoneClose(HPHONE hPhone); + LONG WINAPI phoneConfigDialog(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI phoneConfigDialogA(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI phoneConfigDialogW(DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass); + LONG WINAPI phoneDevSpecific(HPHONE hPhone,LPVOID lpParams,DWORD dwSize); + LONG WINAPI phoneGetButtonInfo(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo); + LONG WINAPI phoneGetButtonInfoA(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo); + LONG WINAPI phoneGetButtonInfoW(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo); + LONG WINAPI phoneGetData(HPHONE hPhone,DWORD dwDataID,LPVOID lpData,DWORD dwSize); + LONG WINAPI phoneGetDevCaps(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps); + LONG WINAPI phoneGetDevCapsA(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps); + LONG WINAPI phoneGetDevCapsW(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps); + LONG WINAPI phoneGetDisplay(HPHONE hPhone,LPVARSTRING lpDisplay); + LONG WINAPI phoneGetGain(HPHONE hPhone,DWORD dwHookSwitchDev,LPDWORD lpdwGain); + LONG WINAPI phoneGetHookSwitch(HPHONE hPhone,LPDWORD lpdwHookSwitchDevs); + LONG WINAPI phoneGetIcon(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI phoneGetIconA(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI phoneGetIconW(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI phoneGetID(HPHONE hPhone,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI phoneGetIDA(HPHONE hPhone,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI phoneGetIDW(HPHONE hPhone,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass); + LONG WINAPI phoneGetLamp(HPHONE hPhone,DWORD dwButtonLampID,LPDWORD lpdwLampMode); + LONG WINAPI phoneGetMessage(HPHONEAPP hPhoneApp,LPPHONEMESSAGE lpMessage,DWORD dwTimeout); + LONG WINAPI phoneGetRing(HPHONE hPhone,LPDWORD lpdwRingMode,LPDWORD lpdwVolume); + LONG WINAPI phoneGetStatus(HPHONE hPhone,LPPHONESTATUS lpPhoneStatus); + LONG WINAPI phoneGetStatusA(HPHONE hPhone,LPPHONESTATUS lpPhoneStatus); + LONG WINAPI phoneGetStatusW(HPHONE hPhone,LPPHONESTATUS lpPhoneStatus); + LONG WINAPI phoneGetStatusMessages(HPHONE hPhone,LPDWORD lpdwPhoneStates,LPDWORD lpdwButtonModes,LPDWORD lpdwButtonStates); + LONG WINAPI phoneGetVolume(HPHONE hPhone,DWORD dwHookSwitchDev,LPDWORD lpdwVolume); + LONG WINAPI phoneInitialize(LPHPHONEAPP lphPhoneApp,HINSTANCE hInstance,PHONECALLBACK lpfnCallback,LPCSTR lpszAppName,LPDWORD lpdwNumDevs); + LONG WINAPI phoneInitializeExA(LPHPHONEAPP lphPhoneApp,HINSTANCE hInstance,PHONECALLBACK lpfnCallback,LPCSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams); + LONG WINAPI phoneInitializeExW(LPHPHONEAPP lphPhoneApp,HINSTANCE hInstance,PHONECALLBACK lpfnCallback,LPCWSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams); + LONG WINAPI phoneNegotiateAPIVersion(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPILowVersion,DWORD dwAPIHighVersion,LPDWORD lpdwAPIVersion,LPPHONEEXTENSIONID lpExtensionID); + LONG WINAPI phoneNegotiateExtVersion(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtLowVersion,DWORD dwExtHighVersion,LPDWORD lpdwExtVersion); + LONG WINAPI phoneOpen(HPHONEAPP hPhoneApp,DWORD dwDeviceID,LPHPHONE lphPhone,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivilege); + LONG WINAPI phoneSetButtonInfo(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo); + LONG WINAPI phoneSetButtonInfoA(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo); + LONG WINAPI phoneSetButtonInfoW(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo); + LONG WINAPI phoneSetData(HPHONE hPhone,DWORD dwDataID,LPVOID const lpData,DWORD dwSize); + LONG WINAPI phoneSetDisplay(HPHONE hPhone,DWORD dwRow,DWORD dwColumn,LPCSTR lpsDisplay,DWORD dwSize); + LONG WINAPI phoneSetGain(HPHONE hPhone,DWORD dwHookSwitchDev,DWORD dwGain); + LONG WINAPI phoneSetHookSwitch(HPHONE hPhone,DWORD dwHookSwitchDevs,DWORD dwHookSwitchMode); + LONG WINAPI phoneSetLamp(HPHONE hPhone,DWORD dwButtonLampID,DWORD dwLampMode); + LONG WINAPI phoneSetRing(HPHONE hPhone,DWORD dwRingMode,DWORD dwVolume); + LONG WINAPI phoneSetStatusMessages(HPHONE hPhone,DWORD dwPhoneStates,DWORD dwButtonModes,DWORD dwButtonStates); + LONG WINAPI phoneSetVolume(HPHONE hPhone,DWORD dwHookSwitchDev,DWORD dwVolume); + LONG WINAPI phoneShutdown(HPHONEAPP hPhoneApp); + LONG WINAPI tapiGetLocationInfo(LPSTR lpszCountryCode,LPSTR lpszCityCode); + LONG WINAPI tapiGetLocationInfoA(LPSTR lpszCountryCode,LPSTR lpszCityCode); + LONG WINAPI tapiGetLocationInfoW(LPWSTR lpszCountryCodeW,LPWSTR lpszCityCodeW); + LONG WINAPI tapiRequestDrop(HWND hwnd,WPARAM wRequestID); + LONG WINAPI tapiRequestMakeCall(LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMakeCallA(LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMakeCallW(LPCWSTR lpszDestAddress,LPCWSTR lpszAppName,LPCWSTR lpszCalledParty,LPCWSTR lpszComment); + LONG WINAPI tapiRequestMediaCall(HWND hwnd,WPARAM wRequestID,LPCSTR lpszDeviceClass,LPCSTR lpDeviceID,DWORD dwSize,DWORD dwSecure,LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMediaCallA(HWND hwnd,WPARAM wRequestID,LPCSTR lpszDeviceClass,LPCSTR lpDeviceID,DWORD dwSize,DWORD dwSecure,LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMediaCallW(HWND hwnd,WPARAM wRequestID,LPCWSTR lpszDeviceClass,LPCWSTR lpDeviceID,DWORD dwSize,DWORD dwSecure,LPCWSTR lpszDestAddress,LPCWSTR lpszAppName,LPCWSTR lpszCalledParty,LPCWSTR lpszComment); + +#define TAPIERROR_FORMATMESSAGE(__ErrCode__) (((__ErrCode__) > 0xFFFF0000) ? ((__ErrCode__) & 0x0000FFFF) : (((__ErrCode__) & 0x10000000) ? ((__ErrCode__) - 0x90000000 + 0xF000) : ((__ErrCode__) - 0x80000000 + 0xE000))) + +#ifdef __cplusplus +} +#endif + +#pragma pack() +#endif
