tapi.h 38.6 KB
Newer Older
1 2
/*
 * TAPI definitions
3
 *
4
 * Copyright (c) 1999 Andreas Mohr
5 6 7 8 9 10 11 12 13 14 15 16 17
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 20 21 22 23
 */

#ifndef __WINE_TAPI_H
#define __WINE_TAPI_H

24 25 26 27 28 29
#ifndef __WINESRC__
# include <windows.h>
#endif
#include <basetsd.h>
#include <oaidl.h>

30 31 32 33
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */

34 35 36 37 38 39
typedef HANDLE HCALL, *LPHCALL;
typedef HANDLE HLINE, *LPHLINE;
typedef HANDLE HLINEAPP, *LPHLINEAPP;
typedef HANDLE HPHONE, *LPHPHONE;
typedef HANDLE HPHONEAPP, *LPHPHONEAPP;

40
#define TAPIERR_REQUESTFAILED            -16L
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
#define LINEERR_ALLOCATED              0x80000001
#define LINEERR_BADDEVICEID            0x80000002
#define LINEERR_BEARERMODEUNAVAIL      0x80000003
#define LINEERR_CALLUNAVAIL            0x80000005
#define LINEERR_COMPLETIONOVERRUN      0x80000006
#define LINEERR_CONFERENCEFULL         0x80000007
#define LINEERR_DIALBILLING            0x80000008
#define LINEERR_DIALDIALTONE           0x80000009
#define LINEERR_DIALPROMPT             0x8000000A
#define LINEERR_DIALQUIET              0x8000000B
#define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C
#define LINEERR_INCOMPATIBLEEXTVERSION 0x8000000D
#define LINEERR_INIFILECORRUPT         0x8000000E
#define LINEERR_INUSE                  0x8000000F
#define LINEERR_INVALADDRESS           0x80000010
#define LINEERR_INVALADDRESSID         0x80000011
#define LINEERR_INVALADDRESSMODE       0x80000012
#define LINEERR_INVALADDRESSSTATE      0x80000013
#define LINEERR_INVALAPPHANDLE         0x80000014
#define LINEERR_INVALAPPNAME           0x80000015
#define LINEERR_INVALBEARERMODE        0x80000016
#define LINEERR_INVALCALLCOMPLMODE     0x80000017
#define LINEERR_INVALCALLHANDLE        0x80000018
#define LINEERR_INVALCALLPARAMS        0x80000019
#define LINEERR_INVALCALLPRIVILEGE     0x8000001A
#define LINEERR_INVALCALLSELECT        0x8000001B
#define LINEERR_INVALCALLSTATE         0x8000001C
#define LINEERR_INVALCALLSTATELIST     0x8000001D
#define LINEERR_INVALCARD              0x8000001E
#define LINEERR_INVALCOMPLETIONID      0x8000001F
#define LINEERR_INVALCONFCALLHANDLE    0x80000020
#define LINEERR_INVALCONSULTCALLHANDLE 0x80000021
#define LINEERR_INVALCOUNTRYCODE       0x80000022
#define LINEERR_INVALDEVICECLASS       0x80000023
#define LINEERR_INVALDEVICEHANDLE      0x80000024
#define LINEERR_INVALDIALPARAMS        0x80000025
#define LINEERR_INVALDIGITLIST         0x80000026
#define LINEERR_INVALDIGITMODE         0x80000027
#define LINEERR_INVALDIGITS            0x80000028
#define LINEERR_INVALEXTVERSION        0x80000029
#define LINEERR_INVALGROUPID           0x8000002A
#define LINEERR_INVALLINEHANDLE        0x8000002B
#define LINEERR_INVALLINESTATE         0x8000002C
#define LINEERR_INVALLOCATION          0x8000002D
#define LINEERR_INVALMEDIALIST         0x8000002E
#define LINEERR_INVALMEDIAMODE         0x8000002F
#define LINEERR_INVALMESSAGEID         0x80000030
#define LINEERR_INVALPARAM             0x80000032
#define LINEERR_INVALPARKID            0x80000033
#define LINEERR_INVALPARKMODE          0x80000034
#define LINEERR_INVALPOINTER           0x80000035
#define LINEERR_INVALPRIVSELECT        0x80000036
#define LINEERR_INVALRATE              0x80000037
#define LINEERR_INVALREQUESTMODE       0x80000038
#define LINEERR_INVALTERMINALID        0x80000039
#define LINEERR_INVALTERMINALMODE      0x8000003A
#define LINEERR_INVALTIMEOUT           0x8000003B
#define LINEERR_INVALTONE              0x8000003C
#define LINEERR_INVALTONELIST          0x8000003D
#define LINEERR_INVALTONEMODE          0x8000003E
#define LINEERR_INVALTRANSFERMODE      0x8000003F
#define LINEERR_LINEMAPPERFAILED       0x80000040
#define LINEERR_NOCONFERENCE           0x80000041
#define LINEERR_NODEVICE               0x80000042
#define LINEERR_NODRIVER               0x80000043
#define LINEERR_NOMEM                  0x80000044
#define LINEERR_NOREQUEST              0x80000045
#define LINEERR_NOTOWNER               0x80000046
#define LINEERR_NOTREGISTERED          0x80000047
#define LINEERR_OPERATIONFAILED        0x80000048
#define LINEERR_OPERATIONUNAVAIL       0x80000049
#define LINEERR_RATEUNAVAIL            0x8000004A
#define LINEERR_RESOURCEUNAVAIL        0x8000004B
#define LINEERR_REQUESTOVERRUN         0x8000004C
#define LINEERR_STRUCTURETOOSMALL      0x8000004D
#define LINEERR_TARGETNOTFOUND         0x8000004E
#define LINEERR_TARGETSELF             0x8000004F
#define LINEERR_UNINITIALIZED          0x80000050
#define LINEERR_USERUSERINFOTOOBIG     0x80000051
#define LINEERR_REINIT                 0x80000052
#define LINEERR_ADDRESSBLOCKED         0x80000053
#define LINEERR_BILLINGREJECTED        0x80000054
#define LINEERR_INVALFEATURE           0x80000055
#define LINEERR_NOMULTIPLEINSTANCE     0x80000056

#define STRINGFORMAT_ASCII             0x00000001
#define STRINGFORMAT_DBCS              0x00000002
#define STRINGFORMAT_UNICODE           0x00000003
#define STRINGFORMAT_BINARY            0x00000004

