tapi.h 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014
  1. /*
  2. * TAPI definitions
  3. *
  4. * Copyright (c) 1999 Andreas Mohr
  5. *
  6. * This library is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2.1 of the License, or (at your option) any later version.
  10. *
  11. * This library is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public
  17. * License along with this library; if not, write to the Free Software
  18. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  19. */
  20. #ifndef __WINE_TAPI_H
  21. #define __WINE_TAPI_H
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif /* defined(__cplusplus) */
  25. typedef HANDLE HCALL, *LPHCALL;
  26. typedef HANDLE HLINE, *LPHLINE;
  27. typedef HANDLE HLINEAPP, *LPHLINEAPP;
  28. typedef HANDLE HPHONE, *LPHPHONE;
  29. typedef HANDLE HPHONEAPP, *LPHPHONEAPP;
  30. #define TAPIERR_REQUESTFAILED -16L
  31. #define LINEERR_ALLOCATED 0x80000001
  32. #define LINEERR_BADDEVICEID 0x80000002
  33. #define LINEERR_BEARERMODEUNAVAIL 0x80000003
  34. #define LINEERR_CALLUNAVAIL 0x80000005
  35. #define LINEERR_COMPLETIONOVERRUN 0x80000006
  36. #define LINEERR_CONFERENCEFULL 0x80000007
  37. #define LINEERR_DIALBILLING 0x80000008
  38. #define LINEERR_DIALDIALTONE 0x80000009
  39. #define LINEERR_DIALPROMPT 0x8000000A
  40. #define LINEERR_DIALQUIET 0x8000000B
  41. #define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C
  42. #define LINEERR_INCOMPATIBLEEXTVERSION 0x8000000D
  43. #define LINEERR_INIFILECORRUPT 0x8000000E
  44. #define LINEERR_INUSE 0x8000000F
  45. #define LINEERR_INVALADDRESS 0x80000010
  46. #define LINEERR_INVALADDRESSID 0x80000011
  47. #define LINEERR_INVALADDRESSMODE 0x80000012
  48. #define LINEERR_INVALADDRESSSTATE 0x80000013
  49. #define LINEERR_INVALAPPHANDLE 0x80000014
  50. #define LINEERR_INVALAPPNAME 0x80000015
  51. #define LINEERR_INVALBEARERMODE 0x80000016
  52. #define LINEERR_INVALCALLCOMPLMODE 0x80000017
  53. #define LINEERR_INVALCALLHANDLE 0x80000018
  54. #define LINEERR_INVALCALLPARAMS 0x80000019
  55. #define LINEERR_INVALCALLPRIVILEGE 0x8000001A
  56. #define LINEERR_INVALCALLSELECT 0x8000001B
  57. #define LINEERR_INVALCALLSTATE 0x8000001C
  58. #define LINEERR_INVALCALLSTATELIST 0x8000001D
  59. #define LINEERR_INVALCARD 0x8000001E
  60. #define LINEERR_INVALCOMPLETIONID 0x8000001F
  61. #define LINEERR_INVALCONFCALLHANDLE 0x80000020
  62. #define LINEERR_INVALCONSULTCALLHANDLE 0x80000021
  63. #define LINEERR_INVALCOUNTRYCODE 0x80000022
  64. #define LINEERR_INVALDEVICECLASS 0x80000023
  65. #define LINEERR_INVALDEVICEHANDLE 0x80000024
  66. #define LINEERR_INVALDIALPARAMS 0x80000025
  67. #define LINEERR_INVALDIGITLIST 0x80000026
  68. #define LINEERR_INVALDIGITMODE 0x80000027
  69. #define LINEERR_INVALDIGITS 0x80000028
  70. #define LINEERR_INVALEXTVERSION 0x80000029
  71. #define LINEERR_INVALGROUPID 0x8000002A
  72. #define LINEERR_INVALLINEHANDLE 0x8000002B
  73. #define LINEERR_INVALLINESTATE 0x8000002C
  74. #define LINEERR_INVALLOCATION 0x8000002D
  75. #define LINEERR_INVALMEDIALIST 0x8000002E
  76. #define LINEERR_INVALMEDIAMODE 0x8000002F
  77. #define LINEERR_INVALMESSAGEID 0x80000030
  78. #define LINEERR_INVALPARAM 0x80000032
  79. #define LINEERR_INVALPARKID 0x80000033
  80. #define LINEERR_INVALPARKMODE 0x80000034
  81. #define LINEERR_INVALPOINTER 0x80000035
  82. #define LINEERR_INVALPRIVSELECT 0x80000036
  83. #define LINEERR_INVALRATE 0x80000037
  84. #define LINEERR_INVALREQUESTMODE 0x80000038
  85. #define LINEERR_INVALTERMINALID 0x80000039
  86. #define LINEERR_INVALTERMINALMODE 0x8000003A
  87. #define LINEERR_INVALTIMEOUT 0x8000003B
  88. #define LINEERR_INVALTONE 0x8000003C
  89. #define LINEERR_INVALTONELIST 0x8000003D
  90. #define LINEERR_INVALTONEMODE 0x8000003E
  91. #define LINEERR_INVALTRANSFERMODE 0x8000003F
  92. #define LINEERR_LINEMAPPERFAILED 0x80000040
  93. #define LINEERR_NOCONFERENCE 0x80000041
  94. #define LINEERR_NODEVICE 0x80000042
  95. #define LINEERR_NODRIVER 0x80000043
  96. #define LINEERR_NOMEM 0x80000044
  97. #define LINEERR_NOREQUEST 0x80000045
  98. #define LINEERR_NOTOWNER 0x80000046
  99. #define LINEERR_NOTREGISTERED 0x80000047
  100. #define LINEERR_OPERATIONFAILED 0x80000048
  101. #define LINEERR_OPERATIONUNAVAIL 0x80000049
  102. #define LINEERR_RATEUNAVAIL 0x8000004A
  103. #define LINEERR_RESOURCEUNAVAIL 0x8000004B
  104. #define LINEERR_REQUESTOVERRUN 0x8000004C
  105. #define LINEERR_STRUCTURETOOSMALL 0x8000004D
  106. #define LINEERR_TARGETNOTFOUND 0x8000004E
  107. #define LINEERR_TARGETSELF 0x8000004F
  108. #define LINEERR_UNINITIALIZED 0x80000050
  109. #define LINEERR_USERUSERINFOTOOBIG 0x80000051
  110. #define LINEERR_REINIT 0x80000052
  111. #define LINEERR_ADDRESSBLOCKED 0x80000053
  112. #define LINEERR_BILLINGREJECTED 0x80000054
  113. #define LINEERR_INVALFEATURE 0x80000055
  114. #define LINEERR_NOMULTIPLEINSTANCE 0x80000056
  115. #define STRINGFORMAT_ASCII 0x00000001
  116. #define STRINGFORMAT_DBCS 0x00000002
  117. #define STRINGFORMAT_UNICODE 0x00000003
  118. #define STRINGFORMAT_BINARY 0x00000004
  119. #define LINEADDRESSMODE_ADDRESSID 0x00000001
  120. #define LINEADDRESSMODE_DIALABLEADDR 0x00000002
  121. #define LINEBEARERMODE_VOICE 0x00000001
  122. #define LINEBEARERMODE_SPEECH 0x00000002
  123. #define LINEBEARERMODE_MULTIUSE 0x00000004
  124. #define LINEBEARERMODE_DATA 0x00000008
  125. #define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
  126. #define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
  127. #define LINEBEARERMODE_PASSTHROUGH 0x00000040
  128. #define LINEMEDIAMODE_UNKNOWN 0x00000002
  129. #define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
  130. #define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008
  131. #define LINEMEDIAMODE_DATAMODEM 0x00000010
  132. #define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001
  133. #define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002
  134. #define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004
  135. #define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008
  136. #define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010
  137. #define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020
  138. #define LINEDEVCAPFLAGS_DIALBILLING 0x00000040
  139. #define LINEDEVCAPFLAGS_DIALQUIET 0x00000080
  140. #define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100
  141. #define LINEDEVSTATE_OTHER 0x00000001
  142. #define LINEDEVSTATE_RINGING 0x00000002
  143. #define LINEDEVSTATE_CONNECTED 0x00000004
  144. #define LINEDEVSTATE_DISCONNECTED 0x00000008
  145. #define LINEDEVSTATE_MSGWAITON 0x00000010
  146. #define LINEDEVSTATE_MSGWAITOFF 0x00000020
  147. #define LINEDEVSTATE_INSERVICE 0x00000040
  148. #define LINEDEVSTATE_OUTOFSERVICE 0x00000080
  149. #define LINEDEVSTATE_MAINTENANCE 0x00000100
  150. #define LINEDEVSTATE_OPEN 0x00000200
  151. #define LINEDEVSTATE_CLOSE 0x00000400
  152. #define LINEDEVSTATE_NUMCALLS 0x00000800
  153. #define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000
  154. #define LINEDEVSTATE_TERMINALS 0x00002000
  155. #define LINEDEVSTATE_ROAMMODE 0x00004000
  156. #define LINEDEVSTATE_BATTERY 0x00008000
  157. #define LINEDEVSTATE_SIGNAL 0x00010000
  158. #define LINEDEVSTATE_DEVSPECIFIC 0x00020000
  159. #define LINEDEVSTATE_REINIT 0x00040000
  160. #define LINEDEVSTATE_LOCK 0x00080000
  161. #define LINEDEVSTATE_CAPSCHANGE 0x00100000
  162. #define LINEDEVSTATE_CONFIGCHANGE 0x00200000
  163. #define LINEDEVSTATE_TRANSLATECHANGE 0x00400000
  164. #define LINEDEVSTATE_COMPLCANCEL 0x00800000
  165. #define LINEDEVSTATE_REMOVED 0x01000000
  166. #define LINELOCATIONOPTION_PULSEDIAL 0x00000001
  167. #define LINEFEATURE_DEVSPECIFIC 0x00000001
  168. #define LINEFEATURE_DEVSPECIFICFEAT 0x00000002
  169. #define LINEFEATURE_FORWARD 0x00000004
  170. #define LINEFEATURE_MAKECALL 0x00000008
  171. #define LINEFEATURE_SETMEDIACONTROL 0x00000010
  172. #define LINEFEATURE_SETTERMINAL 0x00000020
  173. #define LINEFEATURE_SETDEVSTATUS 0x00000040
  174. #define LINEFEATURE_FORWARDFWD 0x00000080
  175. #define LINEFEATURE_FORWARDDND 0x00000100
  176. /* tapi callback messages */
  177. #define LINE_ADDRESSSTATE 0L
  178. #define LINE_CALLINFO 1L
  179. #define LINE_CALLSTATE 2L
  180. #define LINE_CLOSE 3L
  181. #define LINE_DEVSPECIFIC 4L
  182. #define LINE_DEVSPECIFICFEATURE 5L
  183. #define LINE_GATHERDIGITS 6L
  184. #define LINE_GENERATE 7L
  185. #define LINE_LINEDEVSTATE 8L
  186. #define LINE_MONITORDIGITS 9L
  187. #define LINE_MONITORMEDIA 10L
  188. #define LINE_MONITORTONE 11L
  189. #define LINE_REPLY 12L
  190. #define LINE_REQUEST 13L
  191. #define PHONE_BUTTON 14L
  192. #define PHONE_CLOSE 15L
  193. #define PHONE_DEVSPECIFIC 16L
  194. #define PHONE_REPLY 17L
  195. #define PHONE_STATE 18L
  196. #define LINE_CREATE 19L
  197. #define PHONE_CREATE 20L
  198. #define LINE_AGENTSPECIFIC 21L
  199. #define LINE_AGENTSTATUS 22L
  200. #define LINE_APPNEWCALL 23L
  201. #define LINE_PROXYREQUEST 24L
  202. #define LINE_REMOVE 25L
  203. #define PHONE_REMOVE 26L
  204. /* these are used as Param1 of line_callstate messages */
  205. #define LINECALLSTATE_IDLE 0x00000001
  206. #define LINECALLSTATE_OFFERING 0x00000002
  207. #define LINECALLSTATE_ACCEPTED 0x00000004
  208. #define LINECALLSTATE_DIALTONE 0x00000008
  209. #define LINECALLSTATE_DIALING 0x00000010
  210. #define LINECALLSTATE_RINGBACK 0x00000020
  211. #define LINECALLSTATE_BUSY 0x00000040
  212. #define LINECALLSTATE_SPECIALINFO 0x00000080
  213. #define LINECALLSTATE_CONNECTED 0x00000100
  214. #define LINECALLSTATE_PROCEEDING 0x00000200
  215. #define LINECALLSTATE_ONHOLD 0x00000400
  216. #define LINECALLSTATE_CONFERENCED 0x00000800
  217. #define LINECALLSTATE_ONHOLDPENDCONF 0x00001000
  218. #define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
  219. #define LINECALLSTATE_DISCONNECTED 0x00004000
  220. #define LINECALLSTATE_UNKNOWN 0x00008000
  221. #define LINECONNECTEDMODE_ACTIVE 0x00000001
  222. #define LINECONNECTEDMODE_INACTIVE 0x00000002
  223. #define LINECONNECTEDMODE_ACTIVEHELD 0x00000004
  224. #define LINECONNECTEDMODE_INACTIVEHELD 0x00000008
  225. #define LINECONNECTEDMODE_CONFIRMED 0x00000010
  226. /* these are Param2 values for state_disconnected line_callstate messages */
  227. #define LINEDISCONNECTMODE_NORMAL 0x00000001
  228. #define LINEDISCONNECTMODE_UNKNOWN 0x00000002
  229. #define LINEDISCONNECTMODE_REJECT 0x00000004
  230. #define LINEDISCONNECTMODE_PICKUP 0x00000008
  231. #define LINEDISCONNECTMODE_FORWARDED 0x00000010
  232. #define LINEDISCONNECTMODE_BUSY 0x00000020
  233. #define LINEDISCONNECTMODE_NOANSWER 0x00000040
  234. #define LINEDISCONNECTMODE_BADADDRESS 0x00000080
  235. #define LINEDISCONNECTMODE_UNREACHABLE 0x00000100
  236. #define LINEDISCONNECTMODE_CONGESTION 0x00000200
  237. #define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
  238. #define LINEDISCONNECTMODE_UNAVAIL 0x00000800
  239. #define LINEDISCONNECTMODE_NODIALTONE 0x00001000
  240. #define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000
  241. #define LINEDISCONNECTMODE_OUTOFORDER 0x00004000
  242. #define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000
  243. #define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000
  244. #define LINEDISCONNECTMODE_BLOCKED 0x00020000
  245. #define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000
  246. #define LINEDISCONNECTMODE_CANCELLED 0x00080000
  247. #define LINECALLSELECT_LINE 0x00000001
  248. #define LINECALLSELECT_ADDRESS 0x00000002
  249. #define LINECALLSELECT_CALL 0x00000004
  250. #define LINECALLSELECT_DEVICEID 0x00000008
  251. #define LINECALLPRIVILEGE_NONE 0x00000001
  252. #define LINECALLPRIVILEGE_MONITOR 0x00000002
  253. #define LINECALLPRIVILEGE_OWNER 0x00000004
  254. #define LINECALLFEATURE_ACCEPT 0x00000001
  255. #define LINECALLFEATURE_ADDTOCONF 0x00000002
  256. #define LINECALLFEATURE_ANSWER 0x00000004
  257. #define LINECALLFEATURE_BLINDTRANSFER 0x00000008
  258. #define LINECALLFEATURE_COMPLETECALL 0x00000010
  259. #define LINECALLFEATURE_COMPLETETRANSF 0x00000020
  260. #define LINECALLFEATURE_DIAL 0x00000040
  261. #define LINECALLFEATURE_DROP 0x00000080
  262. #define LINECALLFEATURE_GATHERDIGITS 0x00000100
  263. #define LINECALLFEATURE_GENERATEDIGITS 0x00000200
  264. #define LINECALLFEATURE_GENERATETONE 0x00000400
  265. #define LINECALLFEATURE_HOLD 0x00000800
  266. #define LINECALLFEATURE_MONITORDIGITS 0x00001000
  267. #define LINECALLFEATURE_MONITORMEDIA 0x00002000
  268. #define LINECALLFEATURE_MONITORTONES 0x00004000
  269. #define LINECALLFEATURE_PARK 0x00008000
  270. #define LINECALLFEATURE_PREPAREADDCONF 0x00010000
  271. #define LINECALLFEATURE_REDIRECT 0x00020000
  272. #define LINECALLFEATURE_REMOVEFROMCONF 0x00040000
  273. #define LINECALLFEATURE_SECURECALL 0x00080000
  274. #define LINECALLFEATURE_SENDUSERUSER 0x00100000
  275. #define LINECALLFEATURE_SETCALLPARAMS 0x00200000
  276. #define LINECALLFEATURE_SETMEDIACONTROL 0x00400000
  277. #define LINECALLFEATURE_SETTERMINAL 0x00800000
  278. #define LINECALLFEATURE_SETUPCONF 0x01000000
  279. #define LINECALLFEATURE_SETUPTRANSFER 0x02000000
  280. #define LINECALLFEATURE_SWAPHOLD 0x04000000
  281. #define LINECALLFEATURE_UNHOLD 0x08000000
  282. #define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000
  283. typedef struct lineaddresscaps_tag {
  284. DWORD dwTotalSize;
  285. DWORD dwNeededSize;
  286. DWORD dwUsedSize;
  287. DWORD dwLineDeviceID;
  288. DWORD dwAddressSize;
  289. DWORD dwAddressOffset;
  290. DWORD dwDevSpecificSize;
  291. DWORD dwDevSpecificOffset;
  292. DWORD dwAddressSharing;
  293. DWORD dwAddressStates;
  294. DWORD dwCallInfoStates;
  295. DWORD dwCallerIDFlags;
  296. DWORD dwCalledIDFlags;
  297. DWORD dwConnectedIDFlags;
  298. DWORD dwRedirectionIDFlags;
  299. DWORD dwRedirectingIDFlags;
  300. DWORD dwCallStates;
  301. DWORD dwDialToneModes;
  302. DWORD dwBusyModes;
  303. DWORD dwSpecialInfo;
  304. DWORD dwDisconnectModes;
  305. DWORD dwMaxNumActiveCalls;
  306. DWORD dwMaxNumOnHoldCalls;
  307. DWORD dwMaxNumOnHoldPendingCalls;
  308. DWORD dwMaxNumConference;
  309. DWORD dwMaxNumTransConf;
  310. DWORD dwAddrCapFlags;
  311. DWORD dwCallFeatures;
  312. DWORD dwRemoveFromConfCaps;
  313. DWORD dwRemoveFromConfState;
  314. DWORD dwTransferModes;
  315. DWORD dwParkModes;
  316. DWORD dwForwardModes;
  317. DWORD dwMaxForwardEntries;
  318. DWORD dwMaxSpecificEntries;
  319. DWORD dwMinFwdNumRings;
  320. DWORD dwMaxFwdNumRings;
  321. DWORD dwMaxCallCompletions;
  322. DWORD dwCallCompletionConds;
  323. DWORD dwCallCompletionModes;
  324. DWORD dwNumCompletionMessages;
  325. DWORD dwCompletionMsgTextEntrySize;
  326. DWORD dwCompletionMsgTextSize;
  327. DWORD dwCompletionMsgTextOffset;
  328. DWORD dwAddressFeatures;
  329. } LINEADDRESSCAPS, *LPLINEADDRESSCAPS;
  330. typedef struct lineaddressstatus_tag {
  331. DWORD dwTotalSize;
  332. DWORD dwNeededSize;
  333. DWORD dwUsedSize;
  334. DWORD dwNumInUse;
  335. DWORD dwNumActiveCalls;
  336. DWORD dwNumOnHoldCalls;
  337. DWORD dwNumOnHoldPendCalls;
  338. DWORD dwAddressFeatures;
  339. DWORD dwNumRingsNoAnswer;
  340. DWORD dwForwardNumEntries;
  341. DWORD dwForwardSize;
  342. DWORD dwForwardOffset;
  343. DWORD dwTerminalModesSize;
  344. DWORD dwTerminalModesOffset;
  345. DWORD dwDevSpecificSize;
  346. DWORD dwDevSpecificOffset;
  347. } LINEADDRESSSTATUS, *LPLINEADDRESSSTATUS;
  348. typedef struct linedialparams_tag {
  349. DWORD dwDialPause;
  350. DWORD dwDialSpeed;
  351. DWORD dwDigitDuration;
  352. DWORD dwWaitForDialtone;
  353. } LINEDIALPARAMS, *LPLINEDIALPARAMS;
  354. typedef struct linecallinfo_tag {
  355. DWORD dwTotalSize;
  356. DWORD dwNeededSize;
  357. DWORD dwUsedSize;
  358. HLINE hLine;
  359. DWORD dwLineDeviceID;
  360. DWORD dwAddressID;
  361. DWORD dwBearerMode;
  362. DWORD dwRate;
  363. DWORD dwMediaMode;
  364. DWORD dwAppSpecific;
  365. DWORD dwCallID;
  366. DWORD dwRelatedCallID;
  367. DWORD dwCallParamFlags;
  368. DWORD dwCallStates;
  369. DWORD dwMonitorDigitModes;
  370. DWORD dwMonitorMediaModes;
  371. LINEDIALPARAMS DialParams;
  372. DWORD dwOrigin;
  373. DWORD dwReason;
  374. DWORD dwCompletionID;
  375. DWORD dwNumOwners;
  376. DWORD dwNumMonitors;
  377. DWORD dwCountryCode;
  378. DWORD dwTrunk;
  379. DWORD dwCallerIDFlags;
  380. DWORD dwCallerIDSize;
  381. DWORD dwCallerIDOffset;
  382. DWORD dwCallerIDNameSize;
  383. DWORD dwCallerIDNameOffset;
  384. DWORD dwCalledIDFlags;
  385. DWORD dwCalledIDSize;
  386. DWORD dwCalledIDOffset;
  387. DWORD dwCalledIDNameSize;
  388. DWORD dwCalledIDNameOffset;
  389. DWORD dwConnectedIDFlags;
  390. DWORD dwConnectedIDSize;
  391. DWORD dwConnectedIDOffset;
  392. DWORD dwConnectedIDNameSize;
  393. DWORD dwConnectedIDNameOffset;
  394. DWORD dwRedirectionIDFlags;
  395. DWORD dwRedirectionIDSize;
  396. DWORD dwRedirectionIDOffset;
  397. DWORD dwRedirectionIDNameSize;
  398. DWORD dwRedirectionIDNameOffset;
  399. DWORD dwRedirectingIDFlags;
  400. DWORD dwRedirectingIDSize;
  401. DWORD dwRedirectingIDOffset;
  402. DWORD dwRedirectingIDNameSize;
  403. DWORD dwRedirectingIDNameOffset;
  404. DWORD dwAppNameSize;
  405. DWORD dwAppNameOffset;
  406. DWORD dwDisplayableAddressSize;
  407. DWORD dwDisplayableAddressOffset;
  408. DWORD dwCalledPartySize;
  409. DWORD dwCalledPartyOffset;
  410. DWORD dwCommentSize;
  411. DWORD dwCommentOffset;
  412. DWORD dwDisplaySize;
  413. DWORD dwDisplayOffset;
  414. DWORD dwUserUserInfoSize;
  415. DWORD dwUserUserInfoOffset;
  416. DWORD dwHighLevelCompSize;
  417. DWORD dwHighLevelCompOffset;
  418. DWORD dwLowLevelCompSize;
  419. DWORD dwLowLevelCompOffset;
  420. DWORD dwChargingInfoSize;
  421. DWORD dwChargingInfoOffset;
  422. DWORD dwTerminalModesSize;
  423. DWORD dwTerminalModesOffset;
  424. DWORD dwDevSpecificSize;
  425. DWORD dwDevSpecificOffset;
  426. } LINECALLINFO, *LPLINECALLINFO;
  427. typedef struct linecalllist_tag {
  428. DWORD dwTotalSize;
  429. DWORD dwNeededSize;
  430. DWORD dwUsedSize;
  431. DWORD dwCallsNumEntries;
  432. DWORD dwCallsSize;
  433. DWORD dwCallsOffset;
  434. } LINECALLLIST, *LPLINECALLLIST;
  435. typedef struct linecallparams_tag {
  436. DWORD dwTotalSize;
  437. DWORD dwBearerMode;
  438. DWORD dwMinRate;
  439. DWORD dwMaxRate;
  440. DWORD dwMediaMode;
  441. DWORD dwCallParamFlags;
  442. DWORD dwAddressMode;
  443. DWORD dwAddressID;
  444. LINEDIALPARAMS DialParams;
  445. DWORD dwOrigAddressSize;
  446. DWORD dwOrigAddressOffset;
  447. DWORD dwDisplayableAddressSize;
  448. DWORD dwDisplayableAddressOffset;
  449. DWORD dwCalledPartySize;
  450. DWORD dwCalledPartyOffset;
  451. DWORD dwCommentSize;
  452. DWORD dwCommentOffset;
  453. DWORD dwUserUserInfoSize;
  454. DWORD dwUserUserInfoOffset;
  455. DWORD dwHighLevelCompSize;
  456. DWORD dwHighLevelCompOffset;
  457. DWORD dwLowLevelCompSize;
  458. DWORD dwLowLevelCompOffset;
  459. DWORD dwDevSpecificSize;
  460. DWORD dwDevSpecificOffset;
  461. } LINECALLPARAMS, *LPLINECALLPARAMS;
  462. typedef struct linecallstatus_tag {
  463. DWORD dwTotalSize;
  464. DWORD dwNeededSize;
  465. DWORD dwUsedSize;
  466. DWORD dwCallState;
  467. DWORD dwCallStateMode;
  468. DWORD dwCallPrivilege;
  469. DWORD dwCallFeatures;
  470. DWORD dwDevSpecificSize;
  471. DWORD dwDevSpecificOffset;
  472. } LINECALLSTATUS, *LPLINECALLSTATUS;
  473. typedef struct linecountrylist_tag {
  474. DWORD dwTotalSize;
  475. DWORD dwNeededSize;
  476. DWORD dwUsedSize;
  477. DWORD dwNumCountries;
  478. DWORD dwCountryListSize;
  479. DWORD dwCountryListOffset;
  480. } LINECOUNTRYLIST, *LPLINECOUNTRYLIST;
  481. typedef struct linecountryentry_tag {
  482. DWORD dwCountryID;
  483. DWORD dwCountryCode;
  484. DWORD dwNextCountryID;
  485. DWORD dwCountryNameSize;
  486. DWORD dwCountryNameOffset;
  487. DWORD dwSameAreaRuleSize;
  488. DWORD dwSameAreaRuleOffset;
  489. DWORD dwLongDistanceRuleSize;
  490. DWORD dwLongDistanceRuleOffset;
  491. DWORD dwInternationalRuleSize;
  492. DWORD dwInternationalRuleOffset;
  493. } LINECOUNTRYENTRY, *LPLINECOUNTRYENTRY;
  494. typedef struct linedevcaps_tag {
  495. DWORD dwTotalSize;
  496. DWORD dwNeededSize;
  497. DWORD dwUsedSize;
  498. DWORD dwProviderInfoSize;
  499. DWORD dwProviderInfoOffset;
  500. DWORD dwSwitchInfoSize;
  501. DWORD dwSwitchInfoOffset;
  502. DWORD dwPermanentLineID;
  503. DWORD dwLineNameSize;
  504. DWORD dwLineNameOffset;
  505. DWORD dwStringFormat;
  506. DWORD dwAddressModes;
  507. DWORD dwNumAddresses;
  508. DWORD dwBearerModes;
  509. DWORD dwMaxRate;
  510. DWORD dwMediaModes;
  511. DWORD dwGenerateToneModes;
  512. DWORD dwGenerateToneMaxNumFreq;
  513. DWORD dwGenerateDigitModes;
  514. DWORD dwMonitorToneMaxNumFreq;
  515. DWORD dwMonitorToneMaxNumEntries;
  516. DWORD dwMonitorDigitModes;
  517. DWORD dwGatherDigitsMinTimeout;
  518. DWORD dwGatherDigitsMaxTimeout;
  519. DWORD dwMedCtlDigitMaxListSize;
  520. DWORD dwMedCtlMediaMaxListSize;
  521. DWORD dwMedCtlToneMaxListSize;
  522. DWORD dwMedCtlCallStateMaxListSize;
  523. DWORD dwDevCapFlags;
  524. DWORD dwMaxNumActiveCalls;
  525. DWORD dwAnswerMode;
  526. DWORD dwRingModes;
  527. DWORD dwLineStates;
  528. DWORD dwUUIAcceptSize;
  529. DWORD dwUUIAnswerSize;
  530. DWORD dwUUIMakeCallSize;
  531. DWORD dwUUIDropSize;
  532. DWORD dwUUISendUserUserInfoSize;
  533. DWORD dwUUICallInfoSize;
  534. LINEDIALPARAMS MinDialParams;
  535. LINEDIALPARAMS MaxDialParams;
  536. LINEDIALPARAMS DefaultDialParams;
  537. DWORD dwNumTerminals;
  538. DWORD dwTerminalCapsSize;
  539. DWORD dwTerminalCapsOffset;
  540. DWORD dwTerminalTextEntrySize;
  541. DWORD dwTerminalTextSize;
  542. DWORD dwTerminalTextOffset;
  543. DWORD dwDevSpecificSize;
  544. DWORD dwDevSpecificOffset;
  545. DWORD dwLineFeatures;
  546. } LINEDEVCAPS, *LPLINEDEVCAPS;
  547. typedef struct linedevstatus_tag {
  548. DWORD dwTotalSize;
  549. DWORD dwNeededSize;
  550. DWORD dwUsedSize;
  551. DWORD dwNumOpens;
  552. DWORD dwOpenMediaModes;
  553. DWORD dwNumActiveCalls;
  554. DWORD dwNumOnHoldCalls;
  555. DWORD dwNumOnHoldPendingCalls;
  556. DWORD dwLineFeatures;
  557. DWORD dwNumCallCompletion;
  558. DWORD dwRingMode;
  559. DWORD dwSignalLevel;
  560. DWORD dwBatteryLevel;
  561. DWORD dwRoamMode;
  562. DWORD dwDevStatusFlags;
  563. DWORD dwTerminalModesSize;
  564. DWORD dwTerminalModesOffset;
  565. DWORD dwDevSpecificSize;
  566. DWORD dwDevSpecificOffset;
  567. } LINEDEVSTATUS, *LPLINEDEVSTATUS;
  568. typedef struct lineextensionid_tag {
  569. DWORD dwExtensionID0;
  570. DWORD dwExtensionID1;
  571. DWORD dwExtensionID2;
  572. DWORD dwExtensionID3;
  573. } LINEEXTENSIONID, *LPLINEEXTENSIONID;
  574. typedef struct lineforward_tag {
  575. DWORD dwForwardMode;
  576. DWORD dwCallerAddressSize;
  577. DWORD dwCallerAddressOffset;
  578. DWORD dwDestCountryCode;
  579. DWORD dwDestAddressSize;
  580. DWORD dwDestAddressOffset;
  581. } LINEFORWARD, *LPLINEFORWARD;
  582. typedef struct lineforwardlist_tag {
  583. DWORD dwTotalSize;
  584. DWORD dwNumEntries;
  585. LINEFORWARD ForwardList[1];
  586. } LINEFORWARDLIST, *LPLINEFORWARDLIST;
  587. typedef struct linegeneratetone_tag {
  588. DWORD dwFrequency;
  589. DWORD dwCadenceOn;
  590. DWORD dwCadenceOff;
  591. DWORD dwVolume;
  592. } LINEGENERATETONE, *LPLINEGENERATETONE;
  593. typedef struct linemediacontrolcallstate_tag {
  594. DWORD dwCallStates;
  595. DWORD dwMediaControl;
  596. } LINEMEDIACONTROLCALLSTATE, *LPLINEMEDIACONTROLCALLSTATE;
  597. typedef struct linemediacontroldigit_tag {
  598. DWORD dwDigit;
  599. DWORD dwDigitModes;
  600. DWORD dwMediaControl;
  601. } LINEMEDIACONTROLDIGIT, *LPLINEMEDIACONTROLDIGIT;
  602. typedef struct linemediacontrolmedia_tag {
  603. DWORD dwMediaModes;
  604. DWORD dwDuration;
  605. DWORD dwMediaControl;
  606. } LINEMEDIACONTROLMEDIA, *LPLINEMEDIACONTROLMEDIA;
  607. typedef struct linemediacontroltone_tag {
  608. DWORD dwAppSpecific;
  609. DWORD dwDuration;
  610. DWORD dwFrequency1;
  611. DWORD dwFrequency2;
  612. DWORD dwFrequency3;
  613. DWORD dwMediaControl;
  614. } LINEMEDIACONTROLTONE, *LPLINEMEDIACONTROLTONE;
  615. typedef struct linemonitortone_tag {
  616. DWORD dwAppSpecific;
  617. DWORD dwDuration;
  618. DWORD dwFrequency1;
  619. DWORD dwFrequency2;
  620. DWORD dwFrequency3;
  621. } LINEMONITORTONE, *LPLINEMONITORTONE;
  622. typedef struct lineproviderlist_tag {
  623. DWORD dwTotalSize;
  624. DWORD dwNeededSize;
  625. DWORD dwUsedSize;
  626. DWORD dwNumProviders;
  627. DWORD dwProviderListSize;
  628. DWORD dwProviderListOffset;
  629. } LINEPROVIDERLIST, *LPLINEPROVIDERLIST;
  630. typedef struct linetranslatecaps_tag {
  631. DWORD dwTotalSize;
  632. DWORD dwNeededSize;
  633. DWORD dwUsedSize;
  634. DWORD dwNumLocations;
  635. DWORD dwLocationListSize;
  636. DWORD dwLocationListOffset;
  637. DWORD dwCurrentLocationID;
  638. DWORD dwNumCards;
  639. DWORD dwCardListSize;
  640. DWORD dwCardListOffset;
  641. DWORD dwCurrentPreferredCardID;
  642. } LINETRANSLATECAPS, *LPLINETRANSLATECAPS;
  643. typedef struct linelocationentry_tag {
  644. DWORD dwPermanentLocationID;
  645. DWORD dwLocationNameSize;
  646. DWORD dwLocationNameOffset;
  647. DWORD dwCountryCode;
  648. DWORD dwCityCodeSize;
  649. DWORD dwCityCodeOffset;
  650. DWORD dwPreferredCardID;
  651. DWORD dwLocalAccessCodeSize;
  652. DWORD dwLocalAccessCodeOffset;
  653. DWORD dwLongDistanceAccessCodeSize;
  654. DWORD dwLongDistanceAccessCodeOffset;
  655. DWORD dwTollPrefixListSize;
  656. DWORD dwTollPrefixListOffset;
  657. DWORD dwCountryID;
  658. DWORD dwOptions;
  659. DWORD dwCancelCallWaitingSize;
  660. DWORD dwCancelCallWaitingOffset;
  661. } LINELOCATIONENTRY, *LPLINELOCATIONENTRY;
  662. typedef struct linecardentry_tag {
  663. DWORD dwPermanentCardID;
  664. DWORD dwCardNameSize;
  665. DWORD dwCardNameOffset;
  666. DWORD dwCardNumberDigits;
  667. DWORD dwSameAreaRuleSize;
  668. DWORD dwSameAreaRuleOffset;
  669. DWORD dwLongDistanceRuleSize;
  670. DWORD dwLongDistanceRuleOffset;
  671. DWORD dwInternationalRuleSize;
  672. DWORD dwInternationalRuleOffset;
  673. DWORD dwOptions;
  674. } LINECARDENTRY, *LPLINECARDENTRY;
  675. typedef struct linetranslateoutput_tag {
  676. DWORD dwTotalSize;
  677. DWORD dwNeededSize;
  678. DWORD dwUsedSize;
  679. DWORD dwDialableStringSize;
  680. DWORD dwDialableStringOffset;
  681. DWORD dwDisplayableStringSize;
  682. DWORD dwDisplayableStringOffset;
  683. DWORD dwCurrentCountry;
  684. DWORD dwDestCountry;
  685. DWORD dwTranslateResults;
  686. } LINETRANSLATEOUTPUT, *LPLINETRANSLATEOUTPUT;
  687. typedef void (CALLBACK *LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
  688. typedef struct _PHONEAPP {
  689. int dummy;
  690. } PHONEAPP, *LPPHONEAPP;
  691. typedef struct _PHONE {
  692. DWORD dwRingMode;
  693. DWORD dwVolume;
  694. } PHONE, *LPPHONE;
  695. typedef struct phonebuttoninfo_tag {
  696. DWORD dwTotalSize;
  697. DWORD dwNeededSize;
  698. DWORD dwUsedSize;
  699. DWORD dwButtonMode;
  700. DWORD dwButtonFunction;
  701. DWORD dwButtonTextSize;
  702. DWORD dwButtonTextOffset;
  703. DWORD dwDevSpecificSize;
  704. DWORD dwDevSpecificOffset;
  705. DWORD dwButtonState;
  706. } PHONEBUTTONINFO, *LPPHONEBUTTONINFO;
  707. typedef struct phonecaps_tag {
  708. DWORD dwTotalSize;
  709. DWORD dwNeededSize;
  710. DWORD dwUsedSize;
  711. DWORD dwProviderInfoSize;
  712. DWORD dwProviderInfoOffset;
  713. DWORD dwPhoneInfoSize;
  714. DWORD dwPhoneInfoOffset;
  715. DWORD dwPermanentPhoneID;
  716. DWORD dwPhoneNameSize;
  717. DWORD dwPhoneNameOffset;
  718. DWORD dwStringFormat;
  719. DWORD dwPhoneStates;
  720. DWORD dwHookSwitchDevs;
  721. DWORD dwHandsetHookSwitchModes;
  722. DWORD dwSpeakerHookSwitchModes;
  723. DWORD dwHeadsetHookSwitchModes;
  724. DWORD dwVolumeFlags;
  725. DWORD dwGainFlags;
  726. DWORD dwDisplayNumRows;
  727. DWORD dwDisplayNumColumns;
  728. DWORD dwNumRingModes;
  729. DWORD dwNumButtonLamps;
  730. DWORD dwButtonModesSize;
  731. DWORD dwButtonModesOffset;
  732. DWORD dwButtonFunctionsSize;
  733. DWORD dwButtonFunctionsOffset;
  734. DWORD dwLampModesSize;
  735. DWORD dwLampModesOffset;
  736. DWORD dwNumSetData;
  737. DWORD dwSetDataSize;
  738. DWORD dwSetDataOffset;
  739. DWORD dwNumGetData;
  740. DWORD dwGetDataSize;
  741. DWORD dwGetDataOffset;
  742. DWORD dwDevSpecificSize;
  743. DWORD dwDevSpecificOffset;
  744. } PHONECAPS, *LPPHONECAPS;
  745. typedef struct phoneextensionid_tag {
  746. DWORD dwExtensionID0;
  747. DWORD dwExtensionID1;
  748. DWORD dwExtensionID2;
  749. DWORD dwExtensionID3;
  750. } PHONEEXTENSIONID, *LPPHONEEXTENSIONID;
  751. typedef struct phonestatus_tag {
  752. DWORD dwTotalSize;
  753. DWORD dwNeededSize;
  754. DWORD dwUsedSize;
  755. DWORD dwStatusFlags;
  756. DWORD dwNumOwners;
  757. DWORD dwRingMOde;
  758. DWORD dwRingVolume;
  759. DWORD dwHandsetHookSwitchMode;
  760. DWORD dwHandsetVolume;
  761. DWORD dwHandsetGain;
  762. DWORD dwSpeakerHookSwitchMode;
  763. DWORD dwSpeakerVolume;
  764. DWORD dwSpeakerGain;
  765. DWORD dwHeadsetHookSwitchMode;
  766. DWORD dwHeadsetVolume;
  767. DWORD dwHeadsetGain;
  768. DWORD dwDisplaySize;
  769. DWORD dwDisplayOffset;
  770. DWORD dwLampModesSize;
  771. DWORD dwLampModesOffset;
  772. DWORD dwOwnerNameSize;
  773. DWORD dwOwnerNameOffset;
  774. DWORD dwDevSpecificSize;
  775. DWORD dwDevSpecificOffset;
  776. } PHONESTATUS, *LPPHONESTATUS;
  777. typedef void (CALLBACK *PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD);
  778. typedef struct varstring_tag {
  779. DWORD dwTotalSize;
  780. DWORD dwNeededSize;
  781. DWORD dwUsedSize;
  782. DWORD dwStringFormat;
  783. DWORD dwStringSize;
  784. DWORD dwStringOffset;
  785. } VARSTRING, *LPVARSTRING;
  786. /* line functions */
  787. DWORD WINAPI lineAccept(HCALL,LPCSTR,DWORD);
  788. DWORD WINAPI lineAddProvider(LPCSTR,HWND,LPDWORD);
  789. DWORD WINAPI lineAddToConference(HCALL,HCALL);
  790. DWORD WINAPI lineAnswer(HCALL,LPCSTR,DWORD);
  791. DWORD WINAPI lineBlindTransfer(HCALL,LPCSTR,DWORD);
  792. DWORD WINAPI lineClose(HLINE);
  793. DWORD WINAPI lineCompleteCall(HCALL,LPDWORD,DWORD,DWORD);
  794. DWORD WINAPI lineCompleteTransfer(HCALL,HCALL,LPHCALL,DWORD);
  795. DWORD WINAPI lineConfigDialog(DWORD,HWND,LPCSTR);
  796. DWORD WINAPI lineConfigDialogEdit(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
  797. DWORD WINAPI lineConfigProvider(HWND,DWORD);
  798. DWORD WINAPI lineDeallocateCall(HCALL);
  799. DWORD WINAPI lineDevSpecific(HLINE,DWORD,HCALL,LPVOID,DWORD);
  800. DWORD WINAPI lineDevSpecificFeature(HLINE,DWORD,LPVOID,DWORD);
  801. DWORD WINAPI lineDial(HCALL,LPCSTR,DWORD);
  802. DWORD WINAPI lineDrop(HCALL,LPCSTR,DWORD);
  803. DWORD WINAPI lineForward(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
  804. DWORD WINAPI lineGatherDigits(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
  805. DWORD WINAPI lineGenerateDigits(HCALL,DWORD,LPCSTR,DWORD);
  806. DWORD WINAPI lineGenerateTone(HCALL,DWORD,DWORD,DWORD,LPLINEGENERATETONE);
  807. DWORD WINAPI lineGetAddressCaps(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
  808. DWORD WINAPI lineGetAddressID(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
  809. DWORD WINAPI lineGetAddressStatus(HLINE,DWORD,LPLINEADDRESSSTATUS);
  810. DWORD WINAPI lineGetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
  811. DWORD WINAPI lineGetCallInfo(HCALL,LPLINECALLINFO);
  812. DWORD WINAPI lineGetCallStatus(HCALL,LPLINECALLSTATUS);
  813. DWORD WINAPI lineGetConfRelatedCalls(HCALL,LPLINECALLLIST);
  814. DWORD WINAPI lineGetCountry(DWORD,DWORD,LPLINECOUNTRYLIST);
  815. DWORD WINAPI lineGetDevCaps(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
  816. DWORD WINAPI lineGetDevConfig(DWORD,LPVARSTRING,LPCSTR);
  817. DWORD WINAPI lineGetID(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
  818. DWORD WINAPI lineGetIcon(DWORD,LPCSTR,HICON *);
  819. DWORD WINAPI lineGetLineDevStatus(HLINE,LPLINEDEVSTATUS);
  820. DWORD WINAPI lineGetNewCalls(HLINE,DWORD,DWORD,LPLINECALLLIST);
  821. DWORD WINAPI lineGetNumRings(HLINE,DWORD,LPDWORD);
  822. DWORD WINAPI lineGetProviderList(DWORD dwAPIVersion,LPLINEPROVIDERLIST);
  823. DWORD WINAPI lineGetRequest(HLINEAPP,DWORD,LPVOID);
  824. DWORD WINAPI lineGetStatusMessages(HLINE,LPDWORD,LPDWORD);
  825. DWORD WINAPI lineGetTranslateCaps(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
  826. DWORD WINAPI lineHandoff(HCALL,LPCSTR,DWORD);
  827. DWORD WINAPI lineHold(HCALL);
  828. DWORD WINAPI lineInitialize(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD);
  829. DWORD WINAPI lineMakeCall(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
  830. DWORD WINAPI lineMonitorDigits(HCALL,DWORD);
  831. DWORD WINAPI lineMonitorMedia(HCALL,DWORD);
  832. DWORD WINAPI lineMonitorTones(HCALL,LPLINEMONITORTONE,DWORD);
  833. DWORD WINAPI lineNegotiateAPIVersion(HLINEAPP,DWORD,DWORD,DWORD,LPDWORD,LPLINEEXTENSIONID);
  834. DWORD WINAPI lineNegotiateExtVersion(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
  835. DWORD WINAPI lineOpen(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
  836. DWORD WINAPI linePark(HCALL,DWORD,LPCSTR,LPVARSTRING);
  837. DWORD WINAPI linePickup(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
  838. DWORD WINAPI linePrepareAddToConference(HCALL,LPHCALL,LPLINECALLPARAMS);
  839. DWORD WINAPI lineRedirect(HCALL,LPCSTR,DWORD);
  840. DWORD WINAPI lineRegisterRequestRecipient(HLINEAPP,DWORD,DWORD,DWORD);
  841. DWORD WINAPI lineReleaseUserUserInfo(HCALL);
  842. DWORD WINAPI lineRemoveFromConference(HCALL);
  843. DWORD WINAPI lineRemoveProvider(DWORD,HWND);
  844. DWORD WINAPI lineSecureCall(HCALL);
  845. DWORD WINAPI lineSendUserUserInfo(HCALL,LPCSTR,DWORD);
  846. DWORD WINAPI lineSetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
  847. DWORD WINAPI lineSetAppSpecific(HCALL,DWORD);
  848. DWORD WINAPI lineSetCallParams(HCALL,DWORD,DWORD,DWORD,LPLINEDIALPARAMS);
  849. DWORD WINAPI lineSetCallPrivilege(HCALL,DWORD);
  850. DWORD WINAPI lineSetCurrentLocation(HLINEAPP,DWORD);
  851. DWORD WINAPI lineSetDevConfig(DWORD,LPVOID,DWORD,LPCSTR);
  852. DWORD WINAPI lineSetMediaControl(HLINE,DWORD,HCALL,DWORD,LPLINEMEDIACONTROLDIGIT,DWORD,LPLINEMEDIACONTROLMEDIA,DWORD,LPLINEMEDIACONTROLTONE,DWORD,LPLINEMEDIACONTROLCALLSTATE,DWORD);
  853. DWORD WINAPI lineSetMediaMode(HCALL,DWORD);
  854. DWORD WINAPI lineSetNumRings(HLINE,DWORD,DWORD);
  855. DWORD WINAPI lineSetStatusMessages(HLINE,DWORD,DWORD);
  856. DWORD WINAPI lineSetTerminal(HLINE,DWORD,HCALL,DWORD,DWORD,DWORD,DWORD);
  857. DWORD WINAPI lineSetTollList(HLINEAPP,DWORD,LPCSTR,DWORD);
  858. DWORD WINAPI lineSetupConference(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
  859. DWORD WINAPI lineSetupTransfer(HCALL,LPHCALL,LPLINECALLPARAMS);
  860. DWORD WINAPI lineShutdown(HLINEAPP);
  861. DWORD WINAPI lineSwapHold(HCALL,HCALL);
  862. DWORD WINAPI lineTranslateAddress(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
  863. DWORD WINAPI lineTranslateDialog(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
  864. DWORD WINAPI lineUncompleteCall(HLINE,DWORD);
  865. DWORD WINAPI lineUnHold(HCALL);
  866. DWORD WINAPI lineUnpark(HLINE,DWORD,LPHCALL,LPCSTR);
  867. DWORD WINAPI lineAddProviderA(LPCSTR,HWND,LPDWORD);
  868. DWORD WINAPI lineBlindTransferA(HCALL,LPCSTR,DWORD);
  869. DWORD WINAPI lineConfigDialogA(DWORD,HWND,LPCSTR);
  870. DWORD WINAPI lineConfigDialogEditA(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
  871. DWORD WINAPI lineDialA(HCALL,LPCSTR,DWORD);
  872. DWORD WINAPI lineForwardA(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
  873. DWORD WINAPI lineGatherDigitsA(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
  874. DWORD WINAPI lineGenerateDigitsA(HCALL,DWORD,LPCSTR,DWORD);
  875. DWORD WINAPI lineGetAddressCapsA(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
  876. DWORD WINAPI lineGetAddressIDA(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
  877. DWORD WINAPI lineGetAddressStatusA(HLINE,DWORD,LPLINEADDRESSSTATUS);
  878. DWORD WINAPI lineGetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
  879. DWORD WINAPI lineGetCallInfoA(HCALL,LPLINECALLINFO);
  880. DWORD WINAPI lineGetCountryA(DWORD,DWORD,LPLINECOUNTRYLIST);
  881. DWORD WINAPI lineGetDevCapsA(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
  882. DWORD WINAPI lineGetDevConfigA(DWORD,LPVARSTRING,LPCSTR);
  883. DWORD WINAPI lineGetIDA(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
  884. DWORD WINAPI lineGetIconA(DWORD,LPCSTR,HICON *);
  885. DWORD WINAPI lineGetLineDevStatusA(HLINE,LPLINEDEVSTATUS);
  886. DWORD WINAPI lineGetProviderListA(DWORD dwAPIVersion,LPLINEPROVIDERLIST);
  887. DWORD WINAPI lineGetRequestA(HLINEAPP,DWORD,LPVOID);
  888. DWORD WINAPI lineGetTranslateCapsA(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
  889. DWORD WINAPI lineHandoffA(HCALL,LPCSTR,DWORD);
  890. DWORD WINAPI lineMakeCallA(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
  891. DWORD WINAPI lineOpenA(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
  892. DWORD WINAPI lineParkA(HCALL,DWORD,LPCSTR,LPVARSTRING);
  893. DWORD WINAPI linePickupA(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
  894. DWORD WINAPI linePrepareAddToConferenceA(HCALL,LPHCALL,LPLINECALLPARAMS);
  895. DWORD WINAPI lineRedirectA(HCALL,LPCSTR,DWORD);
  896. DWORD WINAPI lineSetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
  897. DWORD WINAPI lineSetDevConfigA(DWORD,LPVOID,DWORD,LPCSTR);
  898. DWORD WINAPI lineSetTollListA(HLINEAPP,DWORD,LPCSTR,DWORD);
  899. DWORD WINAPI lineSetupConferenceA(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
  900. DWORD WINAPI lineSetupTransferA(HCALL,LPHCALL,LPLINECALLPARAMS);
  901. DWORD WINAPI lineTranslateAddressA(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
  902. DWORD WINAPI lineTranslateDialogA(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
  903. DWORD WINAPI lineUnparkA(HLINE,DWORD,LPHCALL,LPCSTR);
  904. /* phone functions */
  905. DWORD WINAPI phoneClose(HPHONE);
  906. DWORD WINAPI phoneConfigDialog(DWORD,HWND,LPCSTR);
  907. DWORD WINAPI phoneDevSpecific(HPHONE,LPVOID,DWORD);
  908. DWORD WINAPI phoneGetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
  909. DWORD WINAPI phoneGetData(HPHONE,DWORD,LPVOID,DWORD);
  910. DWORD WINAPI phoneGetDevCaps(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
  911. DWORD WINAPI phoneGetDisplay(HPHONE,LPVARSTRING);
  912. DWORD WINAPI phoneGetGain(HPHONE,DWORD,LPDWORD);
  913. DWORD WINAPI phoneGetHookSwitch(HPHONE,LPDWORD);
  914. DWORD WINAPI phoneGetID(HPHONE,LPVARSTRING,LPCSTR);
  915. DWORD WINAPI phoneGetIcon(DWORD,LPCSTR,HICON *);
  916. DWORD WINAPI phoneGetLamp(HPHONE,DWORD,LPDWORD);
  917. DWORD WINAPI phoneGetRing(HPHONE,LPDWORD,LPDWORD);
  918. DWORD WINAPI phoneGetStatus(HPHONE,LPPHONESTATUS);
  919. DWORD WINAPI phoneGetStatusMessages(HPHONE,LPDWORD,LPDWORD,LPDWORD);
  920. DWORD WINAPI phoneGetVolume(HPHONE,DWORD,LPDWORD);
  921. DWORD WINAPI phoneInitialize(LPHPHONEAPP,HINSTANCE,PHONECALLBACK,LPCSTR,LPDWORD);
  922. DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP,DWORD,DWORD,DWORD,LPDWORD,LPPHONEEXTENSIONID);
  923. DWORD WINAPI phoneNegotiateExtVersion(HPHONEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
  924. DWORD WINAPI phoneOpen(HPHONEAPP,DWORD,LPHPHONE,DWORD,DWORD,DWORD,DWORD);
  925. DWORD WINAPI phoneSetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
  926. DWORD WINAPI phoneSetData(HPHONE,DWORD,LPVOID,DWORD);
  927. DWORD WINAPI phoneSetDisplay(HPHONE,DWORD,DWORD,LPCSTR,DWORD);
  928. DWORD WINAPI phoneSetGain(HPHONE,DWORD,DWORD);
  929. DWORD WINAPI phoneSetHookSwitch(HPHONE,DWORD,DWORD);
  930. DWORD WINAPI phoneSetLamp(HPHONE,DWORD,DWORD);
  931. DWORD WINAPI phoneSetRing(HPHONE,DWORD,DWORD);
  932. DWORD WINAPI phoneSetStatusMessages(HPHONE,DWORD,DWORD,DWORD);
  933. DWORD WINAPI phoneSetVolume(HPHONE,DWORD,DWORD);
  934. DWORD WINAPI phoneShutdown(HPHONEAPP);
  935. DWORD WINAPI phoneConfigDialogA(DWORD,HWND,LPCSTR);
  936. DWORD WINAPI phoneGetButtonInfoA(HPHONE,DWORD,LPPHONEBUTTONINFO);
  937. DWORD WINAPI phoneGetDevCapsA(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
  938. DWORD WINAPI phoneGetIDA(HPHONE,LPVARSTRING,LPCSTR);
  939. DWORD WINAPI phoneGetIconA(DWORD,LPCSTR,HICON *);
  940. DWORD WINAPI phoneGetStatusA(HPHONE,LPPHONESTATUS);
  941. DWORD WINAPI phoneSetButtonInfoA(HPHONE,DWORD,LPPHONEBUTTONINFO);
  942. /* "assisted" functions */
  943. DWORD WINAPI tapiGetLocationInfo(LPSTR,LPSTR);
  944. DWORD WINAPI tapiRequestMakeCall(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
  945. DWORD WINAPI tapiGetLocationInfoA(LPSTR,LPSTR);
  946. DWORD WINAPI tapiRequestMakeCallA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
  947. #ifdef __cplusplus
  948. } /* extern "C" */
  949. #endif /* defined(__cplusplus) */
  950. #endif /* __WINE_TAPI_H */