ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

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

Generated on Sun May 27 2012 04:30:06 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.