#define LINEADDRESSMODE_ADDRESSID      0x00000001
#define LINEADDRESSMODE_DIALABLEADDR   0x00000002

#define LINEBEARERMODE_VOICE           0x00000001
#define LINEBEARERMODE_SPEECH          0x00000002
#define LINEBEARERMODE_MULTIUSE        0x00000004
#define LINEBEARERMODE_DATA            0x00000008
#define LINEBEARERMODE_ALTSPEECHDATA   0x00000010
#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
#define LINEBEARERMODE_PASSTHROUGH     0x00000040

#define LINEMEDIAMODE_UNKNOWN          0x00000002
#define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
#define LINEMEDIAMODE_AUTOMATEDVOICE   0x00000008
#define LINEMEDIAMODE_DATAMODEM        0x00000010

#define LINEDEVCAPFLAGS_CROSSADDRCONF  0x00000001
#define LINEDEVCAPFLAGS_HIGHLEVCOMP    0x00000002
#define LINEDEVCAPFLAGS_LOWLEVCOMP     0x00000004
#define LINEDEVCAPFLAGS_MEDIACONTROL   0x00000008
#define LINEDEVCAPFLAGS_MULTIPLEADDR   0x00000010
#define LINEDEVCAPFLAGS_CLOSEDROP      0x00000020
#define LINEDEVCAPFLAGS_DIALBILLING    0x00000040
#define LINEDEVCAPFLAGS_DIALQUIET      0x00000080
#define LINEDEVCAPFLAGS_DIALDIALTONE   0x00000100

#define LINEDEVSTATE_OTHER             0x00000001
#define LINEDEVSTATE_RINGING           0x00000002
#define LINEDEVSTATE_CONNECTED         0x00000004
#define LINEDEVSTATE_DISCONNECTED      0x00000008
#define LINEDEVSTATE_MSGWAITON         0x00000010
#define LINEDEVSTATE_MSGWAITOFF        0x00000020
#define LINEDEVSTATE_INSERVICE         0x00000040
#define LINEDEVSTATE_OUTOFSERVICE      0x00000080
#define LINEDEVSTATE_MAINTENANCE       0x00000100
#define LINEDEVSTATE_OPEN              0x00000200
#define LINEDEVSTATE_CLOSE             0x00000400
#define LINEDEVSTATE_NUMCALLS          0x00000800
#define LINEDEVSTATE_NUMCOMPLETIONS    0x00001000
#define LINEDEVSTATE_TERMINALS         0x00002000
#define LINEDEVSTATE_ROAMMODE          0x00004000
#define LINEDEVSTATE_BATTERY           0x00008000
#define LINEDEVSTATE_SIGNAL            0x00010000
#define LINEDEVSTATE_DEVSPECIFIC       0x00020000
#define LINEDEVSTATE_REINIT            0x00040000
#define LINEDEVSTATE_LOCK              0x00080000

#define LINEDEVSTATE_CAPSCHANGE        0x00100000
#define LINEDEVSTATE_CONFIGCHANGE      0x00200000
#define LINEDEVSTATE_TRANSLATECHANGE   0x00400000
#define LINEDEVSTATE_COMPLCANCEL       0x00800000
#define LINEDEVSTATE_REMOVED           0x01000000

#define LINELOCATIONOPTION_PULSEDIAL   0x00000001


#define LINEFEATURE_DEVSPECIFIC        0x00000001
#define LINEFEATURE_DEVSPECIFICFEAT    0x00000002
#define LINEFEATURE_FORWARD            0x00000004
#define LINEFEATURE_MAKECALL           0x00000008
#define LINEFEATURE_SETMEDIACONTROL    0x00000010
#define LINEFEATURE_SETTERMINAL        0x00000020
#define LINEFEATURE_SETDEVSTATUS       0x00000040
#define LINEFEATURE_FORWARDFWD         0x00000080
#define LINEFEATURE_FORWARDDND         0x00000100

/* tapi callback messages */

#define LINE_ADDRESSSTATE              0L
#define LINE_CALLINFO                  1L
#define LINE_CALLSTATE                 2L
#define LINE_CLOSE                     3L
#define LINE_DEVSPECIFIC               4L
#define LINE_DEVSPECIFICFEATURE        5L
#define LINE_GATHERDIGITS              6L
#define LINE_GENERATE                  7L
#define LINE_LINEDEVSTATE              8L
#define LINE_MONITORDIGITS             9L
#define LINE_MONITORMEDIA             10L
#define LINE_MONITORTONE              11L
#define LINE_REPLY                    12L
#define LINE_REQUEST                  13L
#define PHONE_BUTTON                  14L
#define PHONE_CLOSE                   15L
#define PHONE_DEVSPECIFIC             16L
#define PHONE_REPLY                   17L
#define PHONE_STATE                   18L
#define LINE_CREATE                   19L
#define PHONE_CREATE                  20L

#define LINE_AGENTSPECIFIC            21L
#define LINE_AGENTSTATUS              22L
#define LINE_APPNEWCALL               23L
#define LINE_PROXYREQUEST             24L
#define LINE_REMOVE                   25L
#define PHONE_REMOVE                  26L
/* these are used as Param1 of line_callstate messages */
#define LINECALLSTATE_IDLE            0x00000001
#define LINECALLSTATE_OFFERING        0x00000002
#define LINECALLSTATE_ACCEPTED        0x00000004
#define LINECALLSTATE_DIALTONE        0x00000008
#define LINECALLSTATE_DIALING         0x00000010
#define LINECALLSTATE_RINGBACK        0x00000020
#define LINECALLSTATE_BUSY            0x00000040
#define LINECALLSTATE_SPECIALINFO     0x00000080
#define LINECALLSTATE_CONNECTED       0x00000100
#define LINECALLSTATE_PROCEEDING      0x00000200
#define LINECALLSTATE_ONHOLD          0x00000400
#define LINECALLSTATE_CONFERENCED     0x00000800
#define LINECALLSTATE_ONHOLDPENDCONF  0x00001000
#define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
#define LINECALLSTATE_DISCONNECTED    0x00004000
#define LINECALLSTATE_UNKNOWN         0x00008000
#define LINECONNECTEDMODE_ACTIVE            0x00000001
#define LINECONNECTEDMODE_INACTIVE          0x00000002
#define LINECONNECTEDMODE_ACTIVEHELD        0x00000004
#define LINECONNECTEDMODE_INACTIVEHELD      0x00000008
#define LINECONNECTEDMODE_CONFIRMED         0x00000010

