Leaked source code of windows server 2003
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.

685 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. HRESULT
  427. IsLocalSystem(HANDLE hAccessToken);
  428. typedef struct _TGETEVENTMASK_PARAMS
  429. {
  430. OUT LONG lResult;
  431. DWORD dwUnused;
  432. IN DWORD dwObjType;
  433. union
  434. {
  435. IN HLINEAPP hLineApp;
  436. IN HPHONEAPP hPhoneApp;
  437. IN HLINE hLine;
  438. IN HPHONE hPhone;
  439. IN HCALL hCall;
  440. };
  441. BOOL fSubMask;
  442. OUT DWORD dwEventSubMasks;
  443. IN DWORD dwLowMasksIn;
  444. IN DWORD dwHiMasksIn;
  445. OUT DWORD dwLowMasksOut;
  446. OUT DWORD dwHiMasksOut;
  447. } TGETEVENTMASK_PARAMS, *PTGETEVENTMASK_PARAMS;
  448. typedef struct _TSETEVENTMASK_PARAMS
  449. {
  450. OUT LONG lResult;
  451. DWORD dwUnused;
  452. IN DWORD dwObjType;
  453. union
  454. {
  455. IN HLINEAPP hLineApp;
  456. IN HPHONEAPP hPhoneApp;
  457. IN HLINE hLine;
  458. IN HPHONE hPhone;
  459. IN HCALL hCall;
  460. };
  461. IN BOOL fSubMask;
  462. IN DWORD dwEventSubMasks;
  463. IN DWORD dwLowMasks;
  464. IN DWORD dwHiMasks;
  465. } TSETEVENTMASK_PARAMS, *PTSETEVENTMASK_PARAMS;
  466. typedef struct _PTSETPERMMASKS_PARAMS
  467. {
  468. OUT LONG lResult;
  469. DWORD dwUnused;
  470. IN DWORD dwLowMasks;
  471. IN DWORD dwHiMasks;
  472. } TSETPERMMASKS_PARAMS, *PTSETPERMMASKS_PARAMS;
  473. typedef struct _PTGETPERMMASKS_PARAMS
  474. {
  475. union
  476. {
  477. OUT LONG lResult;
  478. LONG_PTR unused;
  479. };
  480. DWORD dwUnused;
  481. union
  482. {
  483. IN DWORD dwLowMasks;
  484. LONG_PTR unused1;
  485. };
  486. union
  487. {
  488. IN DWORD dwHiMasks;
  489. LONG_PTR unused2;
  490. };
  491. } TGETPERMMASKS_PARAMS, *PTGETPERMMASKS_PARAMS;
  492. BOOL
  493. GetMsgMask (
  494. DWORD Msg,
  495. ULONG64 * pulMask,
  496. DWORD *pdwSubMaskIndex
  497. );
  498. BOOL
  499. FMsgDisabled (
  500. DWORD dwAPIVersion,
  501. DWORD *adwEventSubMasks,
  502. DWORD Msg,
  503. DWORD dwParam1
  504. );
  505. LONG
  506. SetEventMasksOrSubMasks (
  507. BOOL fSubMask,
  508. ULONG64 ulEventMasks,
  509. DWORD dwEventSubMasks,
  510. DWORD *adwTargetSubMasks
  511. );
  512. extern DWORD gdwPointerToLockTableIndexBits;
  513. extern CRITICAL_SECTION *gLockTable;
  514. PTCLIENT
  515. PASCAL
  516. WaitForExclusiveClientAccess(
  517. PTCLIENT ptClient
  518. );
  519. BOOL
  520. PASCAL
  521. WaitForExclusivetCallAccess(
  522. PTCALL ptCall,
  523. DWORD dwKey
  524. );
  525. #define POINTERTOTABLEINDEX(pObject) \
  526. ((((ULONG_PTR) pObject) >> 4) & gdwPointerToLockTableIndexBits)
  527. #define LOCKTCALL(p) \
  528. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  529. #define UNLOCKTCALL(p) \
  530. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  531. #define LOCKTLINECLIENT(p) \
  532. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  533. #define UNLOCKTLINECLIENT(p) \
  534. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  535. #define LOCKTLINEAPP(p) \
  536. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  537. #define UNLOCKTLINEAPP(p) \
  538. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  539. #define LOCKTCLIENT(p) \
  540. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  541. #define UNLOCKTCLIENT(p) \
  542. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  543. #define POINTERTOTABLEINDEX(p) \
  544. ((((ULONG_PTR) p) >> 4) & gdwPointerToLockTableIndexBits)
  545. #define LOCKTPHONECLIENT(p) \
  546. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  547. #define UNLOCKTPHONECLIENT(p) \
  548. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  549. #define LOCKTPHONEAPP(p) \
  550. EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  551. #define UNLOCKTPHONEAPP(p) \
  552. LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
  553. extern TAPIGLOBALS TapiGlobals;
  554. extern HANDLE ghTapisrvHeap;
  555. extern HANDLE ghHandleTable;
  556. /**********************************************************
  557. * Server Connection Point Routines
  558. *********************************************************/
  559. HRESULT CreateTapiSCP (
  560. GUID * pGuidAssoc,
  561. GUID * pGuidCluster
  562. );
  563. HRESULT UpdateTapiSCP (
  564. BOOL bActive,
  565. GUID * pGuidAssoc,
  566. GUID * pGuidCluster
  567. );
  568. HRESULT RemoveTapiSCP (
  569. );
  570. HRESULT OnProxySCPInit (
  571. );
  572. HRESULT OnProxySCPShutdown (
  573. );
  574. HRESULT OnProxyLineOpen (
  575. LPTSTR szClsid
  576. );
  577. HRESULT OnProxyLineClose (
  578. LPTSTR szClsid
  579. );
  580. #ifdef __cplusplus
  581. }
  582. #endif