Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

682 lines
24 KiB

  1. /*++ BUILD Version: 0000 // Increment this if a change has global effects
  2. Copyright (c) 1995-1998 Microsoft Corporation
  3. Module Name:
  4. private.h
  5. Abstract:
  6. Header file for tapi server
  7. Author:
  8. Dan Knudson (DanKn) 01-Apr-1995
  9. Revision History:
  10. --*/
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. //
  15. // Func protos from line.c, phone.c, tapi.c (needed for gaFuncs def)
  16. //
  17. void WINAPI GetAsyncEvents (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  18. void WINAPI GetUIDllName (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  19. void WINAPI TUISPIDLLCallback (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  20. void WINAPI FreeDialogInstance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  21. void WINAPI LAccept (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  22. void WINAPI LAddToConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  23. void WINAPI LAgentSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  24. void WINAPI LAnswer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  25. void WINAPI LBlindTransfer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  26. void WINAPI LClose (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  27. void WINAPI LCompleteCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  28. void WINAPI LCompleteTransfer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  29. void WINAPI LConditionalMediaDetection (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  30. void WINAPI LDeallocateCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  31. void WINAPI LDevSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  32. void WINAPI LDevSpecificFeature (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  33. void WINAPI LDial (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  34. void WINAPI LDrop (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  35. void WINAPI LForward (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  36. void WINAPI LGatherDigits (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  37. void WINAPI LGenerateDigits (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  38. void WINAPI LGenerateTone (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  39. void WINAPI LGetAddressCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  40. void WINAPI LGetAddressID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  41. void WINAPI LGetAddressStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  42. void WINAPI LGetAgentActivityList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  43. void WINAPI LGetAgentCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  44. void WINAPI LGetAgentGroupList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  45. void WINAPI LGetAgentStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  46. void WINAPI LGetAppPriority (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  47. void WINAPI LGetCallAddressID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  48. void WINAPI LGetCallHubTracking (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  49. void WINAPI LGetCallIDs (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  50. void WINAPI LGetCallInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  51. void WINAPI LGetCallStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  52. void WINAPI LGetConfRelatedCalls (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  53. void WINAPI LGetCountry (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  54. void WINAPI LGetCountryGroups (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  55. void WINAPI LGetDevCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  56. void WINAPI LGetDevConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  57. void WINAPI LGetHubRelatedCalls (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  58. void WINAPI LGetIcon (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  59. void WINAPI LGetID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  60. void WINAPI LGetIDEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  61. void WINAPI LGetLineDevStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  62. void WINAPI LGetNewCalls (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  63. void WINAPI LGetNumAddressIDs (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  64. void WINAPI LGetNumRings (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  65. void WINAPI LGetProviderList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  66. void WINAPI LGetRequest (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  67. void WINAPI LGetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  68. void WINAPI LHandoff (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  69. void WINAPI LHold (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  70. void WINAPI LInitialize (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  71. void WINAPI LMakeCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  72. void WINAPI LMonitorDigits (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  73. void WINAPI LMonitorMedia (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  74. void WINAPI LMonitorTones (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  75. void WINAPI LNegotiateAPIVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  76. void WINAPI LNegotiateExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  77. void WINAPI LOpen (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  78. void WINAPI LPark (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  79. void WINAPI LPickup (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  80. void WINAPI LPrepareAddToConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  81. void WINAPI LProxyMessage (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  82. void WINAPI LProxyResponse (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  83. void WINAPI LRedirect (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  84. void WINAPI LRegisterRequestRecipient (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  85. void WINAPI LReleaseUserUserInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  86. void WINAPI LRemoveFromConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  87. void WINAPI LSecureCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  88. void WINAPI LSelectExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  89. void WINAPI LSendUserUserInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  90. void WINAPI LSetAgentActivity (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  91. void WINAPI LSetAgentGroup (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  92. void WINAPI LSetAgentState (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  93. void WINAPI LSetAppPriority (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  94. void WINAPI LSetAppSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  95. void WINAPI LSetCallData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  96. void WINAPI LSetCallHubTracking (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  97. void WINAPI LSetCallParams (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  98. void WINAPI LSetCallPrivilege (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  99. void WINAPI LSetCallQualityOfService (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  100. void WINAPI LSetCallTreatment (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  101. void WINAPI LSetDefaultMediaDetection (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  102. void WINAPI LSetDevConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  103. void WINAPI LSetLineDevStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  104. void WINAPI LSetMediaControl (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  105. void WINAPI LSetMediaMode (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  106. void WINAPI LSetNumRings (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  107. void WINAPI LSetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  108. void WINAPI LSetTerminal (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  109. void WINAPI LSetupConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  110. void WINAPI LSetupTransfer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  111. void WINAPI LShutdown (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  112. void WINAPI LSwapHold (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  113. void WINAPI LUncompleteCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  114. void WINAPI LUnhold (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  115. void WINAPI LUnpark (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  116. void WINAPI PClose (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  117. void WINAPI PDevSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  118. void WINAPI PGetButtonInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  119. void WINAPI PGetData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  120. void WINAPI PGetDevCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  121. void WINAPI PGetDisplay (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  122. void WINAPI PGetGain (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  123. void WINAPI PGetHookSwitch (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  124. void WINAPI PGetID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  125. void WINAPI PGetIDEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  126. void WINAPI PGetIcon (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  127. void WINAPI PGetLamp (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  128. void WINAPI PGetRing (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  129. void WINAPI PGetStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  130. void WINAPI PGetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  131. void WINAPI PGetVolume (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  132. void WINAPI PInitialize (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  133. void WINAPI POpen (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  134. void WINAPI PNegotiateAPIVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  135. void WINAPI PNegotiateExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  136. void WINAPI PSelectExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  137. void WINAPI PSetButtonInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  138. void WINAPI PSetData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  139. void WINAPI PSetDisplay (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  140. void WINAPI PSetGain (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  141. void WINAPI PSetHookSwitch (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  142. void WINAPI PSetLamp (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  143. void WINAPI PSetRing (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  144. void WINAPI PSetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  145. void WINAPI PSetVolume (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  146. void WINAPI PShutdown (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  147. void WINAPI TRequestDrop (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  148. void WINAPI TRequestMakeCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  149. void WINAPI TRequestMediaCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  150. void WINAPI TReadLocations (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  151. void WINAPI TWriteLocations (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  152. void WINAPI TAllocNewID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  153. void WINAPI TPerformance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  154. void WINAPI MGetAvailableProviders (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  155. void WINAPI MGetLineInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  156. void WINAPI MGetPhoneInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  157. void WINAPI MGetServerConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  158. void WINAPI MSetLineInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  159. void WINAPI MSetPhoneInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  160. void WINAPI MSetServerConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  161. void WINAPI LMSPIdentify (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  162. void WINAPI LReceiveMSPData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  163. void WINAPI LCreateAgent (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  164. void WINAPI LCreateAgentSession (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  165. void WINAPI LGetAgentInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  166. void WINAPI LGetAgentSessionInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  167. void WINAPI LGetAgentSessionList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  168. void WINAPI LGetQueueInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  169. void WINAPI LGetGroupList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  170. void WINAPI LGetQueueList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  171. void WINAPI LSetAgentMeasurementPeriod (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  172. void WINAPI LSetAgentSessionState (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  173. void WINAPI LSetQueueMeasurementPeriod (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  174. void WINAPI PrivateFactoryIdentify (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  175. void WINAPI LDevSpecificEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  176. void WINAPI LSetAgentStateEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  177. void WINAPI LGetProxyStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  178. void WINAPI LCreateMSPInstance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  179. void WINAPI LCloseMSPInstance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  180. void WINAPI NegotiateAPIVersionForAllDevices (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  181. void WINAPI TSetEventMasksOrSubMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  182. void WINAPI TGetEventMasksOrSubMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  183. void WINAPI TSetPermissibleMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  184. void WINAPI TGetPermissibleMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  185. void WINAPI MGetDeviceFlags (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  186. typedef void (WINAPI *TAPISRVPROC)(PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
  187. #ifdef INIT_FUNCTABLE
  188. TAPISRVPROC gaFuncs[] =
  189. {
  190. GetAsyncEvents,
  191. GetUIDllName,
  192. TUISPIDLLCallback,
  193. FreeDialogInstance,
  194. LAccept,
  195. LAddToConference,
  196. LAgentSpecific,
  197. LAnswer,
  198. LBlindTransfer,
  199. LClose,
  200. LCompleteCall,
  201. LCompleteTransfer,
  202. // LConditionalMediaDetection,
  203. LDeallocateCall,
  204. LDevSpecific,
  205. LDevSpecificFeature,
  206. LDial,
  207. LDrop,
  208. LForward,
  209. LGatherDigits,
  210. LGenerateDigits,
  211. LGenerateTone,
  212. LGetAddressCaps,
  213. LGetAddressID,
  214. LGetAddressStatus,
  215. LGetAgentActivityList,
  216. LGetAgentCaps,
  217. LGetAgentGroupList,
  218. LGetAgentStatus,
  219. LGetAppPriority,
  220. LGetCallAddressID,
  221. LGetCallInfo,
  222. LGetCallStatus,
  223. LGetConfRelatedCalls,
  224. LGetCountry,
  225. LGetDevCaps,
  226. LGetDevConfig,
  227. LGetIcon,
  228. LGetID,
  229. LGetLineDevStatus,
  230. LGetNewCalls,
  231. LGetNumAddressIDs,
  232. LGetNumRings,
  233. LGetProviderList,
  234. LGetRequest,
  235. LGetStatusMessages,
  236. //IN TAPI32.DLL now: LGetTranslateCaps,
  237. LHandoff,
  238. LHold,
  239. LInitialize,
  240. LMakeCall,
  241. LMonitorDigits,
  242. LMonitorMedia,
  243. LMonitorTones,
  244. LNegotiateAPIVersion,
  245. LNegotiateExtVersion,
  246. LOpen,
  247. LPark,
  248. LPickup,
  249. LPrepareAddToConference,
  250. LProxyMessage,
  251. LProxyResponse,
  252. LRedirect,
  253. LRegisterRequestRecipient,
  254. LReleaseUserUserInfo,
  255. LRemoveFromConference,
  256. LSecureCall,
  257. // LSelectExtVersion,
  258. LSendUserUserInfo,
  259. LSetAgentActivity,
  260. LSetAgentGroup,
  261. LSetAgentState,
  262. LSetAppPriority,
  263. LSetAppSpecific,
  264. LSetCallData,
  265. LSetCallParams,
  266. LSetCallPrivilege,
  267. LSetCallQualityOfService,
  268. LSetCallTreatment,
  269. LSetDefaultMediaDetection,
  270. LSetDevConfig,
  271. LSetLineDevStatus,
  272. LSetMediaControl,
  273. LSetMediaMode,
  274. LSetNumRings,
  275. LSetStatusMessages,
  276. LSetTerminal,
  277. LSetupConference,
  278. LSetupTransfer,
  279. LShutdown,
  280. LSwapHold,
  281. //IN TAPI32.DLL now: LTranslateAddress,
  282. LUncompleteCall,
  283. LUnhold,
  284. LUnpark,
  285. PClose,
  286. PDevSpecific,
  287. PGetButtonInfo,
  288. PGetData,
  289. PGetDevCaps,
  290. PGetDisplay,
  291. PGetGain,
  292. PGetHookSwitch,
  293. PGetID,
  294. PGetIcon,
  295. PGetLamp,
  296. PGetRing,
  297. PGetStatus,
  298. PGetStatusMessages,
  299. PGetVolume,
  300. PInitialize,
  301. POpen,
  302. PNegotiateAPIVersion,
  303. PNegotiateExtVersion,
  304. // PSelectExtVersion,
  305. PSetButtonInfo,
  306. PSetData,
  307. PSetDisplay,
  308. PSetGain,
  309. PSetHookSwitch,
  310. PSetLamp,
  311. PSetRing,
  312. PSetStatusMessages,
  313. PSetVolume,
  314. PShutdown,
  315. //IN TAPI32.DLL now: TGetLocationInfo,
  316. TRequestDrop,
  317. TRequestMakeCall,
  318. TRequestMediaCall,
  319. // TMarkLineEvent,
  320. TReadLocations,
  321. TWriteLocations,
  322. TAllocNewID,
  323. TPerformance,
  324. LConditionalMediaDetection,
  325. LSelectExtVersion,
  326. PSelectExtVersion,
  327. //
  328. // Funcs for tapi 2.1 ended here. the lOpenInt & lShutdownInt
  329. // were Win95 local-machine-only hacks which have since been removed
  330. //
  331. NegotiateAPIVersionForAllDevices,
  332. MGetAvailableProviders,
  333. MGetLineInfo,
  334. MGetPhoneInfo,
  335. MGetServerConfig,
  336. MSetLineInfo,
  337. MSetPhoneInfo,
  338. MSetServerConfig,
  339. //
  340. // Funcs for 2.1 update (nt4 sp4) ended here
  341. //
  342. LMSPIdentify,
  343. LReceiveMSPData,
  344. LGetCallHubTracking,
  345. LGetCallIDs,
  346. LGetHubRelatedCalls,
  347. LSetCallHubTracking,
  348. PrivateFactoryIdentify,
  349. LDevSpecificEx,
  350. LCreateAgent,
  351. LCreateAgentSession,
  352. LGetAgentInfo,
  353. LGetAgentSessionInfo,
  354. LGetAgentSessionList,
  355. LGetQueueInfo,
  356. LGetGroupList,
  357. LGetQueueList,
  358. LSetAgentMeasurementPeriod,
  359. LSetAgentSessionState,
  360. LSetQueueMeasurementPeriod,
  361. LSetAgentStateEx,
  362. LGetProxyStatus,
  363. LCreateMSPInstance,
  364. LCloseMSPInstance,
  365. //
  366. // Funcs for 3.1
  367. //
  368. TSetEventMasksOrSubMasks,
  369. TGetEventMasksOrSubMasks,
  370. TSetPermissibleMasks,
  371. TGetPermissibleMasks,
  372. MGetDeviceFlags,
  373. LGetCountryGroups,
  374. LGetIDEx,
  375. PGetIDEx
  376. };
  377. #else
  378. extern TAPISRVPROC gaFuncs[];
  379. #endif
  380. //
  381. // Private Error codes
  382. //
  383. #define TAPIERR_NOSERVICECONTROL 0xF100
  384. #define TAPIERR_INVALRPCCONTEXT 0xF101
  385. DWORD
  386. PASCAL
  387. ChangeDeviceUserAssociation(
  388. LPWSTR pDomainUserName,
  389. LPWSTR pFriendlyUserName,
  390. DWORD dwProviderID,
  391. DWORD dwPermanentDeviceID,
  392. BOOL bLine
  393. );
  394. DWORD
  395. PASCAL
  396. MyGetPrivateProfileString(
  397. LPCWSTR pszSection,
  398. LPCWSTR pszKey,
  399. LPCWSTR pszDefault,
  400. LPWSTR *ppBuf,
  401. LPDWORD pdwBufSize
  402. );
  403. void
  404. PASCAL
  405. SendAMsgToAllLineApps(
  406. DWORD dwWantVersion,
  407. DWORD Msg,
  408. DWORD Param1,
  409. DWORD Param2,
  410. DWORD Param3
  411. );
  412. void
  413. PASCAL
  414. SendAMsgToAllPhoneApps(
  415. DWORD dwWantVersion,
  416. DWORD dwMsg,
  417. DWORD Param1,
  418. DWORD Param2,
  419. DWORD Param3
  420. );
  421. LPWSTR
  422. WaveDeviceIdToStringId(
  423. DWORD dwDeviceId,
  424. LPWSTR pwszDeviceType
  425. );
  426. typedef struct _TGETEVENTMASK_PARAMS
  427. {
  428. OUT LONG lResult;
  429. DWORD dwUnused;
  430. IN DWORD dwObjType;
  431. union
  432. {
  433. IN HLINEAPP hLineApp;
  434. IN HPHONEAPP hPhoneApp;
  435. IN HLINE hLine;
  436. IN HPHONE hPhone;
  437. IN HCALL hCall;
  438. };
  439. BOOL fSubMask;
  440. OUT DWORD dwEventSubMasks;
  441. IN DWORD dwLowMasksIn;
  442. IN DWORD dwHiMasksIn;
  443. OUT DWORD dwLowMasksOut;
  444. OUT DWORD dwHiMasksOut;
  445. } TGETEVENTMASK_PARAMS, *PTGETEVENTMASK_PARAMS;
  446. typedef struct _TSETEVENTMASK_PARAMS
  447. {
  448. OUT LONG lResult;
  449. DWORD dwUnused;
  450. IN DWORD dwObjType;
  451. union
  452. {
  453. IN HLINEAPP hLineApp;
  454. IN HPHONEAPP hPhoneApp;
  455. IN HLINE hLine;
  456. IN HPHONE hPhone;
  457. IN HCALL hCall;
  458. };
  459. IN BOOL fSubMask;
  460. IN DWORD dwEventSubMasks;
  461. IN DWORD dwLowMasks;
  462. IN DWORD dwHiMasks;
  463. } TSETEVENTMASK_PARAMS, *PTSETEVENTMASK_PARAMS;
  464. typedef struct _PTSETPERMMASKS_PARAMS
  465. {
  466. OUT LONG lResult;
  467. DWORD dwUnused;
  468. IN DWORD dwLowMasks;
  469. IN DWORD dwHiMasks;
  470. } TSETPERMMASKS_PARAMS, *PTSETPERMMASKS_PARAMS;
  471. typedef struct _PTGETPERMMASKS_PARAMS
  472. {
  473. union
  474. {
  475. OUT LONG lResult;
  476. LONG_PTR unused;
  477. };
  478. DWORD dwUnused;
  479. union
  480. {
  481. IN DWORD dwLowMasks;
  482. LONG_PTR unused1;
  483. };
  484. union
  485. {
  486. IN DWORD dwHiMasks;
  487. LONG_PTR unused2;
  488. };
  489. } TGETPERMMASKS_PARAMS, *PTGETPERMMASKS_PARAMS;
  490. BOOL
  491. GetMsgMask (
  492. DWORD Msg,
  493. ULONG64 * pulMask,
  494. DWORD *pdwSubMaskIndex
  495. );
  496. BOOL
  497. FMsgDisabled (
  498. DWORD dwAPIVersion,
  499. DWORD *adwEventSubMasks,
  500. DWORD Msg,
  501. DWORD dwParam1
  502. );
  503. LONG
  504. SetEventMasksOrSubMasks (
  505. BOOL fSubMask,
  506. ULONG64 ulEventMasks,
  507. DWORD dwEventSubMasks,
  508. DWORD *adwTargetSubMasks
  509. );
  510. extern DWORD gdwPointerToLockTableIndexBits;
  511. extern CRITICAL_SECTION *gLockTable;
  512. PTCLIENT
  513. PASCAL
  514. WaitForExclusiveClientAccess(
  515. PTCLIENT ptClient
  516. );
  517. BOOL
  518. PASCAL
  519. WaitForExclusivetCallAccess(
  520. PTCALL ptCall,
  521. DWORD dwKey
  522. );
  523. #define POINTERTOTABLEINDEX(pObject) \
  524. ((((ULONG_PTR) pObject) >> 4) & gdwPointerToLockTableIndexBits)
  525. #define LOCKTCALL(p) \
  526. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  527. #define UNLOCKTCALL(p) \
  528. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  529. #define LOCKTLINECLIENT(p) \
  530. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  531. #define UNLOCKTLINECLIENT(p) \
  532. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  533. #define LOCKTLINEAPP(p) \
  534. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  535. #define UNLOCKTLINEAPP(p) \
  536. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  537. #define LOCKTCLIENT(p) \
  538. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  539. #define UNLOCKTCLIENT(p) \
  540. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  541. #define POINTERTOTABLEINDEX(p) \
  542. ((((ULONG_PTR) p) >> 4) & gdwPointerToLockTableIndexBits)
  543. #define LOCKTPHONECLIENT(p) \
  544. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  545. #define UNLOCKTPHONECLIENT(p) \
  546. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  547. #define LOCKTPHONEAPP(p) \
  548. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  549. #define UNLOCKTPHONEAPP(p) \
  550. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  551. extern TAPIGLOBALS TapiGlobals;
  552. extern HANDLE ghTapisrvHeap;
  553. extern HANDLE ghHandleTable;
  554. /**********************************************************
  555. * Server Connection Point Routines
  556. *********************************************************/
  557. HRESULT CreateTapiSCP (
  558. GUID * pGuidAssoc,
  559. GUID * pGuidCluster
  560. );
  561. HRESULT UpdateTapiSCP (
  562. BOOL bActive,
  563. GUID * pGuidAssoc,
  564. GUID * pGuidCluster
  565. );
  566. HRESULT RemoveTapiSCP (
  567. );
  568. HRESULT OnProxySCPInit (
  569. );
  570. HRESULT OnProxySCPShutdown (
  571. );
  572. HRESULT OnProxyLineOpen (
  573. LPTSTR szClsid
  574. );
  575. HRESULT OnProxyLineClose (
  576. LPTSTR szClsid
  577. );
  578. #ifdef __cplusplus
  579. }
  580. #endif