/* these are Param2 values for state_disconnected line_callstate messages */
#define LINEDISCONNECTMODE_NORMAL           0x00000001
#define LINEDISCONNECTMODE_UNKNOWN          0x00000002
#define LINEDISCONNECTMODE_REJECT           0x00000004
#define LINEDISCONNECTMODE_PICKUP           0x00000008
#define LINEDISCONNECTMODE_FORWARDED        0x00000010
#define LINEDISCONNECTMODE_BUSY             0x00000020
#define LINEDISCONNECTMODE_NOANSWER         0x00000040
#define LINEDISCONNECTMODE_BADADDRESS       0x00000080
#define LINEDISCONNECTMODE_UNREACHABLE      0x00000100
#define LINEDISCONNECTMODE_CONGESTION       0x00000200
#define LINEDISCONNECTMODE_INCOMPATIBLE     0x00000400
#define LINEDISCONNECTMODE_UNAVAIL          0x00000800
#define LINEDISCONNECTMODE_NODIALTONE       0x00001000
#define LINEDISCONNECTMODE_NUMBERCHANGED    0x00002000
#define LINEDISCONNECTMODE_OUTOFORDER       0x00004000
#define LINEDISCONNECTMODE_TEMPFAILURE      0x00008000
#define LINEDISCONNECTMODE_QOSUNAVAIL       0x00010000
#define LINEDISCONNECTMODE_BLOCKED          0x00020000
#define LINEDISCONNECTMODE_DONOTDISTURB     0x00040000
#define LINEDISCONNECTMODE_CANCELLED        0x00080000

#define LINECALLSELECT_LINE                 0x00000001
#define LINECALLSELECT_ADDRESS              0x00000002
#define LINECALLSELECT_CALL                 0x00000004
#define LINECALLSELECT_DEVICEID             0x00000008

#define LINECALLPRIVILEGE_NONE              0x00000001
#define LINECALLPRIVILEGE_MONITOR           0x00000002
#define LINECALLPRIVILEGE_OWNER             0x00000004
#define LINECALLFEATURE_ACCEPT              0x00000001
#define LINECALLFEATURE_ADDTOCONF           0x00000002
#define LINECALLFEATURE_ANSWER              0x00000004
#define LINECALLFEATURE_BLINDTRANSFER       0x00000008
#define LINECALLFEATURE_COMPLETECALL        0x00000010
#define LINECALLFEATURE_COMPLETETRANSF      0x00000020
#define LINECALLFEATURE_DIAL                0x00000040
#define LINECALLFEATURE_DROP                0x00000080
#define LINECALLFEATURE_GATHERDIGITS        0x00000100
#define LINECALLFEATURE_GENERATEDIGITS      0x00000200
#define LINECALLFEATURE_GENERATETONE        0x00000400
#define LINECALLFEATURE_HOLD                0x00000800
#define LINECALLFEATURE_MONITORDIGITS       0x00001000
#define LINECALLFEATURE_MONITORMEDIA        0x00002000
#define LINECALLFEATURE_MONITORTONES        0x00004000
#define LINECALLFEATURE_PARK                0x00008000
#define LINECALLFEATURE_PREPAREADDCONF      0x00010000
#define LINECALLFEATURE_REDIRECT            0x00020000
#define LINECALLFEATURE_REMOVEFROMCONF      0x00040000
#define LINECALLFEATURE_SECURECALL          0x00080000
#define LINECALLFEATURE_SENDUSERUSER        0x00100000
#define LINECALLFEATURE_SETCALLPARAMS       0x00200000
#define LINECALLFEATURE_SETMEDIACONTROL     0x00400000
#define LINECALLFEATURE_SETTERMINAL         0x00800000
#define LINECALLFEATURE_SETUPCONF           0x01000000
#define LINECALLFEATURE_SETUPTRANSFER       0x02000000
#define LINECALLFEATURE_SWAPHOLD            0x04000000
#define LINECALLFEATURE_UNHOLD              0x08000000
#define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515

typedef struct lineaddresscaps_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwLineDeviceID;
    DWORD dwAddressSize;
    DWORD dwAddressOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
    DWORD dwAddressSharing;
    DWORD dwAddressStates;
    DWORD dwCallInfoStates;
    DWORD dwCallerIDFlags;
    DWORD dwCalledIDFlags;
    DWORD dwConnectedIDFlags;
    DWORD dwRedirectionIDFlags;
    DWORD dwRedirectingIDFlags;
    DWORD dwCallStates;
    DWORD dwDialToneModes;
    DWORD dwBusyModes;
    DWORD dwSpecialInfo;
    DWORD dwDisconnectModes;
    DWORD dwMaxNumActiveCalls;
    DWORD dwMaxNumOnHoldCalls;
    DWORD dwMaxNumOnHoldPendingCalls;
    DWORD dwMaxNumConference;
    DWORD dwMaxNumTransConf;
    DWORD dwAddrCapFlags;
    DWORD dwCallFeatures;
    DWORD dwRemoveFromConfCaps;
    DWORD dwRemoveFromConfState;
    DWORD dwTransferModes;
    DWORD dwParkModes;
    DWORD dwForwardModes;
    DWORD dwMaxForwardEntries;
    DWORD dwMaxSpecificEntries;
    DWORD dwMinFwdNumRings;
    DWORD dwMaxFwdNumRings;
    DWORD dwMaxCallCompletions;
    DWORD dwCallCompletionConds;
    DWORD dwCallCompletionModes;
    DWORD dwNumCompletionMessages;
    DWORD dwCompletionMsgTextEntrySize;
    DWORD dwCompletionMsgTextSize;
    DWORD dwCompletionMsgTextOffset;
    DWORD dwAddressFeatures;
} LINEADDRESSCAPS, *LPLINEADDRESSCAPS;

