From Matt Poduska via bug 1957 (with minor changes):
[obnox/wireshark/wip.git] / plugins / llrp / llrp-Intermec.c
1 /* EPCglobal Low-Level Reader Protocol Packet Dissector
2  *
3  * Copyright 2008, Intermec Technologies Corp. <matt.poduska@intermec.com>
4  *
5  * $Id$
6  *
7  * Wireshark - Network traffic analyzer
8  * By Gerald Combs <gerald@wireshark.org>
9  * Copyright 1999 Gerald Combs
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  * 
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  * 
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24  */ 
25
26 #include <stdio.h> /* for NULL */
27 #include "llrpparsetypes.h" 
28 #include "llrpparseinc.h" 
29 /*lint -e786 -e766*/
30
31
32 /* ----------------------------------------------------------------------------- */
33 /* Enumerations (3 total) */
34     
35 t_llrp_enumeration_item llrp_enum_list_IntermecEngineCodeEnumeration[] = {
36         
37     { "Success", 0 },
38     { "Insufficient_Tag_Power", 1 },
39     { "NAK", 2 },
40     { "Read_Error", 3 },
41     { "Write_Error", 4 },
42     { "Lock_Error", 5 },
43     { "Unlock_Error", 6 },
44     { "Query_Lock_Error", 7 },
45     { "Kill_Error", 8 },
46     { "Illegal_Command", 9 },
47     { "Address_Range_Check_Error", 10 },
48     { "Nonspecific_Error", 11 },
49     { "Privilege_Error", 12 },
50     { "Memory_Lock_Error", 13 },
51     { "Blocked", 14 },
52     { "Duty_Cycle", 15 },
53     { "No_Response", 16 },
54     { "CRC_Error", 17 },
55     { "Collision", 18 },
56     { "Memory_Overrun_Error", 19 },
57     { "Erase_Error", 20 },
58     { "NXP_Alarm_Error", 21 },
59 };
60 t_llrp_enumeration llrp_enum_IntermecEngineCodeEnumeration = {
61     llrp_enum_list_IntermecEngineCodeEnumeration, 22
62 };
63     
64 t_llrp_enumeration_item llrp_enum_list_IntermecNXPReadProtectResultType[] = {
65         
66     { "Success", 0 },
67     { "Tag_Memory_Locked_Error", 1 },
68     { "Insufficient_Power", 2 },
69     { "Nonspecific_Tag_Error", 3 },
70     { "No_Response_From_Tag", 4 },
71     { "Nonspecific_Reader_Error", 5 },
72 };
73 t_llrp_enumeration llrp_enum_IntermecNXPReadProtectResultType = {
74     llrp_enum_list_IntermecNXPReadProtectResultType, 6
75 };
76     
77 t_llrp_enumeration_item llrp_enum_list_IntermecNXPEASResultType[] = {
78         
79     { "Success", 0 },
80     { "Tag_Memory_Locked_Error", 1 },
81     { "Insufficient_Power", 2 },
82     { "Nonspecific_Tag_Error", 3 },
83     { "No_Response_From_Tag", 4 },
84     { "Nonspecific_Reader_Error", 5 },
85 };
86 t_llrp_enumeration llrp_enum_IntermecNXPEASResultType = {
87     llrp_enum_list_IntermecNXPEASResultType, 6
88 };
89     
90 /* ----------------------------------------------------------------------------- */
91 /* Parameter Definitions (36 total) */
92     
93 /* Parameter: IntermecResetStartEvent */
94       
95 t_llrp_compound_item llrp_custparam_Intermec_IntermecResetStartEvent = {
96     "IntermecResetStartEvent", LLRP_ITEM_PARAMETER, 16, 0,
97       NULL
98 };
99     
100 /* Parameter: IntermecResetCompleteEvent */
101       
102 t_llrp_compound_item llrp_custparam_Intermec_IntermecResetCompleteEvent = {
103     "IntermecResetCompleteEvent", LLRP_ITEM_PARAMETER, 19, 0,
104       NULL
105 };
106     
107 /* Parameter: IntermecLowLevelLogEvent */
108       
109 t_llrp_item llrp_custparam_items_IntermecLowLevelLogEvent[] = {
110       
111     { "PlatformVersion", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_utf8v, 
112       NULL },
113
114     { "SoftwareVersion", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_utf8v, 
115       NULL },
116
117     { "Region", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_utf8v, 
118       NULL },
119
120     { "BuildDate", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_utf8v, 
121       NULL },
122
123     { "BuildTime", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_utf8v, 
124       NULL },
125
126     { "BuildOwner", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_utf8v, 
127       NULL },
128
129     { "BuildBaseline", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_utf8v, 
130       NULL },
131
132     { "LogData", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_bytesToEnd, 
133       NULL },
134
135 };
136       
137 t_llrp_compound_item llrp_custparam_Intermec_IntermecLowLevelLogEvent = {
138     "IntermecLowLevelLogEvent", LLRP_ITEM_PARAMETER, 18, 8,
139       llrp_custparam_items_IntermecLowLevelLogEvent
140 };
141     
142 /* Parameter: IntermecROSpecLoopEvent */
143       
144 t_llrp_compound_item llrp_custparam_Intermec_IntermecROSpecLoopEvent = {
145     "IntermecROSpecLoopEvent", LLRP_ITEM_PARAMETER, 21, 0,
146       NULL
147 };
148     
149 /* Parameter: IntermecNXPEASAlarmEndEvent */
150       
151 t_llrp_compound_item llrp_custparam_Intermec_IntermecNXPEASAlarmEndEvent = {
152     "IntermecNXPEASAlarmEndEvent", LLRP_ITEM_PARAMETER, 29, 0,
153       NULL
154 };
155     
156 /* Parameter: IntermecNXPEASAlarmResult */
157       
158 t_llrp_item llrp_custparam_items_IntermecNXPEASAlarmResult[] = {
159       
160     { "AlarmSeenCount", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
161       NULL },
162
163     { "FirstSeenTimestampUTC", LLRP_ITEM_PARAMETER, 1, 0, LLRP_FIELDTYPE_NONE, &llrp_param_FirstSeenTimestampUTC },
164
165     { "LastSeenTimestampUTC", LLRP_ITEM_PARAMETER, 1, 0, LLRP_FIELDTYPE_NONE, &llrp_param_LastSeenTimestampUTC },
166
167 };
168       
169 t_llrp_compound_item llrp_custparam_Intermec_IntermecNXPEASAlarmResult = {
170     "IntermecNXPEASAlarmResult", LLRP_ITEM_PARAMETER, 30, 3,
171       llrp_custparam_items_IntermecNXPEASAlarmResult
172 };
173     
174 /* Parameter: IntermecEnableROSpecLoop */
175       
176 t_llrp_item llrp_custparam_items_IntermecEnableROSpecLoop[] = {
177       
178     { "EnableSpecLooping", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
179       NULL },
180
181     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
182
183 };
184       
185 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableROSpecLoop = {
186     "IntermecEnableROSpecLoop", LLRP_ITEM_PARAMETER, 5, 2,
187       llrp_custparam_items_IntermecEnableROSpecLoop
188 };
189     
190 /* Parameter: IntermecEnableLowLevelLogging */
191       
192 t_llrp_item llrp_custparam_items_IntermecEnableLowLevelLogging[] = {
193       
194     { "EnableLowLevelLogging", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
195       NULL },
196
197     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
198
199 };
200       
201 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableLowLevelLogging = {
202     "IntermecEnableLowLevelLogging", LLRP_ITEM_PARAMETER, 17, 2,
203       llrp_custparam_items_IntermecEnableLowLevelLogging
204 };
205     
206 /* Parameter: IntermecNXPEASAlarm */
207       
208 t_llrp_item llrp_custparam_items_IntermecNXPEASAlarm[] = {
209       
210     { "AntennaIDs", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16v, 
211       NULL },
212
213     { "AntennaConfiguration", LLRP_ITEM_PARAMETER, 0, LLRP_REPEAT_INDEFINITELY, LLRP_FIELDTYPE_NONE, &llrp_param_AntennaConfiguration },
214
215     { "AISpecStopTrigger", LLRP_ITEM_PARAMETER, 1, 0, LLRP_FIELDTYPE_NONE, &llrp_param_AISpecStopTrigger },
216
217 };
218       
219 t_llrp_compound_item llrp_custparam_Intermec_IntermecNXPEASAlarm = {
220     "IntermecNXPEASAlarm", LLRP_ITEM_PARAMETER, 27, 3,
221       llrp_custparam_items_IntermecNXPEASAlarm
222 };
223     
224 /* Parameter: IntermecAISpecStopTrigger */
225       
226 t_llrp_item llrp_custparam_items_IntermecAISpecStopTrigger[] = {
227       
228     { "Custom", LLRP_ITEM_PARAMETER, 1, LLRP_REPEAT_INDEFINITELY, LLRP_FIELDTYPE_NONE, &llrp_param_Custom },
229
230 };
231       
232 t_llrp_compound_item llrp_custparam_Intermec_IntermecAISpecStopTrigger = {
233     "IntermecAISpecStopTrigger", LLRP_ITEM_PARAMETER, 28, 1,
234       llrp_custparam_items_IntermecAISpecStopTrigger
235 };
236     
237 /* Parameter: IntermecAISpecStopTriggerMinimumTries */
238       
239 t_llrp_item llrp_custparam_items_IntermecAISpecStopTriggerMinimumTries[] = {
240       
241     { "MinimumTries", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
242       NULL },
243
244     { "Custom", LLRP_ITEM_PARAMETER, 0, LLRP_REPEAT_INDEFINITELY, LLRP_FIELDTYPE_NONE, &llrp_param_Custom },
245
246 };
247       
248 t_llrp_compound_item llrp_custparam_Intermec_IntermecAISpecStopTriggerMinimumTries = {
249     "IntermecAISpecStopTriggerMinimumTries", LLRP_ITEM_PARAMETER, 31, 2,
250       llrp_custparam_items_IntermecAISpecStopTriggerMinimumTries
251 };
252     
253 /* Parameter: IntermecAISpecStopTriggerMinimumTimeout */
254       
255 t_llrp_item llrp_custparam_items_IntermecAISpecStopTriggerMinimumTimeout[] = {
256       
257     { "MinimumTimeout", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
258       NULL },
259
260     { "Custom", LLRP_ITEM_PARAMETER, 0, LLRP_REPEAT_INDEFINITELY, LLRP_FIELDTYPE_NONE, &llrp_param_Custom },
261
262 };
263       
264 t_llrp_compound_item llrp_custparam_Intermec_IntermecAISpecStopTriggerMinimumTimeout = {
265     "IntermecAISpecStopTriggerMinimumTimeout", LLRP_ITEM_PARAMETER, 32, 2,
266       llrp_custparam_items_IntermecAISpecStopTriggerMinimumTimeout
267 };
268     
269 /* Parameter: IntermecCollectExtraTagSingulationDetails */
270       
271 t_llrp_item llrp_custparam_items_IntermecCollectExtraTagSingulationDetails[] = {
272       
273     { "EnableRNSI", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
274       NULL },
275
276     { "EnableHighResolutionRSSI", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
277       NULL },
278
279     { "EnablePhaseAngle", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
280       NULL },
281
282     { "", LLRP_ITEM_RESERVED, 5, 0, LLRP_FIELDTYPE_NONE, NULL },
283
284 };
285       
286 t_llrp_compound_item llrp_custparam_Intermec_IntermecCollectExtraTagSingulationDetails = {
287     "IntermecCollectExtraTagSingulationDetails", LLRP_ITEM_PARAMETER, 1, 4,
288       llrp_custparam_items_IntermecCollectExtraTagSingulationDetails
289 };
290     
291 /* Parameter: IntermecEnableABToggle */
292       
293 t_llrp_item llrp_custparam_items_IntermecEnableABToggle[] = {
294       
295     { "EnableABToggle", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
296       NULL },
297
298     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
299
300 };
301       
302 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableABToggle = {
303     "IntermecEnableABToggle", LLRP_ITEM_PARAMETER, 7, 2,
304       llrp_custparam_items_IntermecEnableABToggle
305 };
306     
307 /* Parameter: IntermecNXPReadProtect */
308       
309 t_llrp_item llrp_custparam_items_IntermecNXPReadProtect[] = {
310       
311     { "OpSpecID", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
312       NULL },
313
314     { "AccessPassword", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
315       NULL },
316
317     { "EnableReadProtect", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
318       NULL },
319
320     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
321
322 };
323       
324 t_llrp_compound_item llrp_custparam_Intermec_IntermecNXPReadProtect = {
325     "IntermecNXPReadProtect", LLRP_ITEM_PARAMETER, 23, 4,
326       llrp_custparam_items_IntermecNXPReadProtect
327 };
328     
329 /* Parameter: IntermecNXPEAS */
330       
331 t_llrp_item llrp_custparam_items_IntermecNXPEAS[] = {
332       
333     { "OpSpecID", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
334       NULL },
335
336     { "AccessPassword", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
337       NULL },
338
339     { "EnableEAS", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
340       NULL },
341
342     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
343
344 };
345       
346 t_llrp_compound_item llrp_custparam_Intermec_IntermecNXPEAS = {
347     "IntermecNXPEAS", LLRP_ITEM_PARAMETER, 24, 4,
348       llrp_custparam_items_IntermecNXPEAS
349 };
350     
351 /* Parameter: IntermecEnableReportCoalescence */
352       
353 t_llrp_item llrp_custparam_items_IntermecEnableReportCoalescence[] = {
354       
355     { "EnableCoalescence", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
356       NULL },
357
358     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
359
360 };
361       
362 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableReportCoalescence = {
363     "IntermecEnableReportCoalescence", LLRP_ITEM_PARAMETER, 33, 2,
364       llrp_custparam_items_IntermecEnableReportCoalescence
365 };
366     
367 /* Parameter: IntermecNXPReadProtectOpSpecResult */
368       
369 t_llrp_item llrp_custparam_items_IntermecNXPReadProtectOpSpecResult[] = {
370       
371     { "Result", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u8, 
372       &llrp_enum_IntermecNXPReadProtectResultType },
373
374     { "OpSpecID", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
375       NULL },
376
377 };
378       
379 t_llrp_compound_item llrp_custparam_Intermec_IntermecNXPReadProtectOpSpecResult = {
380     "IntermecNXPReadProtectOpSpecResult", LLRP_ITEM_PARAMETER, 25, 2,
381       llrp_custparam_items_IntermecNXPReadProtectOpSpecResult
382 };
383     
384 /* Parameter: IntermecNXPEASOpSpecResult */
385       
386 t_llrp_item llrp_custparam_items_IntermecNXPEASOpSpecResult[] = {
387       
388     { "Result", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u8, 
389       &llrp_enum_IntermecNXPEASResultType },
390
391     { "OpSpecID", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
392       NULL },
393
394 };
395       
396 t_llrp_compound_item llrp_custparam_Intermec_IntermecNXPEASOpSpecResult = {
397     "IntermecNXPEASOpSpecResult", LLRP_ITEM_PARAMETER, 26, 2,
398       llrp_custparam_items_IntermecNXPEASOpSpecResult
399 };
400     
401 /* Parameter: IntermecEnableTagInZone */
402       
403 t_llrp_item llrp_custparam_items_IntermecEnableTagInZone[] = {
404       
405     { "Enable", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
406       NULL },
407
408     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
409
410 };
411       
412 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableTagInZone = {
413     "IntermecEnableTagInZone", LLRP_ITEM_PARAMETER, 3, 2,
414       llrp_custparam_items_IntermecEnableTagInZone
415 };
416     
417 /* Parameter: IntermecEnableTagInPortal */
418       
419 t_llrp_item llrp_custparam_items_IntermecEnableTagInPortal[] = {
420       
421     { "Enable", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
422       NULL },
423
424     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
425
426 };
427       
428 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableTagInPortal = {
429     "IntermecEnableTagInPortal", LLRP_ITEM_PARAMETER, 35, 2,
430       llrp_custparam_items_IntermecEnableTagInPortal
431 };
432     
433 /* Parameter: IntermecEnableTagMoving */
434       
435 t_llrp_item llrp_custparam_items_IntermecEnableTagMoving[] = {
436       
437     { "Enable", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
438       NULL },
439
440     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
441
442 };
443       
444 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableTagMoving = {
445     "IntermecEnableTagMoving", LLRP_ITEM_PARAMETER, 10, 2,
446       llrp_custparam_items_IntermecEnableTagMoving
447 };
448     
449 /* Parameter: IntermecEnableTagNear */
450       
451 t_llrp_item llrp_custparam_items_IntermecEnableTagNear[] = {
452       
453     { "Enable", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
454       NULL },
455
456     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
457
458 };
459       
460 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableTagNear = {
461     "IntermecEnableTagNear", LLRP_ITEM_PARAMETER, 11, 2,
462       llrp_custparam_items_IntermecEnableTagNear
463 };
464     
465 /* Parameter: IntermecEnableTagSpeed */
466       
467 t_llrp_item llrp_custparam_items_IntermecEnableTagSpeed[] = {
468       
469     { "Enable", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
470       NULL },
471
472     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
473
474 };
475       
476 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableTagSpeed = {
477     "IntermecEnableTagSpeed", LLRP_ITEM_PARAMETER, 14, 2,
478       llrp_custparam_items_IntermecEnableTagSpeed
479 };
480     
481 /* Parameter: IntermecEnableTagDistance */
482       
483 t_llrp_item llrp_custparam_items_IntermecEnableTagDistance[] = {
484       
485     { "Enable", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1, 
486       NULL },
487
488     { "", LLRP_ITEM_RESERVED, 7, 0, LLRP_FIELDTYPE_NONE, NULL },
489
490 };
491       
492 t_llrp_compound_item llrp_custparam_Intermec_IntermecEnableTagDistance = {
493     "IntermecEnableTagDistance", LLRP_ITEM_PARAMETER, 20, 2,
494       llrp_custparam_items_IntermecEnableTagDistance
495 };
496     
497 /* Parameter: IntermecTagReportData */
498       
499 t_llrp_item llrp_custparam_items_IntermecTagReportData[] = {
500       
501     { "ID", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u1v, 
502       NULL },
503
504     { "TagSeenCount", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
505       NULL },
506
507     { "UTCTimestampMicroseconds", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u64, 
508       NULL },
509
510     { "Custom", LLRP_ITEM_PARAMETER, 0, LLRP_REPEAT_INDEFINITELY, LLRP_FIELDTYPE_NONE, &llrp_param_Custom },
511
512 };
513       
514 t_llrp_compound_item llrp_custparam_Intermec_IntermecTagReportData = {
515     "IntermecTagReportData", LLRP_ITEM_PARAMETER, 2, 4,
516       llrp_custparam_items_IntermecTagReportData
517 };
518     
519 /* Parameter: IntermecAccessResult */
520       
521 t_llrp_item llrp_custparam_items_IntermecAccessResult[] = {
522       
523     { "Result", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
524       &llrp_enum_IntermecEngineCodeEnumeration },
525
526 };
527       
528 t_llrp_compound_item llrp_custparam_Intermec_IntermecAccessResult = {
529     "IntermecAccessResult", LLRP_ITEM_PARAMETER, 0, 1,
530       llrp_custparam_items_IntermecAccessResult
531 };
532     
533 /* Parameter: IntermecRNSI */
534       
535 t_llrp_item llrp_custparam_items_IntermecRNSI[] = {
536       
537     { "RNSI", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
538       NULL },
539
540     { "LowLevelTimestamp", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
541       NULL },
542
543 };
544       
545 t_llrp_compound_item llrp_custparam_Intermec_IntermecRNSI = {
546     "IntermecRNSI", LLRP_ITEM_PARAMETER, 4, 2,
547       llrp_custparam_items_IntermecRNSI
548 };
549     
550 /* Parameter: IntermecPhaseAngle */
551       
552 t_llrp_item llrp_custparam_items_IntermecPhaseAngle[] = {
553       
554     { "PhaseAngle", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_s16, 
555       NULL },
556
557     { "LowLevelTimestamp", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
558       NULL },
559
560 };
561       
562 t_llrp_compound_item llrp_custparam_Intermec_IntermecPhaseAngle = {
563     "IntermecPhaseAngle", LLRP_ITEM_PARAMETER, 6, 2,
564       llrp_custparam_items_IntermecPhaseAngle
565 };
566     
567 /* Parameter: IntermecHighResolutionRSSI */
568       
569 t_llrp_item llrp_custparam_items_IntermecHighResolutionRSSI[] = {
570       
571     { "HighResolutionRSSI", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
572       NULL },
573
574     { "LowLevelTimestamp", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u32, 
575       NULL },
576
577 };
578       
579 t_llrp_compound_item llrp_custparam_Intermec_IntermecHighResolutionRSSI = {
580     "IntermecHighResolutionRSSI", LLRP_ITEM_PARAMETER, 8, 2,
581       llrp_custparam_items_IntermecHighResolutionRSSI
582 };
583     
584 /* Parameter: IntermecTagInZone */
585       
586 t_llrp_item llrp_custparam_items_IntermecTagInZone[] = {
587       
588     { "InZoneConfidence", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u8, 
589       NULL },
590
591 };
592       
593 t_llrp_compound_item llrp_custparam_Intermec_IntermecTagInZone = {
594     "IntermecTagInZone", LLRP_ITEM_PARAMETER, 9, 1,
595       llrp_custparam_items_IntermecTagInZone
596 };
597     
598 /* Parameter: IntermecTagInPortal */
599       
600 t_llrp_item llrp_custparam_items_IntermecTagInPortal[] = {
601       
602     { "InPortalConfidence", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u8, 
603       NULL },
604
605 };
606       
607 t_llrp_compound_item llrp_custparam_Intermec_IntermecTagInPortal = {
608     "IntermecTagInPortal", LLRP_ITEM_PARAMETER, 34, 1,
609       llrp_custparam_items_IntermecTagInPortal
610 };
611     
612 /* Parameter: IntermecTagMoving */
613       
614 t_llrp_item llrp_custparam_items_IntermecTagMoving[] = {
615       
616     { "MovingConfidence", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u8, 
617       NULL },
618
619 };
620       
621 t_llrp_compound_item llrp_custparam_Intermec_IntermecTagMoving = {
622     "IntermecTagMoving", LLRP_ITEM_PARAMETER, 12, 1,
623       llrp_custparam_items_IntermecTagMoving
624 };
625     
626 /* Parameter: IntermecTagNear */
627       
628 t_llrp_item llrp_custparam_items_IntermecTagNear[] = {
629       
630     { "NearnessFactor", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u8, 
631       NULL },
632
633 };
634       
635 t_llrp_compound_item llrp_custparam_Intermec_IntermecTagNear = {
636     "IntermecTagNear", LLRP_ITEM_PARAMETER, 13, 1,
637       llrp_custparam_items_IntermecTagNear
638 };
639     
640 /* Parameter: IntermecTagSpeed */
641       
642 t_llrp_item llrp_custparam_items_IntermecTagSpeed[] = {
643       
644     { "Speed", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
645       NULL },
646
647 };
648       
649 t_llrp_compound_item llrp_custparam_Intermec_IntermecTagSpeed = {
650     "IntermecTagSpeed", LLRP_ITEM_PARAMETER, 15, 1,
651       llrp_custparam_items_IntermecTagSpeed
652 };
653     
654 /* Parameter: IntermecTagDistance */
655       
656 t_llrp_item llrp_custparam_items_IntermecTagDistance[] = {
657       
658     { "Distance", LLRP_ITEM_FIELD, 0, 0, LLRP_FIELDTYPE_u16, 
659       NULL },
660
661 };
662       
663 t_llrp_compound_item llrp_custparam_Intermec_IntermecTagDistance = {
664     "IntermecTagDistance", LLRP_ITEM_PARAMETER, 22, 1,
665       llrp_custparam_items_IntermecTagDistance
666 };
667     
668 /* ----------------------------------------------------------------------------- */
669 /* Custom Parameter List (36 total) */
670
671 t_llrp_custom_map_item llrp_llrp_Intermec_custom_parameter_list[] = {
672     
673     { 1963,
674       0, &llrp_custparam_Intermec_IntermecAccessResult,
675         
676     },
677     
678     { 1963,
679       1, &llrp_custparam_Intermec_IntermecCollectExtraTagSingulationDetails,
680         
681     },
682     
683     { 1963,
684       2, &llrp_custparam_Intermec_IntermecTagReportData,
685         
686     },
687     
688     { 1963,
689       3, &llrp_custparam_Intermec_IntermecEnableTagInZone,
690         
691     },
692     
693     { 1963,
694       4, &llrp_custparam_Intermec_IntermecRNSI,
695         
696     },
697     
698     { 1963,
699       5, &llrp_custparam_Intermec_IntermecEnableROSpecLoop,
700         
701     },
702     
703     { 1963,
704       6, &llrp_custparam_Intermec_IntermecPhaseAngle,
705         
706     },
707     
708     { 1963,
709       7, &llrp_custparam_Intermec_IntermecEnableABToggle,
710         
711     },
712     
713     { 1963,
714       8, &llrp_custparam_Intermec_IntermecHighResolutionRSSI,
715         
716     },
717     
718     { 1963,
719       9, &llrp_custparam_Intermec_IntermecTagInZone,
720         
721     },
722     
723     { 1963,
724       10, &llrp_custparam_Intermec_IntermecEnableTagMoving,
725         
726     },
727     
728     { 1963,
729       11, &llrp_custparam_Intermec_IntermecEnableTagNear,
730         
731     },
732     
733     { 1963,
734       12, &llrp_custparam_Intermec_IntermecTagMoving,
735         
736     },
737     
738     { 1963,
739       13, &llrp_custparam_Intermec_IntermecTagNear,
740         
741     },
742     
743     { 1963,
744       14, &llrp_custparam_Intermec_IntermecEnableTagSpeed,
745         
746     },
747     
748     { 1963,
749       15, &llrp_custparam_Intermec_IntermecTagSpeed,
750         
751     },
752     
753     { 1963,
754       16, &llrp_custparam_Intermec_IntermecResetStartEvent,
755         
756     },
757     
758     { 1963,
759       17, &llrp_custparam_Intermec_IntermecEnableLowLevelLogging,
760         
761     },
762     
763     { 1963,
764       18, &llrp_custparam_Intermec_IntermecLowLevelLogEvent,
765         
766     },
767     
768     { 1963,
769       19, &llrp_custparam_Intermec_IntermecResetCompleteEvent,
770         
771     },
772     
773     { 1963,
774       20, &llrp_custparam_Intermec_IntermecEnableTagDistance,
775         
776     },
777     
778     { 1963,
779       21, &llrp_custparam_Intermec_IntermecROSpecLoopEvent,
780         
781     },
782     
783     { 1963,
784       22, &llrp_custparam_Intermec_IntermecTagDistance,
785         
786     },
787     
788     { 1963,
789       23, &llrp_custparam_Intermec_IntermecNXPReadProtect,
790         
791     },
792     
793     { 1963,
794       24, &llrp_custparam_Intermec_IntermecNXPEAS,
795         
796     },
797     
798     { 1963,
799       25, &llrp_custparam_Intermec_IntermecNXPReadProtectOpSpecResult,
800         
801     },
802     
803     { 1963,
804       26, &llrp_custparam_Intermec_IntermecNXPEASOpSpecResult,
805         
806     },
807     
808     { 1963,
809       27, &llrp_custparam_Intermec_IntermecNXPEASAlarm,
810         
811     },
812     
813     { 1963,
814       28, &llrp_custparam_Intermec_IntermecAISpecStopTrigger,
815         
816     },
817     
818     { 1963,
819       29, &llrp_custparam_Intermec_IntermecNXPEASAlarmEndEvent,
820         
821     },
822     
823     { 1963,
824       30, &llrp_custparam_Intermec_IntermecNXPEASAlarmResult,
825         
826     },
827     
828     { 1963,
829       31, &llrp_custparam_Intermec_IntermecAISpecStopTriggerMinimumTries,
830         
831     },
832     
833     { 1963,
834       32, &llrp_custparam_Intermec_IntermecAISpecStopTriggerMinimumTimeout,
835         
836     },
837     
838     { 1963,
839       33, &llrp_custparam_Intermec_IntermecEnableReportCoalescence,
840         
841     },
842     
843     { 1963,
844       34, &llrp_custparam_Intermec_IntermecTagInPortal,
845         
846     },
847     
848     { 1963,
849       35, &llrp_custparam_Intermec_IntermecEnableTagInPortal,
850         
851     },
852     
853 };
854   
855 /* ----------------------------------------------------------------------------- */
856 /* Validator: llrp_Intermec */
857 t_llrp_parse_validator llrp_llrp_Intermec_parse_validator = {
858     "llrp_Intermec",
859     NULL, 0,
860     llrp_llrp_Intermec_custom_parameter_list, 36,
861     NULL, 0,
862     NULL, 0,
863 };
864
865
866 /*end*/