Leaked source code of windows server 2003
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.

753 lines
24 KiB

  1. #ifndef __BTHPRIV_H__
  2. #define __BTHPRIV_H__
  3. #include <PSHPACK1.H>
  4. // {AEAA934B-5219-421E-8A47-06521BFE1AC9}
  5. DEFINE_GUID(GUID_BTHPORT_WMI_SDP_SERVER_LOG_INFO, 0xaeaa934b, 0x5219, 0x421e, 0x8a, 0x47, 0x06, 0x52, 0x1b, 0xfe, 0x1a, 0xc9);
  6. // {29D4F12C-FAD2-4EBF-A7B5-8BD9BC2104ED}
  7. DEFINE_GUID(GUID_BTHPORT_WMI_SDP_DATABASE_EVENT, 0x29d4f12c, 0xfad2, 0x4ebf, 0xa7, 0xb5, 0x8b, 0xd9, 0xbc, 0x21, 0x04, 0xed);
  8. // {CEB09762-F204-44fa-8E65-C85F820F8AD5}
  9. DEFINE_GUID(GUID_BTHPORT_WMI_HCI_PACKET_INFO, 0xceb09762, 0xf204, 0x44fa, 0x8e, 0x65, 0xc8, 0x5f, 0x82, 0xf, 0x8a, 0xd5);
  10. typedef struct _BTH_DEVICE_INQUIRY {
  11. //
  12. // Either LAP_GIAC_VALUE or LAP_LIAC_VALUE
  13. //
  14. BTH_LAP lap;
  15. //
  16. // [IN] ( N * 1.28 secs). Range : 1.28 s - 61.44 s.
  17. //
  18. UCHAR inquiryTimeoutMultiplier;
  19. } BTH_DEVICE_INQUIRY, *PBTH_DEVICE_INQUIRY;
  20. typedef struct _BTH_DEVICE_INFO_LIST {
  21. //
  22. // [IN/OUT] minimum of 1 device required
  23. //
  24. ULONG numOfDevices;
  25. //
  26. // Open ended array of devices;
  27. //
  28. BTH_DEVICE_INFO deviceList[1];
  29. } BTH_DEVICE_INFO_LIST, *PBTH_DEVICE_INFO_LIST;
  30. typedef struct _BTH_RADIO_INFO {
  31. //
  32. // Supported LMP features of the radio. Use LMP_XXX() to extract
  33. // the desired bits.
  34. //
  35. ULONGLONG lmpSupportedFeatures;
  36. //
  37. // Manufacturer ID (possibly BTH_MFG_XXX)
  38. //
  39. USHORT mfg;
  40. //
  41. // LMP subversion
  42. //
  43. USHORT lmpSubversion;
  44. //
  45. // LMP version
  46. //
  47. UCHAR lmpVersion;
  48. } BTH_RADIO_INFO, *PBTH_RADIO_INFO;
  49. #define LOCAL_RADIO_DISCOVERABLE (0x00000001)
  50. #define LOCAL_RADIO_CONNECTABLE (0x00000002)
  51. #define LOCAL_RADIO_SCAN_MASK (LOCAL_RADIO_DISCOVERABLE | \
  52. LOCAL_RADIO_CONNECTABLE)
  53. typedef struct _BTH_LOCAL_RADIO_INFO {
  54. //
  55. // Local BTH_ADDR, class of defice, and radio name
  56. //
  57. BTH_DEVICE_INFO localInfo;
  58. //
  59. // Combo of LOCAL_RADIO_XXX values
  60. //
  61. ULONG flags;
  62. //
  63. // HCI revision, see core spec
  64. //
  65. USHORT hciRevision;
  66. //
  67. // HCI version, see core spec
  68. //
  69. UCHAR hciVersion;
  70. //
  71. // More information about the local radio (LMP, MFG)
  72. //
  73. BTH_RADIO_INFO radioInfo;
  74. } BTH_LOCAL_RADIO_INFO, *PBTH_LOCAL_RADIO_INFO;
  75. #define SIG_UNNAMED { 0x04, 0x0b, 0x09 }
  76. #define SIG_UNNAMED_LEN (3)
  77. //
  78. // Private IOCTL definitions
  79. //
  80. typedef enum _SDP_SERVER_LOG_TYPE {
  81. SdpServerLogTypeError = 1,
  82. SdpServerLogTypeServiceSearch,
  83. SdpServerLogTypeServiceSearchResponse,
  84. SdpServerLogTypeAttributeSearch,
  85. SdpServerLogTypeAttributeSearchResponse,
  86. SdpServerLogTypeServiceSearchAttribute,
  87. SdpServerLogTypeServiceSearchAttributeResponse,
  88. SdpServerLogTypeConnect,
  89. SdpServerLogTypeDisconnect,
  90. } SDP_SERVER_LOG_TYPE;
  91. typedef struct _SDP_SERVER_LOG_INFO {
  92. SDP_SERVER_LOG_TYPE type;
  93. BTH_DEVICE_INFO info;
  94. ULONG dataLength;
  95. USHORT mtu;
  96. USHORT _r;
  97. UCHAR data[1];
  98. } SDP_SERVER_LOG_INFO, *PSDP_SERVER_LOG_INFO;
  99. typedef enum _SDP_DATABASE_EVENT_TYPE {
  100. SdpDatabaseEventNewRecord = 0,
  101. SdpDatabaseEventUpdateRecord,
  102. SdpDatabaseEventRemoveRecord
  103. } SDP_DATABASE_EVENT_TYPE, *PSDP_DATABASE_EVENT_TYPE;
  104. typedef struct _SDP_DATABASE_EVENT {
  105. SDP_DATABASE_EVENT_TYPE type;
  106. HANDLE handle;
  107. } SDP_DATABASE_EVENT, *PSDP_DATABASE_EVENT;
  108. typedef enum _BTH_SECURITY_LEVEL {
  109. BthSecLevelNone = 0,
  110. BthSecLevelSoftware,
  111. BthSecLevelBaseband,
  112. BthSecLevelMaximum
  113. } BTH_SECURITY_LEVEL, *PBTH_SECURITY_LEVEL;
  114. //
  115. // Common header for all PIN related structures
  116. //
  117. typedef struct _BTH_PIN_INFO {
  118. BTH_ADDR bthAddressRemote;
  119. UCHAR pin[BTH_MAX_PIN_SIZE];
  120. UCHAR pinLength;
  121. } BTH_PIN_INFO, *PBTH_PIN_INFO;
  122. //
  123. // Structure used when responding to BTH_REMOTE_AUTHENTICATE_REQUEST event
  124. //
  125. // NOTE: BTH_PIN_INFO must be the first field in this structure
  126. //
  127. typedef struct _BTH_AUTHENTICATE_RESPONSE {
  128. BTH_PIN_INFO info;
  129. UCHAR negativeResponse;
  130. } BTH_AUTHENTICATE_RESPONSE, *PBTH_AUTHENTICATE_RESPONSE;
  131. //
  132. // Structure used when initiating an authentication request
  133. //
  134. // NOTE: BTH_PIN_INFO must be the first field in this structure
  135. //
  136. typedef struct _BTH_AUTHENTICATE_DEVICE {
  137. BTH_PIN_INFO info;
  138. HANDLE pinWrittenEvent;
  139. } BTH_AUTHENTICATE_DEVICE, *PBTH_AUTHENTICATE_DEVICE;
  140. #define BTH_UPDATE_ADD (0x00000001)
  141. #define BTH_UPDATE_REMOVE (0x00000002)
  142. #define BTH_UPDATE_ID (0x00000004)
  143. #define BTH_UPDATE_MASK (BTH_UPDATE_REMOVE | BTH_UPDATE_ADD | BTH_UPDATE_ID)
  144. typedef struct _BTH_DEVICE_UPDATE {
  145. BTH_ADDR btAddr;
  146. ULONG flags;
  147. USHORT vid;
  148. USHORT pid;
  149. USHORT vidType;
  150. USHORT mfg;
  151. GUID protocols[1];
  152. } BTH_DEVICE_UPDATE, *PBTH_DEVICE_UPDATE;
  153. typedef struct _BTH_DEVICE_PROTOCOLS_LIST {
  154. ULONG numProtocols;
  155. ULONG maxProtocols;
  156. GUID protocols[1];
  157. } BTH_DEVICE_PROTOCOLS_LIST, *PBTH_DEVICE_PROTOCOLS_LIST;
  158. //
  159. // These are spec values, so they cannot be changed
  160. //
  161. #define BTH_SCAN_ENABLE_INQUIRY (0X01)
  162. #define BTH_SCAN_ENABLE_PAGE (0x02)
  163. #define BTH_SCAN_ENABLE_MASK (BTH_SCAN_ENABLE_PAGE | BTH_SCAN_ENABLE_INQUIRY)
  164. #define BTH_SCAN_ENABLE_DEFAULT (BTH_SCAN_ENABLE_PAGE | BTH_SCAN_ENABLE_INQUIRY)
  165. #define SDP_CONNECT_CACHE (0x00000001)
  166. #define SDP_CONNECT_ALLOW_PIN (0x00000002)
  167. #define SDP_REQUEST_TO_DEFAULT (0)
  168. #define SDP_REQUEST_TO_MIN (10)
  169. #define SDP_REQUEST_TO_MAX (45)
  170. #define SDP_CONNECT_VALID_FLAGS (SDP_CONNECT_CACHE | SDP_CONNECT_ALLOW_PIN)
  171. // #define SERVICE_OPTION_PERMANENT (0x00000001)
  172. #define SERVICE_OPTION_DO_NOT_PUBLISH (0x00000002)
  173. #define SERVICE_OPTION_NO_PUBLIC_BROWSE (0x00000004)
  174. #define SERVICE_OPTION_VALID_MASK (SERVICE_OPTION_NO_PUBLIC_BROWSE | \
  175. SERVICE_OPTION_DO_NOT_PUBLISH)
  176. #define SERVICE_SECURITY_USE_DEFAULTS (0x00000000)
  177. #define SERVICE_SECURITY_NONE (0x00000001)
  178. #define SERVICE_SECURITY_AUTHORIZE (0x00000002)
  179. #define SERVICE_SECURITY_AUTHENTICATE (0x00000004)
  180. #define SERVICE_SECURITY_ENCRYPT_REQUIRED (0x00000010)
  181. #define SERVICE_SECURITY_ENCRYPT_OPTIONAL (0x00000020)
  182. #define SERVICE_SECURITY_DISABLED (0x10000000)
  183. #define SERVICE_SECURITY_NO_ASK (0x20000000)
  184. #define SERVICE_SECURITY_VALID_MASK \
  185. (SERVICE_SECURITY_NONE | SERVICE_SECURITY_AUTHORIZE | \
  186. SERVICE_SECURITY_AUTHENTICATE | SERVICE_SECURITY_ENCRYPT_REQUIRED | \
  187. SERVICE_SECURITY_ENCRYPT_OPTIONAL)
  188. typedef PVOID HANDLE_SDP, *PHANDLE_SDP;
  189. #define HANDLE_SDP_LOCAL ((HANDLE_SDP) -2)
  190. typedef struct _BTH_SDP_CONNECT {
  191. //
  192. // Address of the remote SDP server. Cannot be the local radio.
  193. //
  194. BTH_ADDR bthAddress;
  195. //
  196. // Combination of SDP_CONNECT_XXX flags
  197. //
  198. ULONG fSdpConnect;
  199. //
  200. // When the connect request returns, this will specify the handle to the
  201. // SDP connection to the remote server
  202. //
  203. HANDLE_SDP hConnection;
  204. //
  205. // Timeout, in seconds, for the requests on ths SDP channel. If the request
  206. // times out, the SDP connection represented by the HANDLE_SDP must be
  207. // closed. The values for this field are bound by SDP_REQUEST_TO_MIN and
  208. // SDP_REQUEST_MAX. If SDP_REQUEST_TO_DEFAULT is specified, the timeout is
  209. // 30 seconds.
  210. //
  211. UCHAR requestTimeout;
  212. } BTH_SDP_CONNECT, *PBTH_SDP_CONNECT;
  213. typedef struct _BTH_SDP_DISCONNECT {
  214. //
  215. // hConnection returned by BTH_SDP_CONNECT
  216. //
  217. HANDLE_SDP hConnection;
  218. } BTH_SDP_DISCONNECT, *PBTH_SDP_DISCONNECT;
  219. typedef struct _BTH_SDP_RECORD {
  220. //
  221. // Combination of SERVICE_SECURITY_XXX flags
  222. //
  223. ULONG fSecurity;
  224. //
  225. // Combination of SERVICE_OPTION_XXX flags
  226. //
  227. ULONG fOptions;
  228. //
  229. // combo of COD_SERVICE_XXX flags
  230. //
  231. ULONG fCodService;
  232. //
  233. // The length of the record array, in bytes.
  234. //
  235. ULONG recordLength;
  236. //
  237. // The SDP record in its raw format
  238. //
  239. UCHAR record[1];
  240. } BTH_SDP_RECORD, *PBTH_SDP_RECORD;
  241. typedef struct _BTH_SDP_SERVICE_SEARCH_REQUEST {
  242. //
  243. // Handle returned by the connect request or HANDLE_SDP_LOCAL
  244. //
  245. HANDLE_SDP hConnection;
  246. //
  247. // Array of UUIDs. Each entry can be either a 2 byte, 4 byte or 16 byte
  248. // UUID. SDP spec mandates that a request can have a maximum of 12 UUIDs.
  249. //
  250. SdpQueryUuid uuids[MAX_UUIDS_IN_QUERY];
  251. } BTH_SDP_SERVICE_SEARCH_REQUEST, *PBTH_SDP_SERVICE_SEARCH_REQUEST;
  252. //
  253. // Do not even attempt to validate that the stream can be parsed
  254. //
  255. #define SDP_SEARCH_NO_PARSE_CHECK (0x00000001)
  256. //
  257. // Do not check the format of the results. This includes suppression of both
  258. // the check for a record patten (SEQ of UINT16 + value) and the validation
  259. // of each universal attribute's accordance to the spec.
  260. //
  261. #define SDP_SEARCH_NO_FORMAT_CHECK (0x00000002)
  262. #define SDP_SEARCH_VALID_FLAGS \
  263. (SDP_SEARCH_NO_PARSE_CHECK | SDP_SEARCH_NO_FORMAT_CHECK)
  264. typedef struct _BTH_SDP_ATTRIBUTE_SEARCH_REQUEST {
  265. //
  266. // Handle returned by the connect request or HANDLE_SDP_LOCAL
  267. //
  268. HANDLE_SDP hConnection;
  269. //
  270. // Combo of SDP_SEARCH_Xxx flags
  271. //
  272. ULONG searchFlags;
  273. //
  274. // Record handle returned by the remote SDP server, most likely from a
  275. // previous BTH_SDP_SERVICE_SEARCH_RESPONSE.
  276. //
  277. ULONG recordHandle;
  278. //
  279. // Array of attributes to query for. Each SdpAttributeRange entry can
  280. // specify either a single attribute or a range. To specify a single
  281. // attribute, minAttribute should be equal to maxAttribute. The array must
  282. // be in sorted order, starting with the smallest attribute. Furthermore,
  283. // if a range is specified, the minAttribute must be <= maxAttribute.
  284. //
  285. SdpAttributeRange range[1];
  286. } BTH_SDP_ATTRIBUTE_SEARCH_REQUEST, *PBTH_SDP_ATTRIBUTE_SEARCH_REQUEST;
  287. typedef struct _BTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST {
  288. //
  289. // Handle returned by the connect request or HANDLE_SDP_LOCAL
  290. //
  291. HANDLE_SDP hConnection;
  292. //
  293. // Combo of SDP_SEARCH_Xxx flags
  294. //
  295. ULONG searchFlags;
  296. //
  297. // See comments in BTH_SDP_SERVICE_SEARCH_REQUEST
  298. //
  299. SdpQueryUuid uuids[MAX_UUIDS_IN_QUERY];
  300. //
  301. // See comments in BTH_SDP_ATTRIBUTE_SEARCH_REQUEST
  302. //
  303. SdpAttributeRange range[1];
  304. } BTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST,
  305. *PBTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST;
  306. typedef struct _BTH_SDP_STREAM_RESPONSE {
  307. //
  308. // The required buffer size (not including the first 2 ULONG_PTRs of this
  309. // data structure) needed to contain the response.
  310. //
  311. // If the buffer passed was large enough to contain the entire response,
  312. // requiredSize will be equal to responseSize. Otherwise, the caller should
  313. // resubmit the request with a buffer size equal to
  314. // sizeof(BTH_SDP_STREAM_RESPONSE) + requiredSize - 1. (The -1 is because
  315. // the size of this data structure already includes one byte of the
  316. // response.)
  317. //
  318. // A response cannot exceed 4GB in size.
  319. //
  320. ULONG requiredSize;
  321. //
  322. // The number of bytes copied into the response array of this data
  323. // structure. If there is not enough room for the entire response, the
  324. // response will be partially copied into the response array.
  325. //
  326. ULONG responseSize;
  327. //
  328. // The raw SDP response from the serach.
  329. //
  330. UCHAR response[1];
  331. } BTH_SDP_STREAM_RESPONSE, *PBTH_SDP_STREAM_RESPONSE;
  332. //
  333. // defines for IOCTL_BTH_UPDATE_SETTINGS
  334. //
  335. // (0x00000001)
  336. #define UPDATE_SETTINGS_PAGE_TIMEOUT (0x00000002)
  337. #define UPDATE_SETTINGS_LOCAL_NAME (0x00000004)
  338. #define UPDATE_SETTINGS_SECURITY_LEVEL (0x00000008)
  339. #define UPDATE_SETTINGS_CHANGE_LINK_KEY_ALWAYS (0x00000010)
  340. // (0x00000020)
  341. // (0x00000040)
  342. #define UPDATE_SETTINGS_PAGE_SCAN_ACTIVITY (0x00000080)
  343. #define UPDATE_SETTINGS_INQUIRY_SCAN_ACTIVITY (0x00000100)
  344. #define UPDATE_SETTINGS_MAX (UPDATE_SETTINGS_INQUIRY_SCAN_ACTIVITY)
  345. //
  346. // Set all the bits by shifting over 1 and then subtracting one
  347. // (ie, 0x1000 - 1 == 0x0FFF)
  348. //
  349. #define UPDATE_SETTINGS_ALL (((UPDATE_SETTINGS_MAX) << 1)-1)
  350. #define BTH_SET_ROLE_MASTER (0x00)
  351. #define BTH_SET_ROLE_SLAVE (0x01)
  352. typedef struct _BTH_SET_CONNECTION_ROLE {
  353. //
  354. // The remote radio address whose role to query
  355. //
  356. BTH_ADDR address;
  357. //
  358. // BTH_SET_ROLE_Xxx value
  359. UCHAR role;
  360. } BTH_SET_CONNECTION_ROLE, *PBTH_SET_CONNECTION_ROLE;
  361. //
  362. // Data structures required for debug WMI logging
  363. //
  364. typedef enum _HCI_PACKET_INFO_TYPE {
  365. INFO_TYPE_ACL_DATA = 0,
  366. INFO_TYPE_SCO_DATA,
  367. INFO_TYPE_EVENT_DATA,
  368. INFO_TYPE_CMND_DATA
  369. } HCI_PACKET_INFO_TYPE;
  370. typedef struct _HCI_PACKET_INFO {
  371. ULONG BufferLen;
  372. HCI_PACKET_INFO_TYPE Type;
  373. LARGE_INTEGER Time;
  374. UINT32 NumPacket;
  375. UCHAR Buffer[1];
  376. } HCI_PACKET_INFO, *PHCI_PACKET_INFO;
  377. //
  378. // Private strings
  379. //
  380. #define STR_PARAMETERS_KEYA "System\\CurrentControlSet\\" \
  381. "Services\\BTHPORT\\Parameters"
  382. #define STR_PARAMETERS_KEYW L"System\\CurrentControlSet\\" \
  383. L"Services\\BTHPORT\\Parameters"
  384. #define STR_SYM_LINK_NAMEA "SymbolicLinkName"
  385. #define STR_SYM_LINK_NAMEW L"SymbolicLinkName"
  386. #define STR_SERVICESA "Services"
  387. #define STR_SERVICESW L"Services"
  388. #define STR_DEVICESA "Devices"
  389. #define STR_DEVICESW L"Devices"
  390. #define STR_PERSONAL_DEVICESA "PerDevices"
  391. #define STR_PERSONAL_DEVICESW L"PerDevices"
  392. #define STR_LOCAL_SERVICESA "LocalServices"
  393. #define STR_LOCAL_SERVICESW L"LocalServices"
  394. #define STR_DEVICE_SERVICESA "DeviceServices"
  395. #define STR_DEVICE_SERVICESW L"DeviceServices"
  396. #define STR_CACHED_SERVICESA "CachedServices"
  397. #define STR_CACHED_SERVICESW L"CachedServices"
  398. #define STR_NOTIFICATIONSA "Notifications"
  399. #define STR_NOTIFICATIONSW L"Notifications"
  400. #define STR_ICONA "Icon"
  401. #define STR_ICONW L"Icon"
  402. // BINARY
  403. #define STR_NAMEA "Name"
  404. #define STR_NAMEW L"Name"
  405. #define STR_LOCAL_NAMEA "Local Name"
  406. #define STR_LOCAL_NAMEW L"Local Name"
  407. #define STR_FRIENDLY_NAMEA "Friendly Name"
  408. #define STR_FRIENDLY_NAMEW L"Friendly Name"
  409. #define STR_CODA "COD"
  410. #define STR_CODW L"COD"
  411. #define STR_COD_TYPEA "COD Type"
  412. #define STR_COD_TYPEW L"COD Type"
  413. #define STR_DEVICENAMEA "Device Name"
  414. #define STR_DEVICENAMEW L"Device Name"
  415. // DWORD
  416. #define STR_AUTHORIZE_OVERRIDEA "AuthorizeOverrideFlags"
  417. #define STR_AUTHORIZE_OVERRIDEW L"AuthorizeOverrideFlags"
  418. // DWORD
  419. #define STR_SECURITY_FLAGSA "SecurityFlags"
  420. #define STR_SECURITY_FLAGSW L"SecurityFlags"
  421. // DWORD
  422. #define STR_SECURITY_FLAGS_OVERRIDEA "SecurityFlagsOverride"
  423. #define STR_SECURITY_FLAGS_OVERRIDEW L"SecurityFlagsOverride"
  424. // DWORD
  425. #define STR_DEFAULT_SECURITYA "SecurityFlagsDefault"
  426. #define STR_DEFAULT_SECURITYW L"SecurityFlagsDefault"
  427. // DWORD
  428. #define STR_SECURITY_LEVELA "SecurityLevel"
  429. #define STR_SECURITY_LEVELW L"SecurityLevel"
  430. // BINARY (array of GUIDs)
  431. #define STR_PROTOCOLSA "Protocols"
  432. #define STR_PROTOCOLSW L"Protocols"
  433. #define STR_VIDA "VID"
  434. #define STR_VIDW L"VID"
  435. #define STR_PIDA "PID"
  436. #define STR_PIDW L"PID"
  437. #define STR_VIDTYPEA "VIDType"
  438. #define STR_VIDTYPEW L"VIDType"
  439. #define STR_VERA "VER"
  440. #define STR_VERW L"VER"
  441. #define STR_ENABLEDA "Enabled"
  442. #define STR_ENABLEDW L"Enabled"
  443. // DWORD
  444. #define STR_INQUIRY_PERIODA "Inquiry Length"
  445. #define STR_INQUIRY_PERIODW L"Inquiry Length"
  446. #define STR_AUTHENTICATEDA "Authenticated"
  447. #define STR_AUTHENTICATEDW L"Authenticated"
  448. #define STR_AUTHORIZEDA "Authorized"
  449. #define STR_AUTHORIZEDW L"Authorized"
  450. #define STR_PARAMETERSA "Parameters"
  451. #define STR_PARAMETERSW L"Parameters"
  452. // DWORD
  453. #define STR_CMD_ALLOWANCE_OVERRIDEA "Cmd Allowance Override"
  454. #define STR_CMD_ALLOWANCE_OVERRIDEW L"Cmd Allowance Override"
  455. // BUGBUG: remove this for final release
  456. // DWORD
  457. #define STR_CHANGE_LINK_KEY_ALWAYSA "Change Link Key Always"
  458. #define STR_CHANGE_LINK_KEY_ALWAYSW L"Change Link Key Always"
  459. #define STR_MAX_UNKNOWN_ADDR_CONNECT_REQUESTSA "MaxUnknownAddrConnectRequests"
  460. #define STR_MAX_UNKNOWN_ADDR_CONNECT_REQUESTSW L"MaxUnknownAddrConnectRequests"
  461. //DWORD
  462. #define STR_PAGE_TIMEOUTA "Page Timeout"
  463. #define STR_PAGE_TIMEOUTW L"Page Timeout"
  464. //DWORD
  465. #define STR_SCAN_ENABLEA "Write Scan Enable"
  466. #define STR_SCAN_ENABLEW L"Write Scan Enable"
  467. //DWORD
  468. #define STR_PAGE_SCAN_INTERVALA "Page Scan Interval"
  469. #define STR_PAGE_SCAN_INTERVALW L"Page Scan Interval"
  470. //DWORD
  471. #define STR_PAGE_SCAN_WINDOWA "Page Scan Window"
  472. #define STR_PAGE_SCAN_WINDOWW L"Page Scan Window"
  473. //DWORD
  474. #define STR_INQUIRY_SCAN_INTERVALA "Inquiry Scan Interval"
  475. #define STR_INQUIRY_SCAN_INTERVALW L"Inquiry Scan Interval"
  476. //DWORD
  477. #define STR_INQUIRY_SCAN_WINDOWA "Inquiry Scan Window"
  478. #define STR_INQUIRY_SCAN_WINDOWW L"Inquiry Scan Window"
  479. //MULTISZ
  480. #define STR_UNSUPPORTED_HCI_CMDSA "Unsupported HCI commands"
  481. #define STR_UNSUPPORTED_HCI_CMDSW L"Unsupported HCI commands"
  482. //DWORD
  483. #define STR_SUPPORTED_HCI_PKTSA "Supported HCI Packet Types"
  484. #define STR_SUPPORTED_HCI_PKTSW L"Supported HCI Packet Types"
  485. //DWORD
  486. #define STR_POLL_TIMERA "Poll Timer Sec"
  487. #define STR_POLL_TIMERW L"Poll Timer Sec"
  488. //DWORD
  489. #define STR_SELECTIVE_SUSPEND_ENABLEDW L"SelectiveSuspendEnabled"
  490. #define STR_SELECTIVE_SUSPEND_ENABLEDA "SelectiveSuspendEnabled"
  491. #if defined(UNICODE) || defined(BTH_KERN)
  492. #define STR_PARAMETERS_KEY STR_PARAMETERS_KEYW
  493. #define STR_SYM_LINK_NAME STR_SYM_LINK_NAMEW
  494. #define STR_SERVICES STR_SERVICESW
  495. #define STR_PROTOCOLS STR_PROTOCOLSW
  496. #define STR_VIDTYPE STR_VIDTYPEW
  497. #define STR_VID STR_VIDW
  498. #define STR_PID STR_PIDW
  499. #define STR_VER STR_VERW
  500. #define STR_DEVICES STR_DEVICESW
  501. #define STR_PERSONAL_DEVICES STR_PERSONAL_DEVICESW
  502. #define STR_NOTIFICATIONS STR_NOTIFICATIONSW
  503. #define STR_LOCAL_SERVICES STR_LOCAL_SERVICESW
  504. #define STR_DEVICE_SERVICES STR_DEVICE_SERVICESW
  505. #define STR_CACHED_SERVICES STR_CACHED_SERVICESW
  506. #define STR_PROTOCOLS STR_PROTOCOLSW
  507. #define STR_ENABLED STR_ENABLEDW
  508. #define STR_ICON STR_ICONW
  509. #define STR_NAME STR_NAMEW
  510. #define STR_LOCAL_NAME STR_LOCAL_NAMEW
  511. #define STR_DEVICENAME STR_DEVICENAMEW
  512. #define STR_FRIENDLY_NAME STR_FRIENDLY_NAMEW
  513. #define STR_COD STR_CODW
  514. #define STR_COD_TYPE STR_COD_TYPEW
  515. #define STR_AUTHORIZE_OVERRIDE STR_AUTHORIZE_OVERRIDEW
  516. #define STR_SECURITY_FLAGS STR_SECURITY_FLAGSW
  517. #define STR_SECURITY_FLAGS_OVERRIDE STR_SECURITY_FLAGS_OVERRIDEW
  518. #define STR_SECURITY_OVERRIDE STR_SECURITY_FLAGS_OVERRIDEW
  519. #define STR_DEFAULT_SECURITY STR_DEFAULT_SECURITYW
  520. #define STR_SECUIRTY_LEVEL STR_SECURITY_LEVELW
  521. #define STR_INQUIRY_PERIOD STR_INQUIRY_PERIODW
  522. #define STR_PAGE_SCANINTERVAL STR_PAGE_SCANINTERVALW
  523. #define STR_PAGE_SCANWINDOW STR_PAGE_SCANWINDOWW
  524. #define STR_UNSUPPORTED_HCI_CMDS STR_UNSUPPORTED_HCI_CMDSW
  525. #define STR_SUPPORTED_HCI_PKTS STR_SUPPORTED_HCI_PKTSW
  526. #define STR_AUTHORIZED STR_AUTHORIZEDW
  527. #define STR_AUTHENTICATED STR_AUTHENTICATEDW
  528. #define STR_PARAMETERS STR_PARAMETERSW
  529. #define STR_CHANGE_LINK_KEY_ALWAYS STR_CHANGE_LINK_KEY_ALWAYSW
  530. #define STR_MAX_UNKNOWN_ADDR_CONNECT_REQUESTS \
  531. STR_MAX_UNKNOWN_ADDR_CONNECT_REQUESTSW
  532. #define STR_CMD_ALLOWANCE_OVERRIDE STR_CMD_ALLOWANCE_OVERRIDEW
  533. #define STR_PAGE_TIMEOUT STR_PAGE_TIMEOUTW
  534. #define STR_SCAN_ENABLE STR_SCAN_ENABLEW
  535. #define STR_POLL_TIMER STR_POLL_TIMERW
  536. #define STR_SELECTIVE_SUSPEND_ENABLED STR_SELECTIVE_SUSPEND_ENABLEDW
  537. #else // UNICODE
  538. #define STR_PARAMETERS_KEY STR_PARAMETERS_KEYA
  539. #define STR_SYM_LINK_NAME STR_SYM_LINK_NAMEA
  540. #define STR_SERVICES STR_SERVICESA
  541. #define STR_PROTOCOLS STR_PROTOCOLSA
  542. #define STR_VIDTYPE STR_VIDTYPEA
  543. #define STR_VID STR_VIDA
  544. #define STR_PID STR_PIDA
  545. #define STR_VER STR_VERA
  546. #define STR_DEVICES STR_DEVICESA
  547. #define STR_PERSONAL_DEVICES STR_PERSONAL_DEVICESA
  548. #define STR_NOTIFICATIONS STR_NOTIFICATIONSA
  549. #define STR_LOCAL_SERVICES STR_LOCAL_SERVICESA
  550. #define STR_DEVICE_SERVICES STR_DEVICE_SERVICESA
  551. #define STR_CACHED_SERVICES STR_CACHED_SERVICESA
  552. #define STR_PROTOCOLS STR_PROTOCOLSA
  553. #define STR_ENABLED STR_ENABLEDA
  554. #define STR_ICON STR_ICONA
  555. #define STR_NAME STR_NAMEA
  556. #define STR_LOCAL_NAME STR_LOCAL_NAMEA
  557. #define STR_DEVICENAME STR_DEVICENAMEA
  558. #define STR_FRIENDLY_NAME STR_FRIENDLY_NAMEA
  559. #define STR_COD STR_CODA
  560. #define STR_COD_TYPE STR_COD_TYPEA
  561. #define STR_AUTHORIZE_OVERRIDE STR_AUTHORIZE_OVERRIDEA
  562. #define STR_SECURITY_FLAGS STR_SECURITY_FLAGSA
  563. #define STR_SECURITY_OVERRIDE STR_SECURITY_FLAGS_OVERRIDEA
  564. #define STR_DEFAULT_SECURITY STR_DEFAULT_SECURITYA
  565. #define STR_SECUIRTY_LEVEL STR_SECURITY_LEVELA
  566. #define STR_INQUIRY_PERIOD STR_INQUIRY_PERIODA
  567. #define STR_CHANGE_LINK_KEY_ALWAYS STR_CHANGE_LINK_KEY_ALWAYSA
  568. #define STR_MAX_UNKNOWN_ADDR_CONNECT_REQUESTS \
  569. STR_MAX_UNKNOWN_ADDR_CONNECT_REQUESTSA
  570. #define STR_CMD_ALLOWANCE_OVERRIDE STR_CMD_ALLOWANCE_OVERRIDEA
  571. #define STR_PAGE_TIMEOUT STR_PAGE_TIMEOUTA
  572. #define STR_SCAN_ENABLE STR_SCAN_ENABLEA
  573. #define STR_PAGE_SCANINTERVAL STR_PAGE_SCANINTERVALA
  574. #define STR_PAGE_SCANWINDOW STR_PAGE_SCANWINDOWA
  575. #define STR_UNSUPPORTED_HCI_CMDS STR_UNSUPPORTED_HCI_CMDSA
  576. #define STR_SUPPORTED_HCI_PKTS STR_SUPPORTED_HCI_PKTSA
  577. #define STR_AUTHORIZED STR_AUTHORIZEDA
  578. #define STR_AUTHENTICATED STR_AUTHENTICATEDA
  579. #define STR_PARAMETERS STR_PARAMETERSA
  580. #define STR_POLL_TIMER STR_POLL_TIMERA
  581. #define STR_SELECTIVE_SUSPEND_ENABLED STR_SELECTIVE_SUSPEND_ENABLEDA
  582. #endif // UNICODE
  583. #include <POPPACK.H>
  584. #endif // __BTHPRIV_H__