typedef struct lineaddressstatus_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwNumInUse;
    DWORD dwNumActiveCalls;
    DWORD dwNumOnHoldCalls;
    DWORD dwNumOnHoldPendCalls;
    DWORD dwAddressFeatures;
    DWORD dwNumRingsNoAnswer;
    DWORD dwForwardNumEntries;
    DWORD dwForwardSize;
    DWORD dwForwardOffset;
    DWORD dwTerminalModesSize;
    DWORD dwTerminalModesOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
} LINEADDRESSSTATUS, *LPLINEADDRESSSTATUS;

typedef struct linedialparams_tag {
    DWORD dwDialPause;
    DWORD dwDialSpeed;
    DWORD dwDigitDuration;
    DWORD dwWaitForDialtone;
} LINEDIALPARAMS, *LPLINEDIALPARAMS;

typedef struct linecallinfo_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    HLINE hLine;
    DWORD dwLineDeviceID;
    DWORD dwAddressID;
    DWORD dwBearerMode;
    DWORD dwRate;
    DWORD dwMediaMode;
    DWORD dwAppSpecific;
    DWORD dwCallID;
    DWORD dwRelatedCallID;
    DWORD dwCallParamFlags;
    DWORD dwCallStates;
    DWORD dwMonitorDigitModes;
    DWORD dwMonitorMediaModes;
    LINEDIALPARAMS DialParams;
    DWORD dwOrigin;
    DWORD dwReason;
    DWORD dwCompletionID;
    DWORD dwNumOwners;
    DWORD dwNumMonitors;
    DWORD dwCountryCode;
    DWORD dwTrunk;
    DWORD dwCallerIDFlags;
    DWORD dwCallerIDSize;
    DWORD dwCallerIDOffset;
    DWORD dwCallerIDNameSize;
    DWORD dwCallerIDNameOffset;
    DWORD dwCalledIDFlags;
    DWORD dwCalledIDSize;
    DWORD dwCalledIDOffset;
    DWORD dwCalledIDNameSize;
    DWORD dwCalledIDNameOffset;
    DWORD dwConnectedIDFlags;
    DWORD dwConnectedIDSize;
    DWORD dwConnectedIDOffset;
    DWORD dwConnectedIDNameSize;
    DWORD dwConnectedIDNameOffset;
    DWORD dwRedirectionIDFlags;
    DWORD dwRedirectionIDSize;
    DWORD dwRedirectionIDOffset;
    DWORD dwRedirectionIDNameSize;
    DWORD dwRedirectionIDNameOffset;
    DWORD dwRedirectingIDFlags;
    DWORD dwRedirectingIDSize;
    DWORD dwRedirectingIDOffset;
    DWORD dwRedirectingIDNameSize;
    DWORD dwRedirectingIDNameOffset;
    DWORD dwAppNameSize;
    DWORD dwAppNameOffset;
    DWORD dwDisplayableAddressSize;
    DWORD dwDisplayableAddressOffset;
    DWORD dwCalledPartySize;
    DWORD dwCalledPartyOffset;
    DWORD dwCommentSize;
    DWORD dwCommentOffset;
    DWORD dwDisplaySize;
    DWORD dwDisplayOffset;
    DWORD dwUserUserInfoSize;
    DWORD dwUserUserInfoOffset;
    DWORD dwHighLevelCompSize;
    DWORD dwHighLevelCompOffset;
    DWORD dwLowLevelCompSize;
    DWORD dwLowLevelCompOffset;
    DWORD dwChargingInfoSize;
    DWORD dwChargingInfoOffset;
    DWORD dwTerminalModesSize;
    DWORD dwTerminalModesOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
} LINECALLINFO, *LPLINECALLINFO;

typedef struct linecalllist_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwCallsNumEntries;
    DWORD dwCallsSize;
    DWORD dwCallsOffset;
} LINECALLLIST, *LPLINECALLLIST;

typedef struct linecallparams_tag {
    DWORD dwTotalSize;
    DWORD dwBearerMode;
    DWORD dwMinRate;
    DWORD dwMaxRate;
    DWORD dwMediaMode;
    DWORD dwCallParamFlags;
    DWORD dwAddressMode;
    DWORD dwAddressID;
    LINEDIALPARAMS DialParams;
    DWORD dwOrigAddressSize;
    DWORD dwOrigAddressOffset;
    DWORD dwDisplayableAddressSize;
    DWORD dwDisplayableAddressOffset;
    DWORD dwCalledPartySize;
    DWORD dwCalledPartyOffset;
    DWORD dwCommentSize;
    DWORD dwCommentOffset;
    DWORD dwUserUserInfoSize;
    DWORD dwUserUserInfoOffset;
    DWORD dwHighLevelCompSize;
    DWORD dwHighLevelCompOffset;
    DWORD dwLowLevelCompSize;
    DWORD dwLowLevelCompOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
} LINECALLPARAMS, *LPLINECALLPARAMS;

typedef struct linecallstatus_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwCallState;
    DWORD dwCallStateMode;
    DWORD dwCallPrivilege;
    DWORD dwCallFeatures;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
} LINECALLSTATUS, *LPLINECALLSTATUS;

typedef struct linecountrylist_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwNumCountries;
    DWORD dwCountryListSize;
    DWORD dwCountryListOffset;
} LINECOUNTRYLIST, *LPLINECOUNTRYLIST;

516 517 518 519 520 521 522 523 524 525 526 527 528 529
typedef struct linecountryentry_tag {
    DWORD dwCountryID;
    DWORD dwCountryCode;
    DWORD dwNextCountryID;
    DWORD dwCountryNameSize;
    DWORD dwCountryNameOffset;
    DWORD dwSameAreaRuleSize;
    DWORD dwSameAreaRuleOffset;
    DWORD dwLongDistanceRuleSize;
    DWORD dwLongDistanceRuleOffset;
    DWORD dwInternationalRuleSize;
    DWORD dwInternationalRuleOffset;
} LINECOUNTRYENTRY, *LPLINECOUNTRYENTRY;

