📄 csr.c
字号:
/* * * BlueZ - Bluetooth protocol stack for Linux * * Copyright (C) 2003-2008 Marcel Holtmann <marcel@holtmann.org> * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * */#ifdef HAVE_CONFIG_H#include <config.h>#endif#include <stdio.h>#include <errno.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <sys/mman.h>#include <sys/socket.h>#include <bluetooth/bluetooth.h>#include <bluetooth/hci.h>#include <bluetooth/hci_lib.h>#include "csr.h"struct psr_data { uint16_t pskey; uint8_t *value; uint8_t size; struct psr_data *next;};static struct psr_data *head = NULL, *tail = NULL;static struct { uint16_t id; char *str;} csr_map[] = { { 66, "HCI 9.8" }, { 97, "HCI 10.3" }, { 101, "HCI 10.5" }, { 111, "HCI 11.0" }, { 112, "HCI 11.1" }, { 114, "HCI 11.2" }, { 115, "HCI 11.3" }, { 117, "HCI 12.0" }, { 119, "HCI 12.1" }, { 133, "HCI 12.2" }, { 134, "HCI 12.3" }, { 162, "HCI 12.4" }, { 165, "HCI 12.5" }, { 169, "HCI 12.6" }, { 188, "HCI 12.7" }, { 218, "HCI 12.8" }, { 283, "HCI 12.9" }, { 203, "HCI 13.2" }, { 204, "HCI 13.2" }, { 210, "HCI 13.3" }, { 211, "HCI 13.3" }, { 213, "HCI 13.4" }, { 214, "HCI 13.4" }, { 225, "HCI 13.5" }, { 226, "HCI 13.5" }, { 237, "HCI 13.6" }, { 238, "HCI 13.6" }, { 242, "HCI 14.0" }, { 243, "HCI 14.0" }, { 244, "HCI 14.0" }, { 245, "HCI 14.0" }, { 254, "HCI 13.7" }, { 255, "HCI 13.7" }, { 264, "HCI 14.1" }, { 265, "HCI 14.1" }, { 267, "HCI 14.2" }, { 268, "HCI 14.2" }, { 272, "HCI 14.3" }, { 273, "HCI 14.3" }, { 274, "HCI 13.8" }, { 275, "HCI 13.8" }, { 286, "HCI 13.9" }, { 287, "HCI 13.9" }, { 309, "HCI 13.10" }, { 310, "HCI 13.10" }, { 313, "HCI 14.4" }, { 314, "HCI 14.4" }, { 323, "HCI 14.5" }, { 324, "HCI 14.5" }, { 336, "HCI 14.6" }, { 337, "HCI 14.6" }, { 351, "HCI 13.11" }, { 352, "HCI 13.11" }, { 362, "HCI 15.0" }, { 363, "HCI 15.0" }, { 364, "HCI 15.0" }, { 365, "HCI 15.0" }, { 373, "HCI 14.7" }, { 374, "HCI 14.7" }, { 379, "HCI 15.1" }, { 380, "HCI 15.1" }, { 381, "HCI 15.1" }, { 382, "HCI 15.1" }, { 392, "HCI 15.2" }, { 393, "HCI 15.2" }, { 394, "HCI 15.2" }, { 395, "HCI 15.2" }, { 436, "HCI 16.0" }, { 437, "HCI 16.0" }, { 438, "HCI 16.0" }, { 439, "HCI 16.0" }, { 443, "HCI 15.3" }, { 444, "HCI 15.3" }, { 465, "HCI 16.1" }, { 466, "HCI 16.1" }, { 467, "HCI 16.1" }, { 468, "HCI 16.1" }, { 487, "HCI 14.8" }, { 488, "HCI 14.8" }, { 492, "HCI 16.2" }, { 493, "HCI 16.2" }, { 495, "HCI 16.2" }, { 496, "HCI 16.2" }, { 502, "HCI 16.1.1" }, { 503, "HCI 16.1.1" }, { 504, "HCI 16.1.1" }, { 505, "HCI 16.1.1" }, { 506, "HCI 16.1.2" }, { 507, "HCI 16.1.2" }, { 508, "HCI 16.1.2" }, { 509, "HCI 16.1.2" }, { 516, "HCI 16.3" }, { 517, "HCI 16.3" }, { 518, "HCI 16.3" }, { 519, "HCI 16.3" }, { 523, "HCI 16.4" }, { 524, "HCI 16.4" }, { 525, "HCI 16.4" }, { 526, "HCI 16.4" }, { 553, "HCI 15.3" }, { 554, "HCI 15.3" }, { 562, "HCI 16.5" }, { 563, "HCI 16.5" }, { 564, "HCI 16.5" }, { 565, "HCI 16.5" }, { 593, "HCI 17.0" }, { 594, "HCI 17.0" }, { 595, "HCI 17.0" }, { 599, "HCI 17.0" }, { 600, "HCI 17.0" }, { 608, "HCI 13.10.1" }, { 609, "HCI 13.10.1" }, { 613, "HCI 17.1" }, { 614, "HCI 17.1" }, { 615, "HCI 17.1" }, { 616, "HCI 17.1" }, { 618, "HCI 17.1" }, { 624, "HCI 17.2" }, { 625, "HCI 17.2" }, { 626, "HCI 17.2" }, { 627, "HCI 17.2" }, { 637, "HCI 16.6" }, { 638, "HCI 16.6" }, { 639, "HCI 16.6" }, { 640, "HCI 16.6" }, { 642, "HCI 13.10.2" }, { 643, "HCI 13.10.2" }, { 644, "HCI 13.10.3" }, { 645, "HCI 13.10.3" }, { 668, "HCI 13.10.4" }, { 669, "HCI 13.10.4" }, { 681, "HCI 16.7" }, { 682, "HCI 16.7" }, { 683, "HCI 16.7" }, { 684, "HCI 16.7" }, { 704, "HCI 16.8" }, { 718, "HCI 16.4.1" }, { 719, "HCI 16.4.1" }, { 720, "HCI 16.4.1" }, { 721, "HCI 16.4.1" }, { 722, "HCI 16.7.1" }, { 723, "HCI 16.7.1" }, { 724, "HCI 16.7.1" }, { 725, "HCI 16.7.1" }, { 731, "HCI 16.7.2" }, { 732, "HCI 16.7.2" }, { 733, "HCI 16.7.2" }, { 734, "HCI 16.7.2" }, { 735, "HCI 16.4.2" }, { 736, "HCI 16.4.2" }, { 737, "HCI 16.4.2" }, { 738, "HCI 16.4.2" }, { 750, "HCI 16.7.3" }, { 751, "HCI 16.7.3" }, { 752, "HCI 16.7.3" }, { 753, "HCI 16.7.3" }, { 760, "HCI 16.7.4" }, { 761, "HCI 16.7.4" }, { 762, "HCI 16.7.4" }, { 763, "HCI 16.7.4" }, { 770, "HCI 16.9" }, { 771, "HCI 16.9" }, { 772, "HCI 16.9" }, { 773, "HCI 16.9" }, { 774, "HCI 17.3" }, { 775, "HCI 17.3" }, { 776, "HCI 17.3" }, { 777, "HCI 17.3" }, { 781, "HCI 16.7.5" }, { 786, "HCI 16.10" }, { 787, "HCI 16.10" }, { 788, "HCI 16.10" }, { 789, "HCI 16.10" }, { 791, "HCI 16.4.3" }, { 792, "HCI 16.4.3" }, { 793, "HCI 16.4.3" }, { 794, "HCI 16.4.3" }, { 798, "HCI 16.11" }, { 799, "HCI 16.11" }, { 800, "HCI 16.11" }, { 801, "HCI 16.11" }, { 806, "HCI 16.7.5" }, { 807, "HCI 16.12" }, { 808, "HCI 16.12" }, { 809, "HCI 16.12" }, { 810, "HCI 16.12" }, { 817, "HCI 16.13" }, { 818, "HCI 16.13" }, { 819, "HCI 16.13" }, { 820, "HCI 16.13" }, { 823, "HCI 13.10.5" }, { 824, "HCI 13.10.5" }, { 826, "HCI 16.14" }, { 827, "HCI 16.14" }, { 828, "HCI 16.14" }, { 829, "HCI 16.14" }, { 843, "HCI 17.3.1" }, { 856, "HCI 17.3.2" }, { 857, "HCI 17.3.2" }, { 858, "HCI 17.3.2" }, { 1120, "HCI 17.11" }, { 1168, "HCI 18.1" }, { 1169, "HCI 18.1" }, { 1241, "HCI 18.x" }, { 1298, "HCI 18.2" }, { 1354, "HCI 18.2" }, { 1392, "HCI 18.2" }, { 1393, "HCI 18.2" }, { 1501, "HCI 18.2" }, { 1503, "HCI 18.2" }, { 1504, "HCI 18.2" }, { 1505, "HCI 18.2" }, { 1506, "HCI 18.2" }, { 1520, "HCI 18.2" }, { 1586, "HCI 18.2" }, { 1591, "HCI 18.2" }, { 1592, "HCI 18.2" }, { 1593, "HCI 18.2.1" }, { 1733, "HCI 18.3" }, { 1734, "HCI 18.3" }, { 1735, "HCI 18.3" }, { 1737, "HCI 18.3" }, { 1915, "HCI 19.2" }, { 1916, "HCI 19.2" }, { 1958, "HCI 19.2" }, { 1981, "Unified 20a" }, { 1982, "Unified 20a" }, { 1989, "HCI 18.4" }, { 2062, "Unified 20a1" }, { 2063, "Unified 20a1" }, { 2067, "Unified 18f" }, { 2068, "Unified 18f" }, { 2243, "Unified 18e" }, { 2244, "Unified 18e" }, { 2258, "Unified 20d" }, { 2259, "Unified 20d" }, { 2361, "Unified 20e" }, { 2362, "Unified 20e" }, { 2386, "Unified 21a" }, { 2387, "Unified 21a" }, { 2423, "Unified 21a" }, { 2424, "Unified 21a" }, { 2623, "Unified 21c" }, { 2624, "Unified 21c" }, { 2625, "Unified 21c" }, { 2626, "Unified 21c" }, { 2627, "Unified 21c" }, { 2628, "Unified 21c" }, { 2629, "Unified 21c" }, { 2630, "Unified 21c" }, { 2631, "Unified 21c" }, { 2632, "Unified 21c" }, { 2633, "Unified 21c" }, { 2634, "Unified 21c" }, { 2635, "Unified 21c" }, { 2636, "Unified 21c" }, { 2649, "Unified 21c" }, { 2650, "Unified 21c" }, { 2651, "Unified 21c" }, { 2652, "Unified 21c" }, { 2653, "Unified 21c" }, { 2654, "Unified 21c" }, { 2655, "Unified 21c" }, { 2656, "Unified 21c" }, { 2658, "Unified 21c" }, { 3057, "Unified 21d" }, { 3058, "Unified 21d" }, { 3059, "Unified 21d" }, { 3060, "Unified 21d" }, { 3062, "Unified 21d" }, { 3063, "Unified 21d" }, { 3064, "Unified 21d" }, { 3164, "Unified 21e" }, { 3413, "Unified 21f" }, { 3414, "Unified 21f" }, { 3415, "Unified 21f" }, { 3424, "Unified 21f" }, { 3454, "Unified 21f" }, { 3684, "Unified 21f" }, { 3764, "Unified 21f" }, { 4276, "Unified 22b" }, { 4277, "Unified 22b" }, { 4279, "Unified 22b" }, { 4281, "Unified 22b" }, { 4282, "Unified 22b" }, { 4283, "Unified 22b" }, { 4284, "Unified 22b" }, { 4285, "Unified 22b" }, { 4289, "Unified 22b" }, { 4290, "Unified 22b" }, { 4291, "Unified 22b" }, { 4292, "Unified 22b" }, { 4293, "Unified 22b" }, { 4294, "Unified 22b" }, { 4295, "Unified 22b" }, { 4363, "Unified 22c" }, { 4373, "Unified 22c" }, { 4374, "Unified 22c" }, { 4532, "Unified 22d" }, { 4533, "Unified 22d" }, { 4698, "Unified 23c" }, { 4839, "Unified 23c" }, { 4841, "Unified 23c" }, { 4866, "Unified 23c" }, { 4867, "Unified 23c" }, { 4868, "Unified 23c" }, { 4869, "Unified 23c" }, { 4870, "Unified 23c" }, { 4871, "Unified 23c" }, { 4872, "Unified 23c" }, { 4874, "Unified 23c" }, { 4875, "Unified 23c" }, { 4876, "Unified 23c" }, { 4877, "Unified 23c" }, { 2526, "Marcel 1 (2005-09-26)" }, { 2543, "Marcel 2 (2005-09-28)" }, { 2622, "Marcel 3 (2005-10-27)" }, { 3326, "Marcel 4 (2006-06-16)" }, { 3612, "Marcel 5 (2006-10-24)" }, { 4509, "Marcel 6 (2007-06-11)" }, { 195, "Sniff 1 (2001-11-27)" }, { 220, "Sniff 2 (2002-01-03)" }, { 269, "Sniff 3 (2002-02-22)" }, { 270, "Sniff 4 (2002-02-26)" }, { 284, "Sniff 5 (2002-03-12)" }, { 292, "Sniff 6 (2002-03-20)" }, { 305, "Sniff 7 (2002-04-12)" }, { 306, "Sniff 8 (2002-04-12)" }, { 343, "Sniff 9 (2002-05-02)" }, { 346, "Sniff 10 (2002-05-03)" }, { 355, "Sniff 11 (2002-05-16)" }, { 256, "Sniff 11 (2002-05-16)" }, { 390, "Sniff 12 (2002-06-26)" }, { 450, "Sniff 13 (2002-08-16)" }, { 451, "Sniff 13 (2002-08-16)" }, { 533, "Sniff 14 (2002-10-11)" }, { 580, "Sniff 15 (2002-11-14)" }, { 623, "Sniff 16 (2002-12-12)" }, { 678, "Sniff 17 (2003-01-29)" }, { 847, "Sniff 18 (2003-04-17)" },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -