Naveen Neel / shedskin
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ndistapi.h Source File

ndistapi.h

00001 /*
00002  * ndistapi.h
00003  *
00004  * NDIS Telephony API
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef __NDISTAPI_H
00024 #define __NDISTAPI_H
00025 
00026 #if __GNUC__ >=3
00027 #pragma GCC system_header
00028 #endif
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00034 #include "ndis.h"
00035 
00036 #ifndef NDIS_TAPI_CURRENT_VERSION
00037 #define NDIS_TAPI_CURRENT_VERSION         0x00010003
00038 #endif
00039 
00040 typedef ULONG_PTR HTAPI_LINE;
00041 typedef ULONG_PTR HDRV_LINE;
00042 typedef ULONG_PTR HTAPI_CALL;
00043 typedef ULONG_PTR HDRV_CALL;
00044 
00045 #define NDIS_STATUS_TAPI_ADDRESSBLOCKED               ((NDIS_STATUS)0xC0012000L)
00046 #define NDIS_STATUS_TAPI_BEARERMODEUNAVAIL            ((NDIS_STATUS)0xC0012001L)
00047 #define NDIS_STATUS_TAPI_CALLUNAVAIL                  ((NDIS_STATUS)0xC0012002L)
00048 #define NDIS_STATUS_TAPI_DIALBILLING                  ((NDIS_STATUS)0xC0012003L)
00049 #define NDIS_STATUS_TAPI_DIALDIALTONE                 ((NDIS_STATUS)0xC0012004L)
00050 #define NDIS_STATUS_TAPI_DIALPROMPT                   ((NDIS_STATUS)0xC0012005L)
00051 #define NDIS_STATUS_TAPI_DIALQUIET                    ((NDIS_STATUS)0xC0012006L)
00052 #define NDIS_STATUS_TAPI_INCOMPATIBLEEXTVERSION       ((NDIS_STATUS)0xC0012007L)
00053 #define NDIS_STATUS_TAPI_INUSE                        ((NDIS_STATUS)0xC0012008L)
00054 #define NDIS_STATUS_TAPI_INVALADDRESS                 ((NDIS_STATUS)0xC0012009L)
00055 #define NDIS_STATUS_TAPI_INVALADDRESSID               ((NDIS_STATUS)0xC001200AL)
00056 #define NDIS_STATUS_TAPI_INVALADDRESSMODE             ((NDIS_STATUS)0xC001200BL)
00057 #define NDIS_STATUS_TAPI_INVALBEARERMODE              ((NDIS_STATUS)0xC001200CL)
00058 #define NDIS_STATUS_TAPI_INVALCALLHANDLE              ((NDIS_STATUS)0xC001200DL)
00059 #define NDIS_STATUS_TAPI_INVALCALLPARAMS              ((NDIS_STATUS)0xC001200EL)
00060 #define NDIS_STATUS_TAPI_INVALCALLSTATE               ((NDIS_STATUS)0xC001200FL)
00061 #define NDIS_STATUS_TAPI_INVALDEVICECLASS             ((NDIS_STATUS)0xC0012010L)
00062 #define NDIS_STATUS_TAPI_INVALLINEHANDLE              ((NDIS_STATUS)0xC0012011L)
00063 #define NDIS_STATUS_TAPI_INVALLINESTATE               ((NDIS_STATUS)0xC0012012L)
00064 #define NDIS_STATUS_TAPI_INVALMEDIAMODE               ((NDIS_STATUS)0xC0012013L)
00065 #define NDIS_STATUS_TAPI_INVALRATE                    ((NDIS_STATUS)0xC0012014L)
00066 #define NDIS_STATUS_TAPI_NODRIVER                     ((NDIS_STATUS)0xC0012015L)
00067 #define NDIS_STATUS_TAPI_OPERATIONUNAVAIL             ((NDIS_STATUS)0xC0012016L)
00068 #define NDIS_STATUS_TAPI_RATEUNAVAIL                  ((NDIS_STATUS)0xC0012017L)
00069 #define NDIS_STATUS_TAPI_RESOURCEUNAVAIL              ((NDIS_STATUS)0xC0012018L)
00070 #define NDIS_STATUS_TAPI_STRUCTURETOOSMALL            ((NDIS_STATUS)0xC0012019L)
00071 #define NDIS_STATUS_TAPI_USERUSERINFOTOOBIG           ((NDIS_STATUS)0xC001201AL)
00072 #define NDIS_STATUS_TAPI_ALLOCATED                    ((NDIS_STATUS)0xC001201BL)
00073 #define NDIS_STATUS_TAPI_INVALADDRESSSTATE            ((NDIS_STATUS)0xC001201CL)
00074 #define NDIS_STATUS_TAPI_INVALPARAM                   ((NDIS_STATUS)0xC001201DL)
00075 #define NDIS_STATUS_TAPI_NODEVICE                     ((NDIS_STATUS)0xC001201EL)
00076 #define NDIS_STATUS_TAPI_DISCONNECTMODE_NORMAL        ((NDIS_STATUS)0xC0012020L)
00077 #define NDIS_STATUS_TAPI_DISCONNECTMODE_UNKNOWN       ((NDIS_STATUS)0xC0012021L)
00078 #define NDIS_STATUS_TAPI_DISCONNECTMODE_REJECT        ((NDIS_STATUS)0xC0012022L)
00079 #define NDIS_STATUS_TAPI_DISCONNECTMODE_PICKUP        ((NDIS_STATUS)0xC0012023L)
00080 #define NDIS_STATUS_TAPI_DISCONNECTMODE_FORWARDED     ((NDIS_STATUS)0xC0012024L)
00081 #define NDIS_STATUS_TAPI_DISCONNECTMODE_BUSY          ((NDIS_STATUS)0xC0012025L)
00082 #define NDIS_STATUS_TAPI_DISCONNECTMODE_NOANSWER      ((NDIS_STATUS)0xC0012026L)
00083 #define NDIS_STATUS_TAPI_DISCONNECTMODE_BADADDRESS    ((NDIS_STATUS)0xC0012027L)
00084 #define NDIS_STATUS_TAPI_DISCONNECTMODE_UNREACHABLE   ((NDIS_STATUS)0xC0012028L)
00085 #define NDIS_STATUS_TAPI_DISCONNECTMODE_CONGESTION    ((NDIS_STATUS)0xC0012029L)
00086 #define NDIS_STATUS_TAPI_DISCONNECTMODE_INCOMPATIBLE  ((NDIS_STATUS)0xC001202AL)
00087 #define NDIS_STATUS_TAPI_DISCONNECTMODE_UNAVAIL       ((NDIS_STATUS)0xC001202BL)
00088 #define NDIS_STATUS_TAPI_RECV_DIGIT                           ((NDIS_STATUS)0x40010020L)
00089 
00090 #define LINE_ADDRESSSTATE                 0L
00091 #define LINE_CALLINFO                     1L
00092 #define LINE_CALLSTATE                    2L
00093 #define LINE_CLOSE                        3L
00094 #define LINE_DEVSPECIFIC                  4L
00095 #define LINE_DEVSPECIFICFEATURE           5L
00096 #define LINE_GATHERDIGITS                 6L
00097 #define LINE_GENERATE                     7L
00098 #define LINE_LINEDEVSTATE                 8L
00099 #define LINE_MONITORDIGITS                9L
00100 #define LINE_MONITORMEDIA                 10L
00101 #define LINE_MONITORTONE                  11L
00102 #define LINE_REPLY                        12L
00103 #define LINE_REQUEST                      13L
00104 #define LINE_CREATE                       19L
00105 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00106 #define LINE_AGENTSPECIFIC                21L
00107 #define LINE_AGENTSTATUS                  22L
00108 #define LINE_APPNEWCALL                   23L
00109 #define LINE_PROXYREQUEST                 24L
00110 #define LINE_REMOVE                       25L
00111 #endif
00112 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
00113 #define LINE_AGENTSESSIONSTATUS           27L
00114 #define LINE_QUEUESTATUS                  28L
00115 #define LINE_AGENTSTATUSEX                29L
00116 #define LINE_GROUPSTATUS                  30L
00117 #define LINE_PROXYSTATUS                  31L
00118 #endif
00119 #if (TAPI_CURRENT_VERSION >= 0x00030000)
00120 #define LINE_APPNEWCALLHUB                32L
00121 #define LINE_CALLHUBCLOSE                 33L
00122 #define LINE_DEVSPECIFICEX                34L
00123 #endif
00124 
00125 #define TSPI_MESSAGE_BASE                 500L
00126 #define LINE_NEWCALL                      TSPI_MESSAGE_BASE
00127 #define LINE_CALLDEVSPECIFIC              (TSPI_MESSAGE_BASE + 1L)
00128 #define STRINGFORMAT_ASCII                0x00000001
00129 #define STRINGFORMAT_DBCS                 0x00000002
00130 #define STRINGFORMAT_UNICODE              0x00000003
00131 #define STRINGFORMAT_BINARY               0x00000004
00132 
00133 #define LINEADDRCAPFLAGS_FWDNUMRINGS      0x00000001
00134 #define LINEADDRCAPFLAGS_PICKUPGROUPID    0x00000002
00135 #define LINEADDRCAPFLAGS_SECURE           0x00000004
00136 #define LINEADDRCAPFLAGS_BLOCKIDDEFAULT   0x00000008
00137 #define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE  0x00000010
00138 #define LINEADDRCAPFLAGS_DIALED           0x00000020
00139 #define LINEADDRCAPFLAGS_ORIGOFFHOOK      0x00000040
00140 #define LINEADDRCAPFLAGS_DESTOFFHOOK      0x00000080
00141 #define LINEADDRCAPFLAGS_FWDCONSULT       0x00000100
00142 #define LINEADDRCAPFLAGS_SETUPCONFNULL    0x00000200
00143 #define LINEADDRCAPFLAGS_AUTORECONNECT    0x00000400
00144 #define LINEADDRCAPFLAGS_COMPLETIONID     0x00000800
00145 #define LINEADDRCAPFLAGS_TRANSFERHELD     0x00001000
00146 #define LINEADDRCAPFLAGS_TRANSFERMAKE     0x00002000
00147 #define LINEADDRCAPFLAGS_CONFERENCEHELD   0x00004000
00148 #define LINEADDRCAPFLAGS_CONFERENCEMAKE   0x00008000
00149 #define LINEADDRCAPFLAGS_PARTIALDIAL      0x00010000
00150 #define LINEADDRCAPFLAGS_FWDSTATUSVALID   0x00020000
00151 #define LINEADDRCAPFLAGS_FWDINTEXTADDR    0x00040000
00152 #define LINEADDRCAPFLAGS_FWDBUSYNAADDR    0x00080000
00153 #define LINEADDRCAPFLAGS_ACCEPTTOALERT    0x00100000
00154 #define LINEADDRCAPFLAGS_CONFDROP         0x00200000
00155 #define LINEADDRCAPFLAGS_PICKUPCALLWAIT   0x00400000
00156 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00157 #define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000
00158 #define LINEADDRCAPFLAGS_QUEUE            0x01000000
00159 #define LINEADDRCAPFLAGS_ROUTEPOINT       0x02000000
00160 #define LINEADDRCAPFLAGS_HOLDMAKESNEW     0x04000000
00161 #define LINEADDRCAPFLAGS_NOINTERNALCALLS  0x08000000
00162 #define LINEADDRCAPFLAGS_NOEXTERNALCALLS  0x10000000
00163 #define LINEADDRCAPFLAGS_SETCALLINGID     0x20000000
00164 #endif
00165 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
00166 #define LINEADDRCAPFLAGS_ACDGROUP         0x40000000
00167 #define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION \
00168                                           0x80000000
00169 #endif
00170 
00171 #define LINEADDRESSMODE_ADDRESSID         0x00000001
00172 #define LINEADDRESSMODE_DIALABLEADDR      0x00000002
00173 #define LINEADDRESSSHARING_PRIVATE        0x00000001
00174 #define LINEADDRESSSHARING_BRIDGEDEXCL    0x00000002
00175 #define LINEADDRESSSHARING_BRIDGEDNEW     0x00000004
00176 #define LINEADDRESSSHARING_BRIDGEDSHARED  0x00000008
00177 #define LINEADDRESSSHARING_MONITORED      0x00000010
00178 #define LINEADDRESSSTATE_OTHER            0x00000001
00179 #define LINEADDRESSSTATE_DEVSPECIFIC      0x00000002
00180 #define LINEADDRESSSTATE_INUSEZERO        0x00000004
00181 #define LINEADDRESSSTATE_INUSEONE         0x00000008
00182 #define LINEADDRESSSTATE_INUSEMANY        0x00000010
00183 #define LINEADDRESSSTATE_NUMCALLS         0x00000020
00184 #define LINEADDRESSSTATE_FORWARD          0x00000040
00185 #define LINEADDRESSSTATE_TERMINALS        0x00000080
00186 
00187 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
00188 #define LINEADDRESSTYPE_PHONENUMBER       0x00000001
00189 #define LINEADDRESSTYPE_SDP               0x00000002
00190 #define LINEADDRESSTYPE_EMAILNAME         0x00000004
00191 #define LINEADDRESSTYPE_DOMAINNAME        0x00000008
00192 #define LINEADDRESSTYPE_IPADDRESS         0x00000010
00193 #endif
00194 
00195 #define LINEADDRFEATURE_FORWARD           0x00000001
00196 #define LINEADDRFEATURE_MAKECALL          0x00000002
00197 #define LINEADDRFEATURE_PICKUP            0x00000004
00198 #define LINEADDRFEATURE_SETMEDIACONTROL   0x00000008
00199 #define LINEADDRFEATURE_SETTERMINAL       0x00000010
00200 #define LINEADDRFEATURE_SETUPCONF         0x00000020
00201 #define LINEADDRFEATURE_UNCOMPLETECALL    0x00000040
00202 #define LINEADDRFEATURE_UNPARK            0x00000080
00203 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00204 #define LINEADDRFEATURE_PICKUPHELD        0x00000100
00205 #define LINEADDRFEATURE_PICKUPGROUP       0x00000200
00206 #define LINEADDRFEATURE_PICKUPDIRECT      0x00000400
00207 #define LINEADDRFEATURE_PICKUPWAITING     0x00000800
00208 #define LINEADDRFEATURE_FORWARDFWD        0x00001000
00209 #define LINEADDRFEATURE_FORWARDDND        0x00002000
00210 #endif
00211 
00212 #define LINEANSWERMODE_NONE               0x00000001
00213 #define LINEANSWERMODE_DROP               0x00000002
00214 #define LINEANSWERMODE_HOLD               0x00000004
00215 
00216 #define LINEBEARERMODE_VOICE              0x00000001
00217 #define LINEBEARERMODE_SPEECH             0x00000002
00218 #define LINEBEARERMODE_MULTIUSE           0x00000004
00219 #define LINEBEARERMODE_DATA               0x00000008
00220 #define LINEBEARERMODE_ALTSPEECHDATA      0x00000010
00221 #define LINEBEARERMODE_NONCALLSIGNALING   0x00000020
00222 #define LINEBEARERMODE_PASSTHROUGH        0x00000040
00223 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00224 #define LINEBEARERMODE_RESTRICTEDDATA     0x00000080
00225 #endif
00226 
00227 #define LINEBUSYMODE_STATION              0x00000001
00228 #define LINEBUSYMODE_TRUNK                0x00000002
00229 #define LINEBUSYMODE_UNKNOWN              0x00000004
00230 #define LINEBUSYMODE_UNAVAIL              0x00000008
00231 
00232 #define LINECALLCOMPLCOND_BUSY            0x00000001
00233 #define LINECALLCOMPLCOND_NOANSWER        0x00000002
00234 
00235 #define LINECALLCOMPLMODE_CAMPON          0x00000001
00236 #define LINECALLCOMPLMODE_CALLBACK        0x00000002
00237 #define LINECALLCOMPLMODE_INTRUDE         0x00000004
00238 #define LINECALLCOMPLMODE_MESSAGE         0x00000008
00239 
00240 #define LINECALLFEATURE_ACCEPT            0x00000001
00241 #define LINECALLFEATURE_ADDTOCONF         0x00000002
00242 #define LINECALLFEATURE_ANSWER            0x00000004
00243 #define LINECALLFEATURE_BLINDTRANSFER     0x00000008
00244 #define LINECALLFEATURE_COMPLETECALL      0x00000010
00245 #define LINECALLFEATURE_COMPLETETRANSF    0x00000020
00246 #define LINECALLFEATURE_DIAL              0x00000040
00247 #define LINECALLFEATURE_DROP              0x00000080
00248 #define LINECALLFEATURE_GATHERDIGITS      0x00000100
00249 #define LINECALLFEATURE_GENERATEDIGITS    0x00000200
00250 #define LINECALLFEATURE_GENERATETONE      0x00000400
00251 #define LINECALLFEATURE_HOLD              0x00000800
00252 #define LINECALLFEATURE_MONITORDIGITS     0x00001000
00253 #define LINECALLFEATURE_MONITORMEDIA      0x00002000
00254 #define LINECALLFEATURE_MONITORTONES      0x00004000
00255 #define LINECALLFEATURE_PARK              0x00008000
00256 #define LINECALLFEATURE_PREPAREADDCONF    0x00010000
00257 #define LINECALLFEATURE_REDIRECT          0x00020000
00258 #define LINECALLFEATURE_REMOVEFROMCONF    0x00040000
00259 #define LINECALLFEATURE_SECURECALL        0x00080000
00260 #define LINECALLFEATURE_SENDUSERUSER      0x00100000
00261 #define LINECALLFEATURE_SETCALLPARAMS     0x00200000
00262 #define LINECALLFEATURE_SETMEDIACONTROL   0x00400000
00263 #define LINECALLFEATURE_SETTERMINAL       0x00800000
00264 #define LINECALLFEATURE_SETUPCONF         0x01000000
00265 #define LINECALLFEATURE_SETUPTRANSFER     0x02000000
00266 #define LINECALLFEATURE_SWAPHOLD          0x04000000
00267 #define LINECALLFEATURE_UNHOLD            0x08000000
00268 #define LINECALLFEATURE_RELEASEUSERUSERINFO \
00269                                           0x10000000
00270 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00271 #define LINECALLFEATURE_SETTREATMENT      0x20000000
00272 #define LINECALLFEATURE_SETQOS            0x40000000
00273 #define LINECALLFEATURE_SETCALLDATA       0x80000000
00274 #endif
00275 
00276 #define LINECALLINFOSTATE_OTHER           0x00000001
00277 #define LINECALLINFOSTATE_DEVSPECIFIC     0x00000002
00278 #define LINECALLINFOSTATE_BEARERMODE      0x00000004
00279 #define LINECALLINFOSTATE_RATE            0x00000008
00280 #define LINECALLINFOSTATE_MEDIAMODE       0x00000010
00281 #define LINECALLINFOSTATE_APPSPECIFIC     0x00000020
00282 #define LINECALLINFOSTATE_CALLID          0x00000040
00283 #define LINECALLINFOSTATE_RELATEDCALLID   0x00000080
00284 #define LINECALLINFOSTATE_ORIGIN          0x00000100
00285 #define LINECALLINFOSTATE_REASON          0x00000200
00286 #define LINECALLINFOSTATE_COMPLETIONID    0x00000400
00287 #define LINECALLINFOSTATE_NUMOWNERINCR    0x00000800
00288 #define LINECALLINFOSTATE_NUMOWNERDECR    0x00001000
00289 #define LINECALLINFOSTATE_NUMMONITORS     0x00002000
00290 #define LINECALLINFOSTATE_TRUNK           0x00004000
00291 #define LINECALLINFOSTATE_CALLERID        0x00008000
00292 #define LINECALLINFOSTATE_CALLEDID        0x00010000
00293 #define LINECALLINFOSTATE_CONNECTEDID     0x00020000
00294 #define LINECALLINFOSTATE_REDIRECTIONID   0x00040000
00295 #define LINECALLINFOSTATE_REDIRECTINGID   0x00080000
00296 #define LINECALLINFOSTATE_DISPLAY         0x00100000
00297 #define LINECALLINFOSTATE_USERUSERINFO    0x00200000
00298 #define LINECALLINFOSTATE_HIGHLEVELCOMP   0x00400000
00299 #define LINECALLINFOSTATE_LOWLEVELCOMP    0x00800000
00300 #define LINECALLINFOSTATE_CHARGINGINFO    0x01000000
00301 #define LINECALLINFOSTATE_TERMINAL        0x02000000
00302 #define LINECALLINFOSTATE_DIALPARAMS      0x04000000
00303 #define LINECALLINFOSTATE_MONITORMODES    0x08000000
00304 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00305 #define LINECALLINFOSTATE_TREATMENT       0x10000000
00306 #define LINECALLINFOSTATE_QOS             0x20000000
00307 #define LINECALLINFOSTATE_CALLDATA        0x40000000
00308 #endif
00309 
00310 #define LINECALLORIGIN_OUTBOUND           0x00000001
00311 #define LINECALLORIGIN_INTERNAL           0x00000002
00312 #define LINECALLORIGIN_EXTERNAL           0x00000004
00313 #define LINECALLORIGIN_UNKNOWN            0x00000010
00314 #define LINECALLORIGIN_UNAVAIL            0x00000020
00315 #define LINECALLORIGIN_CONFERENCE         0x00000040
00316 #define LINECALLORIGIN_INBOUND            0x00000080
00317 
00318 #define LINECALLPARAMFLAGS_SECURE         0x00000001
00319 #define LINECALLPARAMFLAGS_IDLE           0x00000002
00320 #define LINECALLPARAMFLAGS_BLOCKID        0x00000004
00321 #define LINECALLPARAMFLAGS_ORIGOFFHOOK    0x00000008
00322 #define LINECALLPARAMFLAGS_DESTOFFHOOK    0x00000010
00323 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00324 #define LINECALLPARAMFLAGS_NOHOLDCONFERENCE \
00325                                           0x00000020
00326 #define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040
00327 #define LINECALLPARAMFLAGS_ONESTEPTRANSFER \
00328                                           0x00000080
00329 #endif
00330 
00331 #define LINECALLPARTYID_BLOCKED           0x00000001
00332 #define LINECALLPARTYID_OUTOFAREA         0x00000002
00333 #define LINECALLPARTYID_NAME              0x00000004
00334 #define LINECALLPARTYID_ADDRESS           0x00000008
00335 #define LINECALLPARTYID_PARTIAL           0x00000010
00336 #define LINECALLPARTYID_UNKNOWN           0x00000020
00337 #define LINECALLPARTYID_UNAVAIL           0x00000040
00338 
00339 #define LINECALLPRIVILEGE_NONE            0x00000001
00340 #define LINECALLPRIVILEGE_MONITOR         0x00000002
00341 #define LINECALLPRIVILEGE_OWNER           0x00000004
00342 
00343 #define LINECALLREASON_DIRECT             0x00000001
00344 #define LINECALLREASON_FWDBUSY            0x00000002
00345 #define LINECALLREASON_FWDNOANSWER        0x00000004
00346 #define LINECALLREASON_FWDUNCOND          0x00000008
00347 #define LINECALLREASON_PICKUP             0x00000010
00348 #define LINECALLREASON_UNPARK             0x00000020
00349 #define LINECALLREASON_REDIRECT           0x00000040
00350 #define LINECALLREASON_CALLCOMPLETION     0x00000080
00351 #define LINECALLREASON_TRANSFER           0x00000100
00352 #define LINECALLREASON_REMINDER           0x00000200
00353 #define LINECALLREASON_UNKNOWN            0x00000400
00354 #define LINECALLREASON_UNAVAIL            0x00000800
00355 #define LINECALLREASON_INTRUDE            0x00001000
00356 #define LINECALLREASON_PARKED             0x00002000
00357 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00358 #define LINECALLREASON_CAMPEDON           0x00004000
00359 #define LINECALLREASON_ROUTEREQUEST       0x00008000
00360 #endif
00361 
00362 #define LINECALLSELECT_LINE               0x00000001
00363 #define LINECALLSELECT_ADDRESS            0x00000002
00364 #define LINECALLSELECT_CALL               0x00000004
00365 #if (NDIS_TAPI_CURRENT_VERSION > 0x00020000)
00366 #define LINECALLSELECT_DEVICEID           0x00000008
00367 #endif
00368 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
00369 #define LINECALLSELECT_CALLID             0x00000010
00370 #endif
00371 
00372 #define LINECALLSTATE_IDLE                0x00000001
00373 #define LINECALLSTATE_OFFERING            0x00000002
00374 #define LINECALLSTATE_ACCEPTED            0x00000004
00375 #define LINECALLSTATE_DIALTONE            0x00000008
00376 #define LINECALLSTATE_DIALING             0x00000010
00377 #define LINECALLSTATE_RINGBACK            0x00000020
00378 #define LINECALLSTATE_BUSY                0x00000040
00379 #define LINECALLSTATE_SPECIALINFO         0x00000080
00380 #define LINECALLSTATE_CONNECTED           0x00000100
00381 #define LINECALLSTATE_PROCEEDING          0x00000200
00382 #define LINECALLSTATE_ONHOLD              0x00000400
00383 #define LINECALLSTATE_CONFERENCED         0x00000800
00384 #define LINECALLSTATE_ONHOLDPENDCONF      0x00001000
00385 #define LINECALLSTATE_ONHOLDPENDTRANSFER  0x00002000
00386 #define LINECALLSTATE_DISCONNECTED        0x00004000
00387 #define LINECALLSTATE_UNKNOWN             0x00008000
00388 
00389 #define LINEDEVCAPFLAGS_CROSSADDRCONF     0x00000001
00390 #define LINEDEVCAPFLAGS_HIGHLEVCOMP       0x00000002
00391 #define LINEDEVCAPFLAGS_LOWLEVCOMP        0x00000004
00392 #define LINEDEVCAPFLAGS_MEDIACONTROL      0x00000008
00393 #define LINEDEVCAPFLAGS_MULTIPLEADDR      0x00000010
00394 #define LINEDEVCAPFLAGS_CLOSEDROP         0x00000020
00395 #define LINEDEVCAPFLAGS_DIALBILLING       0x00000040
00396 #define LINEDEVCAPFLAGS_DIALQUIET         0x00000080
00397 #define LINEDEVCAPFLAGS_DIALDIALTONE      0x00000100
00398 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
00399 #define LINEDEVCAPFLAGS_MSP               0x00000200
00400 #define LINEDEVCAPFLAGS_CALLHUB           0x00000400
00401 #define LINEDEVCAPFLAGS_CALLHUBTRACKING   0x00000800
00402 #define LINEDEVCAPFLAGS_PRIVATEOBJECTS    0x00001000
00403 #endif
00404 
00405 #define LINEDEVSTATE_OTHER      0x00000001
00406 #define LINEDEVSTATE_RINGING              0x00000002
00407 #define LINEDEVSTATE_CONNECTED            0x00000004
00408 #define LINEDEVSTATE_DISCONNECTED         0x00000008
00409 #define LINEDEVSTATE_MSGWAITON            0x00000010
00410 #define LINEDEVSTATE_MSGWAITOFF           0x00000020
00411 #define LINEDEVSTATE_INSERVICE            0x00000040
00412 #define LINEDEVSTATE_OUTOFSERVICE         0x00000080
00413 #define LINEDEVSTATE_MAINTENANCE          0x00000100
00414 #define LINEDEVSTATE_OPEN                 0x00000200
00415 #define LINEDEVSTATE_CLOSE                0x00000400
00416 #define LINEDEVSTATE_NUMCALLS             0x00000800
00417 #define LINEDEVSTATE_NUMCOMPLETIONS       0x00001000
00418 #define LINEDEVSTATE_TERMINALS            0x00002000
00419 #define LINEDEVSTATE_ROAMMODE             0x00004000
00420 #define LINEDEVSTATE_BATTERY              0x00008000
00421 #define LINEDEVSTATE_SIGNAL               0x00010000
00422 #define LINEDEVSTATE_DEVSPECIFIC          0x00020000
00423 #define LINEDEVSTATE_REINIT               0x00040000
00424 #define LINEDEVSTATE_LOCK                 0x00080000
00425 
00426 #define LINEDEVSTATUSFLAGS_CONNECTED      0x00000001
00427 #define LINEDEVSTATUSFLAGS_MSGWAIT        0x00000002
00428 #define LINEDEVSTATUSFLAGS_INSERVICE      0x00000004
00429 #define LINEDEVSTATUSFLAGS_LOCKED         0x00000008
00430 
00431 #define LINEDIALTONEMODE_NORMAL           0x00000001
00432 #define LINEDIALTONEMODE_SPECIAL          0x00000002
00433 #define LINEDIALTONEMODE_INTERNAL         0x00000004
00434 #define LINEDIALTONEMODE_EXTERNAL         0x00000008
00435 #define LINEDIALTONEMODE_UNKNOWN          0x00000010
00436 #define LINEDIALTONEMODE_UNAVAIL          0x00000020
00437 
00438 #define LINEDIGITMODE_PULSE               0x00000001
00439 #define LINEDIGITMODE_DTMF                0x00000002
00440 #define LINEDIGITMODE_DTMFEND             0x00000004
00441 
00442 #define LINEDISCONNECTMODE_NORMAL         0x00000001
00443 #define LINEDISCONNECTMODE_UNKNOWN        0x00000002
00444 #define LINEDISCONNECTMODE_REJECT         0x00000004
00445 #define LINEDISCONNECTMODE_PICKUP         0x00000008
00446 #define LINEDISCONNECTMODE_FORWARDED      0x00000010
00447 #define LINEDISCONNECTMODE_BUSY           0x00000020
00448 #define LINEDISCONNECTMODE_NOANSWER       0x00000040
00449 #define LINEDISCONNECTMODE_BADADDRESS     0x00000080
00450 #define LINEDISCONNECTMODE_UNREACHABLE    0x00000100
00451 #define LINEDISCONNECTMODE_CONGESTION     0x00000200
00452 #define LINEDISCONNECTMODE_INCOMPATIBLE   0x00000400
00453 #define LINEDISCONNECTMODE_UNAVAIL        0x00000800
00454 #define LINEDISCONNECTMODE_NODIALTONE     0x00001000
00455 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00456 #define LINEDISCONNECTMODE_NUMBERCHANGED  0x00002000
00457 #define LINEDISCONNECTMODE_OUTOFORDER     0x00004000
00458 #define LINEDISCONNECTMODE_TEMPFAILURE    0x00008000
00459 #define LINEDISCONNECTMODE_QOSUNAVAIL     0x00010000
00460 #define LINEDISCONNECTMODE_BLOCKED        0x00020000
00461 #define LINEDISCONNECTMODE_DONOTDISTURB   0x00040000
00462 #define LINEDISCONNECTMODE_CANCELLED      0x00080000
00463 #endif
00464 
00465 #define LINEFEATURE_DEVSPECIFIC           0x00000001
00466 #define LINEFEATURE_DEVSPECIFICFEAT       0x00000002
00467 #define LINEFEATURE_FORWARD               0x00000004
00468 #define LINEFEATURE_MAKECALL              0x00000008
00469 #define LINEFEATURE_SETMEDIACONTROL       0x00000010
00470 #define LINEFEATURE_SETTERMINAL           0x00000020
00471 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00472 #define LINEFEATURE_SETDEVSTATUS          0x00000040
00473 #define LINEFEATURE_FORWARDFWD            0x00000080
00474 #define LINEFEATURE_FORWARDDND            0x00000100
00475 #endif
00476 
00477 #define LINEFORWARDMODE_UNCOND            0x00000001
00478 #define LINEFORWARDMODE_UNCONDINTERNAL    0x00000002
00479 #define LINEFORWARDMODE_UNCONDEXTERNAL    0x00000004
00480 #define LINEFORWARDMODE_UNCONDSPECIFIC    0x00000008
00481 #define LINEFORWARDMODE_BUSY              0x00000010
00482 #define LINEFORWARDMODE_BUSYINTERNAL      0x00000020
00483 #define LINEFORWARDMODE_BUSYEXTERNAL      0x00000040
00484 #define LINEFORWARDMODE_BUSYSPECIFIC      0x00000080
00485 #define LINEFORWARDMODE_NOANSW            0x00000100
00486 #define LINEFORWARDMODE_NOANSWINTERNAL    0x00000200
00487 #define LINEFORWARDMODE_NOANSWEXTERNAL    0x00000400
00488 #define LINEFORWARDMODE_NOANSWSPECIFIC    0x00000800
00489 #define LINEFORWARDMODE_BUSYNA            0x00001000
00490 #define LINEFORWARDMODE_BUSYNAINTERNAL    0x00002000
00491 #define LINEFORWARDMODE_BUSYNAEXTERNAL    0x00004000
00492 #define LINEFORWARDMODE_BUSYNASPECIFIC    0x00008000
00493 
00494 #define LINEGATHERTERM_BUFFERFULL         0x00000001
00495 #define LINEGATHERTERM_TERMDIGIT          0x00000002
00496 #define LINEGATHERTERM_FIRSTTIMEOUT       0x00000004
00497 #define LINEGATHERTERM_INTERTIMEOUT       0x00000008
00498 #define LINEGATHERTERM_CANCEL             0x00000010
00499 
00500 #define LINEGENERATETERM_DONE             0x00000001
00501 #define LINEGENERATETERM_CANCEL           0x00000002
00502 
00503 #define LINEMEDIACONTROL_NONE             0x00000001
00504 #define LINEMEDIACONTROL_START            0x00000002
00505 #define LINEMEDIACONTROL_RESET            0x00000004
00506 #define LINEMEDIACONTROL_PAUSE            0x00000008
00507 #define LINEMEDIACONTROL_RESUME           0x00000010
00508 #define LINEMEDIACONTROL_RATEUP           0x00000020
00509 #define LINEMEDIACONTROL_RATEDOWN         0x00000040
00510 #define LINEMEDIACONTROL_RATENORMAL       0x00000080
00511 #define LINEMEDIACONTROL_VOLUMEUP         0x00000100
00512 #define LINEMEDIACONTROL_VOLUMEDOWN       0x00000200
00513 #define LINEMEDIACONTROL_VOLUMENORMAL     0x00000400
00514 
00515 #define LINEMEDIAMODE_UNKNOWN             0x00000002
00516 #define LINEMEDIAMODE_INTERACTIVEVOICE    0x00000004
00517 #define LINEMEDIAMODE_AUTOMATEDVOICE      0x00000008
00518 #define LINEMEDIAMODE_DATAMODEM           0x00000010
00519 #define LINEMEDIAMODE_G3FAX               0x00000020
00520 #define LINEMEDIAMODE_TDD                 0x00000040
00521 #define LINEMEDIAMODE_G4FAX               0x00000080
00522 #define LINEMEDIAMODE_DIGITALDATA         0x00000100
00523 #define LINEMEDIAMODE_TELETEX             0x00000200
00524 #define LINEMEDIAMODE_VIDEOTEX            0x00000400
00525 #define LINEMEDIAMODE_TELEX               0x00000800
00526 #define LINEMEDIAMODE_MIXED               0x00001000
00527 #define LINEMEDIAMODE_ADSI                0x00002000
00528 
00529 #define LINEMEDIAMODE_VOICEVIEW           0x00004000
00530 #define LAST_LINEMEDIAMODE                0x00004000
00531 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020001)
00532 #define LINEMEDIAMODE_VIDEO               0x00008000
00533 #define LAST_LINEMEDIAMODE                0x00008000
00534 #endif
00535 
00536 #define LINEPARKMODE_DIRECTED             0x00000001
00537 #define LINEPARKMODE_NONDIRECTED          0x00000002
00538 
00539 #define LINEREMOVEFROMCONF_NONE           0x00000001
00540 #define LINEREMOVEFROMCONF_LAST           0x00000002
00541 #define LINEREMOVEFROMCONF_ANY            0x00000003
00542 
00543 #define LINEREQUESTMODE_MAKECALL          0x00000001
00544 #define LINEREQUESTMODE_MEDIACALL         0x00000002
00545 #define LINEREQUESTMODE_DROP              0x00000004
00546 
00547 #define LAST_LINEREQUESTMODE              LINEREQUESTMODE_MEDIACALL
00548 
00549 #define LINEROAMMODE_UNKNOWN              0x00000001
00550 #define LINEROAMMODE_UNAVAIL              0x00000002
00551 #define LINEROAMMODE_HOME                 0x00000004
00552 #define LINEROAMMODE_ROAMA                0x00000008
00553 #define LINEROAMMODE_ROAMB                0x00000010
00554 
00555 #define LINESPECIALINFO_NOCIRCUIT         0x00000001
00556 #define LINESPECIALINFO_CUSTIRREG         0x00000002
00557 #define LINESPECIALINFO_REORDER           0x00000004
00558 #define LINESPECIALINFO_UNKNOWN           0x00000008
00559 #define LINESPECIALINFO_UNAVAIL           0x00000010
00560 
00561 #define LINETERMDEV_PHONE                 0x00000001
00562 #define LINETERMDEV_HEADSET               0x00000002
00563 #define LINETERMDEV_SPEAKER               0x00000004
00564 
00565 #define LINETERMMODE_BUTTONS              0x00000001
00566 #define LINETERMMODE_LAMPS                0x00000002
00567 #define LINETERMMODE_DISPLAY              0x00000004
00568 #define LINETERMMODE_RINGER               0x00000008
00569 #define LINETERMMODE_HOOKSWITCH           0x00000010
00570 #define LINETERMMODE_MEDIATOLINE          0x00000020
00571 #define LINETERMMODE_MEDIAFROMLINE        0x00000040
00572 #define LINETERMMODE_MEDIABIDIRECT        0x00000080
00573 
00574 #define LINETERMSHARING_PRIVATE           0x00000001
00575 #define LINETERMSHARING_SHAREDEXCL        0x00000002
00576 #define LINETERMSHARING_SHAREDCONF        0x00000004
00577 
00578 #define LINETONEMODE_CUSTOM               0x00000001
00579 #define LINETONEMODE_RINGBACK             0x00000002
00580 #define LINETONEMODE_BUSY                 0x00000004
00581 #define LINETONEMODE_BEEP                 0x00000008
00582 #define LINETONEMODE_BILLING              0x00000010
00583 
00584 #define LINETRANSFERMODE_TRANSFER         0x00000001
00585 #define LINETRANSFERMODE_CONFERENCE       0x00000002
00586 
00587 #define LINETOLLLISTOPTION_ADD            0x00000001
00588 #define LINETOLLLISTOPTION_REMOVE         0x00000002
00589 
00590 #define LINETRANSLATEOPTION_CARDOVERRIDE  0x00000001
00591 
00592 #define LINETRANSLATERESULT_CANONICAL     0x00000001
00593 #define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
00594 #define LINETRANSLATERESULT_LONGDISTANCE  0x00000004
00595 #define LINETRANSLATERESULT_LOCAL         0x00000008
00596 #define LINETRANSLATERESULT_INTOLLLIST    0x00000010
00597 #define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
00598 #define LINETRANSLATERESULT_DIALBILLING   0x00000040
00599 #define LINETRANSLATERESULT_DIALQUIET     0x00000080
00600 #define LINETRANSLATERESULT_DIALDIALTONE  0x00000100
00601 #define LINETRANSLATERESULT_DIALPROMPT    0x00000200
00602 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00603 #define LINETRANSLATERESULT_VOICEDETECT   0x00000400
00604 #endif
00605 
00606 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)                                           
00607 #define LINETRANSLATERESULT_NOTRANSLATION 0x00000800
00608 #endif              
00609 
00610 
00611 typedef struct  _NDIS_VAR_DATA_DESC {
00612     USHORT  Length;
00613     USHORT  MaximumLength;
00614     LONG  Offset;
00615 } NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
00616 
00617 typedef struct _LINE_DIAL_PARAMS {
00618     ULONG  ulDialPause;
00619     ULONG  ulDialSpeed;
00620     ULONG  ulDigitDuration;
00621     ULONG  ulWaitForDialtone;
00622 } LINE_DIAL_PARAMS, *PLINE_DIAL_PARAMS;
00623 
00624 typedef struct _LINE_ADDRESS_CAPS {
00625     ULONG  ulTotalSize;
00626     ULONG  ulNeededSize;
00627     ULONG  ulUsedSize;
00628     ULONG  ulLineDeviceID;
00629     ULONG  ulAddressSize;
00630     ULONG  ulAddressOffset;
00631     ULONG  ulDevSpecificSize;
00632     ULONG  ulDevSpecificOffset;
00633     ULONG  ulAddressSharing;
00634     ULONG  ulAddressStates;
00635     ULONG  ulCallInfoStates;
00636     ULONG  ulCallerIDFlags;
00637     ULONG  ulCalledIDFlags;
00638     ULONG  ulConnectedIDFlags;
00639     ULONG  ulRedirectionIDFlags;
00640     ULONG  ulRedirectingIDFlags;
00641     ULONG  ulCallStates;
00642     ULONG  ulDialToneModes;
00643     ULONG  ulBusyModes;
00644     ULONG  ulSpecialInfo;
00645     ULONG  ulDisconnectModes;
00646     ULONG  ulMaxNumActiveCalls;
00647     ULONG  ulMaxNumOnHoldCalls;
00648     ULONG  ulMaxNumOnHoldPendingCalls;
00649     ULONG  ulMaxNumConference;
00650     ULONG  ulMaxNumTransConf;
00651     ULONG  ulAddrCapFlags;
00652     ULONG  ulCallFeatures;
00653     ULONG  ulRemoveFromConfCaps;
00654     ULONG  ulRemoveFromConfState;
00655     ULONG  ulTransferModes;
00656     ULONG  ulParkModes;
00657     ULONG  ulForwardModes;
00658     ULONG  ulMaxForwardEntries;
00659     ULONG  ulMaxSpecificEntries;
00660     ULONG  ulMinFwdNumRings;
00661     ULONG  ulMaxFwdNumRings;
00662     ULONG  ulMaxCallCompletions;
00663     ULONG  ulCallCompletionConds;
00664     ULONG  ulCallCompletionModes;
00665     ULONG  ulNumCompletionMessages;
00666     ULONG  ulCompletionMsgTextEntrySize;
00667     ULONG  ulCompletionMsgTextSize;
00668     ULONG  ulCompletionMsgTextOffset;
00669 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
00670     ULONG  ulAddressFeatures;
00671 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00672     ULONG  ulPredictiveAutoTransferStates;
00673     ULONG  ulNumCallTreatments;
00674     ULONG  ulCallTreatmentListSize;
00675     ULONG  ulCallTreatmentListOffset;
00676     ULONG  ulDeviceClassesSize;
00677     ULONG  ulDeviceClassesOffset;
00678     ULONG  ulMaxCallDataSize;
00679     ULONG  ulCallFeatures2;
00680     ULONG  ulMaxNoAnswerTimeout;
00681     ULONG  ulConnectedModes;
00682     ULONG  ulOfferingModes;
00683     ULONG  ulAvailableMediaModes;
00684 #endif
00685 #endif
00686 } LINE_ADDRESS_CAPS, *PLINE_ADDRESS_CAPS;
00687 
00688 typedef struct _LINE_ADDRESS_STATUS {
00689     ULONG  ulTotalSize;
00690     ULONG  ulNeededSize;
00691     ULONG  ulUsedSize;
00692     ULONG  ulNumInUse;
00693     ULONG  ulNumActiveCalls;
00694     ULONG  ulNumOnHoldCalls;
00695     ULONG  ulNumOnHoldPendCalls;
00696     ULONG  ulAddressFeatures;
00697     ULONG  ulNumRingsNoAnswer;
00698     ULONG  ulForwardNumEntries;
00699     ULONG  ulForwardSize;
00700     ULONG  ulForwardOffset;
00701     ULONG  ulTerminalModesSize;
00702     ULONG  ulTerminalModesOffset;
00703     ULONG  ulDevSpecificSize;
00704     ULONG  ulDevSpecificOffset;
00705 } LINE_ADDRESS_STATUS, *PLINE_ADDRESS_STATUS;
00706 
00707 typedef struct _LINE_CALL_INFO {
00708     ULONG  ulTotalSize;
00709     ULONG  ulNeededSize;
00710     ULONG  ulUsedSize;
00711     ULONG  hLine;
00712     ULONG  ulLineDeviceID;
00713     ULONG  ulAddressID;
00714     ULONG  ulBearerMode;
00715     ULONG  ulRate;
00716     ULONG  ulMediaMode;
00717     ULONG  ulAppSpecific;
00718     ULONG  ulCallID;
00719     ULONG  ulRelatedCallID;
00720     ULONG  ulCallParamFlags;
00721     ULONG  ulCallStates;
00722     ULONG  ulMonitorDigitModes;
00723     ULONG  ulMonitorMediaModes;
00724     LINE_DIAL_PARAMS  DialParams;
00725     ULONG  ulOrigin;
00726     ULONG  ulReason;
00727     ULONG  ulCompletionID;
00728     ULONG  ulNumOwners;
00729     ULONG  ulNumMonitors;
00730     ULONG  ulCountryCode;
00731     ULONG  ulTrunk;
00732     ULONG  ulCallerIDFlags;
00733     ULONG  ulCallerIDSize;
00734     ULONG  ulCallerIDOffset;
00735     ULONG  ulCallerIDNameSize;
00736     ULONG  ulCallerIDNameOffset;
00737     ULONG  ulCalledIDFlags;
00738     ULONG  ulCalledIDSize;
00739     ULONG  ulCalledIDOffset;
00740     ULONG  ulCalledIDNameSize;
00741     ULONG  ulCalledIDNameOffset;
00742     ULONG  ulConnectedIDFlags;
00743     ULONG  ulConnectedIDSize;
00744     ULONG  ulConnectedIDOffset;
00745     ULONG  ulConnectedIDNameSize;
00746     ULONG  ulConnectedIDNameOffset;
00747     ULONG  ulRedirectionIDFlags;
00748     ULONG  ulRedirectionIDSize;
00749     ULONG  ulRedirectionIDOffset;
00750     ULONG  ulRedirectionIDNameSize;
00751     ULONG  ulRedirectionIDNameOffset;
00752     ULONG  ulRedirectingIDFlags;
00753     ULONG  ulRedirectingIDSize;
00754     ULONG  ulRedirectingIDOffset;
00755     ULONG  ulRedirectingIDNameSize;
00756     ULONG  ulRedirectingIDNameOffset;
00757     ULONG  ulAppNameSize;
00758     ULONG  ulAppNameOffset;
00759     ULONG  ulDisplayableAddressSize;
00760     ULONG  ulDisplayableAddressOffset;
00761     ULONG  ulCalledPartySize;
00762     ULONG  ulCalledPartyOffset;
00763     ULONG  ulCommentSize;
00764     ULONG  ulCommentOffset;
00765     ULONG  ulDisplaySize;
00766     ULONG  ulDisplayOffset;
00767     ULONG  ulUserUserInfoSize;
00768     ULONG  ulUserUserInfoOffset;
00769     ULONG  ulHighLevelCompSize;
00770     ULONG  ulHighLevelCompOffset;
00771     ULONG  ulLowLevelCompSize;
00772     ULONG  ulLowLevelCompOffset;
00773     ULONG  ulChargingInfoSize;
00774     ULONG  ulChargingInfoOffset;
00775     ULONG  ulTerminalModesSize;
00776     ULONG  ulTerminalModesOffset;
00777     ULONG  ulDevSpecificSize;
00778     ULONG  ulDevSpecificOffset;
00779 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00780     ULONG  ulCallTreatment;
00781     ULONG  ulCallDataSize;
00782     ULONG  ulCallDataOffset;
00783     ULONG  ulSendingFlowspecSize;
00784     ULONG  ulSendingFlowspecOffset;
00785     ULONG  ulReceivingFlowspecSize;
00786     ULONG  ulReceivingFlowspecOffset;
00787 #endif
00788 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
00789     ULONG  ulCallerIDAddressType;
00790     ULONG  ulCalledIDAddressType;
00791     ULONG  ulConnectedIDAddressType;
00792     ULONG  ulRedirectionIDAddressType;
00793     ULONG  ulRedirectingIDAddressType;
00794 #endif
00795 } LINE_CALL_INFO, *PLINE_CALL_INFO;
00796 
00797 typedef struct _LINE_CALL_PARAMS {
00798   ULONG  ulTotalSize;
00799     ULONG  ulBearerMode;
00800     ULONG  ulMinRate;
00801     ULONG  ulMaxRate;
00802     ULONG  ulMediaMode;
00803     ULONG  ulCallParamFlags;
00804     ULONG  ulAddressMode;
00805     ULONG  ulAddressID;
00806     LINE_DIAL_PARAMS  DialParams;
00807     ULONG  ulOrigAddressSize;
00808     ULONG  ulOrigAddressOffset;
00809     ULONG  ulDisplayableAddressSize;
00810     ULONG  ulDisplayableAddressOffset;
00811     ULONG  ulCalledPartySize;
00812     ULONG  ulCalledPartyOffset;
00813     ULONG  ulCommentSize;
00814     ULONG  ulCommentOffset;
00815     ULONG  ulUserUserInfoSize;
00816     ULONG  ulUserUserInfoOffset;
00817     ULONG  ulHighLevelCompSize;
00818     ULONG  ulHighLevelCompOffset;
00819     ULONG  ulLowLevelCompSize;
00820     ULONG  ulLowLevelCompOffset;
00821     ULONG  ulDevSpecificSize;
00822     ULONG  ulDevSpecificOffset;
00823 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00824     ULONG  ulPredictiveAutoTransferStates;
00825     ULONG  ulTargetAddressSize;
00826     ULONG  ulTargetAddressOffset;
00827     ULONG  ulSendingFlowspecSize;
00828     ULONG  ulSendingFlowspecOffset;
00829     ULONG  ulReceivingFlowspecSize;
00830     ULONG  ulReceivingFlowspecOffset;
00831     ULONG  ulDeviceClassSize;
00832     ULONG  ulDeviceClassOffset;
00833     ULONG  ulDeviceConfigSize;
00834     ULONG  ulDeviceConfigOffset;
00835     ULONG  ulCallDataSize;
00836     ULONG  ulCallDataOffset;
00837     ULONG  ulNoAnswerTimeout;
00838     ULONG  ulCallingPartyIDSize;
00839     ULONG  ulCallingPartyIDOffset;
00840 #endif
00841 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
00842   ULONG  ulAddressType;
00843 #endif
00844 } LINE_CALL_PARAMS, *PLINE_CALL_PARAMS;
00845 
00846 typedef struct _LINE_CALL_STATUS {
00847     ULONG  ulTotalSize;
00848     ULONG  ulNeededSize;
00849     ULONG  ulUsedSize;
00850     ULONG  ulCallState;
00851     ULONG  ulCallStateMode;
00852     ULONG  ulCallPrivilege;
00853     ULONG  ulCallFeatures;
00854     ULONG  ulDevSpecificSize;
00855     ULONG  ulDevSpecificOffset;
00856 } LINE_CALL_STATUS, *PLINE_CALL_STATUS;
00857 
00858 typedef struct _LINE_DEV_CAPS {
00859     ULONG  ulTotalSize;
00860     ULONG  ulNeededSize;
00861     ULONG  ulUsedSize;
00862     ULONG  ulProviderInfoSize;
00863     ULONG  ulProviderInfoOffset;
00864     ULONG  ulSwitchInfoSize;
00865     ULONG  ulSwitchInfoOffset;
00866     ULONG  ulPermanentLineID;
00867     ULONG  ulLineNameSize;
00868     ULONG  ulLineNameOffset;
00869     ULONG  ulStringFormat;
00870     ULONG  ulAddressModes;
00871     ULONG  ulNumAddresses;
00872     ULONG  ulBearerModes;
00873     ULONG  ulMaxRate;
00874     ULONG  ulMediaModes;
00875     ULONG  ulGenerateToneModes;
00876     ULONG  ulGenerateToneMaxNumFreq;
00877     ULONG  ulGenerateDigitModes;
00878     ULONG  ulMonitorToneMaxNumFreq;
00879     ULONG  ulMonitorToneMaxNumEntries;
00880     ULONG  ulMonitorDigitModes;
00881     ULONG  ulGatherDigitsMinTimeout;
00882     ULONG  ulGatherDigitsMaxTimeout;
00883     ULONG  ulMedCtlDigitMaxListSize;
00884     ULONG  ulMedCtlMediaMaxListSize;
00885     ULONG  ulMedCtlToneMaxListSize;
00886     ULONG  ulMedCtlCallStateMaxListSize;
00887     ULONG  ulDevCapFlags;
00888     ULONG  ulMaxNumActiveCalls;
00889     ULONG  ulAnswerMode;
00890     ULONG  ulRingModes;
00891     ULONG  ulLineStates;
00892     ULONG  ulUUIAcceptSize;
00893     ULONG  ulUUIAnswerSize;
00894     ULONG  ulUUIMakeCallSize;
00895     ULONG  ulUUIDropSize;
00896     ULONG  ulUUISendUserUserInfoSize;
00897     ULONG  ulUUICallInfoSize;
00898     LINE_DIAL_PARAMS  MinDialParams;
00899     LINE_DIAL_PARAMS  MaxDialParams;
00900     LINE_DIAL_PARAMS  DefaultDialParams;
00901     ULONG  ulNumTerminals;
00902     ULONG  ulTerminalCapsSize;
00903     ULONG  ulTerminalCapsOffset;
00904     ULONG  ulTerminalTextEntrySize;
00905     ULONG  ulTerminalTextSize;
00906     ULONG  ulTerminalTextOffset;
00907     ULONG  ulDevSpecificSize;
00908     ULONG  ulDevSpecificOffset;
00909 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
00910     ULONG  ulLineFeatures;
00911 #endif
00912 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
00913     ULONG  ulSettableDevStatus;
00914     ULONG  ulDeviceClassesSize;
00915     ULONG  ulDeviceClassesOffset;
00916 #endif
00917 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
00918   GUID  PermanentLineGuid;
00919 #endif
00920 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
00921     ULONG  ulAddressTypes;
00922     GUID  ProtocolGuid;
00923     ULONG  ulAvailableTracking;
00924 #endif
00925 } LINE_DEV_CAPS, *PLINE_DEV_CAPS;
00926 
00927 typedef struct _LINE_DEV_STATUS {
00928     ULONG  ulTotalSize;
00929     ULONG  ulNeededSize;
00930     ULONG  ulUsedSize;
00931     ULONG  ulNumOpens;
00932     ULONG  ulOpenMediaModes;
00933     ULONG  ulNumActiveCalls;
00934     ULONG  ulNumOnHoldCalls;
00935     ULONG  ulNumOnHoldPendCalls;
00936     ULONG  ulLineFeatures;
00937     ULONG  ulNumCallCompletions;
00938     ULONG  ulRingMode;
00939     ULONG  ulSignalLevel;
00940     ULONG  ulBatteryLevel;
00941     ULONG  ulRoamMode;
00942     ULONG  ulDevStatusFlags;
00943     ULONG  ulTerminalModesSize;
00944     ULONG  ulTerminalModesOffset;
00945     ULONG  ulDevSpecificSize;
00946     ULONG  ulDevSpecificOffset;
00947 } LINE_DEV_STATUS, *PLINE_DEV_STATUS;
00948 
00949 typedef struct _LINE_EXTENSION_ID {
00950     ULONG  ulExtensionID0;
00951     ULONG  ulExtensionID1;
00952     ULONG  ulExtensionID2;
00953     ULONG  ulExtensionID3;
00954 } LINE_EXTENSION_ID, *PLINE_EXTENSION_ID;
00955 
00956 typedef struct _VAR_STRING {
00957     ULONG  ulTotalSize;
00958     ULONG  ulNeededSize;
00959     ULONG  ulUsedSize;  
00960     ULONG  ulStringFormat;
00961     ULONG  ulStringSize;
00962     ULONG  ulStringOffset;
00963 } VAR_STRING, *PVAR_STRING;
00964 
00965 typedef struct _NDIS_TAPI_ANSWER { 
00966   /*IN*/ ULONG  ulRequestID; 
00967   /*IN*/ HDRV_CALL  hdCall; 
00968   /*IN*/ ULONG  ulUserUserInfoSize; 
00969   /*IN*/ UCHAR  UserUserInfo[1]; 
00970 } NDIS_TAPI_ANSWER, *PNDIS_TAPI_ANSWER; 
00971 
00972 typedef struct _NDIS_TAPI_CLOSE { 
00973   /*IN*/ ULONG  ulRequestID;
00974   /*IN*/ HDRV_LINE  hdLine;
00975 } NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;
00976 
00977 typedef struct _NDIS_TAPI_CLOSE_CALL { 
00978   /*IN*/ ULONG  ulRequestID; 
00979   /*IN*/ HDRV_CALL  hdCall; 
00980 } NDIS_TAPI_CLOSE_CALL, *PNDIS_TAPI_CLOSE_CALL; 
00981 
00982 typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION { 
00983   /*IN*/ ULONG  ulRequestID; 
00984   /*IN*/ HDRV_LINE  hdLine; 
00985   /*IN*/ ULONG  ulMediaModes; 
00986   /*IN*/ LINE_CALL_PARAMS  LineCallParams; 
00987 } NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION, *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION; 
00988 
00989 typedef struct _NDIS_TAPI_DROP { 
00990   /*IN*/ ULONG  ulRequestID; 
00991   /*IN*/ HDRV_CALL  hdCall; 
00992   /*IN*/ ULONG  ulUserUserInfoSize; 
00993   /*IN*/ UCHAR  UserUserInfo[1]; 
00994 } NDIS_TAPI_DROP, *PNDIS_TAPI_DROP; 
00995 
00996 typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN { 
00997   /*IN*/ ULONG  ulRequestID; 
00998 } NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN; 
00999 
01000 typedef struct _NDIS_TAPI_SET_APP_SPECIFIC { 
01001   /*IN*/ ULONG  ulRequestID; 
01002   /*IN*/ HDRV_CALL  hdCall; 
01003   /*IN*/ ULONG  ulAppSpecific; 
01004 } NDIS_TAPI_SET_APP_SPECIFIC, *PNDIS_TAPI_SET_APP_SPECIFIC; 
01005 
01006 typedef struct _NDIS_TAPI_SET_CALL_PARAMS {
01007   /*IN*/ ULONG  ulRequestID;
01008   /*IN*/ HDRV_CALL  hdCall;
01009   /*IN*/ ULONG  ulBearerMode;
01010   /*IN*/ ULONG  ulMinRate;
01011   /*IN*/ ULONG  ulMaxRate;
01012   /*IN*/ BOOLEAN  bSetLineDialParams;
01013   /*IN*/ LINE_DIAL_PARAMS  LineDialParams;
01014 } NDIS_TAPI_SET_CALL_PARAMS, *PNDIS_TAPI_SET_CALL_PARAMS; 
01015 
01016 typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION { 
01017   /*IN*/ ULONG  ulRequestID; 
01018   /*IN*/ HDRV_LINE  hdLine; 
01019   /*IN*/ ULONG  ulMediaModes; 
01020 } NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION, *PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION;
01021 
01022 typedef struct _NDIS_TAPI_SET_DEV_CONFIG { 
01023   /*IN*/ ULONG  ulRequestID; 
01024   /*IN*/ ULONG  ulDeviceID; 
01025   /*IN*/ ULONG  ulDeviceClassSize; 
01026   /*IN*/ ULONG  ulDeviceClassOffset; 
01027   /*IN*/ ULONG  ulDeviceConfigSize; 
01028   /*IN*/ UCHAR  DeviceConfig[1]; 
01029 } NDIS_TAPI_SET_DEV_CONFIG, *PNDIS_TAPI_SET_DEV_CONFIG; 
01030 
01031 typedef struct _NDIS_TAPI_SET_MEDIA_MODE { 
01032   /*IN*/ ULONG  ulRequestID; 
01033   /*IN*/ HDRV_CALL  hdCall; 
01034   /*IN*/ ULONG  ulMediaMode; 
01035 } NDIS_TAPI_SET_MEDIA_MODE, *PNDIS_TAPI_SET_MEDIA_MODE; 
01036 
01037 typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES { 
01038   /*IN*/ ULONG  ulRequestID; 
01039   /*IN*/ HDRV_LINE  hdLine; 
01040   /*IN*/ ULONG  ulLineStates; 
01041   /*IN*/ ULONG  ulAddressStates; 
01042 } NDIS_TAPI_SET_STATUS_MESSAGES, *PNDIS_TAPI_SET_STATUS_MESSAGES; 
01043 
01044 typedef struct _NDIS_TAPI_ACCEPT { 
01045   /*IN*/ ULONG  ulRequestID; 
01046   /*IN*/ HDRV_CALL  hdCall; 
01047   /*IN*/ ULONG  ulUserUserInfoSize; 
01048   /*IN*/ UCHAR  UserUserInfo[1]; 
01049 } NDIS_TAPI_ACCEPT, *PNDIS_TAPI_ACCEPT; 
01050 
01051 typedef struct _NDIS_TAPI_DIAL { 
01052   /*IN*/ ULONG  ulRequestID; 
01053   /*IN*/ HDRV_CALL  hdCall; 
01054   /*IN*/ ULONG  ulDestAddressSize; 
01055   /*IN*/ CHAR  szDestAddress[1]; 
01056 } NDIS_TAPI_DIAL, *PNDIS_TAPI_DIAL; 
01057 
01058 typedef struct _NDIS_TAPI_EVENT {
01059   /*IN*/ HTAPI_LINE  htLine;
01060   /*IN*/ HTAPI_CALL  htCall;
01061   /*IN*/ ULONG  ulMsg;
01062   /*IN*/ ULONG  ulParam1;
01063   /*IN*/ ULONG  ulParam2;
01064   /*IN*/ ULONG  ulParam3;
01065 } NDIS_TAPI_EVENT, *PNDIS_TAPI_EVENT;
01066 
01067 typedef struct _NDIS_TAPI_OPEN { 
01068   /*IN*/ ULONG  ulRequestID; 
01069   /*IN*/ ULONG  ulDeviceID; 
01070   /*IN*/ HTAPI_LINE  htLine; 
01071   /*OUT*/ HDRV_LINE  hdLine; 
01072 } NDIS_TAPI_OPEN, *PNDIS_TAPI_OPEN; 
01073 
01074 typedef struct _NDIS_TAPI_SECURE_CALL { 
01075   /*IN*/ ULONG  ulRequestID; 
01076   /*IN*/ HDRV_CALL  hdCall; 
01077 } NDIS_TAPI_SECURE_CALL, *PNDIS_TAPI_SECURE_CALL; 
01078 
01079 typedef struct _NDIS_TAPI_SELECT_EXT_VERSION { 
01080   /*IN*/ ULONG  ulRequestID; 
01081   /*IN*/ HDRV_LINE  hdLine; 
01082   /*IN*/ ULONG  ulExtVersion; 
01083 } NDIS_TAPI_SELECT_EXT_VERSION, *PNDIS_TAPI_SELECT_EXT_VERSION; 
01084 
01085 typedef struct _NDIS_TAPI_SEND_USER_USER_INFO { 
01086   /*IN*/ ULONG  ulRequestID; 
01087   /*IN*/ HDRV_CALL  hdCall; 
01088   /*IN*/ ULONG  ulUserUserInfoSize; 
01089   /*IN*/ UCHAR  UserUserInfo[1]; 
01090 } NDIS_TAPI_SEND_USER_USER_INFO, *PNDIS_TAPI_SEND_USER_USER_INFO; 
01091 
01092 
01093 typedef struct _NDIS_TAPI_CONFIG_DIALOG { 
01094   /*IN*/ ULONG  ulRequestID; 
01095   /*IN*/ ULONG  ulDeviceID; 
01096   /*IN*/ ULONG  ulDeviceClassSize; 
01097   /*IN*/ ULONG  ulDeviceClassOffset; 
01098   /*IN*/ ULONG  ulLibraryNameTotalSize; 
01099   /*OUT*/ ULONG ulLibraryNameNeededSize; 
01100   /*OUT*/ CHAR  szLibraryName[1]; 
01101 } NDIS_TAPI_CONFIG_DIALOG, *PNDIS_TAPI_CONFIG_DIALOG; 
01102 
01103 typedef struct _NDIS_TAPI_DEV_SPECIFIC { 
01104   /*IN*/ ULONG  ulRequestID; 
01105   /*IN*/ HDRV_LINE  hdLine; 
01106   /*IN*/ ULONG  ulAddressID; 
01107   /*IN*/ HDRV_CALL  hdCall; 
01108   /*IN OUT*/ ULONG  ulParamsSize; 
01109   /*IN OUT*/ UCHAR  Params[1]; 
01110 } NDIS_TAPI_DEV_SPECIFIC, *PNDIS_TAPI_DEV_SPECIFIC; 
01111 
01112 typedef struct _NDIS_TAPI_GET_ADDRESS_CAPS { 
01113   /*IN*/ ULONG  ulRequestID; 
01114   /*IN*/ ULONG  ulDeviceID; 
01115   /*IN*/ ULONG  ulAddressID; 
01116   /*IN*/ ULONG  ulExtVersion; 
01117   /*OUT*/ LINE_ADDRESS_CAPS  LineAddressCaps; 
01118 } NDIS_TAPI_GET_ADDRESS_CAPS, *PNDIS_TAPI_GET_ADDRESS_CAPS; 
01119 
01120 typedef struct _NDIS_TAPI_GET_ADDRESS_ID { 
01121   /*IN*/ ULONG  ulRequestID; 
01122   /*IN*/ HDRV_LINE  hdLine; 
01123   /*OUT*/ ULONG  ulAddressID; 
01124   /*IN*/ ULONG  ulAddressMode; 
01125   /*IN*/ ULONG  ulAddressSize; 
01126   /*IN*/ CHAR  szAddress[1]; 
01127 } NDIS_TAPI_GET_ADDRESS_ID, *PNDIS_TAPI_GET_ADDRESS_ID; 
01128 
01129 typedef struct _NDIS_TAPI_GET_ADDRESS_STATUS { 
01130   /*IN*/ ULONG  ulRequestID; 
01131   /*IN*/ HDRV_LINE  hdLine; 
01132   /*IN*/ ULONG  ulAddressID; 
01133   /*OUT*/ LINE_ADDRESS_STATUS  LineAddressStatus; 
01134 } NDIS_TAPI_GET_ADDRESS_STATUS, *PNDIS_TAPI_GET_ADDRESS_STATUS; 
01135 
01136 typedef struct _NDIS_TAPI_GET_CALL_ADDRESS_ID { 
01137   /*IN*/ ULONG  ulRequestID; 
01138   /*IN*/ HDRV_CALL  hdCall; 
01139   /*OUT*/ ULONG  ulAddressID; 
01140 } NDIS_TAPI_GET_CALL_ADDRESS_ID, *PNDIS_TAPI_GET_CALL_ADDRESS_ID; 
01141 
01142 typedef struct _NDIS_TAPI_GET_CALL_INFO { 
01143   ULONG  ulRequestID; 
01144   /*IN*/ HDRV_CALL  hdCall; 
01145   /*OUT*/ LINE_CALL_INFO  LineCallInfo; 
01146 } NDIS_TAPI_GET_CALL_INFO, *PNDIS_TAPI_GET_CALL_INFO; 
01147 
01148 typedef struct _NDIS_TAPI_GET_CALL_STATUS { 
01149   /*IN*/ ULONG  ulRequestID; 
01150   /*IN*/ HDRV_CALL  hdCall; 
01151   /*OUT*/ LINE_CALL_STATUS  LineCallStatus; 
01152 } NDIS_TAPI_GET_CALL_STATUS, *PNDIS_TAPI_GET_CALL_STATUS; 
01153 
01154 typedef struct _NDIS_TAPI_GET_DEV_CAPS { 
01155   /*IN*/ ULONG  ulRequestID; 
01156   /*IN*/ ULONG  ulDeviceID; 
01157   /*IN*/ ULONG  ulExtVersion; 
01158   /*OUT*/ LINE_DEV_CAPS  LineDevCaps; 
01159 } NDIS_TAPI_GET_DEV_CAPS, *PNDIS_TAPI_GET_DEV_CAPS;
01160 
01161 typedef struct _NDIS_TAPI_GET_DEV_CONFIG { 
01162   /*IN*/ ULONG  ulRequestID; 
01163   /*IN*/ ULONG  ulDeviceID; 
01164   /*IN*/ ULONG  ulDeviceClassSize; 
01165   /*IN*/ ULONG  ulDeviceClassOffset; 
01166   /*OUT*/ VAR_STRING  DeviceConfig; 
01167 } NDIS_TAPI_GET_DEV_CONFIG, *PNDIS_TAPI_GET_DEV_CONFIG; 
01168 
01169 typedef struct _NDIS_TAPI_GET_EXTENSION_ID { 
01170   /*IN*/ ULONG  ulRequestID; 
01171   /*IN*/ ULONG  ulDeviceID; 
01172   /*OUT*/ LINE_EXTENSION_ID  LineExtensionID; 
01173 } NDIS_TAPI_GET_EXTENSION_ID, *PNDIS_TAPI_GET_EXTENSION_ID;
01174 
01175 typedef struct _NDIS_TAPI_GET_ID { 
01176   /*IN*/ ULONG  ulRequestID; 
01177   /*IN*/ HDRV_LINE  hdLine; 
01178   /*IN*/ ULONG  ulAddressID; 
01179   /*IN*/ HDRV_CALL  hdCall; 
01180   /*IN*/ ULONG  ulSelect; 
01181   /*IN*/ ULONG  ulDeviceClassSize; 
01182   /*IN*/ ULONG  ulDeviceClassOffset; 
01183   /*OUT*/ VAR_STRING  DeviceID; 
01184 } NDIS_TAPI_GET_ID, *PNDIS_TAPI_GET_ID; 
01185 
01186 typedef struct _NDIS_TAPI_GET_LINE_DEV_STATUS { 
01187   /*IN*/ ULONG  ulRequestID; 
01188   /*IN*/ HDRV_LINE  hdLine; 
01189   /*OUT*/ LINE_DEV_STATUS  LineDevStatus; 
01190 } NDIS_TAPI_GET_LINE_DEV_STATUS, *PNDIS_TAPI_GET_LINE_DEV_STATUS; 
01191 
01192 typedef struct _NDIS_TAPI_MAKE_CALL { 
01193   /*IN*/ ULONG  ulRequestID; 
01194   /*IN*/ HDRV_LINE  hdLine; 
01195   /*IN*/ HTAPI_CALL  htCall; 
01196   /*OUT*/ HDRV_CALL  hdCall; 
01197   /*IN*/ ULONG  ulDestAddressSize; 
01198   /*IN*/ ULONG  ulDestAddressOffset; 
01199   /*IN*/ BOOLEAN  bUseDefaultLineCallParams; 
01200   /*IN*/ LINE_CALL_PARAMS  LineCallParams; 
01201 } NDIS_TAPI_MAKE_CALL, *PNDIS_TAPI_MAKE_CALL;
01202 
01203 typedef struct _NDIS_TAPI_NEGOTIATE_EXT_VERSION { 
01204   /*IN*/ ULONG  ulRequestID; 
01205   /*IN*/ ULONG  ulDeviceID; 
01206   /*IN*/ ULONG  ulLowVersion; 
01207   /*IN*/ ULONG  ulHighVersion; 
01208   /*OUT*/ ULONG  ulExtVersion; 
01209 } NDIS_TAPI_NEGOTIATE_EXT_VERSION, *PNDIS_TAPI_NEGOTIATE_EXT_VERSION; 
01210 
01211 typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE { 
01212   /*IN*/ ULONG  ulRequestID; 
01213   /*IN*/ ULONG  ulDeviceIDBase; 
01214   /*OUT*/ ULONG  ulNumLineDevs; 
01215   /*OUT*/ ULONG  ulProviderID; 
01216 } NDIS_TAPI_PROVIDER_INITIALIZE, *PNDIS_TAPI_PROVIDER_INITIALIZE; 
01217 
01218 
01219 #define CO_TAPI_VERSION                   NDIS_TAPI_CURRENT_VERSION
01220 
01221 #define CO_TAPI_FLAG_OUTGOING_CALL          0x00000001
01222 #define CO_TAPI_FLAG_INCOMING_CALL          0x00000002
01223 #define CO_TAPI_FLAG_USE_DEFAULT_CALLPARAMS 0x00000004
01224 
01225 #define AF_TAPI_SAP_TYPE                  0x00008000
01226 
01227 typedef struct _CO_TAPI_ADDRESS_CAPS {
01228   /*IN*/ ULONG  ulLineID;
01229   /*IN*/ ULONG  ulAddressID;
01230   /*OUT*/ ULONG  ulFlags;
01231   /*OUT*/ LINE_ADDRESS_CAPS  LineAddressCaps;
01232 } CO_TAPI_ADDRESS_CAPS, *PCO_TAPI_ADDRESS_CAPS;
01233 
01234 /* CO_TAPI_CM_CAPS.ulFlags constants */
01235 #define CO_TAPI_FLAG_PER_LINE_CAPS        0x00000001
01236 
01237 typedef struct _CO_TAPI_CM_CAPS {
01238   /*OUT*/ ULONG  ulCoTapiVersion;
01239   /*OUT*/ ULONG  ulNumLines;
01240   /*OUT*/ ULONG  ulFlags;
01241 } CO_TAPI_CM_CAPS, *PCO_TAPI_CM_CAPS;
01242 
01243 typedef struct _CO_TAPI_CALL_DIAGNOSTICS {
01244   /*OUT*/ ULONG  ulOrigin;
01245   /*OUT*/ ULONG  ulReason;
01246   /*OUT*/ NDIS_VAR_DATA_DESC  DiagInfo;
01247 } CO_TAPI_CALL_DIAGNOSTICS, *PCO_TAPI_CALL_DIAGNOSTICS;
01248 
01249 
01250 /* CO_TAPI_LINE_CAPS.ulFlags constants */
01251 #define CO_TAPI_FLAG_PER_ADDRESS_CAPS     0x00000001
01252 
01253 typedef struct _CO_TAPI_LINE_CAPS {
01254   /*IN*/ ULONG  ulLineID;
01255   /*OUT*/ ULONG  ulFlags;
01256   /*OUT*/ LINE_DEV_CAPS  LineDevCaps;
01257 } CO_TAPI_LINE_CAPS, *PCO_TAPI_LINE_CAPS;
01258 
01259 typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS {
01260   /*IN*/ ULONG  ulFlags;
01261   /*IN*/ NDIS_VAR_DATA_DESC  NdisCallParams;
01262   /*OUT*/ NDIS_VAR_DATA_DESC  LineCallInfo;
01263 } CO_TAPI_TRANSLATE_NDIS_CALLPARAMS, *PCO_TAPI_TRANSLATE_NDIS_CALLPARAMS;
01264 
01265 typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS {
01266   /*IN*/ ULONG  ulLineID;
01267   /*IN*/ ULONG  ulAddressID;
01268   /*IN*/ ULONG  ulFlags;
01269   /*IN*/ NDIS_VAR_DATA_DESC  DestAddress;
01270   /*IN*/ NDIS_VAR_DATA_DESC  LineCallParams;
01271   /*OUT*/ NDIS_VAR_DATA_DESC  NdisCallParams;
01272 } CO_TAPI_TRANSLATE_TAPI_CALLPARAMS, *PCO_TAPI_TRANSLATE_TAPI_CALLPARAMS;
01273 
01274 /* CO_TAPI_TRANSLATE_SAP.ulLineID constants */
01275 #define CO_TAPI_LINE_ID_UNSPECIFIED       0xFFFFFFFF
01276 
01277 /* CO_TAPI_TRANSLATE_SAP.ulAddressID constants */
01278 #define CO_TAPI_ADDRESS_ID_UNSPECIFIED    0xFFFFFFFF
01279 
01280 typedef struct _CO_TAPI_TRANSLATE_SAP {
01281   /*IN*/ ULONG  ulLineID;
01282   /*IN*/ ULONG  ulAddressID;
01283   /*IN*/ ULONG  ulMediaModes;
01284   /*IN*/ ULONG  Reserved;
01285   /*OUT*/ ULONG  NumberOfSaps;
01286   /*OUT*/ NDIS_VAR_DATA_DESC  NdisSapParams[1];
01287 } CO_AF_TAPI_SAP, *PCO_AF_TAPI_SAP;
01288 
01289 typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS {
01290   /*IN*/ ULONG  ulLineID;
01291   /*IN*/ ULONG  ulAddressID;
01292   /*IN*/ ULONG  ulFlags;
01293   /*IN*/ NDIS_VAR_DATA_DESC  LineCallInfo;
01294 } CO_AF_TAPI_INCOMING_CALL_PARAMETERS, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS;
01295 
01296 typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS {
01297   /*IN*/ ULONG  ulLineID;
01298   /*IN*/ ULONG  ulAddressID;
01299   /*IN*/ ULONG  ulFlags;
01300   /*IN*/ NDIS_VAR_DATA_DESC  DestAddress;
01301   /*IN*/ NDIS_VAR_DATA_DESC  LineCallParams;
01302 } CO_AF_TAPI_MAKE_CALL_PARAMETERS, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS;
01303 
01304 #ifdef __cplusplus
01305 }
01306 #endif
01307 
01308 #endif /* __NDISTAPI_H */