530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591
typedef struct linedevcaps_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwProviderInfoSize;
    DWORD dwProviderInfoOffset;
    DWORD dwSwitchInfoSize;
    DWORD dwSwitchInfoOffset;
    DWORD dwPermanentLineID;
    DWORD dwLineNameSize;
    DWORD dwLineNameOffset;
    DWORD dwStringFormat;
    DWORD dwAddressModes;
    DWORD dwNumAddresses;
    DWORD dwBearerModes;
    DWORD dwMaxRate;
    DWORD dwMediaModes;
    DWORD dwGenerateToneModes;
    DWORD dwGenerateToneMaxNumFreq;
    DWORD dwGenerateDigitModes;
    DWORD dwMonitorToneMaxNumFreq;
    DWORD dwMonitorToneMaxNumEntries;
    DWORD dwMonitorDigitModes;
    DWORD dwGatherDigitsMinTimeout;
    DWORD dwGatherDigitsMaxTimeout;
    DWORD dwMedCtlDigitMaxListSize;
    DWORD dwMedCtlMediaMaxListSize;
    DWORD dwMedCtlToneMaxListSize;
    DWORD dwMedCtlCallStateMaxListSize;
    DWORD dwDevCapFlags;
    DWORD dwMaxNumActiveCalls;
    DWORD dwAnswerMode;
    DWORD dwRingModes;
    DWORD dwLineStates;
    DWORD dwUUIAcceptSize;
    DWORD dwUUIAnswerSize;
    DWORD dwUUIMakeCallSize;
    DWORD dwUUIDropSize;
    DWORD dwUUISendUserUserInfoSize;
    DWORD dwUUICallInfoSize;
    LINEDIALPARAMS MinDialParams;
    LINEDIALPARAMS MaxDialParams;
    LINEDIALPARAMS DefaultDialParams;
    DWORD dwNumTerminals;
    DWORD dwTerminalCapsSize;
    DWORD dwTerminalCapsOffset;
    DWORD dwTerminalTextEntrySize;
    DWORD dwTerminalTextSize;
    DWORD dwTerminalTextOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
    DWORD dwLineFeatures;
} LINEDEVCAPS, *LPLINEDEVCAPS;

typedef struct linedevstatus_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwNumOpens;
    DWORD dwOpenMediaModes;
    DWORD dwNumActiveCalls;
    DWORD dwNumOnHoldCalls;
592
    DWORD dwNumOnHoldPendCalls;
593
    DWORD dwLineFeatures;
594
    DWORD dwNumCallCompletions;
595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626
    DWORD dwRingMode;
    DWORD dwSignalLevel;
    DWORD dwBatteryLevel;
    DWORD dwRoamMode;
    DWORD dwDevStatusFlags;
    DWORD dwTerminalModesSize;
    DWORD dwTerminalModesOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
} LINEDEVSTATUS, *LPLINEDEVSTATUS;

typedef struct lineextensionid_tag {
    DWORD dwExtensionID0;
    DWORD dwExtensionID1;
    DWORD dwExtensionID2;
    DWORD dwExtensionID3;
} LINEEXTENSIONID, *LPLINEEXTENSIONID;

typedef struct lineforward_tag {
    DWORD dwForwardMode;
    DWORD dwCallerAddressSize;
    DWORD dwCallerAddressOffset;
    DWORD dwDestCountryCode;
    DWORD dwDestAddressSize;
    DWORD dwDestAddressOffset;
} LINEFORWARD, *LPLINEFORWARD;

typedef struct lineforwardlist_tag {
    DWORD dwTotalSize;
    DWORD dwNumEntries;
    LINEFORWARD ForwardList[1];
} LINEFORWARDLIST, *LPLINEFORWARDLIST;
627

628 629 630 631 632 633 634
typedef struct linegeneratetone_tag {
    DWORD dwFrequency;
    DWORD dwCadenceOn;
    DWORD dwCadenceOff;
    DWORD dwVolume;
} LINEGENERATETONE, *LPLINEGENERATETONE;

635 636 637 638 639 640 641 642 643 644 645 646
typedef struct lineinitializeexparams_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwOptions;
    union {
    HANDLE hEvent;
    HANDLE hCompletionPort;
    } Handles;
    DWORD dwCompletionKey;
} LINEINITIALIZEEXPARAMS, *LPLINEINITIALIZEEXPARAMS;

647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703
typedef struct linemediacontrolcallstate_tag {
    DWORD dwCallStates;
    DWORD dwMediaControl;
} LINEMEDIACONTROLCALLSTATE, *LPLINEMEDIACONTROLCALLSTATE;

typedef struct linemediacontroldigit_tag {
    DWORD dwDigit;
    DWORD dwDigitModes;
    DWORD dwMediaControl;
} LINEMEDIACONTROLDIGIT, *LPLINEMEDIACONTROLDIGIT;

typedef struct linemediacontrolmedia_tag {
    DWORD dwMediaModes;
    DWORD dwDuration;
    DWORD dwMediaControl;
} LINEMEDIACONTROLMEDIA, *LPLINEMEDIACONTROLMEDIA;

typedef struct linemediacontroltone_tag {
    DWORD dwAppSpecific;
    DWORD dwDuration;
    DWORD dwFrequency1;
    DWORD dwFrequency2;
    DWORD dwFrequency3;
    DWORD dwMediaControl;
} LINEMEDIACONTROLTONE, *LPLINEMEDIACONTROLTONE;

typedef struct linemonitortone_tag {
    DWORD dwAppSpecific;
    DWORD dwDuration;
    DWORD dwFrequency1;
    DWORD dwFrequency2;
    DWORD dwFrequency3;
} LINEMONITORTONE, *LPLINEMONITORTONE;

typedef struct lineproviderlist_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwNumProviders;
    DWORD dwProviderListSize;
    DWORD dwProviderListOffset;
} LINEPROVIDERLIST, *LPLINEPROVIDERLIST;

typedef struct linetranslatecaps_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwNumLocations;
    DWORD dwLocationListSize;
    DWORD dwLocationListOffset;
    DWORD dwCurrentLocationID;
    DWORD dwNumCards;
    DWORD dwCardListSize;
    DWORD dwCardListOffset;
    DWORD dwCurrentPreferredCardID;
} LINETRANSLATECAPS, *LPLINETRANSLATECAPS;

704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738
typedef struct linelocationentry_tag {
    DWORD dwPermanentLocationID;
    DWORD dwLocationNameSize;
    DWORD dwLocationNameOffset;
    DWORD dwCountryCode;
    DWORD dwCityCodeSize;
    DWORD dwCityCodeOffset;
    DWORD dwPreferredCardID;
    DWORD dwLocalAccessCodeSize;
    DWORD dwLocalAccessCodeOffset;
    DWORD dwLongDistanceAccessCodeSize;
    DWORD dwLongDistanceAccessCodeOffset;
    DWORD dwTollPrefixListSize;
    DWORD dwTollPrefixListOffset;
    DWORD dwCountryID;
    DWORD dwOptions;
    DWORD dwCancelCallWaitingSize;
    DWORD dwCancelCallWaitingOffset;
} LINELOCATIONENTRY, *LPLINELOCATIONENTRY;

