fix one too small
[RRG-proxmark3.git] / client / src / pm3line_vocabulary.h
blob7407dc76ada3247cf555e0a14cabbdd764699648
1 //-----------------------------------------------------------------------------
2 // Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // See LICENSE.txt for the text of the license.
15 //-----------------------------------------------------------------------------
16 // readline auto complete utilities
17 //-----------------------------------------------------------------------------
19 #ifndef PM3LINE_VOCABULARY_H__
20 #define PM3LINE_VOCABULARY_H__
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 #include <stdbool.h>
28 typedef struct vocabulary_s {
29 bool offline;
30 const char *name;
31 } vocabulary_t;
33 const static vocabulary_t vocabulary[] = {
34 { 1, "help" },
35 { 0, "auto" },
36 { 1, "clear" },
37 { 1, "hints" },
38 { 1, "msleep" },
39 { 1, "rem" },
40 { 1, "quit" },
41 { 1, "exit" },
42 { 1, "prefs help" },
43 { 1, "prefs show" },
44 { 1, "prefs get barmode" },
45 { 1, "prefs get client.debug" },
46 { 1, "prefs get client.delay" },
47 { 1, "prefs get client.timeout" },
48 { 1, "prefs get color" },
49 { 1, "prefs get savepaths" },
50 { 1, "prefs get emoji" },
51 { 1, "prefs get hints" },
52 { 1, "prefs get output" },
53 { 1, "prefs get plotsliders" },
54 { 1, "prefs set help" },
55 { 1, "prefs set barmode" },
56 { 1, "prefs set client.debug" },
57 { 1, "prefs set client.delay" },
58 { 1, "prefs set client.timeout" },
59 { 1, "prefs set color" },
60 { 1, "prefs set emoji" },
61 { 1, "prefs set hints" },
62 { 1, "prefs set savepaths" },
63 { 1, "prefs set output" },
64 { 1, "prefs set plotsliders" },
65 { 1, "analyse help" },
66 { 1, "analyse lcr" },
67 { 1, "analyse crc" },
68 { 1, "analyse chksum" },
69 { 1, "analyse dates" },
70 { 1, "analyse lfsr" },
71 { 1, "analyse a" },
72 { 1, "analyse nuid" },
73 { 1, "analyse demodbuff" },
74 { 1, "analyse freq" },
75 { 1, "analyse foo" },
76 { 1, "analyse units" },
77 { 1, "data help" },
78 { 1, "data clear" },
79 { 1, "data hide" },
80 { 1, "data load" },
81 { 1, "data num" },
82 { 1, "data plot" },
83 { 1, "data print" },
84 { 1, "data save" },
85 { 1, "data setdebugmode" },
86 { 1, "data xor" },
87 { 1, "data biphaserawdecode" },
88 { 1, "data detectclock" },
89 { 1, "data fsktonrz" },
90 { 1, "data manrawdecode" },
91 { 1, "data modulation" },
92 { 1, "data rawdemod" },
93 { 1, "data askedgedetect" },
94 { 1, "data autocorr" },
95 { 1, "data convertbitstream" },
96 { 1, "data cthreshold" },
97 { 1, "data dirthreshold" },
98 { 1, "data decimate" },
99 { 1, "data envelope" },
100 { 1, "data grid" },
101 { 1, "data getbitstream" },
102 { 1, "data hpf" },
103 { 1, "data iir" },
104 { 1, "data ltrim" },
105 { 1, "data mtrim" },
106 { 1, "data norm" },
107 { 1, "data rtrim" },
108 { 1, "data setgraphmarkers" },
109 { 1, "data shiftgraphzero" },
110 { 1, "data timescale" },
111 { 1, "data undecimate" },
112 { 1, "data zerocrossings" },
113 { 1, "data asn1" },
114 { 1, "data atr" },
115 { 0, "data bitsamples" },
116 { 1, "data bmap" },
117 { 1, "data crypto" },
118 { 1, "data diff" },
119 { 0, "data hexsamples" },
120 { 0, "data samples" },
121 { 0, "data test_ss8" },
122 { 0, "data test_ss32" },
123 { 0, "data test_ss32s" },
124 { 1, "emv help" },
125 { 1, "emv list" },
126 { 1, "emv test" },
127 { 0, "emv challenge" },
128 { 0, "emv exec" },
129 { 0, "emv genac" },
130 { 0, "emv gpo" },
131 { 0, "emv intauth" },
132 { 0, "emv pse" },
133 { 0, "emv reader" },
134 { 0, "emv readrec" },
135 { 0, "emv roca" },
136 { 0, "emv scan" },
137 { 0, "emv search" },
138 { 0, "emv select" },
139 { 1, "hf help" },
140 { 1, "hf list" },
141 { 0, "hf plot" },
142 { 0, "hf tune" },
143 { 1, "hf search" },
144 { 0, "hf sniff" },
145 { 1, "hf 14a help" },
146 { 1, "hf 14a list" },
147 { 0, "hf 14a antifuzz" },
148 { 0, "hf 14a config" },
149 { 0, "hf 14a cuids" },
150 { 0, "hf 14a info" },
151 { 0, "hf 14a sim" },
152 { 0, "hf 14a sniff" },
153 { 0, "hf 14a raw" },
154 { 0, "hf 14a reader" },
155 { 0, "hf 14a apdu" },
156 { 0, "hf 14a apdufind" },
157 { 0, "hf 14a chaining" },
158 { 0, "hf 14a ndefformat" },
159 { 0, "hf 14a ndefread" },
160 { 0, "hf 14a ndefwrite" },
161 { 1, "hf 14b help" },
162 { 1, "hf 14b list" },
163 { 0, "hf 14b apdu" },
164 { 0, "hf 14b dump" },
165 { 0, "hf 14b info" },
166 { 0, "hf 14b ndefread" },
167 { 0, "hf 14b raw" },
168 { 0, "hf 14b rdbl" },
169 { 0, "hf 14b reader" },
170 { 0, "hf 14b restore" },
171 { 0, "hf 14b sim" },
172 { 0, "hf 14b sniff" },
173 { 0, "hf 14b wrbl" },
174 { 1, "hf 14b view" },
175 { 1, "hf 14b valid" },
176 { 0, "hf 14b calypso" },
177 { 0, "hf 14b mobib" },
178 { 1, "hf 15 help" },
179 { 1, "hf 15 list" },
180 { 1, "hf 15 demod" },
181 { 0, "hf 15 dump" },
182 { 0, "hf 15 info" },
183 { 0, "hf 15 sniff" },
184 { 0, "hf 15 raw" },
185 { 0, "hf 15 rdbl" },
186 { 0, "hf 15 rdmulti" },
187 { 0, "hf 15 reader" },
188 { 0, "hf 15 restore" },
189 { 0, "hf 15 samples" },
190 { 1, "hf 15 view" },
191 { 0, "hf 15 wipe" },
192 { 0, "hf 15 wrbl" },
193 { 0, "hf 15 sim" },
194 { 0, "hf 15 eload" },
195 { 0, "hf 15 esave" },
196 { 0, "hf 15 eview" },
197 { 0, "hf 15 slixwritepwd" },
198 { 0, "hf 15 slixeasdisable" },
199 { 0, "hf 15 slixeasenable" },
200 { 0, "hf 15 slixprivacydisable" },
201 { 0, "hf 15 slixprivacyenable" },
202 { 0, "hf 15 passprotectafi" },
203 { 0, "hf 15 passprotecteas" },
204 { 0, "hf 15 findafi" },
205 { 0, "hf 15 writeafi" },
206 { 0, "hf 15 writedsfid" },
207 { 0, "hf 15 csetuid" },
208 { 1, "hf cipurse help" },
209 { 0, "hf cipurse info" },
210 { 0, "hf cipurse select" },
211 { 0, "hf cipurse auth" },
212 { 0, "hf cipurse read" },
213 { 0, "hf cipurse write" },
214 { 0, "hf cipurse aread" },
215 { 0, "hf cipurse awrite" },
216 { 0, "hf cipurse formatall" },
217 { 0, "hf cipurse create" },
218 { 0, "hf cipurse delete" },
219 { 0, "hf cipurse updkey" },
220 { 0, "hf cipurse updakey" },
221 { 0, "hf cipurse default" },
222 { 1, "hf cipurse test" },
223 { 1, "hf epa help" },
224 { 0, "hf epa cnonces" },
225 { 0, "hf epa replay" },
226 { 0, "hf epa sim" },
227 { 1, "hf emrtd help" },
228 { 0, "hf emrtd dump" },
229 { 1, "hf emrtd info" },
230 { 1, "hf emrtd list" },
231 { 1, "hf felica help" },
232 { 1, "hf felica list" },
233 { 0, "hf felica info" },
234 { 0, "hf felica raw" },
235 { 0, "hf felica rdbl" },
236 { 0, "hf felica reader" },
237 { 0, "hf felica sniff" },
238 { 0, "hf felica wrbl" },
239 { 0, "hf felica rqservice" },
240 { 0, "hf felica rqresponse" },
241 { 0, "hf felica scsvcode" },
242 { 0, "hf felica rqsyscode" },
243 { 0, "hf felica auth1" },
244 { 0, "hf felica auth2" },
245 { 0, "hf felica rqspecver" },
246 { 0, "hf felica resetmode" },
247 { 0, "hf felica litesim" },
248 { 0, "hf felica litedump" },
249 { 1, "hf fido help" },
250 { 1, "hf fido list" },
251 { 0, "hf fido info" },
252 { 0, "hf fido reg" },
253 { 0, "hf fido auth" },
254 { 0, "hf fido make" },
255 { 0, "hf fido assert" },
256 { 1, "hf fudan help" },
257 { 0, "hf fudan reader" },
258 { 0, "hf fudan dump" },
259 { 0, "hf fudan rdbl" },
260 { 1, "hf fudan view" },
261 { 0, "hf fudan wrbl" },
262 { 1, "hf gallagher help" },
263 { 0, "hf gallagher reader" },
264 { 0, "hf gallagher clone" },
265 { 0, "hf gallagher delete" },
266 { 1, "hf gallagher diversifykey" },
267 { 1, "hf gallagher decode" },
268 { 1, "hf iclass help" },
269 { 1, "hf iclass list" },
270 { 0, "hf iclass dump" },
271 { 0, "hf iclass info" },
272 { 0, "hf iclass rdbl" },
273 { 0, "hf iclass reader" },
274 { 0, "hf iclass restore" },
275 { 0, "hf iclass sniff" },
276 { 1, "hf iclass view" },
277 { 0, "hf iclass wrbl" },
278 { 0, "hf iclass creditepurse" },
279 { 0, "hf iclass chk" },
280 { 1, "hf iclass loclass" },
281 { 1, "hf iclass lookup" },
282 { 0, "hf iclass legrec" },
283 { 1, "hf iclass legbrute" },
284 { 0, "hf iclass sim" },
285 { 0, "hf iclass eload" },
286 { 0, "hf iclass esave" },
287 { 0, "hf iclass esetblk" },
288 { 0, "hf iclass eview" },
289 { 0, "hf iclass configcard" },
290 { 1, "hf iclass calcnewkey" },
291 { 1, "hf iclass encode" },
292 { 1, "hf iclass encrypt" },
293 { 1, "hf iclass decrypt" },
294 { 1, "hf iclass managekeys" },
295 { 1, "hf iclass permutekey" },
296 { 0, "hf iclass sam" },
297 { 1, "hf ict help" },
298 { 0, "hf ict credential" },
299 { 0, "hf ict info" },
300 { 1, "hf ict list" },
301 { 1, "hf ict reader" },
302 { 1, "hf jooki help" },
303 { 0, "hf jooki clone" },
304 { 1, "hf jooki decode" },
305 { 1, "hf jooki encode" },
306 { 0, "hf jooki sim" },
307 { 1, "hf ksx6924 help" },
308 { 0, "hf ksx6924 select" },
309 { 0, "hf ksx6924 info" },
310 { 0, "hf ksx6924 balance" },
311 { 0, "hf ksx6924 init" },
312 { 0, "hf ksx6924 prec" },
313 { 1, "hf legic help" },
314 { 0, "hf legic dump" },
315 { 0, "hf legic info" },
316 { 1, "hf legic list" },
317 { 0, "hf legic rdbl" },
318 { 0, "hf legic reader" },
319 { 0, "hf legic restore" },
320 { 0, "hf legic wipe" },
321 { 0, "hf legic wrbl" },
322 { 0, "hf legic sim" },
323 { 0, "hf legic eload" },
324 { 0, "hf legic esave" },
325 { 0, "hf legic eview" },
326 { 0, "hf legic einfo" },
327 { 1, "hf legic crc" },
328 { 1, "hf legic view" },
329 { 1, "hf lto help" },
330 { 0, "hf lto dump" },
331 { 0, "hf lto info" },
332 { 1, "hf lto list" },
333 { 0, "hf lto rdbl" },
334 { 0, "hf lto reader" },
335 { 0, "hf lto restore" },
336 { 0, "hf lto wrbl" },
337 { 1, "hf mf help" },
338 { 1, "hf mf list" },
339 { 0, "hf mf info" },
340 { 0, "hf mf isen" },
341 { 0, "hf mf darkside" },
342 { 0, "hf mf nested" },
343 { 1, "hf mf hardnested" },
344 { 0, "hf mf staticnested" },
345 { 0, "hf mf brute" },
346 { 0, "hf mf autopwn" },
347 { 0, "hf mf nack" },
348 { 0, "hf mf chk" },
349 { 0, "hf mf fchk" },
350 { 1, "hf mf decrypt" },
351 { 0, "hf mf supercard" },
352 { 0, "hf mf auth4" },
353 { 1, "hf mf acl" },
354 { 0, "hf mf dump" },
355 { 1, "hf mf mad" },
356 { 0, "hf mf personalize" },
357 { 0, "hf mf rdbl" },
358 { 0, "hf mf rdsc" },
359 { 0, "hf mf restore" },
360 { 0, "hf mf setmod" },
361 { 1, "hf mf value" },
362 { 1, "hf mf view" },
363 { 0, "hf mf wipe" },
364 { 0, "hf mf wrbl" },
365 { 0, "hf mf sim" },
366 { 0, "hf mf ecfill" },
367 { 0, "hf mf eclr" },
368 { 0, "hf mf egetblk" },
369 { 0, "hf mf egetsc" },
370 { 0, "hf mf ekeyprn" },
371 { 0, "hf mf eload" },
372 { 0, "hf mf esave" },
373 { 0, "hf mf esetblk" },
374 { 0, "hf mf eview" },
375 { 0, "hf mf cgetblk" },
376 { 0, "hf mf cgetsc" },
377 { 0, "hf mf cload" },
378 { 0, "hf mf csave" },
379 { 0, "hf mf csetblk" },
380 { 0, "hf mf csetuid" },
381 { 0, "hf mf cview" },
382 { 0, "hf mf cwipe" },
383 { 0, "hf mf gen3uid" },
384 { 0, "hf mf gen3blk" },
385 { 0, "hf mf gen3freeze" },
386 { 0, "hf mf ginfo" },
387 { 0, "hf mf ggetblk" },
388 { 0, "hf mf gload" },
389 { 0, "hf mf gsave" },
390 { 0, "hf mf gsetblk" },
391 { 0, "hf mf gview" },
392 { 0, "hf mf gchpwd" },
393 { 0, "hf mf gdmcfg" },
394 { 0, "hf mf gdmsetcfg" },
395 { 1, "hf mf gdmparsecfg" },
396 { 0, "hf mf gdmsetblk" },
397 { 0, "hf mf ndefformat" },
398 { 0, "hf mf ndefread" },
399 { 0, "hf mf ndefwrite" },
400 { 0, "hf mf encodehid" },
401 { 1, "hf mfp help" },
402 { 1, "hf mfp list" },
403 { 0, "hf mfp auth" },
404 { 0, "hf mfp chk" },
405 { 0, "hf mfp dump" },
406 { 0, "hf mfp info" },
407 { 0, "hf mfp mad" },
408 { 0, "hf mfp rdbl" },
409 { 0, "hf mfp rdsc" },
410 { 0, "hf mfp wrbl" },
411 { 0, "hf mfp chkey" },
412 { 0, "hf mfp chconf" },
413 { 0, "hf mfp commitp" },
414 { 0, "hf mfp initp" },
415 { 0, "hf mfp wrp" },
416 { 0, "hf mfp ndefformat" },
417 { 0, "hf mfp ndefread" },
418 { 0, "hf mfp ndefwrite" },
419 { 1, "hf mfu help" },
420 { 1, "hf mfu list" },
421 { 1, "hf mfu keygen" },
422 { 1, "hf mfu pwdgen" },
423 { 0, "hf mfu otptear" },
424 { 0, "hf mfu cauth" },
425 { 0, "hf mfu setpwd" },
426 { 0, "hf mfu dump" },
427 { 0, "hf mfu info" },
428 { 0, "hf mfu ndefread" },
429 { 0, "hf mfu rdbl" },
430 { 0, "hf mfu restore" },
431 { 0, "hf mfu tamper" },
432 { 1, "hf mfu view" },
433 { 0, "hf mfu wipe" },
434 { 0, "hf mfu wrbl" },
435 { 0, "hf mfu eload" },
436 { 0, "hf mfu esave" },
437 { 0, "hf mfu eview" },
438 { 0, "hf mfu sim" },
439 { 0, "hf mfu setuid" },
440 { 0, "hf mfu amiibo" },
441 { 1, "hf mfdes help" },
442 { 1, "hf mfdes list" },
443 { 0, "hf mfdes auth" },
444 { 0, "hf mfdes chk" },
445 { 0, "hf mfdes default" },
446 { 0, "hf mfdes detect" },
447 { 0, "hf mfdes formatpicc" },
448 { 0, "hf mfdes freemem" },
449 { 0, "hf mfdes getuid" },
450 { 0, "hf mfdes info" },
451 { 0, "hf mfdes mad" },
452 { 0, "hf mfdes setconfig" },
453 { 0, "hf mfdes lsapp" },
454 { 0, "hf mfdes getaids" },
455 { 0, "hf mfdes getappnames" },
456 { 0, "hf mfdes bruteaid" },
457 { 0, "hf mfdes createapp" },
458 { 0, "hf mfdes deleteapp" },
459 { 0, "hf mfdes selectapp" },
460 { 0, "hf mfdes changekey" },
461 { 0, "hf mfdes chkeysettings" },
462 { 0, "hf mfdes getkeysettings" },
463 { 0, "hf mfdes getkeyversions" },
464 { 0, "hf mfdes getfileids" },
465 { 0, "hf mfdes getfileisoids" },
466 { 0, "hf mfdes lsfiles" },
467 { 0, "hf mfdes dump" },
468 { 0, "hf mfdes createfile" },
469 { 0, "hf mfdes createvaluefile" },
470 { 0, "hf mfdes createrecordfile" },
471 { 0, "hf mfdes createmacfile" },
472 { 0, "hf mfdes deletefile" },
473 { 0, "hf mfdes getfilesettings" },
474 { 0, "hf mfdes chfilesettings" },
475 { 0, "hf mfdes read" },
476 { 0, "hf mfdes write" },
477 { 0, "hf mfdes value" },
478 { 0, "hf mfdes clearrecfile" },
479 { 1, "hf mfdes test" },
480 { 1, "hf ntag424 help" },
481 { 0, "hf ntag424 info" },
482 { 1, "hf ntag424 view" },
483 { 0, "hf ntag424 auth" },
484 { 0, "hf ntag424 read" },
485 { 0, "hf ntag424 write" },
486 { 0, "hf ntag424 getfs" },
487 { 0, "hf ntag424 changefs" },
488 { 0, "hf ntag424 changekey" },
489 { 1, "hf seos help" },
490 { 0, "hf seos info" },
491 { 1, "hf seos list" },
492 { 1, "hf st25ta help" },
493 { 0, "hf st25ta info" },
494 { 1, "hf st25ta list" },
495 { 1, "hf st25ta ndefread" },
496 { 0, "hf st25ta protect" },
497 { 0, "hf st25ta pwd" },
498 { 0, "hf st25ta sim" },
499 { 1, "hf tesla help" },
500 { 0, "hf tesla info" },
501 { 1, "hf tesla list" },
502 { 1, "hf texkom help" },
503 { 0, "hf texkom reader" },
504 { 0, "hf texkom sim" },
505 { 1, "hf thinfilm help" },
506 { 0, "hf thinfilm info" },
507 { 1, "hf thinfilm list" },
508 { 0, "hf thinfilm sim" },
509 { 1, "hf topaz help" },
510 { 1, "hf topaz list" },
511 { 0, "hf topaz dump" },
512 { 0, "hf topaz info" },
513 { 0, "hf topaz raw" },
514 { 0, "hf topaz rdbl" },
515 { 0, "hf topaz reader" },
516 { 0, "hf topaz sim" },
517 { 0, "hf topaz sniff" },
518 { 1, "hf topaz view" },
519 { 0, "hf topaz wrbl" },
520 { 1, "hf vas help" },
521 { 0, "hf vas reader" },
522 { 1, "hf vas decrypt" },
523 { 1, "hf waveshare help" },
524 { 1, "hf waveshare load" },
525 { 1, "hf xerox help" },
526 { 1, "hf xerox list" },
527 { 0, "hf xerox info" },
528 { 0, "hf xerox dump" },
529 { 0, "hf xerox reader" },
530 { 1, "hf xerox view" },
531 { 0, "hf xerox rdbl" },
532 { 1, "hw help" },
533 { 0, "hw detectreader" },
534 { 0, "hw status" },
535 { 0, "hw tearoff" },
536 { 1, "hw timeout" },
537 { 1, "hw version" },
538 { 0, "hw break" },
539 { 0, "hw bootloader" },
540 { 1, "hw connect" },
541 { 0, "hw dbg" },
542 { 0, "hw fpgaoff" },
543 { 0, "hw lcd" },
544 { 0, "hw lcdreset" },
545 { 0, "hw ping" },
546 { 0, "hw readmem" },
547 { 0, "hw reset" },
548 { 0, "hw setlfdivisor" },
549 { 0, "hw sethfthresh" },
550 { 0, "hw setmux" },
551 { 0, "hw standalone" },
552 { 0, "hw tia" },
553 { 0, "hw tune" },
554 { 1, "lf help" },
555 { 0, "lf config" },
556 { 0, "lf cmdread" },
557 { 0, "lf read" },
558 { 1, "lf search" },
559 { 0, "lf sim" },
560 { 0, "lf simask" },
561 { 0, "lf simfsk" },
562 { 0, "lf simpsk" },
563 { 0, "lf simbidir" },
564 { 0, "lf sniff" },
565 { 0, "lf tune" },
566 { 1, "lf awid help" },
567 { 0, "lf awid brute" },
568 { 0, "lf awid clone" },
569 { 1, "lf awid demod" },
570 { 0, "lf awid reader" },
571 { 0, "lf awid sim" },
572 { 0, "lf awid watch" },
573 { 1, "lf cotag help" },
574 { 1, "lf cotag demod" },
575 { 0, "lf cotag reader" },
576 { 1, "lf destron help" },
577 { 1, "lf destron demod" },
578 { 0, "lf destron reader" },
579 { 0, "lf destron clone" },
580 { 0, "lf destron sim" },
581 { 1, "lf em help" },
582 { 1, "lf em 410x help" },
583 { 1, "lf em 410x demod" },
584 { 0, "lf em 410x reader" },
585 { 0, "lf em 410x sim" },
586 { 0, "lf em 410x brute" },
587 { 0, "lf em 410x watch" },
588 { 0, "lf em 410x spoof" },
589 { 0, "lf em 410x clone" },
590 { 1, "lf em 4x05 help" },
591 { 0, "lf em 4x05 clonehelp" },
592 { 0, "lf em 4x05 brute" },
593 { 0, "lf em 4x05 chk" },
594 { 1, "lf em 4x05 config" },
595 { 1, "lf em 4x05 demod" },
596 { 0, "lf em 4x05 dump" },
597 { 0, "lf em 4x05 info" },
598 { 0, "lf em 4x05 read" },
599 { 1, "lf em 4x05 sniff" },
600 { 0, "lf em 4x05 unlock" },
601 { 1, "lf em 4x05 view" },
602 { 0, "lf em 4x05 wipe" },
603 { 0, "lf em 4x05 write" },
604 { 1, "lf em 4x50 help" },
605 { 0, "lf em 4x50 brute" },
606 { 0, "lf em 4x50 chk" },
607 { 0, "lf em 4x50 dump" },
608 { 0, "lf em 4x50 info" },
609 { 0, "lf em 4x50 login" },
610 { 0, "lf em 4x50 rdbl" },
611 { 0, "lf em 4x50 reader" },
612 { 0, "lf em 4x50 restore" },
613 { 1, "lf em 4x50 view" },
614 { 0, "lf em 4x50 wipe" },
615 { 0, "lf em 4x50 wrbl" },
616 { 0, "lf em 4x50 wrpwd" },
617 { 0, "lf em 4x50 eload" },
618 { 0, "lf em 4x50 esave" },
619 { 0, "lf em 4x50 eview" },
620 { 0, "lf em 4x50 sim" },
621 { 1, "lf em 4x70 help" },
622 { 0, "lf em 4x70 brute" },
623 { 0, "lf em 4x70 info" },
624 { 0, "lf em 4x70 write" },
625 { 0, "lf em 4x70 unlock" },
626 { 0, "lf em 4x70 auth" },
627 { 0, "lf em 4x70 setpin" },
628 { 0, "lf em 4x70 setkey" },
629 { 1, "lf em 4x70 calc" },
630 { 1, "lf em 4x70 recover" },
631 { 0, "lf em 4x70 autorecover" },
632 { 1, "lf fdxb help" },
633 { 1, "lf fdxb demod" },
634 { 0, "lf fdxb reader" },
635 { 0, "lf fdxb clone" },
636 { 0, "lf fdxb sim" },
637 { 1, "lf gallagher help" },
638 { 1, "lf gallagher demod" },
639 { 0, "lf gallagher reader" },
640 { 0, "lf gallagher clone" },
641 { 0, "lf gallagher sim" },
642 { 1, "lf gproxii help" },
643 { 1, "lf gproxii demod" },
644 { 0, "lf gproxii reader" },
645 { 0, "lf gproxii clone" },
646 { 0, "lf gproxii sim" },
647 { 1, "lf hid help" },
648 { 1, "lf hid demod" },
649 { 0, "lf hid reader" },
650 { 0, "lf hid clone" },
651 { 0, "lf hid sim" },
652 { 0, "lf hid brute" },
653 { 0, "lf hid watch" },
654 { 1, "lf hitag help" },
655 { 1, "lf hitag list" },
656 { 0, "lf hitag info" },
657 { 0, "lf hitag reader" },
658 { 1, "lf hitag test" },
659 { 0, "lf hitag dump" },
660 { 0, "lf hitag read" },
661 { 0, "lf hitag sniff" },
662 { 1, "lf hitag view" },
663 { 0, "lf hitag wrbl" },
664 { 0, "lf hitag eload" },
665 { 0, "lf hitag eview" },
666 { 0, "lf hitag sim" },
667 { 0, "lf hitag cc" },
668 { 0, "lf hitag crack2" },
669 { 0, "lf hitag chk" },
670 { 1, "lf hitag lookup" },
671 { 0, "lf hitag ta" },
672 { 1, "lf hitag hts help" },
673 { 1, "lf hitag hts list" },
674 { 0, "lf hitag hts read" },
675 { 0, "lf hitag hts write" },
676 { 1, "lf idteck help" },
677 { 1, "lf idteck demod" },
678 { 0, "lf idteck reader" },
679 { 0, "lf idteck clone" },
680 { 0, "lf idteck sim" },
681 { 1, "lf indala help" },
682 { 0, "lf indala brute" },
683 { 1, "lf indala demod" },
684 { 1, "lf indala altdemod" },
685 { 0, "lf indala reader" },
686 { 0, "lf indala clone" },
687 { 0, "lf indala sim" },
688 { 1, "lf io help" },
689 { 1, "lf io demod" },
690 { 0, "lf io reader" },
691 { 0, "lf io clone" },
692 { 0, "lf io sim" },
693 { 0, "lf io watch" },
694 { 1, "lf jablotron help" },
695 { 1, "lf jablotron demod" },
696 { 0, "lf jablotron reader" },
697 { 0, "lf jablotron clone" },
698 { 0, "lf jablotron sim" },
699 { 1, "lf keri help" },
700 { 1, "lf keri demod" },
701 { 0, "lf keri reader" },
702 { 0, "lf keri clone" },
703 { 0, "lf keri sim" },
704 { 1, "lf motorola help" },
705 { 1, "lf motorola demod" },
706 { 0, "lf motorola reader" },
707 { 0, "lf motorola clone" },
708 { 0, "lf motorola sim" },
709 { 1, "lf nedap help" },
710 { 1, "lf nedap demod" },
711 { 0, "lf nedap reader" },
712 { 0, "lf nedap clone" },
713 { 0, "lf nedap sim" },
714 { 1, "lf nexwatch help" },
715 { 1, "lf nexwatch demod" },
716 { 0, "lf nexwatch reader" },
717 { 0, "lf nexwatch clone" },
718 { 0, "lf nexwatch sim" },
719 { 1, "lf noralsy help" },
720 { 1, "lf noralsy demod" },
721 { 0, "lf noralsy reader" },
722 { 0, "lf noralsy clone" },
723 { 0, "lf noralsy sim" },
724 { 1, "lf pac help" },
725 { 1, "lf pac demod" },
726 { 0, "lf pac reader" },
727 { 0, "lf pac clone" },
728 { 0, "lf pac sim" },
729 { 1, "lf paradox help" },
730 { 1, "lf paradox demod" },
731 { 0, "lf paradox reader" },
732 { 0, "lf paradox clone" },
733 { 0, "lf paradox sim" },
734 { 1, "lf pcf7931 help" },
735 { 0, "lf pcf7931 reader" },
736 { 0, "lf pcf7931 write" },
737 { 1, "lf pcf7931 config" },
738 { 1, "lf presco help" },
739 { 1, "lf presco demod" },
740 { 0, "lf presco reader" },
741 { 0, "lf presco clone" },
742 { 0, "lf presco sim" },
743 { 1, "lf pyramid help" },
744 { 1, "lf pyramid demod" },
745 { 0, "lf pyramid reader" },
746 { 0, "lf pyramid clone" },
747 { 0, "lf pyramid sim" },
748 { 1, "lf securakey help" },
749 { 1, "lf securakey demod" },
750 { 0, "lf securakey reader" },
751 { 0, "lf securakey clone" },
752 { 0, "lf securakey sim" },
753 { 1, "lf ti help" },
754 { 1, "lf ti demod" },
755 { 0, "lf ti reader" },
756 { 0, "lf ti write" },
757 { 1, "lf t55xx help" },
758 { 0, "lf t55xx clonehelp" },
759 { 1, "lf t55xx config" },
760 { 0, "lf t55xx dangerraw" },
761 { 1, "lf t55xx detect" },
762 { 0, "lf t55xx deviceconfig" },
763 { 0, "lf t55xx dump" },
764 { 1, "lf t55xx info" },
765 { 0, "lf t55xx p1detect" },
766 { 0, "lf t55xx read" },
767 { 0, "lf t55xx resetread" },
768 { 0, "lf t55xx restore" },
769 { 1, "lf t55xx trace" },
770 { 0, "lf t55xx wakeup" },
771 { 0, "lf t55xx write" },
772 { 0, "lf t55xx bruteforce" },
773 { 0, "lf t55xx chk" },
774 { 0, "lf t55xx protect" },
775 { 0, "lf t55xx recoverpw" },
776 { 1, "lf t55xx sniff" },
777 { 0, "lf t55xx special" },
778 { 0, "lf t55xx wipe" },
779 { 1, "lf viking help" },
780 { 1, "lf viking demod" },
781 { 0, "lf viking reader" },
782 { 0, "lf viking clone" },
783 { 0, "lf viking sim" },
784 { 1, "lf visa2000 help" },
785 { 1, "lf visa2000 demod" },
786 { 0, "lf visa2000 reader" },
787 { 0, "lf visa2000 clone" },
788 { 0, "lf visa2000 sim" },
789 { 1, "mem help" },
790 { 0, "mem baudrate" },
791 { 0, "mem dump" },
792 { 0, "mem info" },
793 { 0, "mem load" },
794 { 0, "mem wipe" },
795 { 1, "mem spiffs help" },
796 { 0, "mem spiffs copy" },
797 { 0, "mem spiffs check" },
798 { 0, "mem spiffs dump" },
799 { 0, "mem spiffs info" },
800 { 0, "mem spiffs mount" },
801 { 0, "mem spiffs remove" },
802 { 0, "mem spiffs rename" },
803 { 0, "mem spiffs test" },
804 { 0, "mem spiffs tree" },
805 { 0, "mem spiffs unmount" },
806 { 0, "mem spiffs upload" },
807 { 0, "mem spiffs view" },
808 { 0, "mem spiffs wipe" },
809 { 1, "nfc help" },
810 { 1, "nfc decode" },
811 { 0, "nfc type1 read" },
812 { 1, "nfc type1 help" },
813 { 0, "nfc type2 read" },
814 { 1, "nfc type2 help" },
815 { 0, "nfc type4a format" },
816 { 0, "nfc type4a read" },
817 { 0, "nfc type4a write" },
818 { 0, "nfc type4a st25taread" },
819 { 1, "nfc type4a help" },
820 { 0, "nfc type4b read" },
821 { 1, "nfc type4b help" },
822 { 0, "nfc mf cformat" },
823 { 0, "nfc mf cread" },
824 { 0, "nfc mf cwrite" },
825 { 0, "nfc mf pread" },
826 { 1, "nfc mf help" },
827 { 0, "nfc barcode read" },
828 { 0, "nfc barcode sim" },
829 { 1, "nfc barcode help" },
830 { 1, "piv help" },
831 { 0, "piv select" },
832 { 0, "piv getdata" },
833 { 0, "piv authsign" },
834 { 0, "piv scan" },
835 { 1, "piv list" },
836 { 1, "smart help" },
837 { 1, "smart list" },
838 { 0, "smart brute" },
839 { 0, "smart info" },
840 { 1, "smart pcsc" },
841 { 0, "smart reader" },
842 { 0, "smart raw" },
843 { 1, "smart upgrade" },
844 { 0, "smart setclock" },
845 { 1, "script help" },
846 { 1, "script list" },
847 { 1, "script run" },
848 { 1, "trace help" },
849 { 1, "trace extract" },
850 { 1, "trace list" },
851 { 1, "trace load" },
852 { 1, "trace save" },
853 { 1, "usart help" },
854 { 0, "usart btpin" },
855 { 0, "usart btfactory" },
856 { 0, "usart tx" },
857 { 0, "usart rx" },
858 { 0, "usart txrx" },
859 { 0, "usart txhex" },
860 { 0, "usart rxhex" },
861 { 0, "usart config" },
862 { 1, "wiegand help" },
863 { 1, "wiegand list" },
864 { 1, "wiegand encode" },
865 { 1, "wiegand decode" },
866 {0, NULL}
869 #ifdef __cplusplus
871 #endif
873 #endif