ohmu
·
2026-10-15
1#include "bluetoothradio.h"
2
3// https://github.com/ziglang/zig/blob/a84951465b409495095a9598db0cae745f34fa7b/lib/libc/include/any-windows-any/bthdef.h#L187-L236
4
5#define BTH_MFG_ERICSSON 0
6#define BTH_MFG_NOKIA 1
7#define BTH_MFG_INTEL 2
8#define BTH_MFG_IBM 3
9#define BTH_MFG_TOSHIBA 4
10#define BTH_MFG_3COM 5
11#define BTH_MFG_MICROSOFT 6
12#define BTH_MFG_LUCENT 7
13#define BTH_MFG_MOTOROLA 8
14#define BTH_MFG_INFINEON 9
15#define BTH_MFG_CSR 10
16#define BTH_MFG_SILICONWAVE 11
17#define BTH_MFG_DIGIANSWER 12
18#define BTH_MFG_TI 13
19#define BTH_MFG_PARTHUS 14
20#define BTH_MFG_BROADCOM 15
21#define BTH_MFG_MITEL 16
22#define BTH_MFG_WIDCOMM 17
23#define BTH_MFG_ZEEVO 18
24#define BTH_MFG_ATMEL 19
25#define BTH_MFG_MITSIBUSHI 20
26#define BTH_MFG_RTX_TELECOM 21
27#define BTH_MFG_KC_TECHNOLOGY 22
28#define BTH_MFG_NEWLOGIC 23
29#define BTH_MFG_TRANSILICA 24
30#define BTH_MFG_ROHDE_SCHWARZ 25
31#define BTH_MFG_TTPCOM 26
32#define BTH_MFG_SIGNIA 27
33#define BTH_MFG_CONEXANT 28
34#define BTH_MFG_QUALCOMM 29
35#define BTH_MFG_INVENTEL 30
36#define BTH_MFG_AVM_BERLIN 31
37#define BTH_MFG_BANDSPEED 32
38#define BTH_MFG_MANSELLA 33
39#define BTH_MFG_NEC 34
40#define BTH_MFG_WAVEPLUS_TECHNOLOGY_CO 35
41#define BTH_MFG_ALCATEL 36
42#define BTH_MFG_PHILIPS_SEMICONDUCTOR 37
43#define BTH_MFG_C_TECHNOLOGIES 38
44#define BTH_MFG_OPEN_INTERFACE 39
45#define BTH_MFG_RF_MICRO_DEVICES 40
46#define BTH_MFG_HITACHI 41
47#define BTH_MFG_SYMBOL_TECHNOLOGIES 42
48#define BTH_MFG_TENOVIS 43
49#define BTH_MFG_MACRONIX_INTERNATIONAL 44
50#define BTH_MFG_MARVELL 72
51#define BTH_MFG_APPLE 76
52#define BTH_MFG_NORDIC_SEMICONDUCTORS_ASA 89
53#define BTH_MFG_ARUBA_NETWORKS 283
54#define BTH_MFG_INTERNAL_USE 65535
55
56const char* ffBluetoothRadioGetVendor(uint32_t manufacturerId) {
57 switch (manufacturerId) {
58 case BTH_MFG_ERICSSON:
59 return "Ericsson";
60 case BTH_MFG_NOKIA:
61 return "Nokia";
62 case BTH_MFG_INTEL:
63 return "Intel";
64 case BTH_MFG_IBM:
65 return "IBM";
66 case BTH_MFG_TOSHIBA:
67 return "Toshiba";
68 case BTH_MFG_3COM:
69 return "3Com";
70 case BTH_MFG_MICROSOFT:
71 return "Microsoft";
72 case BTH_MFG_LUCENT:
73 return "Lucent";
74 case BTH_MFG_MOTOROLA:
75 return "Motorola";
76 case BTH_MFG_INFINEON:
77 return "Infineon";
78 case BTH_MFG_CSR:
79 return "CSR";
80 case BTH_MFG_SILICONWAVE:
81 return "Silicon-Wave";
82 case BTH_MFG_DIGIANSWER:
83 return "Digi-Answer";
84 case BTH_MFG_TI:
85 return "Ti";
86 case BTH_MFG_PARTHUS:
87 return "Parthus";
88 case BTH_MFG_BROADCOM:
89 return "Broadcom";
90 case BTH_MFG_MITEL:
91 return "Mitel";
92 case BTH_MFG_WIDCOMM:
93 return "Widcomm";
94 case BTH_MFG_ZEEVO:
95 return "Zeevo";
96 case BTH_MFG_ATMEL:
97 return "Atmel";
98 case BTH_MFG_MITSIBUSHI:
99 return "Mitsubishi";
100 case BTH_MFG_RTX_TELECOM:
101 return "RTX Telecom";
102 case BTH_MFG_KC_TECHNOLOGY:
103 return "KC Technology";
104 case BTH_MFG_NEWLOGIC:
105 return "Newlogic";
106 case BTH_MFG_TRANSILICA:
107 return "Transilica";
108 case BTH_MFG_ROHDE_SCHWARZ:
109 return "Rohde-Schwarz";
110 case BTH_MFG_TTPCOM:
111 return "TTPCom";
112 case BTH_MFG_SIGNIA:
113 return "Signia";
114 case BTH_MFG_CONEXANT:
115 return "Conexant";
116 case BTH_MFG_QUALCOMM:
117 return "Qualcomm";
118 case BTH_MFG_INVENTEL:
119 return "Inventel";
120 case BTH_MFG_AVM_BERLIN:
121 return "AVM Berlin";
122 case BTH_MFG_BANDSPEED:
123 return "Bandspeed";
124 case BTH_MFG_MANSELLA:
125 return "Mansella";
126 case BTH_MFG_NEC:
127 return "NEC";
128 case BTH_MFG_WAVEPLUS_TECHNOLOGY_CO:
129 return "Waveplus";
130 case BTH_MFG_ALCATEL:
131 return "Alcatel";
132 case BTH_MFG_PHILIPS_SEMICONDUCTOR:
133 return "Philips Semiconductors";
134 case BTH_MFG_C_TECHNOLOGIES:
135 return "C Technologies";
136 case BTH_MFG_OPEN_INTERFACE:
137 return "Open Interface";
138 case BTH_MFG_RF_MICRO_DEVICES:
139 return "RF Micro Devices";
140 case BTH_MFG_HITACHI:
141 return "Hitachi";
142 case BTH_MFG_SYMBOL_TECHNOLOGIES:
143 return "Symbol Technologies";
144 case BTH_MFG_TENOVIS:
145 return "Tenovis";
146 case BTH_MFG_MACRONIX_INTERNATIONAL:
147 return "Macronix International";
148 case BTH_MFG_MARVELL:
149 return "Marvell";
150 case BTH_MFG_APPLE:
151 return "Apple";
152 case BTH_MFG_NORDIC_SEMICONDUCTORS_ASA:
153 return "Nordic Semiconductor ASA";
154 case BTH_MFG_ARUBA_NETWORKS:
155 return "Aruba Networks";
156 case BTH_MFG_INTERNAL_USE:
157 return "Internal Use";
158 default:
159 return "Unknown";
160 }
161}