typedef struct linecardentry_tag {
    DWORD dwPermanentCardID;
    DWORD dwCardNameSize;
    DWORD dwCardNameOffset;
    DWORD dwCardNumberDigits;
    DWORD dwSameAreaRuleSize;
    DWORD dwSameAreaRuleOffset;
    DWORD dwLongDistanceRuleSize;
    DWORD dwLongDistanceRuleOffset;
    DWORD dwInternationalRuleSize;
    DWORD dwInternationalRuleOffset;
    DWORD dwOptions;
} LINECARDENTRY, *LPLINECARDENTRY;


739 740 741 742 743 744 745 746 747 748 749 750 751
typedef struct linetranslateoutput_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwDialableStringSize;
    DWORD dwDialableStringOffset;
    DWORD dwDisplayableStringSize;
    DWORD dwDisplayableStringOffset;
    DWORD dwCurrentCountry;
    DWORD dwDestCountry;
    DWORD dwTranslateResults;
} LINETRANSLATEOUTPUT, *LPLINETRANSLATEOUTPUT;

752
typedef void (CALLBACK *LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
753 754

typedef struct _PHONEAPP {
755
  int dummy;
756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848
} PHONEAPP, *LPPHONEAPP;

typedef struct _PHONE {
    DWORD dwRingMode;
    DWORD dwVolume;
} PHONE, *LPPHONE;

typedef struct phonebuttoninfo_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwButtonMode;
    DWORD dwButtonFunction;
    DWORD dwButtonTextSize;
    DWORD dwButtonTextOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
    DWORD dwButtonState;
} PHONEBUTTONINFO, *LPPHONEBUTTONINFO;

typedef struct phonecaps_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwProviderInfoSize;
    DWORD dwProviderInfoOffset;
    DWORD dwPhoneInfoSize;
    DWORD dwPhoneInfoOffset;
    DWORD dwPermanentPhoneID;
    DWORD dwPhoneNameSize;
    DWORD dwPhoneNameOffset;
    DWORD dwStringFormat;
    DWORD dwPhoneStates;
    DWORD dwHookSwitchDevs;
    DWORD dwHandsetHookSwitchModes;
    DWORD dwSpeakerHookSwitchModes;
    DWORD dwHeadsetHookSwitchModes;
    DWORD dwVolumeFlags;
    DWORD dwGainFlags;
    DWORD dwDisplayNumRows;
    DWORD dwDisplayNumColumns;
    DWORD dwNumRingModes;
    DWORD dwNumButtonLamps;
    DWORD dwButtonModesSize;
    DWORD dwButtonModesOffset;
    DWORD dwButtonFunctionsSize;
    DWORD dwButtonFunctionsOffset;
    DWORD dwLampModesSize;
    DWORD dwLampModesOffset;
    DWORD dwNumSetData;
    DWORD dwSetDataSize;
    DWORD dwSetDataOffset;
    DWORD dwNumGetData;
    DWORD dwGetDataSize;
    DWORD dwGetDataOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
} PHONECAPS, *LPPHONECAPS;

typedef struct phoneextensionid_tag {
    DWORD dwExtensionID0;
    DWORD dwExtensionID1;
    DWORD dwExtensionID2;
    DWORD dwExtensionID3;
} PHONEEXTENSIONID, *LPPHONEEXTENSIONID;

typedef struct phonestatus_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwStatusFlags;
    DWORD dwNumOwners;
    DWORD dwRingMOde;
    DWORD dwRingVolume;
    DWORD dwHandsetHookSwitchMode;
    DWORD dwHandsetVolume;
    DWORD dwHandsetGain;
    DWORD dwSpeakerHookSwitchMode;
    DWORD dwSpeakerVolume;
    DWORD dwSpeakerGain;
    DWORD dwHeadsetHookSwitchMode;
    DWORD dwHeadsetVolume;
    DWORD dwHeadsetGain;
    DWORD dwDisplaySize;
    DWORD dwDisplayOffset;
    DWORD dwLampModesSize;
    DWORD dwLampModesOffset;
    DWORD dwOwnerNameSize;
    DWORD dwOwnerNameOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
} PHONESTATUS, *LPPHONESTATUS;

849
typedef void (CALLBACK *PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD);
850 851 852 853 854 855 856 857 858 859 860 861

typedef struct varstring_tag {
    DWORD dwTotalSize;
    DWORD dwNeededSize;
    DWORD dwUsedSize;
    DWORD dwStringFormat;
    DWORD dwStringSize;
    DWORD dwStringOffset;
} VARSTRING, *LPVARSTRING;

