Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

240 lines
6.4 KiB

  1. /*++
  2. Copyright (c) 1995-1996 Microsoft Corporation
  3. Module Name:
  4. ndpif.h
  5. Abstract:
  6. Shared header file between ndptsp.tsp and ndproxy.sys
  7. Author:
  8. Tony Bell
  9. Revision History:
  10. Who When What
  11. -------- -------- ----------------------------------------------
  12. TonyBe 03/03/99 Created
  13. --*/
  14. #ifndef _NDPIF__H
  15. #define _NDPIF__H
  16. #define LINEBEARERMODE_PASSTHROUGH 0x00000040 // TAPI v1.4
  17. #define LINEMEDIAMODE_VOICEVIEW 0x00004000 // TAPI v1.4
  18. #define LINEOFFERINGMODE_ACTIVE 0x00000001 // TAPI v1.4
  19. #define LINEOFFERINGMODE_INACTIVE 0x00000002 // TAPI v1.4
  20. #define LINETRANSLATEOPTION_CANCELCALLWAITING 0x00000002 // TAPI v1.4
  21. #define LINETRANSLATEOPTION_FORCELOCAL 0x00000004 // TAPI v1.4
  22. #define LINETRANSLATEOPTION_FORCELD 0x00000008 // TAPI v1.4
  23. #define LINEDEVSTATE_CAPSCHANGE 0x00100000 // TAPI v1.4
  24. #define LINEDEVSTATE_CONFIGCHANGE 0x00200000 // TAPI v1.4
  25. #define LINEDEVSTATE_TRANSLATECHANGE 0x00400000 // TAPI v1.4
  26. #define LINEDEVSTATE_COMPLCANCEL 0x00800000 // TAPI v1.4
  27. #define LINEDEVSTATE_REMOVED 0x01000000 // TAPI v1.4
  28. #define LINEADDRESSSTATE_CAPSCHANGE 0x00000100 // TAPI v1.4
  29. #define LINEDISCONNECTMODE_NODIALTONE 0x00001000 // TAPI v1.4
  30. #define LINEFORWARDMODE_UNKNOWN 0x00010000 // TAPI v1.4
  31. #define LINEFORWARDMODE_UNAVAIL 0x00020000 // TAPI v1.4
  32. #define LINELOCATIONOPTION_PULSEDIAL 0x00000001 // TAPI v1.4
  33. #define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000 // TAPI v1.4
  34. //
  35. //
  36. // Stuff from intrfce.h (ndistapi)
  37. // This belongs in a public (shared by ndptsp and ndproxy) header file
  38. //
  39. //
  40. //
  41. #define NDISTAPIERR_UNINITIALIZED 0x00001001
  42. #define NDISTAPIERR_BADDEVICEID 0x00001002
  43. #define NDISTAPIERR_DEVICEOFFLINE 0x00001003
  44. #define UNSPECIFIED_FLOWSPEC_VALUE 0xFFFFFFFF
  45. //
  46. // Define the various device type values. Note that values used by Microsoft
  47. // Corporation are in the range 0-32767, and 32768-65535 are reserved for use
  48. // by customers.
  49. //
  50. #define FILE_DEVICE_NDISTAPI 0x00008fff
  51. //
  52. // Macro definition for defining IOCTL and FSCTL function control codes. Note
  53. // that function codes 0-2047 are reserved for Microsoft Corporation, and
  54. // 2048-4095 are reserved for customers.
  55. //
  56. #define NDISTAPI_IOCTL_INDEX 0x8f0
  57. //
  58. // The NDISTAPI device driver IOCTLs
  59. //
  60. #define IOCTL_NDISTAPI_CONNECT CTL_CODE(FILE_DEVICE_NDISTAPI, \
  61. NDISTAPI_IOCTL_INDEX, \
  62. METHOD_BUFFERED, \
  63. FILE_ANY_ACCESS)
  64. #define IOCTL_NDISTAPI_DISCONNECT CTL_CODE(FILE_DEVICE_NDISTAPI, \
  65. NDISTAPI_IOCTL_INDEX + 1, \
  66. METHOD_BUFFERED, \
  67. FILE_ANY_ACCESS)
  68. #define IOCTL_NDISTAPI_QUERY_INFO CTL_CODE(FILE_DEVICE_NDISTAPI, \
  69. NDISTAPI_IOCTL_INDEX + 2, \
  70. METHOD_BUFFERED, \
  71. FILE_ANY_ACCESS)
  72. #define IOCTL_NDISTAPI_SET_INFO CTL_CODE(FILE_DEVICE_NDISTAPI, \
  73. NDISTAPI_IOCTL_INDEX + 3, \
  74. METHOD_BUFFERED, \
  75. FILE_ANY_ACCESS)
  76. #define IOCTL_NDISTAPI_GET_LINE_EVENTS CTL_CODE(FILE_DEVICE_NDISTAPI, \
  77. NDISTAPI_IOCTL_INDEX + 4, \
  78. METHOD_BUFFERED, \
  79. FILE_ANY_ACCESS)
  80. #define IOCTL_NDISTAPI_SET_DEVICEID_BASE CTL_CODE(FILE_DEVICE_NDISTAPI, \
  81. NDISTAPI_IOCTL_INDEX + 5, \
  82. METHOD_BUFFERED, \
  83. FILE_ANY_ACCESS)
  84. #define IOCTL_NDISTAPI_CREATE CTL_CODE(FILE_DEVICE_NDISTAPI, \
  85. NDISTAPI_IOCTL_INDEX + 6, \
  86. METHOD_BUFFERED, \
  87. FILE_ANY_ACCESS)
  88. //
  89. // Type definitions
  90. //
  91. typedef struct _NDISTAPI_REQUEST {
  92. //
  93. // Linkage used to thread up pended
  94. // requests on the Vc's request queue
  95. // Only used in ndproxy!
  96. //
  97. LIST_ENTRY Linkage;
  98. //
  99. // Irp this request came in
  100. // Only used in ndproxy!
  101. //
  102. PVOID Irp;
  103. //
  104. // Return value
  105. //
  106. ULONG ulUniqueRequestId;
  107. //
  108. // Return value
  109. //
  110. ULONG ulReturnValue;
  111. //
  112. // Operation idenfifier
  113. //
  114. ULONG Oid;
  115. //
  116. // Target line device ID
  117. //
  118. ULONG ulDeviceID;
  119. //
  120. // Total size of request data in buffer
  121. //
  122. ULONG ulDataSize;
  123. //
  124. // Buffer for request data, must be pointer aligned.
  125. //
  126. union {
  127. UCHAR Data[1];
  128. PVOID Alignment;
  129. };
  130. } NDISTAPI_REQUEST, *PNDISTAPI_REQUEST;
  131. //
  132. // Returns info to ndptsp in the LINE_OPEN OID
  133. //
  134. typedef struct _NDISTAPI_OPENDATA {
  135. //
  136. // GUID of the adapter that owns this line
  137. //
  138. OUT GUID Guid;
  139. //
  140. // Media type of the adapter that owns this line
  141. //
  142. OUT NDIS_WAN_MEDIUM_SUBTYPE MediaType;
  143. } NDISTAPI_OPENDATA, *PNDISTAPI_OPENDATA;
  144. typedef struct _NDISTAPI_EVENT_DATA {
  145. //
  146. // Total size of the event data buffer
  147. //
  148. IN ULONG ulTotalSize;
  149. //
  150. // Size of the returned event data
  151. //
  152. OUT ULONG ulUsedSize;
  153. //
  154. // Event data buffer
  155. //
  156. OUT UCHAR Data[1];
  157. } NDISTAPI_EVENT_DATA, *PNDISTAPI_EVENT_DATA;
  158. //
  159. // Info for a LINE_CREATE
  160. //
  161. typedef struct _NDISTAPI_CREATE_INFO {
  162. //
  163. // Given by NdisTapi in LINE_CREATE indication
  164. //
  165. IN ULONG TempID;
  166. //
  167. // The ID for this device
  168. //
  169. IN ULONG DeviceID;
  170. } NDISTAPI_CREATE_INFO, *PNDISTAPI_CREATE_INFO;
  171. //
  172. //
  173. // End of stuff form intrface.h (ndistapi)
  174. //
  175. //
  176. //
  177. #endif