Make WINE_GET_SONAME work on NetBSD.
[wine/wine64.git] / dlls / tapi32 / line.c
blob2b6b415c7aef34c618ada99076807be7f3ec835c
1 /*
2 * TAPI32 line services
4 * Copyright 1999 Andreas Mohr
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.
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.
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
21 #include <string.h>
22 #include <stdlib.h>
23 #include <stdio.h>
24 #include "winbase.h"
25 #include "windef.h"
26 #include "winreg.h"
27 #include "winerror.h"
28 #include "tapi.h"
29 #include "wine/debug.h"
31 WINE_DEFAULT_DEBUG_CHANNEL(tapi);
33 /***********************************************************************
34 * lineAccept (TAPI32.@)
36 DWORD WINAPI lineAccept(HCALL hCall, LPCSTR lpsUserUserInfo, DWORD dwSize)
38 FIXME("(%p, %s, %ld): stub.\n", hCall, lpsUserUserInfo, dwSize);
39 return 1;
42 /***********************************************************************
43 * lineAddProvider (TAPI32.@)
45 DWORD WINAPI lineAddProvider(LPCSTR lpszProviderName, HWND hwndOwner, LPDWORD lpdwPermanentProviderID)
47 FIXME("(%s, %p, %p): stub.\n", lpszProviderName, hwndOwner, lpdwPermanentProviderID);
48 return 1;
51 /***********************************************************************
52 * lineAddToConference (TAPI32.@)
54 DWORD WINAPI lineAddToConference(HCALL hConfCall, HCALL hConsultCall)
56 FIXME("(%p, %p): stub.\n", hConfCall, hConsultCall);
57 return 1;
60 /***********************************************************************
61 * lineAnswer (TAPI32.@)
63 DWORD WINAPI lineAnswer(HCALL hCall, LPCSTR lpsUserUserInfo, DWORD dwSize)
65 FIXME("(%p, %s, %ld): stub.\n", hCall, lpsUserUserInfo, dwSize);
66 return 1;
69 /***********************************************************************
70 * lineBlindTransfer (TAPI32.@)
72 DWORD WINAPI lineBlindTransfer(HCALL hCall, LPCSTR lpszDestAddress, DWORD dwCountryCode)
74 FIXME("(%p, %s, %08lx): stub.\n", hCall, lpszDestAddress, dwCountryCode);
75 return 1;
78 /***********************************************************************
79 * lineClose (TAPI32.@)
81 DWORD WINAPI lineClose(HLINE hLine)
83 FIXME("(%p): stub.\n", hLine);
84 return 0;
87 /***********************************************************************
88 * lineCompleteCall (TAPI32.@)
90 DWORD WINAPI lineCompleteCall(HCALL hCall, LPDWORD lpdwCompletionID, DWORD dwCompletionMode, DWORD dwMessageID)
92 FIXME("(%p, %p, %08lx, %08lx): stub.\n", hCall, lpdwCompletionID, dwCompletionMode, dwMessageID);
93 return 1;
96 /***********************************************************************
97 * lineCompleteTransfer (TAPI32.@)
99 DWORD WINAPI lineCompleteTransfer(HCALL hCall, HCALL hConsultCall, LPHCALL lphConfCall, DWORD dwTransferMode)
101 FIXME("(%p, %p, %p, %08lx): stub.\n", hCall, hConsultCall, lphConfCall, dwTransferMode);
102 return 1;
105 /***********************************************************************
106 * lineConfigDialog (TAPI32.@)
108 DWORD WINAPI lineConfigDialog(DWORD dwDeviceID, HWND hwndOwner, LPCSTR lpszDeviceClass)
110 FIXME("(%08lx, %p, %s): stub.\n", dwDeviceID, hwndOwner, lpszDeviceClass);
111 return 0;
114 /***********************************************************************
115 * lineConfigDialogEdit (TAPI32.@)
117 DWORD WINAPI lineConfigDialogEdit(DWORD dwDeviceID, HWND hwndOwner, LPCSTR lpszDeviceClass, LPVOID const lpDeviceConfigIn, DWORD dwSize, LPVARSTRING lpDeviceConfigOut)
119 FIXME("stub.\n");
120 return 0;
123 /***********************************************************************
124 * lineConfigProvider (TAPI32.@)
126 DWORD WINAPI lineConfigProvider(HWND hwndOwner, DWORD dwPermanentProviderID)
128 FIXME("(%p, %08lx): stub.\n", hwndOwner, dwPermanentProviderID);
129 return 0;
132 /***********************************************************************
133 * lineDeallocateCall (TAPI32.@)
135 DWORD WINAPI lineDeallocateCall(HCALL hCall)
137 FIXME("(%p): stub.\n", hCall);
138 return 0;
141 /***********************************************************************
142 * lineDevSpecific (TAPI32.@)
144 DWORD WINAPI lineDevSpecific(HLINE hLine, DWORD dwAddressId, HCALL hCall, LPVOID lpParams, DWORD dwSize)
146 FIXME("(%p, %08lx, %p, %p, %ld): stub.\n", hLine, dwAddressId, hCall, lpParams, dwSize);
147 return 1;
150 /***********************************************************************
151 * lineDevSpecificFeature (TAPI32.@)
153 DWORD WINAPI lineDevSpecificFeature(HLINE hLine, DWORD dwFeature, LPVOID lpParams, DWORD dwSize)
155 FIXME("(%p, %08lx, %p, %ld): stub.\n", hLine, dwFeature, lpParams, dwSize);
156 return 1;
159 /***********************************************************************
160 * lineDial (TAPI32.@)
162 DWORD WINAPI lineDial(HCALL hCall, LPCSTR lpszDestAddress, DWORD dwCountryCode)
164 FIXME("(%p, %s, %08lx): stub.\n", hCall, lpszDestAddress, dwCountryCode);
165 return 1;
168 /***********************************************************************
169 * lineDrop (TAPI32.@)
171 DWORD WINAPI lineDrop(HCALL hCall, LPCSTR lpsUserUserInfo, DWORD dwSize)
173 FIXME("(%p, %s, %08lx): stub.\n", hCall, lpsUserUserInfo, dwSize);
174 return 1;
177 /***********************************************************************
178 * lineForward (TAPI32.@)
180 DWORD WINAPI lineForward(HLINE hLine, DWORD bAllAddress, DWORD dwAdressID, LPLINEFORWARDLIST lpForwardList, DWORD dwNumRingsNoAnswer, LPHCALL lphConsultCall, LPLINECALLPARAMS lpCallParams)
182 FIXME("stub.\n");
183 return 1;
186 /***********************************************************************
187 * lineGatherDigits (TAPI32.@)
189 DWORD WINAPI lineGatherDigits(HCALL hCall, DWORD dwDigitModes, LPSTR lpsDigits, DWORD dwNumDigits, LPCSTR lpszTerminationDigits, DWORD dwFirstDigitTimeout, DWORD dwInterDigitTimeout)
191 FIXME("stub.\n");
192 return 0;
195 /***********************************************************************
196 * lineGenerateDigits (TAPI32.@)
198 DWORD WINAPI lineGenerateDigits(HCALL hCall, DWORD dwDigitModes, LPCSTR lpszDigits, DWORD dwDuration)
200 FIXME("(%p, %08lx, %s, %ld): stub.\n", hCall, dwDigitModes, lpszDigits, dwDuration);
201 return 0;
204 /***********************************************************************
205 * lineGenerateTone (TAPI32.@)
207 DWORD WINAPI lineGenerateTone(HCALL hCall, DWORD dwToneMode, DWORD dwDuration, DWORD dwNumTones, LPLINEGENERATETONE lpTones)
209 FIXME("(%p, %08lx, %ld, %ld, %p): stub.\n", hCall, dwToneMode, dwDuration, dwNumTones, lpTones);
210 return 0;
213 /***********************************************************************
214 * lineGetAddressCaps (TAPI32.@)
216 DWORD WINAPI lineGetAddressCaps(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAddressID, DWORD dwAPIVersion, DWORD dwExtVersion, LPLINEADDRESSCAPS lpAddressCaps)
218 FIXME("(%p, %08lx, %08lx, %08lx, %08lx, %p): stub.\n", hLineApp, dwDeviceID, dwAddressID, dwAPIVersion, dwExtVersion, lpAddressCaps);
219 return 0;
222 /***********************************************************************
223 * lineGetAddressID (TAPI32.@)
225 DWORD WINAPI lineGetAddressID(HLINE hLine, LPDWORD lpdwAddressID, DWORD dwAddressMode, LPCSTR lpsAddress, DWORD dwSize)
227 FIXME("%p, %p, %08lx, %s, %ld): stub.\n", hLine, lpdwAddressID, dwAddressMode, lpsAddress, dwSize);
228 return 0;
231 /***********************************************************************
232 * lineGetAddressStatus (TAPI32.@)
234 DWORD WINAPI lineGetAddressStatus(HLINE hLine, DWORD dwAddressID, LPLINEADDRESSSTATUS lpAddressStatus)
236 FIXME("(%p, %08lx, %p): stub.\n", hLine, dwAddressID, lpAddressStatus);
237 return 0;
240 /***********************************************************************
241 * lineGetAppPriority (TAPI32.@)
243 DWORD WINAPI lineGetAppPriority(LPCSTR lpszAppFilename, DWORD dwMediaMode, LPLINEEXTENSIONID const lpExtensionID, DWORD dwRequestMode, LPVARSTRING lpExtensionName, LPDWORD lpdwPriority)
245 FIXME("(%s, %08lx, %p, %08lx, %p, %p): stub.\n", lpszAppFilename, dwMediaMode, lpExtensionID, dwRequestMode, lpExtensionName, lpdwPriority);
246 return 0;
249 /***********************************************************************
250 * lineGetCallInfo (TAPI32.@)
252 DWORD WINAPI lineGetCallInfo(HCALL hCall, LPLINECALLINFO lpCallInfo)
254 FIXME("(%p, %p): stub.\n", hCall, lpCallInfo);
255 return 0;
258 /***********************************************************************
259 * lineGetCallStatus (TAPI32.@)
261 DWORD WINAPI lineGetCallStatus(HCALL hCall, LPLINECALLSTATUS lpCallStatus)
263 FIXME("(%p, %p): stub.\n", hCall, lpCallStatus);
264 return 0;
267 /***********************************************************************
268 * lineGetConfRelatedCalls (TAPI32.@)
270 DWORD WINAPI lineGetConfRelatedCalls(HCALL hCall, LPLINECALLLIST lpCallList)
272 FIXME("(%p, %p): stub.\n", hCall, lpCallList);
273 return 0;
276 typedef struct tagTAPI_CountryInfo
278 DWORD dwCountryID;
279 DWORD dwCountryCode;
280 LPSTR lpCountryName;
281 LPSTR lpSameAreaRule;
282 LPSTR lpLongDistanceRule;
283 LPSTR lpInternationalRule;
284 } TAPI_CountryInfo;
286 /***********************************************************************
287 * lineGetCountry (TAPI32.@)
289 DWORD WINAPI lineGetCountry(DWORD dwCountryID, DWORD dwAPIVersion, LPLINECOUNTRYLIST lpLineCountryList)
291 DWORD dwAvailSize, dwOffset, i, num_countries, max_subkey_len;
292 LPLINECOUNTRYENTRY lpLCE;
293 HKEY hkey;
294 char *subkey_name;
296 if(!lpLineCountryList) {
297 TRACE("(%08lx, %08lx, %p): stub. Returning LINEERR_INVALPOINTER\n",
298 dwCountryID, dwAPIVersion, lpLineCountryList);
299 return LINEERR_INVALPOINTER;
302 TRACE("(%08lx, %08lx, %p(%ld)): stub.\n",
303 dwCountryID, dwAPIVersion, lpLineCountryList,
304 lpLineCountryList->dwTotalSize);
306 if(RegOpenKeyA(HKEY_LOCAL_MACHINE,
307 "Software\\Microsoft\\Windows\\CurrentVersion\\Telephony\\Country List",
308 &hkey) != ERROR_SUCCESS)
309 return LINEERR_INIFILECORRUPT;
312 dwAvailSize = lpLineCountryList->dwTotalSize;
313 dwOffset = sizeof (LINECOUNTRYLIST);
315 if(dwAvailSize<dwOffset)
316 return LINEERR_STRUCTURETOOSMALL;
318 memset(lpLineCountryList, 0, dwAvailSize);
320 lpLineCountryList->dwTotalSize = dwAvailSize;
321 lpLineCountryList->dwUsedSize = dwOffset;
322 lpLineCountryList->dwNumCountries = 0;
323 lpLineCountryList->dwCountryListSize = 0;
324 lpLineCountryList->dwCountryListOffset = dwOffset;
326 lpLCE = (LPLINECOUNTRYENTRY)(&lpLineCountryList[1]);
328 if(RegQueryInfoKeyA(hkey, NULL, NULL, NULL, &num_countries, &max_subkey_len,
329 NULL, NULL, NULL, NULL, NULL, NULL) != ERROR_SUCCESS) {
330 RegCloseKey(hkey);
331 return LINEERR_STRUCTURETOOSMALL;
334 if(dwCountryID)
335 dwOffset = sizeof (LINECOUNTRYENTRY);
336 else
337 dwOffset += num_countries * sizeof (LINECOUNTRYENTRY);
339 max_subkey_len++;
340 subkey_name = HeapAlloc(GetProcessHeap(), 0, max_subkey_len);
341 for(i = 0; i < num_countries; i++)
343 DWORD len, size, size_int, size_long, size_name, size_same;
344 HKEY hsubkey;
346 if(RegEnumKeyA(hkey, i, subkey_name, max_subkey_len) !=
347 ERROR_SUCCESS)
348 continue;
350 if(dwCountryID && (atoi(subkey_name) != dwCountryID))
351 continue;
353 if(RegOpenKeyA(hkey, subkey_name, &hsubkey) != ERROR_SUCCESS)
354 continue;
356 RegQueryValueExA(hsubkey, "InternationalRule", NULL, NULL,
357 NULL, &size_int);
358 len = size_int;
360 RegQueryValueExA(hsubkey, "LongDistanceRule", NULL, NULL,
361 NULL, &size_long);
362 len += size_long;
364 RegQueryValueExA(hsubkey, "Name", NULL, NULL,
365 NULL, &size_name);
366 len += size_name;
368 RegQueryValueExA(hsubkey, "SameAreaRule", NULL, NULL,
369 NULL, &size_same);
370 len += size_same;
372 if(dwAvailSize < (dwOffset+len))
374 dwOffset += len;
375 RegCloseKey(hsubkey);
376 if(dwCountryID)
377 break;
378 continue;
381 lpLineCountryList->dwNumCountries++;
382 lpLineCountryList->dwCountryListSize += sizeof (LINECOUNTRYENTRY);
383 lpLineCountryList->dwUsedSize += len + sizeof (LINECOUNTRYENTRY);
385 if(dwCountryID)
386 i = 0;
388 lpLCE[i].dwCountryID = atoi(subkey_name);
389 size = sizeof(DWORD);
390 RegQueryValueExA(hsubkey, "CountryCode", NULL, NULL,
391 (BYTE*)&lpLCE[i].dwCountryCode, &size);
393 lpLCE[i].dwNextCountryID = 0;
395 if(i > 0)
396 lpLCE[i-1].dwNextCountryID = lpLCE[i].dwCountryID;
398 /* add country name */
399 lpLCE[i].dwCountryNameSize = size_name;
400 lpLCE[i].dwCountryNameOffset = dwOffset;
401 RegQueryValueExA(hsubkey, "Name", NULL, NULL,
402 ((LPSTR)lpLineCountryList)+dwOffset,
403 &size_name);
404 dwOffset += size_name;
406 /* add Same Area Rule */
407 lpLCE[i].dwSameAreaRuleSize = size_same;
408 lpLCE[i].dwSameAreaRuleOffset = dwOffset;
409 RegQueryValueExA(hsubkey, "SameAreaRule", NULL, NULL,
410 ((LPSTR)lpLineCountryList)+dwOffset,
411 &size_same);
412 dwOffset += size_same;
414 /* add Long Distance Rule */
415 lpLCE[i].dwLongDistanceRuleSize = size_long;
416 lpLCE[i].dwLongDistanceRuleOffset = dwOffset;
417 RegQueryValueExA(hsubkey, "LongDistanceRule", NULL, NULL,
418 ((LPSTR)lpLineCountryList)+dwOffset,
419 &size_long);
420 dwOffset += size_long;
422 /* add Long Distance Rule */
423 lpLCE[i].dwInternationalRuleSize = size_int;
424 lpLCE[i].dwInternationalRuleOffset = dwOffset;
425 RegQueryValueExA(hsubkey, "InternationalRule", NULL, NULL,
426 ((LPSTR)lpLineCountryList)+dwOffset,
427 &size_int);
428 dwOffset += size_int;
429 RegCloseKey(hsubkey);
431 TRACE("Added country %s at %p\n", (LPSTR)lpLineCountryList + lpLCE[i].dwCountryNameOffset,
432 &lpLCE[i]);
434 if(dwCountryID) break;
437 lpLineCountryList->dwNeededSize = dwOffset;
439 TRACE("%ld available %ld required\n", dwAvailSize, dwOffset);
441 HeapFree(GetProcessHeap(), 0, subkey_name);
442 RegCloseKey(hkey);
444 return 0;
447 /***********************************************************************
448 * lineGetDevCaps (TAPI32.@)
450 DWORD WINAPI lineGetDevCaps(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion, DWORD dwExtVersion, LPLINEDEVCAPS lpLineDevCaps)
452 FIXME("(%p, %08lx, %08lx, %08lx, %p): stub.\n", hLineApp, dwDeviceID, dwAPIVersion, dwExtVersion, lpLineDevCaps);
453 return 0;
456 /***********************************************************************
457 * lineGetDevConfig (TAPI32.@)
459 DWORD WINAPI lineGetDevConfig(DWORD dwDeviceID, LPVARSTRING lpDeviceConfig, LPCSTR lpszDeviceClass)
461 FIXME("(%08lx, %p, %s): stub.\n", dwDeviceID, lpDeviceConfig, lpszDeviceClass);
462 return 0;
465 /***********************************************************************
466 * lineGetID (TAPI32.@)
468 DWORD WINAPI lineGetID(HLINE hLine, DWORD dwAddressID, HCALL hCall, DWORD dwSelect, LPVARSTRING lpDeviceID, LPCSTR lpszDeviceClass)
470 FIXME("(%p, %08lx, %p, %08lx, %p, %s): stub.\n", hLine, dwAddressID, hCall, dwSelect, lpDeviceID, lpszDeviceClass);
471 return 0;
474 /***********************************************************************
475 * lineGetIcon (TAPI32.@)
477 DWORD WINAPI lineGetIcon(DWORD dwDeviceID, LPCSTR lpszDeviceClass, HICON *lphIcon)
479 FIXME("(%08lx, %s, %p): stub.\n", dwDeviceID, lpszDeviceClass, lphIcon);
480 return 0;
483 /***********************************************************************
484 * lineGetLineDevStatus (TAPI32.@)
486 DWORD WINAPI lineGetLineDevStatus(HLINE hLine, LPLINEDEVSTATUS lpLineDevStatus)
488 FIXME("(%p, %p): stub.\n", hLine, lpLineDevStatus);
489 return 0;
492 /***********************************************************************
493 * lineGetNewCalls (TAPI32.@)
495 DWORD WINAPI lineGetNewCalls(HLINE hLine, DWORD dwAddressID, DWORD dwSelect, LPLINECALLLIST lpCallList)
497 FIXME("(%p, %08lx, %08lx, %p): stub.\n", hLine, dwAddressID, dwSelect, lpCallList);
498 return 0;
501 /***********************************************************************
502 * lineGetNumRings (TAPI32.@)
504 DWORD WINAPI lineGetNumRings(HLINE hLine, DWORD dwAddressID, LPDWORD lpdwNumRings)
506 FIXME("(%p, %08lx, %p): stub.\n", hLine, dwAddressID, lpdwNumRings);
507 return 0;
510 /***********************************************************************
511 * lineGetProviderList (TAPI32.@)
513 DWORD WINAPI lineGetProviderList(DWORD dwAPIVersion, LPLINEPROVIDERLIST lpProviderList)
515 FIXME("(%08lx, %p): stub.\n", dwAPIVersion, lpProviderList);
516 return 0;
519 /***********************************************************************
520 * lineGetRequest (TAPI32.@)
522 DWORD WINAPI lineGetRequest(HLINEAPP hLineApp, DWORD dwRequestMode, LPVOID lpRequestBuffer)
524 FIXME("%p, %08lx, %p): stub.\n", hLineApp, dwRequestMode, lpRequestBuffer);
525 return 0;
528 /***********************************************************************
529 * lineGetStatusMessages (TAPI32.@)
531 DWORD WINAPI lineGetStatusMessages(HLINE hLine, LPDWORD lpdwLineStatus, LPDWORD lpdwAddressStates)
533 FIXME("(%p, %p, %p): stub.\n", hLine, lpdwLineStatus, lpdwAddressStates);
534 return 0;
537 /***********************************************************************
538 * lineGetTranslateCaps (TAPI32.@)
540 DWORD WINAPI lineGetTranslateCaps(HLINEAPP hLineApp, DWORD dwAPIVersion, LPLINETRANSLATECAPS lpTranslateCaps)
542 FIXME("(%p, %08lx, %p): stub.\n", hLineApp, dwAPIVersion, lpTranslateCaps);
543 if(lpTranslateCaps->dwTotalSize >= sizeof(DWORD))
544 memset(&lpTranslateCaps->dwNeededSize, 0, lpTranslateCaps->dwTotalSize - sizeof(DWORD));
545 return 0;
548 /***********************************************************************
549 * lineHandoff (TAPI32.@)
551 DWORD WINAPI lineHandoff(HCALL hCall, LPCSTR lpszFileName, DWORD dwMediaMode)
553 FIXME("(%p, %s, %08lx): stub.\n", hCall, lpszFileName, dwMediaMode);
554 return 0;
557 /***********************************************************************
558 * lineHold (TAPI32.@)
560 DWORD WINAPI lineHold(HCALL hCall)
562 FIXME("(%p): stub.\n", hCall);
563 return 1;
566 /***********************************************************************
567 * lineInitialize (TAPI32.@)
569 DWORD WINAPI lineInitialize(
570 LPHLINEAPP lphLineApp,
571 HINSTANCE hInstance,
572 LINECALLBACK lpfnCallback,
573 LPCSTR lpszAppName,
574 LPDWORD lpdwNumDevs)
576 FIXME("(%p, %p, %p, %s, %p): stub.\n", lphLineApp, hInstance,
577 lpfnCallback, debugstr_a(lpszAppName), lpdwNumDevs);
578 return 0;
581 /***********************************************************************
582 * lineMakeCall (TAPI32.@)
584 DWORD WINAPI lineMakeCall(HLINE hLine, LPHCALL lphCall, LPCSTR lpszDestAddress, DWORD dwCountryCode, LPLINECALLPARAMS lpCallParams)
586 FIXME("(%p, %p, %s, %08lx, %p): stub.\n", hLine, lphCall, lpszDestAddress, dwCountryCode, lpCallParams);
587 return 1;
590 /***********************************************************************
591 * lineMonitorDigits (TAPI32.@)
593 DWORD WINAPI lineMonitorDigits(HCALL hCall, DWORD dwDigitModes)
595 FIXME("(%p, %08lx): stub.\n", hCall, dwDigitModes);
596 return 0;
599 /***********************************************************************
600 * lineMonitorMedia (TAPI32.@)
602 DWORD WINAPI lineMonitorMedia(HCALL hCall, DWORD dwMediaModes)
604 FIXME("(%p, %08lx): stub.\n", hCall, dwMediaModes);
605 return 0;
608 /***********************************************************************
609 * lineMonitorTones (TAPI32.@)
611 DWORD WINAPI lineMonitorTones(HCALL hCall, LPLINEMONITORTONE lpToneList, DWORD dwNumEntries)
613 FIXME("(%p, %p, %08lx): stub.\n", hCall, lpToneList, dwNumEntries);
614 return 0;
617 /***********************************************************************
618 * lineNegotiateAPIVersion (TAPI32.@)
620 DWORD WINAPI lineNegotiateAPIVersion(
621 HLINEAPP hLineApp,
622 DWORD dwDeviceID,
623 DWORD dwAPILowVersion,
624 DWORD dwAPIHighVersion,
625 LPDWORD lpdwAPIVersion,
626 LPLINEEXTENSIONID lpExtensionID
629 FIXME("(%p, %ld, %ld, %ld, %p, %p): stub.\n", hLineApp, dwDeviceID,
630 dwAPILowVersion, dwAPIHighVersion, lpdwAPIVersion, lpExtensionID);
631 *lpdwAPIVersion = dwAPIHighVersion;
632 return 0;
635 /***********************************************************************
636 * lineNegotiateExtVersion (TAPI32.@)
638 DWORD WINAPI lineNegotiateExtVersion(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion, DWORD dwExtLowVersion, DWORD dwExtHighVersion, LPDWORD lpdwExtVersion)
640 FIXME("stub.\n");
641 return 0;
644 /***********************************************************************
645 * lineOpen (TAPI32.@)
647 DWORD WINAPI lineOpen(HLINEAPP hLineApp, DWORD dwDeviceID, LPHLINE lphLine, DWORD dwAPIVersion, DWORD dwExtVersion, DWORD dwCallbackInstance, DWORD dwPrivileges, DWORD dwMediaModes, LPLINECALLPARAMS lpCallParams)
649 FIXME("stub.\n");
650 return 0;
653 /***********************************************************************
654 * linePark (TAPI32.@)
656 DWORD WINAPI linePark(HCALL hCall, DWORD dwParkMode, LPCSTR lpszDirAddress, LPVARSTRING lpNonDirAddress)
658 FIXME("(%p, %08lx, %s, %p): stub.\n", hCall, dwParkMode, lpszDirAddress, lpNonDirAddress);
659 return 1;
662 /***********************************************************************
663 * linePickup (TAPI32.@)
665 DWORD WINAPI linePickup(HLINE hLine, DWORD dwAddressID, LPHCALL lphCall, LPCSTR lpszDestAddress, LPCSTR lpszGroupID)
667 FIXME("(%p, %08lx, %p, %s, %s): stub.\n", hLine, dwAddressID, lphCall, lpszDestAddress, lpszGroupID);
668 return 1;
671 /***********************************************************************
672 * linePrepareAddToConference (TAPI32.@)
674 DWORD WINAPI linePrepareAddToConference(HCALL hConfCall, LPHCALL lphConsultCall, LPLINECALLPARAMS lpCallParams)
676 FIXME("(%p, %p, %p): stub.\n", hConfCall, lphConsultCall, lpCallParams);
677 return 1;
680 /***********************************************************************
681 * lineRedirect (TAPI32.@)
683 DWORD WINAPI lineRedirect(
684 HCALL hCall,
685 LPCSTR lpszDestAddress,
686 DWORD dwCountryCode) {
688 FIXME(": stub.\n");
689 return 1;
692 /***********************************************************************
693 * lineRegisterRequestRecipient (TAPI32.@)
695 DWORD WINAPI lineRegisterRequestRecipient(HLINEAPP hLineApp, DWORD dwRegistrationInstance, DWORD dwRequestMode, DWORD dwEnable)
697 FIXME("(%p, %08lx, %08lx, %08lx): stub.\n", hLineApp, dwRegistrationInstance, dwRequestMode, dwEnable);
698 return 1;
701 /***********************************************************************
702 * lineReleaseUserUserInfo (TAPI32.@)
704 DWORD WINAPI lineReleaseUserUserInfo(HCALL hCall)
706 FIXME("(%p): stub.\n", hCall);
707 return 1;
710 /***********************************************************************
711 * lineRemoveFromConference (TAPI32.@)
713 DWORD WINAPI lineRemoveFromConference(HCALL hCall)
715 FIXME("(%p): stub.\n", hCall);
716 return 1;
719 /***********************************************************************
720 * lineRemoveProvider (TAPI32.@)
722 DWORD WINAPI lineRemoveProvider(DWORD dwPermanentProviderID, HWND hwndOwner)
724 FIXME("(%08lx, %p): stub.\n", dwPermanentProviderID, hwndOwner);
725 return 1;
728 /***********************************************************************
729 * lineSecureCall (TAPI32.@)
731 DWORD WINAPI lineSecureCall(HCALL hCall)
733 FIXME("(%p): stub.\n", hCall);
734 return 1;
737 /***********************************************************************
738 * lineSendUserUserInfo (TAPI32.@)
740 DWORD WINAPI lineSendUserUserInfo(HCALL hCall, LPCSTR lpsUserUserInfo, DWORD dwSize)
742 FIXME("(%p, %s, %08lx): stub.\n", hCall, lpsUserUserInfo, dwSize);
743 return 1;
746 /***********************************************************************
747 * lineSetAppPriority (TAPI32.@)
749 DWORD WINAPI lineSetAppPriority(LPCSTR lpszAppFilename, DWORD dwMediaMode, LPLINEEXTENSIONID const lpExtensionID, DWORD dwRequestMode, LPCSTR lpszExtensionName, DWORD dwPriority)
751 FIXME("(%s, %08lx, %p, %08lx, %s, %08lx): stub.\n", lpszAppFilename, dwMediaMode, lpExtensionID, dwRequestMode, lpszExtensionName, dwPriority);
752 return 0;
755 /***********************************************************************
756 * lineSetAppSpecific (TAPI32.@)
758 DWORD WINAPI lineSetAppSpecific(HCALL hCall, DWORD dwAppSpecific)
760 FIXME("(%p, %08lx): stub.\n", hCall, dwAppSpecific);
761 return 0;
764 /***********************************************************************
765 * lineSetCallParams (TAPI32.@)
767 DWORD WINAPI lineSetCallParams(HCALL hCall, DWORD dwBearerMode, DWORD dwMinRate, DWORD dwMaxRate, LPLINEDIALPARAMS lpDialParams)
769 FIXME("(%p, %08lx, %08lx, %08lx, %p): stub.\n", hCall, dwBearerMode, dwMinRate, dwMaxRate, lpDialParams);
770 return 1;
773 /***********************************************************************
774 * lineSetCallPrivilege (TAPI32.@)
776 DWORD WINAPI lineSetCallPrivilege(HCALL hCall, DWORD dwCallPrivilege)
778 FIXME("(%p, %08lx): stub.\n", hCall, dwCallPrivilege);
779 return 0;
782 /***********************************************************************
783 * lineSetCurrentLocation (TAPI32.@)
785 DWORD WINAPI lineSetCurrentLocation(HLINEAPP hLineApp, DWORD dwLocation)
787 FIXME("(%p, %08lx): stub.\n", hLineApp, dwLocation);
788 return 0;
791 /***********************************************************************
792 * lineSetDevConfig (TAPI32.@)
794 DWORD WINAPI lineSetDevConfig(DWORD dwDeviceID, LPVOID lpDeviceConfig, DWORD dwSize, LPCSTR lpszDeviceClass)
796 FIXME("(%08lx, %p, %08lx, %s): stub.\n", dwDeviceID, lpDeviceConfig, dwSize, lpszDeviceClass);
797 return 0;
800 /***********************************************************************
801 * lineSetMediaControl (TAPI32.@)
803 DWORD WINAPI lineSetMediaControl(
804 HLINE hLine,
805 DWORD dwAddressID,
806 HCALL hCall,
807 DWORD dwSelect,
808 LPLINEMEDIACONTROLDIGIT const lpDigitList,
809 DWORD dwDigitNumEntries,
810 LPLINEMEDIACONTROLMEDIA const lpMediaList,
811 DWORD dwMediaNumEntries,
812 LPLINEMEDIACONTROLTONE const lpToneList,
813 DWORD dwToneNumEntries,
814 LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
815 DWORD dwCallStateNumEntries)
817 FIXME(": stub.\n");
818 return 0;
821 /***********************************************************************
822 * lineSetMediaMode (TAPI32.@)
824 DWORD WINAPI lineSetMediaMode(HCALL hCall, DWORD dwMediaModes)
826 FIXME("(%p, %08lx): stub.\n", hCall, dwMediaModes);
827 return 0;
830 /***********************************************************************
831 * lineSetNumRings (TAPI32.@)
833 DWORD WINAPI lineSetNumRings(HLINE hLine, DWORD dwAddressID, DWORD dwNumRings)
835 FIXME("(%p, %08lx, %08lx): stub.\n", hLine, dwAddressID, dwNumRings);
836 return 0;
839 /***********************************************************************
840 * lineSetStatusMessages (TAPI32.@)
842 DWORD WINAPI lineSetStatusMessages(HLINE hLine, DWORD dwLineStates, DWORD dwAddressStates)
844 FIXME("(%p, %08lx, %08lx): stub.\n", hLine, dwLineStates, dwAddressStates);
845 return 0;
848 /***********************************************************************
849 * lineSetTerminal (TAPI32.@)
851 DWORD WINAPI lineSetTerminal(HLINE hLine, DWORD dwAddressID, HCALL hCall, DWORD dwSelect, DWORD dwTerminalModes, DWORD dwTerminalID, DWORD bEnable)
853 FIXME("(%p, %08lx, %p, %08lx, %08lx, %08lx, %08lx): stub.\n", hLine, dwAddressID, hCall, dwSelect, dwTerminalModes, dwTerminalID, bEnable);
854 return 1;
857 /***********************************************************************
858 * lineSetTollList (TAPI32.@)
860 DWORD WINAPI lineSetTollList(HLINEAPP hLineApp, DWORD dwDeviceID, LPCSTR lpszAddressIn, DWORD dwTollListOption)
862 FIXME("(%p, %08lx, %s, %08lx): stub.\n", hLineApp, dwDeviceID, lpszAddressIn, dwTollListOption);
863 return 0;
866 /***********************************************************************
867 * lineSetupConference (TAPI32.@)
869 DWORD WINAPI lineSetupConference(HCALL hCall, HLINE hLine, LPHCALL lphConfCall, LPHCALL lphConsultCall, DWORD dwNumParties, LPLINECALLPARAMS lpCallParams)
871 FIXME("(%p, %p, %p, %p, %08lx, %p): stub.\n", hCall, hLine, lphConfCall, lphConsultCall, dwNumParties, lpCallParams);
872 return 1;
875 /***********************************************************************
876 * lineSetupTransfer (TAPI32.@)
878 DWORD WINAPI lineSetupTransfer(HCALL hCall, LPHCALL lphConsultCall, LPLINECALLPARAMS lpCallParams)
880 FIXME("(%p, %p, %p): stub.\n", hCall, lphConsultCall, lpCallParams);
881 return 1;
884 /***********************************************************************
885 * lineShutdown (TAPI32.@)
887 DWORD WINAPI lineShutdown(HLINEAPP hLineApp)
889 FIXME("(%p): stub.\n", hLineApp);
890 return 0;
893 /***********************************************************************
894 * lineSwapHold (TAPI32.@)
896 DWORD WINAPI lineSwapHold(HCALL hActiveCall, HCALL hHeldCall)
898 FIXME("(active: %p, held: %p): stub.\n", hActiveCall, hHeldCall);
899 return 1;
902 /***********************************************************************
903 * lineTranslateAddress (TAPI32.@)
905 DWORD WINAPI lineTranslateAddress(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion, LPCSTR lpszAddressIn, DWORD dwCard, DWORD dwTranslateOptions, LPLINETRANSLATEOUTPUT lpTranslateOutput)
907 FIXME("(%p, %08lx, %08lx, %s, %08lx, %08lx, %p): stub.\n", hLineApp, dwDeviceID, dwAPIVersion, lpszAddressIn, dwCard, dwTranslateOptions, lpTranslateOutput);
908 return 0;
911 /***********************************************************************
912 * lineTranslateDialog (TAPI32.@)
914 DWORD WINAPI lineTranslateDialog(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion, HWND hwndOwner, LPCSTR lpszAddressIn)
916 FIXME("(%p, %08lx, %08lx, %p, %s): stub.\n", hLineApp, dwDeviceID, dwAPIVersion, hwndOwner, lpszAddressIn);
917 return 0;
920 /***********************************************************************
921 * lineUncompleteCall (TAPI32.@)
923 DWORD WINAPI lineUncompleteCall(HLINE hLine, DWORD dwCompletionID)
925 FIXME("(%p, %08lx): stub.\n", hLine, dwCompletionID);
926 return 1;
929 /***********************************************************************
930 * lineUnhold (TAPI32.@)
932 DWORD WINAPI lineUnhold(HCALL hCall)
934 FIXME("(%p): stub.\n", hCall);
935 return 1;
938 /***********************************************************************
939 * lineUnpark (TAPI32.@)
941 DWORD WINAPI lineUnpark(HLINE hLine, DWORD dwAddressID, LPHCALL lphCall, LPCSTR lpszDestAddress)
943 FIXME("(%p, %08lx, %p, %s): stub.\n", hLine, dwAddressID, lphCall, lpszDestAddress);
944 return 1;