/* line functions */
DWORD WINAPI lineAccept(HCALL,LPCSTR,DWORD);
862 863 864
DWORD WINAPI lineAddProviderA(LPCSTR,HWND,LPDWORD);
DWORD WINAPI lineAddProviderW(LPCWSTR,HWND,LPDWORD);
#define      lineAddProvider WINELIB_NAME_AW(lineAddProvider)
865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890
DWORD WINAPI lineAddToConference(HCALL,HCALL);
DWORD WINAPI lineAnswer(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineBlindTransfer(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineClose(HLINE);
DWORD WINAPI lineCompleteCall(HCALL,LPDWORD,DWORD,DWORD);
DWORD WINAPI lineCompleteTransfer(HCALL,HCALL,LPHCALL,DWORD);
DWORD WINAPI lineConfigDialog(DWORD,HWND,LPCSTR);
DWORD WINAPI lineConfigDialogEdit(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
DWORD WINAPI lineConfigProvider(HWND,DWORD);
DWORD WINAPI lineDeallocateCall(HCALL);
DWORD WINAPI lineDevSpecific(HLINE,DWORD,HCALL,LPVOID,DWORD);
DWORD WINAPI lineDevSpecificFeature(HLINE,DWORD,LPVOID,DWORD);
DWORD WINAPI lineDial(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineDrop(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineForward(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
DWORD WINAPI lineGatherDigits(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
DWORD WINAPI lineGenerateDigits(HCALL,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineGenerateTone(HCALL,DWORD,DWORD,DWORD,LPLINEGENERATETONE);
DWORD WINAPI lineGetAddressCaps(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
DWORD WINAPI lineGetAddressID(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineGetAddressStatus(HLINE,DWORD,LPLINEADDRESSSTATUS);
DWORD WINAPI lineGetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
DWORD WINAPI lineGetCallInfo(HCALL,LPLINECALLINFO);
DWORD WINAPI lineGetCallStatus(HCALL,LPLINECALLSTATUS);
DWORD WINAPI lineGetConfRelatedCalls(HCALL,LPLINECALLLIST);
DWORD WINAPI lineGetCountry(DWORD,DWORD,LPLINECOUNTRYLIST);
891 892 893
DWORD WINAPI lineGetDevCapsA(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
DWORD WINAPI lineGetDevCapsW(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
#define      lineGetDevCaps WINELIB_NAME_AW(lineGetDevCaps);
894
DWORD WINAPI lineGetDevConfig(DWORD,LPVARSTRING,LPCSTR);
Andrew Nguyen's avatar
Andrew Nguyen committed
895 896 897
DWORD WINAPI lineGetIDA(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
DWORD WINAPI lineGetIDW(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCWSTR);
#define      lineGetID WINELIB_NAME_AW(lineGetID);
898 899 900 901
DWORD WINAPI lineGetIcon(DWORD,LPCSTR,HICON *);
DWORD WINAPI lineGetLineDevStatus(HLINE,LPLINEDEVSTATUS);
DWORD WINAPI lineGetNewCalls(HLINE,DWORD,DWORD,LPLINECALLLIST);
DWORD WINAPI lineGetNumRings(HLINE,DWORD,LPDWORD);
902 903 904
DWORD WINAPI lineGetProviderListA(DWORD,LPLINEPROVIDERLIST);
DWORD WINAPI lineGetProviderListW(DWORD,LPLINEPROVIDERLIST);
#define      lineGetProviderList WINELIB_NAME_AW(lineGetProviderList)
905 906 907 908 909 910
DWORD WINAPI lineGetRequest(HLINEAPP,DWORD,LPVOID);
DWORD WINAPI lineGetStatusMessages(HLINE,LPDWORD,LPDWORD);
DWORD WINAPI lineGetTranslateCaps(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
DWORD WINAPI lineHandoff(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineHold(HCALL);
DWORD WINAPI lineInitialize(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD);
911 912 913
LONG  WINAPI lineInitializeExA(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD,LPDWORD,LPLINEINITIALIZEEXPARAMS);
LONG  WINAPI lineInitializeExW(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCWSTR,LPDWORD,LPDWORD,LPLINEINITIALIZEEXPARAMS);
#define      lineInitializeEx WINELIB_NAME_AW(lineInitializeEx)
914 915 916
DWORD WINAPI lineMakeCallA(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
DWORD WINAPI lineMakeCallW(HLINE,LPHCALL,LPCWSTR,DWORD,LPLINECALLPARAMS);
#define      lineMakeCall WINELIB_NAMEAW(lineMakeCall);
917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954
DWORD WINAPI lineMonitorDigits(HCALL,DWORD);
DWORD WINAPI lineMonitorMedia(HCALL,DWORD);
DWORD WINAPI lineMonitorTones(HCALL,LPLINEMONITORTONE,DWORD);
DWORD WINAPI lineNegotiateAPIVersion(HLINEAPP,DWORD,DWORD,DWORD,LPDWORD,LPLINEEXTENSIONID);
DWORD WINAPI lineNegotiateExtVersion(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
DWORD WINAPI lineOpen(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
DWORD WINAPI linePark(HCALL,DWORD,LPCSTR,LPVARSTRING);
DWORD WINAPI linePickup(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
DWORD WINAPI linePrepareAddToConference(HCALL,LPHCALL,LPLINECALLPARAMS);
DWORD WINAPI lineRedirect(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineRegisterRequestRecipient(HLINEAPP,DWORD,DWORD,DWORD);
DWORD WINAPI lineReleaseUserUserInfo(HCALL);
DWORD WINAPI lineRemoveFromConference(HCALL);
DWORD WINAPI lineRemoveProvider(DWORD,HWND);
DWORD WINAPI lineSecureCall(HCALL);
DWORD WINAPI lineSendUserUserInfo(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineSetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineSetAppSpecific(HCALL,DWORD);
DWORD WINAPI lineSetCallParams(HCALL,DWORD,DWORD,DWORD,LPLINEDIALPARAMS);
DWORD WINAPI lineSetCallPrivilege(HCALL,DWORD);
DWORD WINAPI lineSetCurrentLocation(HLINEAPP,DWORD);
DWORD WINAPI lineSetDevConfig(DWORD,LPVOID,DWORD,LPCSTR);
DWORD WINAPI lineSetMediaControl(HLINE,DWORD,HCALL,DWORD,LPLINEMEDIACONTROLDIGIT,DWORD,LPLINEMEDIACONTROLMEDIA,DWORD,LPLINEMEDIACONTROLTONE,DWORD,LPLINEMEDIACONTROLCALLSTATE,DWORD);
DWORD WINAPI lineSetMediaMode(HCALL,DWORD);
DWORD WINAPI lineSetNumRings(HLINE,DWORD,DWORD);
DWORD WINAPI lineSetStatusMessages(HLINE,DWORD,DWORD);
DWORD WINAPI lineSetTerminal(HLINE,DWORD,HCALL,DWORD,DWORD,DWORD,DWORD);
DWORD WINAPI lineSetTollList(HLINEAPP,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineSetupConference(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
DWORD WINAPI lineSetupTransfer(HCALL,LPHCALL,LPLINECALLPARAMS);
DWORD WINAPI lineShutdown(HLINEAPP);
DWORD WINAPI lineSwapHold(HCALL,HCALL);
DWORD WINAPI lineTranslateAddress(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
DWORD WINAPI lineTranslateDialog(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
DWORD WINAPI lineUncompleteCall(HLINE,DWORD);
DWORD WINAPI lineUnHold(HCALL);
DWORD WINAPI lineUnpark(HLINE,DWORD,LPHCALL,LPCSTR);

955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985
DWORD WINAPI lineBlindTransferA(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineConfigDialogA(DWORD,HWND,LPCSTR);
DWORD WINAPI lineConfigDialogEditA(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
DWORD WINAPI lineDialA(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineForwardA(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
DWORD WINAPI lineGatherDigitsA(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
DWORD WINAPI lineGenerateDigitsA(HCALL,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineGetAddressCapsA(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
DWORD WINAPI lineGetAddressIDA(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineGetAddressStatusA(HLINE,DWORD,LPLINEADDRESSSTATUS);
DWORD WINAPI lineGetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
DWORD WINAPI lineGetCallInfoA(HCALL,LPLINECALLINFO);
DWORD WINAPI lineGetCountryA(DWORD,DWORD,LPLINECOUNTRYLIST);
DWORD WINAPI lineGetDevConfigA(DWORD,LPVARSTRING,LPCSTR);
DWORD WINAPI lineGetIconA(DWORD,LPCSTR,HICON *);
DWORD WINAPI lineGetLineDevStatusA(HLINE,LPLINEDEVSTATUS);
DWORD WINAPI lineGetRequestA(HLINEAPP,DWORD,LPVOID);
DWORD WINAPI lineGetTranslateCapsA(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
DWORD WINAPI lineHandoffA(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineOpenA(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
DWORD WINAPI lineParkA(HCALL,DWORD,LPCSTR,LPVARSTRING);
DWORD WINAPI linePickupA(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
DWORD WINAPI linePrepareAddToConferenceA(HCALL,LPHCALL,LPLINECALLPARAMS);
DWORD WINAPI lineRedirectA(HCALL,LPCSTR,DWORD);
DWORD WINAPI lineSetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineSetDevConfigA(DWORD,LPVOID,DWORD,LPCSTR);
DWORD WINAPI lineSetTollListA(HLINEAPP,DWORD,LPCSTR,DWORD);
DWORD WINAPI lineSetupConferenceA(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
DWORD WINAPI lineSetupTransferA(HCALL,LPHCALL,LPLINECALLPARAMS);
DWORD WINAPI lineTranslateAddressA(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
DWORD WINAPI lineTranslateDialogA(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
986
DWORD WINAPI lineUnhold(HCALL);
987 988
DWORD WINAPI lineUnparkA(HLINE,DWORD,LPHCALL,LPCSTR);

989 990 991 992 993 994 995 996
/* phone functions */
DWORD WINAPI phoneClose(HPHONE);
DWORD WINAPI phoneConfigDialog(DWORD,HWND,LPCSTR);
DWORD WINAPI phoneDevSpecific(HPHONE,LPVOID,DWORD);
DWORD WINAPI phoneGetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
DWORD WINAPI phoneGetData(HPHONE,DWORD,LPVOID,DWORD);
DWORD WINAPI phoneGetDevCaps(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
DWORD WINAPI phoneGetDisplay(HPHONE,LPVARSTRING);
997
DWORD WINAPI phoneGetGain(HPHONE,DWORD,LPDWORD);
998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020
DWORD WINAPI phoneGetHookSwitch(HPHONE,LPDWORD);
DWORD WINAPI phoneGetID(HPHONE,LPVARSTRING,LPCSTR);
DWORD WINAPI phoneGetIcon(DWORD,LPCSTR,HICON *);
DWORD WINAPI phoneGetLamp(HPHONE,DWORD,LPDWORD);
DWORD WINAPI phoneGetRing(HPHONE,LPDWORD,LPDWORD);
DWORD WINAPI phoneGetStatus(HPHONE,LPPHONESTATUS);
DWORD WINAPI phoneGetStatusMessages(HPHONE,LPDWORD,LPDWORD,LPDWORD);
DWORD WINAPI phoneGetVolume(HPHONE,DWORD,LPDWORD);
DWORD WINAPI phoneInitialize(LPHPHONEAPP,HINSTANCE,PHONECALLBACK,LPCSTR,LPDWORD);
DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP,DWORD,DWORD,DWORD,LPDWORD,LPPHONEEXTENSIONID);
DWORD WINAPI phoneNegotiateExtVersion(HPHONEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
DWORD WINAPI phoneOpen(HPHONEAPP,DWORD,LPHPHONE,DWORD,DWORD,DWORD,DWORD);
DWORD WINAPI phoneSetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
DWORD WINAPI phoneSetData(HPHONE,DWORD,LPVOID,DWORD);
DWORD WINAPI phoneSetDisplay(HPHONE,DWORD,DWORD,LPCSTR,DWORD);
DWORD WINAPI phoneSetGain(HPHONE,DWORD,DWORD);
DWORD WINAPI phoneSetHookSwitch(HPHONE,DWORD,DWORD);
DWORD WINAPI phoneSetLamp(HPHONE,DWORD,DWORD);
DWORD WINAPI phoneSetRing(HPHONE,DWORD,DWORD);
DWORD WINAPI phoneSetStatusMessages(HPHONE,DWORD,DWORD,DWORD);
DWORD WINAPI phoneSetVolume(HPHONE,DWORD,DWORD);
DWORD WINAPI phoneShutdown(HPHONEAPP);

1021 1022 1023 1024 1025 1026 1027 1028
DWORD WINAPI phoneConfigDialogA(DWORD,HWND,LPCSTR);
DWORD WINAPI phoneGetButtonInfoA(HPHONE,DWORD,LPPHONEBUTTONINFO);
DWORD WINAPI phoneGetDevCapsA(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
DWORD WINAPI phoneGetIDA(HPHONE,LPVARSTRING,LPCSTR);
DWORD WINAPI phoneGetIconA(DWORD,LPCSTR,HICON *);
DWORD WINAPI phoneGetStatusA(HPHONE,LPPHONESTATUS);
DWORD WINAPI phoneSetButtonInfoA(HPHONE,DWORD,LPPHONEBUTTONINFO);

1029 1030 1031 1032
/* "assisted" functions */
DWORD WINAPI tapiGetLocationInfo(LPSTR,LPSTR);
DWORD WINAPI tapiRequestMakeCall(LPCSTR,LPCSTR,LPCSTR,LPCSTR);

1033 1034 1035
DWORD WINAPI tapiGetLocationInfoA(LPSTR,LPSTR);
DWORD WINAPI tapiRequestMakeCallA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);

1036 1037 1038 1039
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */

1040
#endif /* __WINE_TAPI_H */