1 /***************************************************************************
2  * Copyright (c) 2024 Microsoft Corporation
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the MIT License which is available at
6  * https://opensource.org/licenses/MIT.
7  *
8  * SPDX-License-Identifier: MIT
9  **************************************************************************/
10 
11 
12 /**************************************************************************/
13 /**************************************************************************/
14 /**                                                                       */
15 /** USBX Component                                                        */
16 /**                                                                       */
17 /**   PictBridge Host Class                                               */
18 /**                                                                       */
19 /**************************************************************************/
20 /**************************************************************************/
21 #define UX_SOURCE_CODE
22 
23 
24 /* Include necessary system files.  */
25 
26 #include "ux_api.h"
27 #include "ux_pictbridge.h"
28 
29 /**************************************************************************/
30 /*                                                                        */
31 /*  COMPONENT DEFINITION                                   RELEASE        */
32 /*                                                                        */
33 /*    ux_pictbridge_data.c                                PORTABLE C      */
34 /*                                                           6.1          */
35 /*  AUTHOR                                                                */
36 /*                                                                        */
37 /*    Chaoqiong Xiao, Microsoft Corporation                               */
38 /*                                                                        */
39 /*  DESCRIPTION                                                           */
40 /*                                                                        */
41 /*    This file contains all the data items for the pictbridge class      */
42 /*                                                                        */
43 /*  RELEASE HISTORY                                                       */
44 /*                                                                        */
45 /*    DATE              NAME                      DESCRIPTION             */
46 /*                                                                        */
47 /*  05-19-2020     Chaoqiong Xiao           Initial Version 6.0           */
48 /*  09-30-2020     Chaoqiong Xiao           Modified comment(s),          */
49 /*                                            resulting in version 6.1    */
50 /*                                                                        */
51 /**************************************************************************/
52 
53 /* Prototypes for all XML items.  */
54 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input[];
55 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_root[];
56 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output[];
57 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_configureprintservice[];
58 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_configureprintservice[];
59 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getcapability[];
60 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getcapability[];
61 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getcapability_capability[];
62 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getcapability_capability[];
63 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getjobstatus[];
64 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getdevicestatus[];
65 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_startjob[];
66 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_startjob_printinfo[];
67 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_startjob_jobconfig[];
68 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_abortjob[];
69 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_notifyjobstatus[];
70 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_notifydevicestatus[];
71 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfileid[];
72 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfileid[];
73 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfileinfo[];
74 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfileinfo[];
75 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getthumb[];
76 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getthumb[];
77 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfile[];
78 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfile[];
79 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getpartialfile[];
80 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getpartialfile[];
81 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfilelist[];
82 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfilelist[];
83 
84 
85 /* Define Pictbridge XML input get File List. */
86 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfilelist[] =
87 {
88     {
89         "fileType",
90         0,
91         UX_PICTBRIDGE_XML_LEAF,
92         _ux_pictbridge_xml_item_input,
93         _ux_pictbridge_xml_function_input_getfilelist_filetype,
94     },
95 
96     {
97         "parentFileID",
98         0,
99         UX_PICTBRIDGE_XML_LEAF,
100         _ux_pictbridge_xml_item_input,
101         _ux_pictbridge_xml_function_input_getfilelist_parentfileid,
102     },
103 
104     {
105         "maxNumIDs",
106         0,
107         UX_PICTBRIDGE_XML_LEAF,
108         _ux_pictbridge_xml_item_input,
109         _ux_pictbridge_xml_function_input_getfilelist_maxnumids,
110     },
111 
112     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
113 };
114 
115 /* Define Pictbridge XML output get File List. */
116 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfilelist[] =
117 {
118     {
119         "fileIDs",
120         0,
121         UX_PICTBRIDGE_XML_LEAF,
122         _ux_pictbridge_xml_item_output,
123         _ux_pictbridge_xml_function_output_getfilelist_fileids,
124     },
125     {
126         "numIDs",
127         0,
128         UX_PICTBRIDGE_XML_LEAF,
129         _ux_pictbridge_xml_item_output,
130         _ux_pictbridge_xml_function_output_getfilelist_numids,
131     },
132 
133     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
134 };
135 
136 /* Define Pictbridge XML input get partial File. */
137 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getpartialfile[] =
138 {
139     {
140         "fileID",
141         0,
142         UX_PICTBRIDGE_XML_LEAF,
143         _ux_pictbridge_xml_item_input,
144         _ux_pictbridge_xml_function_input_getpartialfile_fileid,
145     },
146 
147     {
148         "offset",
149         0,
150         UX_PICTBRIDGE_XML_LEAF,
151         _ux_pictbridge_xml_item_input,
152         _ux_pictbridge_xml_function_input_getpartialfile_offset,
153     },
154 
155     {
156         "maxSize",
157         0,
158         UX_PICTBRIDGE_XML_LEAF,
159         _ux_pictbridge_xml_item_input,
160         _ux_pictbridge_xml_function_input_getpartialfile_maxsize,
161     },
162 
163     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
164 };
165 
166 /* Define Pictbridge XML output get Partial File. */
167 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getpartialfile[] =
168 {
169     {
170         "bytesRead",
171         0,
172         UX_PICTBRIDGE_XML_LEAF,
173         _ux_pictbridge_xml_item_output,
174         _ux_pictbridge_xml_function_output_getpartialfile_bytesread,
175     },
176 
177     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
178 };
179 
180 /* Define Pictbridge XML input get File. */
181 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfile[] =
182 {
183     {
184         "fileID",
185         0,
186         UX_PICTBRIDGE_XML_LEAF,
187         _ux_pictbridge_xml_item_input,
188         _ux_pictbridge_xml_function_input_getfile_fileid,
189     },
190 
191     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
192 };
193 
194 /* Define Pictbridge XML output get File. */
195 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfile[] =
196 {
197     {
198         "bytesRead",
199         0,
200         UX_PICTBRIDGE_XML_LEAF,
201         _ux_pictbridge_xml_item_output,
202         _ux_pictbridge_xml_function_output_getfile_bytesread,
203     },
204 
205     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
206 };
207 
208 /* Define Pictbridge XML input get Thumb. */
209 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getthumb[] =
210 {
211     {
212         "fileID",
213         0,
214         UX_PICTBRIDGE_XML_LEAF,
215         _ux_pictbridge_xml_item_input,
216         _ux_pictbridge_xml_function_input_getthumb_fileid,
217     },
218 
219     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
220 };
221 
222 /* Define Pictbridge XML output get Thumb. */
223 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getthumb[] =
224 {
225     {
226         "bytesRead",
227         0,
228         UX_PICTBRIDGE_XML_LEAF,
229         _ux_pictbridge_xml_item_output,
230         _ux_pictbridge_xml_function_output_getthumb_bytesread,
231     },
232 
233     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
234 };
235 /* Define Pictbridge XML input get File Info. */
236 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfileinfo[] =
237 {
238     {
239         "fileID",
240         0,
241         UX_PICTBRIDGE_XML_LEAF,
242         _ux_pictbridge_xml_item_input,
243         _ux_pictbridge_xml_function_input_getfileid_fileid,
244     },
245 
246     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
247 };
248 
249 /* Define Pictbridge XML output get File ID. */
250 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfileinfo[] =
251 {
252     {
253         "fileType",
254         0,
255         UX_PICTBRIDGE_XML_LEAF,
256         _ux_pictbridge_xml_item_output,
257         _ux_pictbridge_xml_function_output_getfileinfo_filetype,
258     },
259 
260     {
261         "fileSize",
262         0,
263         UX_PICTBRIDGE_XML_LEAF,
264         _ux_pictbridge_xml_item_output,
265         _ux_pictbridge_xml_function_output_getfileinfo_filesize,
266     },
267 
268     {
269         "thumbFormat",
270         0,
271         UX_PICTBRIDGE_XML_LEAF,
272         _ux_pictbridge_xml_item_output,
273         _ux_pictbridge_xml_function_output_getfileinfo_thumbformat,
274     },
275 
276     {
277         "thumbsize",
278         0,
279         UX_PICTBRIDGE_XML_LEAF,
280         _ux_pictbridge_xml_item_output,
281         _ux_pictbridge_xml_function_output_getfileinfo_thumbsize,
282     },
283 
284     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
285 };
286 
287 /* Define Pictbridge XML input get File ID. */
288 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getfileid[] =
289 {
290     {
291         "basePathID",
292         0,
293         UX_PICTBRIDGE_XML_LEAF,
294         _ux_pictbridge_xml_item_input,
295         _ux_pictbridge_xml_function_input_getfileid_basepathid,
296     },
297 
298     {
299         "filePath",
300         0,
301         UX_PICTBRIDGE_XML_LEAF,
302         _ux_pictbridge_xml_item_input,
303         _ux_pictbridge_xml_function_input_getfileid_filepath,
304     },
305 
306     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
307 };
308 
309 
310 /* Define Pictbridge XML output get File ID. */
311 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getfileid[] =
312 {
313     {
314         "basePathID",
315         0,
316         UX_PICTBRIDGE_XML_LEAF,
317         _ux_pictbridge_xml_item_output,
318         _ux_pictbridge_xml_function_output_getfileid_basepathid,
319     },
320 
321     {
322         "filePath",
323         0,
324         UX_PICTBRIDGE_XML_LEAF,
325         _ux_pictbridge_xml_item_output,
326         _ux_pictbridge_xml_function_output_getfileid_filepath,
327     },
328 
329     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
330 };
331 
332 /* Define Pictbridge XML output get device status. */
333 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_notifydevicestatus[] =
334 {
335     {
336         "dpsPrintServiceStatus",
337         0,
338         UX_PICTBRIDGE_XML_LEAF,
339         _ux_pictbridge_xml_item_input,
340         _ux_pictbridge_xml_function_input_notifydevicestatus_dpsprintservicestatus,
341     },
342 
343     {
344         "jobEndReason",
345         0,
346         UX_PICTBRIDGE_XML_LEAF,
347         _ux_pictbridge_xml_item_input,
348         _ux_pictbridge_xml_function_input_notifydevicestatus_jobendreason,
349     },
350 
351     {
352         "errorStatus",
353         0,
354         UX_PICTBRIDGE_XML_LEAF,
355         _ux_pictbridge_xml_item_input,
356         _ux_pictbridge_xml_function_input_notifydevicestatus_errorstatus,
357     },
358     {
359         "errorReason",
360         0,
361         UX_PICTBRIDGE_XML_LEAF,
362         _ux_pictbridge_xml_item_input,
363         _ux_pictbridge_xml_function_input_notifydevicestatus_errorreason,
364     },
365     {
366         "disconnectEnable",
367         0,
368         UX_PICTBRIDGE_XML_LEAF,
369         _ux_pictbridge_xml_item_input,
370         _ux_pictbridge_xml_function_input_notifydevicestatus_disconnectenable,
371     },
372 
373     {
374         "capabilityChanged",
375         0,
376         UX_PICTBRIDGE_XML_LEAF,
377         _ux_pictbridge_xml_item_input,
378         _ux_pictbridge_xml_function_input_notifydevicestatus_capabilitychanged,
379     },
380 
381     {
382         "newJobOK",
383         0,
384         UX_PICTBRIDGE_XML_LEAF,
385         _ux_pictbridge_xml_item_input,
386         _ux_pictbridge_xml_function_input_notifydevicestatus_newjobok,
387     },
388 
389     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
390 };
391 
392 
393 /* Define Pictbridge XML input notify job.  */
394 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_notifyjobstatus[] =
395 {
396     {
397         "prtPID",
398         0,
399         UX_PICTBRIDGE_XML_LEAF,
400         _ux_pictbridge_xml_item_input,
401         _ux_pictbridge_xml_function_input_notifyjobstatus_prtpid,
402     },
403     {
404         "filepath",
405         0,
406         UX_PICTBRIDGE_XML_LEAF,
407         _ux_pictbridge_xml_item_input,
408         _ux_pictbridge_xml_function_input_notifyjobstatus_filepath,
409     },
410     {
411         "copyID",
412         0,
413         UX_PICTBRIDGE_XML_LEAF,
414         _ux_pictbridge_xml_item_input,
415         _ux_pictbridge_xml_function_input_notifyjobstatus_copyid,
416     },
417     {
418         "progress",
419         0,
420         UX_PICTBRIDGE_XML_LEAF,
421         _ux_pictbridge_xml_item_input,
422         _ux_pictbridge_xml_function_input_notifyjobstatus_progress,
423     },
424     {
425         "imagesPrinted",
426         0,
427         UX_PICTBRIDGE_XML_LEAF,
428         _ux_pictbridge_xml_item_input,
429         _ux_pictbridge_xml_function_output_notifyjobstatus_imagesprinted,
430     },
431 
432     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
433 };
434 
435 /* Define Pictbridge XML input abort job.  */
436 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_abortjob[] =
437 {
438     {
439         "abortStyle",
440         0,
441         UX_PICTBRIDGE_XML_LEAF,
442         _ux_pictbridge_xml_item_input,
443         _ux_pictbridge_xml_function_input_abortjob,
444     },
445 
446     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
447 };
448 
449 /* Define Pictbridge XML input start job job config. */
450 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_startjob_jobconfig[] =
451 {
452     {
453         "quality",
454         0,
455         UX_PICTBRIDGE_XML_LEAF,
456         _ux_pictbridge_xml_item_input_startjob,
457         _ux_pictbridge_xml_function_input_startjob_jobconfig_quality,
458     },
459     {
460         "paperSize",
461         0,
462         UX_PICTBRIDGE_XML_LEAF,
463         _ux_pictbridge_xml_item_input_startjob,
464         _ux_pictbridge_xml_function_input_startjob_jobconfig_papersize,
465     },
466     {
467         "paperType",
468         0,
469         UX_PICTBRIDGE_XML_LEAF,
470         _ux_pictbridge_xml_item_input_startjob,
471         _ux_pictbridge_xml_function_input_startjob_jobconfig_papertype,
472     },
473     {
474         "fileType",
475         0,
476         UX_PICTBRIDGE_XML_LEAF,
477         _ux_pictbridge_xml_item_input_startjob,
478         _ux_pictbridge_xml_function_input_startjob_jobconfig_filetype,
479     },
480     {
481         "datePrint",
482         0,
483         UX_PICTBRIDGE_XML_LEAF,
484         _ux_pictbridge_xml_item_input_startjob,
485         _ux_pictbridge_xml_function_input_startjob_jobconfig_dateprint,
486     },
487     {
488         "fileNamePrint",
489         0,
490         UX_PICTBRIDGE_XML_LEAF,
491         _ux_pictbridge_xml_item_input_startjob,
492         _ux_pictbridge_xml_function_input_startjob_jobconfig_filenameprint,
493     },
494     {
495         "imageOptimize",
496         0,
497         UX_PICTBRIDGE_XML_LEAF,
498         _ux_pictbridge_xml_item_input_startjob,
499         _ux_pictbridge_xml_function_input_startjob_jobconfig_imageoptimize,
500     },
501     {
502         "layout",
503         0,
504         UX_PICTBRIDGE_XML_LEAF,
505         _ux_pictbridge_xml_item_input_startjob,
506         _ux_pictbridge_xml_function_input_startjob_jobconfig_layout,
507     },
508     {
509         "fixedSize",
510         0,
511         UX_PICTBRIDGE_XML_LEAF,
512         _ux_pictbridge_xml_item_input_startjob,
513         _ux_pictbridge_xml_function_input_startjob_jobconfig_fixedsize,
514     },
515     {
516         "cropping",
517         0,
518         UX_PICTBRIDGE_XML_LEAF,
519         _ux_pictbridge_xml_item_input_startjob,
520         _ux_pictbridge_xml_function_input_startjob_jobconfig_cropping,
521     },
522 
523     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
524 };
525 
526 
527 /* Define Pictbridge XML input print info. */
528 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_startjob_printinfo[] =
529 {
530     {
531         "croppingArea",
532         0,
533         UX_PICTBRIDGE_XML_LEAF,
534         _ux_pictbridge_xml_item_input_startjob,
535         _ux_pictbridge_xml_function_input_startjob_printinfo_croppingarea,
536     },
537     {
538         "fileID",
539         0,
540         UX_PICTBRIDGE_XML_LEAF,
541         _ux_pictbridge_xml_item_input_startjob,
542         _ux_pictbridge_xml_function_input_startjob_printinfo_fileid,
543     },
544     {
545         "fileName",
546         0,
547         UX_PICTBRIDGE_XML_LEAF,
548         _ux_pictbridge_xml_item_input_startjob,
549         _ux_pictbridge_xml_function_input_startjob_printinfo_filename,
550     },
551     {
552         "date",
553         0,
554         UX_PICTBRIDGE_XML_LEAF,
555         _ux_pictbridge_xml_item_input_startjob,
556         _ux_pictbridge_xml_function_input_startjob_printinfo_date,
557     },
558     {
559         "copies",
560         0,
561         UX_PICTBRIDGE_XML_LEAF,
562         _ux_pictbridge_xml_item_input_startjob,
563         _ux_pictbridge_xml_function_input_startjob_printinfo_copies,
564     },
565     {
566         "prtPID",
567         0,
568         UX_PICTBRIDGE_XML_LEAF,
569         _ux_pictbridge_xml_item_input_startjob,
570         _ux_pictbridge_xml_function_input_startjob_printinfo_prtpid,
571     },
572     {
573         "filepath",
574         0,
575         UX_PICTBRIDGE_XML_LEAF,
576         _ux_pictbridge_xml_item_input_startjob,
577         _ux_pictbridge_xml_function_input_startjob_printinfo_filepath,
578     },
579     {
580         "copyID",
581         0,
582         UX_PICTBRIDGE_XML_LEAF,
583         _ux_pictbridge_xml_item_input_startjob,
584         _ux_pictbridge_xml_function_input_startjob_printinfo_copyid,
585     },
586 
587     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
588 };
589 
590 
591 /* Define Pictbridge XML input start job. */
592 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_startjob[] =
593 {
594     {
595         "jobConfig",
596         0,
597         _ux_pictbridge_xml_item_input_startjob_jobconfig,
598         _ux_pictbridge_xml_item_input,
599         UX_NULL,
600     },
601     {
602         "printInfo",
603         0,
604         _ux_pictbridge_xml_item_input_startjob_printinfo,
605         _ux_pictbridge_xml_item_input,
606         _ux_pictbridge_xml_function_input_startjob_printinfo,
607     },
608 
609     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
610 };
611 
612 
613 /* Define Pictbridge XML output get device status. */
614 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getdevicestatus[] =
615 {
616     {
617         "dpsPrintServiceStatus",
618         0,
619         UX_PICTBRIDGE_XML_LEAF,
620         _ux_pictbridge_xml_item_output,
621         _ux_pictbridge_xml_function_output_getdevicestatus_dpsprintservicestatus,
622     },
623 
624     {
625         "jobEndReason",
626         0,
627         UX_PICTBRIDGE_XML_LEAF,
628         _ux_pictbridge_xml_item_output,
629         _ux_pictbridge_xml_function_output_getdevicestatus_jobendreason,
630     },
631 
632     {
633         "errorStatus",
634         0,
635         UX_PICTBRIDGE_XML_LEAF,
636         _ux_pictbridge_xml_item_output,
637         _ux_pictbridge_xml_function_output_getdevicestatus_errorstatus,
638     },
639     {
640         "errorReason",
641         0,
642         UX_PICTBRIDGE_XML_LEAF,
643         _ux_pictbridge_xml_item_output,
644         _ux_pictbridge_xml_function_output_getdevicestatus_errorreason,
645     },
646     {
647         "disconnectEnable",
648         0,
649         UX_PICTBRIDGE_XML_LEAF,
650         _ux_pictbridge_xml_item_output,
651         _ux_pictbridge_xml_function_output_getdevicestatus_disconnectenable,
652     },
653 
654     {
655         "capabilityChanged",
656         0,
657         UX_PICTBRIDGE_XML_LEAF,
658         _ux_pictbridge_xml_item_output,
659         _ux_pictbridge_xml_function_output_getdevicestatus_capabilitychanged,
660     },
661 
662     {
663         "newJobOK",
664         0,
665         UX_PICTBRIDGE_XML_LEAF,
666         _ux_pictbridge_xml_item_output,
667         _ux_pictbridge_xml_function_output_getdevicestatus_newjobok,
668     },
669 
670     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
671 };
672 
673 
674 /* Define Pictbridge XML output get job status. */
675 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getjobstatus[] =
676 {
677     {
678         "prtPID",
679         0,
680         UX_PICTBRIDGE_XML_LEAF,
681         _ux_pictbridge_xml_item_output,
682         _ux_pictbridge_xml_function_output_getjobstatus_prtpid,
683     },
684     {
685         "filePath",
686         0,
687         UX_PICTBRIDGE_XML_LEAF,
688         _ux_pictbridge_xml_item_output,
689         _ux_pictbridge_xml_function_output_getjobstatus_filepath,
690     },
691     {
692         "copyID",
693         0,
694         UX_PICTBRIDGE_XML_LEAF,
695         _ux_pictbridge_xml_item_output,
696         _ux_pictbridge_xml_function_output_getjobstatus_copyid,
697     },
698 
699     {
700         "progress",
701         0,
702         UX_PICTBRIDGE_XML_LEAF,
703         _ux_pictbridge_xml_item_output,
704         _ux_pictbridge_xml_function_output_getjobstatus_progress,
705     },
706 
707     {
708         "imagesPrinted",
709         0,
710         UX_PICTBRIDGE_XML_LEAF,
711         _ux_pictbridge_xml_item_output,
712         _ux_pictbridge_xml_function_output_getjobstatus_imagesprinted,
713     },
714 
715     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
716 };
717 
718 
719 /* Define Pictbridge XML input get capability elements. */
720 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getcapability_capability[] =
721 {
722     {
723         "qualities",
724         UX_PICTBRIDGE_IR_GC_QUALITIES,
725         UX_PICTBRIDGE_XML_LEAF,
726         _ux_pictbridge_xml_item_input_getcapability,
727         _ux_pictbridge_xml_function_input_getcapability_capability_qualities,
728     },
729     {
730         "paperSizes",
731         UX_PICTBRIDGE_IR_GC_PAPER_SIZES,
732         UX_PICTBRIDGE_XML_LEAF,
733         _ux_pictbridge_xml_item_input_getcapability,
734         _ux_pictbridge_xml_function_input_getcapability_capability_papersizes,
735     },
736     {
737         "paperTypes",
738         UX_PICTBRIDGE_IR_GC_PAPER_TYPES,
739         UX_PICTBRIDGE_XML_LEAF,
740         _ux_pictbridge_xml_item_input_getcapability,
741         _ux_pictbridge_xml_function_input_getcapability_capability_papertypes,
742     },
743     {
744         "fileTypes",
745         UX_PICTBRIDGE_IR_GC_FILE_TYPES,
746         UX_PICTBRIDGE_XML_LEAF,
747         _ux_pictbridge_xml_item_input_getcapability,
748         _ux_pictbridge_xml_function_input_getcapability_capability_filetypes,
749     },
750     {
751         "datePrints",
752         UX_PICTBRIDGE_IR_GC_DATE_PRINTS,
753         UX_PICTBRIDGE_XML_LEAF,
754         _ux_pictbridge_xml_item_input_getcapability,
755         _ux_pictbridge_xml_function_input_getcapability_capability_dateprints,
756     },
757     {
758         "fileNamePrints",
759         UX_PICTBRIDGE_IR_GC_FILE_NAME_PRINTS,
760         UX_PICTBRIDGE_XML_LEAF,
761         _ux_pictbridge_xml_item_input_getcapability,
762         _ux_pictbridge_xml_function_input_getcapability_capability_filenameprints,
763     },
764     {
765         "imageOptimizes",
766         UX_PICTBRIDGE_IR_GC_IMAGE_OPTIMIZES,
767         UX_PICTBRIDGE_XML_LEAF,
768         _ux_pictbridge_xml_item_input_getcapability,
769         _ux_pictbridge_xml_function_input_getcapability_capability_imageoptimizes,
770     },
771     {
772         "layouts",
773         UX_PICTBRIDGE_IR_GC_LAYOUTS,
774         UX_PICTBRIDGE_XML_LEAF,
775         _ux_pictbridge_xml_item_input_getcapability,
776         _ux_pictbridge_xml_function_input_getcapability_capability_layouts,
777     },
778     {
779         "fixedSizes",
780         UX_PICTBRIDGE_IR_GC_FIXED_SIZES,
781         UX_PICTBRIDGE_XML_LEAF,
782         _ux_pictbridge_xml_item_input_getcapability,
783         _ux_pictbridge_xml_function_input_getcapability_capability_fixedsizes,
784     },
785     {
786         "croppings",
787         UX_PICTBRIDGE_IR_GC_CROPPINGS,
788         UX_PICTBRIDGE_XML_LEAF,
789         _ux_pictbridge_xml_item_input_getcapability,
790         _ux_pictbridge_xml_function_input_getcapability_capability_croppings,
791     },
792     {
793         "charRepertoires",
794         UX_PICTBRIDGE_IR_GC_CHAR_REPERTOIRES,
795         UX_PICTBRIDGE_XML_LEAF,
796         _ux_pictbridge_xml_item_input_getcapability,
797         _ux_pictbridge_xml_function_input_getcapability_capability_charrepertoires,
798     },
799 
800     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
801 };
802 
803 
804 /* Define Pictbridge XML get capability elements. */
805 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_getcapability[] =
806 {
807     {
808         "capability",
809         0,
810         _ux_pictbridge_xml_item_input_getcapability_capability,
811         _ux_pictbridge_xml_item_input,
812         UX_NULL,
813     },
814 
815     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
816 
817 };
818 
819 /* Define Pictbridge XML output get capability elements. */
820 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getcapability_capability[] =
821 {
822     {
823         "qualities",
824         UX_PICTBRIDGE_IR_GC_QUALITIES,
825         UX_PICTBRIDGE_XML_LEAF,
826         _ux_pictbridge_xml_item_output_getcapability,
827         _ux_pictbridge_xml_function_output_getcapability_capability_qualities,
828     },
829     {
830         "paperSizes",
831         UX_PICTBRIDGE_IR_GC_PAPER_SIZES,
832         UX_PICTBRIDGE_XML_LEAF,
833         _ux_pictbridge_xml_item_output_getcapability,
834         _ux_pictbridge_xml_function_output_getcapability_capability_papersizes,
835     },
836     {
837         "paperTypes",
838         UX_PICTBRIDGE_IR_GC_PAPER_TYPES,
839         UX_PICTBRIDGE_XML_LEAF,
840         _ux_pictbridge_xml_item_output_getcapability,
841         _ux_pictbridge_xml_function_output_getcapability_capability_papertypes,
842     },
843     {
844         "fileTypes",
845         UX_PICTBRIDGE_IR_GC_FILE_TYPES,
846         UX_PICTBRIDGE_XML_LEAF,
847         _ux_pictbridge_xml_item_output_getcapability,
848         _ux_pictbridge_xml_function_output_getcapability_capability_filetypes,
849     },
850     {
851         "datePrints",
852         UX_PICTBRIDGE_IR_GC_DATE_PRINTS,
853         UX_PICTBRIDGE_XML_LEAF,
854         _ux_pictbridge_xml_item_output_getcapability,
855         _ux_pictbridge_xml_function_output_getcapability_capability_dateprints,
856     },
857     {
858         "fileNamePrints",
859         UX_PICTBRIDGE_IR_GC_FILE_NAME_PRINTS,
860         UX_PICTBRIDGE_XML_LEAF,
861         _ux_pictbridge_xml_item_output_getcapability,
862         _ux_pictbridge_xml_function_output_getcapability_capability_filenameprints,
863     },
864     {
865         "imageOptimizes",
866         UX_PICTBRIDGE_IR_GC_IMAGE_OPTIMIZES,
867         UX_PICTBRIDGE_XML_LEAF,
868         _ux_pictbridge_xml_item_output_getcapability,
869         _ux_pictbridge_xml_function_output_getcapability_capability_imageoptimizes,
870     },
871     {
872         "layouts",
873         UX_PICTBRIDGE_IR_GC_LAYOUTS,
874         UX_PICTBRIDGE_XML_LEAF,
875         _ux_pictbridge_xml_item_output_getcapability,
876         _ux_pictbridge_xml_function_output_getcapability_capability_layouts,
877     },
878     {
879         "fixedSizes",
880         UX_PICTBRIDGE_IR_GC_FIXED_SIZES,
881         UX_PICTBRIDGE_XML_LEAF,
882         _ux_pictbridge_xml_item_output_getcapability,
883         _ux_pictbridge_xml_function_output_getcapability_capability_fixedsizes,
884     },
885     {
886         "croppings",
887         UX_PICTBRIDGE_IR_GC_CROPPINGS,
888         UX_PICTBRIDGE_XML_LEAF,
889         _ux_pictbridge_xml_item_output_getcapability,
890         _ux_pictbridge_xml_function_output_getcapability_capability_croppings,
891     },
892     {
893         "charRepertoires",
894         UX_PICTBRIDGE_IR_GC_CHAR_REPERTOIRES,
895         UX_PICTBRIDGE_XML_LEAF,
896         _ux_pictbridge_xml_item_output_getcapability,
897         _ux_pictbridge_xml_function_output_getcapability_capability_charrepertoires,
898     },
899 
900     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
901 };
902 
903 /* Define Pictbridge XML get capability elements. */
904 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_getcapability[] =
905 {
906     {
907         "capability",
908         0,
909         _ux_pictbridge_xml_item_output_getcapability_capability,
910         _ux_pictbridge_xml_item_output,
911         UX_NULL,
912     },
913 
914     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
915 
916 };
917 
918 
919 /* Define Pictbridge XML configure print service elements. */
920 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input_configureprintservice[] =
921 {
922     {
923         "dpsVersions",
924         UX_PICTBRIDGE_IR_CPS_DPS_VERSIONS,
925         UX_PICTBRIDGE_XML_LEAF,
926         _ux_pictbridge_xml_item_input,
927         _ux_pictbridge_xml_function_input_dpsversion,
928     },
929     {
930         "vendorName",
931         UX_PICTBRIDGE_IR_CPS_VENDOR_NAME,
932         UX_PICTBRIDGE_XML_LEAF,
933         _ux_pictbridge_xml_item_input,
934         _ux_pictbridge_xml_function_input_vendorname,
935     },
936     {
937         "vendorSpecificVersion",
938         UX_PICTBRIDGE_IR_CPS_VENDOR_SPECIFIC_VERSION,
939         UX_PICTBRIDGE_XML_LEAF,
940         _ux_pictbridge_xml_item_input,
941         _ux_pictbridge_xml_function_input_vendorspecificversion,
942     },
943     {
944         "productName",
945         UX_PICTBRIDGE_IR_CPS_PRODUCT_NAME,
946         UX_PICTBRIDGE_XML_LEAF,
947         _ux_pictbridge_xml_item_input,
948         _ux_pictbridge_xml_function_input_productname,
949     },
950     {
951         "serialNo",
952         UX_PICTBRIDGE_IR_CPS_SERIAL_NO,
953         UX_PICTBRIDGE_XML_LEAF,
954         _ux_pictbridge_xml_item_input,
955         _ux_pictbridge_xml_function_input_serialno,
956     },
957 
958     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
959 };
960 
961 
962 /* Define Pictbridge XML configure print service elements. */
963 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output_configureprintservice[] =
964 {
965     {
966         "printServiceAvailable",
967         0,
968         UX_NULL,
969         _ux_pictbridge_xml_item_output,
970         _ux_pictbridge_xml_function_output_printserviceavailable,
971     },
972     {
973         "dpsVersions",
974         0,
975         UX_NULL,
976         _ux_pictbridge_xml_item_output,
977         _ux_pictbridge_xml_function_output_dpsversion,
978     },
979     {
980         "vendorName",
981         0,
982         UX_NULL,
983         _ux_pictbridge_xml_item_output,
984         _ux_pictbridge_xml_function_output_vendorname,
985     },
986     {
987         "vendorSpecificVersion",
988         0,
989         UX_NULL,
990         _ux_pictbridge_xml_item_output,
991         _ux_pictbridge_xml_function_output_vendorspecificversion,
992     },
993     {
994         "productName",
995         0,
996         UX_NULL,
997         _ux_pictbridge_xml_item_output,
998         _ux_pictbridge_xml_function_output_productname,
999     },
1000     {
1001         "serialNo",
1002         0,
1003         UX_NULL,
1004         _ux_pictbridge_xml_item_output,
1005         _ux_pictbridge_xml_function_output_serialno,
1006     },
1007 
1008     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
1009 };
1010 
1011 
1012 /* Define Pictbridge XML input elements. */
1013 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_input[] =
1014 {
1015     {
1016         "configurePrintService",
1017         UX_PICTBRIDGE_IR_CONFIGURE_PRINT_SERVICE,
1018         _ux_pictbridge_xml_item_input_configureprintservice,
1019         _ux_pictbridge_xml_item_root,
1020         UX_NULL,
1021     },
1022     {
1023         "getCapability",
1024         UX_PICTBRIDGE_IR_GET_CAPABILITY,
1025         _ux_pictbridge_xml_item_input_getcapability,
1026         _ux_pictbridge_xml_item_root,
1027         UX_NULL,
1028     },
1029     {
1030         "getDeviceStatus",
1031         UX_PICTBRIDGE_IR_GET_DEVICE_STATUS,
1032         UX_NULL,
1033         _ux_pictbridge_xml_item_root,
1034         UX_NULL,
1035     },
1036     {
1037         "getJobStatus",
1038         UX_PICTBRIDGE_IR_GET_JOB_STATUS,
1039         UX_NULL,
1040         _ux_pictbridge_xml_item_root,
1041         _ux_pictbridge_xml_function_input_getjobstatus,
1042     },
1043     {
1044         "startJob",
1045         UX_PICTBRIDGE_IR_START_JOB,
1046         _ux_pictbridge_xml_item_input_startjob,
1047         _ux_pictbridge_xml_item_root,
1048         _ux_pictbridge_xml_function_input_startjob,
1049     },
1050     {
1051         "abortJob",
1052         UX_PICTBRIDGE_IR_ABORT_JOB,
1053         _ux_pictbridge_xml_item_input_abortjob,
1054         _ux_pictbridge_xml_item_root,
1055         UX_NULL,
1056     },
1057     {
1058         "continueJob",
1059         UX_PICTBRIDGE_IR_CONTINUE_JOB,
1060         UX_NULL,
1061         _ux_pictbridge_xml_item_root,
1062         _ux_pictbridge_xml_function_input_continuejob,
1063     },
1064     {
1065         "notifyJobStatus",
1066         UX_PICTBRIDGE_IR_NOTIFY_JOB_STATUS,
1067         _ux_pictbridge_xml_item_input_notifyjobstatus,
1068         _ux_pictbridge_xml_item_root,
1069         _ux_pictbridge_xml_function_input_notifyjobstatus,
1070     },
1071     {
1072         "notifyDeviceStatus",
1073         UX_PICTBRIDGE_IR_NOTIFY_DEVICE_STATUS,
1074         _ux_pictbridge_xml_item_input_notifydevicestatus,
1075         _ux_pictbridge_xml_item_root,
1076         _ux_pictbridge_xml_function_input_notifydevicestatus,
1077     },
1078     {
1079         "getFileID",
1080         0,
1081         _ux_pictbridge_xml_item_input_getfileid,
1082         _ux_pictbridge_xml_item_root,
1083         UX_NULL,
1084     },
1085     {
1086         "getFileInfo",
1087         0,
1088         _ux_pictbridge_xml_item_input_getfileinfo,
1089         _ux_pictbridge_xml_item_root,
1090         UX_NULL,
1091     },
1092     {
1093         "getFile",
1094         0,
1095         _ux_pictbridge_xml_item_input_getfile,
1096         _ux_pictbridge_xml_item_root,
1097         UX_NULL,
1098     },
1099     {
1100         "getPartialFile",
1101         0,
1102         _ux_pictbridge_xml_item_input_getpartialfile,
1103         _ux_pictbridge_xml_item_root,
1104         UX_NULL,
1105     },
1106     {
1107         "getFileList",
1108         0,
1109         _ux_pictbridge_xml_item_input_getfilelist,
1110         _ux_pictbridge_xml_item_root,
1111         UX_NULL,
1112     },
1113     {
1114         "getThumb",
1115         0,
1116         _ux_pictbridge_xml_item_input_getthumb,
1117         _ux_pictbridge_xml_item_root,
1118         UX_NULL,
1119     },
1120 
1121     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
1122 
1123 };
1124 
1125 /* Define Pictbridge XML output elements. */
1126 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_output[] =
1127 {
1128     {
1129         "result",
1130         0,
1131         UX_NULL,
1132         _ux_pictbridge_xml_item_root,
1133         _ux_pictbridge_xml_function_output_result,
1134     },
1135     {
1136         "configurePrintService",
1137         UX_PICTBRIDGE_IR_CONFIGURE_PRINT_SERVICE,
1138         _ux_pictbridge_xml_item_output_configureprintservice,
1139         _ux_pictbridge_xml_item_root,
1140         UX_NULL,
1141     },
1142     {
1143         "getCapability",
1144         UX_PICTBRIDGE_IR_GET_CAPABILITY,
1145         _ux_pictbridge_xml_item_output_getcapability,
1146         _ux_pictbridge_xml_item_root,
1147         UX_NULL,
1148     },
1149     {
1150         "getDeviceStatus",
1151         UX_PICTBRIDGE_IR_GET_DEVICE_STATUS,
1152         _ux_pictbridge_xml_item_output_getdevicestatus,
1153         _ux_pictbridge_xml_item_root,
1154         UX_NULL,
1155     },
1156     {
1157         "getJobStatus",
1158         UX_PICTBRIDGE_IR_GET_JOB_STATUS,
1159         _ux_pictbridge_xml_item_output_getjobstatus,
1160         _ux_pictbridge_xml_item_root,
1161         UX_NULL,
1162     },
1163     {
1164         "startJob",
1165         UX_PICTBRIDGE_IR_START_JOB,
1166         UX_NULL,
1167         _ux_pictbridge_xml_item_root,
1168         _ux_pictbridge_xml_function_output_startjob,
1169     },
1170     {
1171         "abortJob",
1172         UX_PICTBRIDGE_IR_ABORT_JOB,
1173         UX_NULL,
1174         _ux_pictbridge_xml_item_root,
1175         _ux_pictbridge_xml_function_output_abortjob,
1176     },
1177     {
1178         "continueJob",
1179         UX_PICTBRIDGE_IR_CONTINUE_JOB,
1180         UX_NULL,
1181         _ux_pictbridge_xml_item_root,
1182         _ux_pictbridge_xml_function_output_continuejob,
1183     },
1184     {
1185         "notifyJobStatus",
1186         0,
1187         UX_NULL,
1188         _ux_pictbridge_xml_item_root,
1189         _ux_pictbridge_xml_function_output_notifyjobstatus,
1190     },
1191     {
1192         "notifyDeviceStatus",
1193         0,
1194         UX_NULL,
1195         _ux_pictbridge_xml_item_root,
1196         _ux_pictbridge_xml_function_output_notifydevicestatus,
1197     },
1198     {
1199         "getFileID",
1200         0,
1201         _ux_pictbridge_xml_item_output_getfileid,
1202         _ux_pictbridge_xml_item_root,
1203         UX_NULL,
1204     },
1205     {
1206         "getFileInfo",
1207         0,
1208         _ux_pictbridge_xml_item_output_getfileinfo,
1209         _ux_pictbridge_xml_item_root,
1210         UX_NULL,
1211     },
1212     {
1213         "getFile",
1214         0,
1215         _ux_pictbridge_xml_item_output_getfile,
1216         _ux_pictbridge_xml_item_root,
1217         UX_NULL,
1218     },
1219     {
1220         "getPartialFile",
1221         0,
1222         _ux_pictbridge_xml_item_output_getpartialfile,
1223         _ux_pictbridge_xml_item_root,
1224         UX_NULL,
1225     },
1226     {
1227         "getFileList",
1228         0,
1229         _ux_pictbridge_xml_item_output_getfilelist,
1230         _ux_pictbridge_xml_item_root,
1231         UX_NULL,
1232     },
1233     {
1234         "getThumb",
1235         0,
1236         _ux_pictbridge_xml_item_output_getthumb,
1237         _ux_pictbridge_xml_item_root,
1238         UX_NULL,
1239     },
1240 
1241     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
1242 
1243 };
1244 
1245 
1246 /* Define Pictbridge XML Root elements. */
1247 UX_PICTBRIDGE_XML_ITEM  _ux_pictbridge_xml_item_root[] =
1248 {
1249     {
1250         "xml",
1251         0,
1252         UX_NULL,
1253         UX_NULL,
1254         _ux_pictbridge_xml_function_root_xml,
1255     },
1256 
1257     {
1258         "dps",
1259         0,
1260         UX_NULL,
1261         UX_NULL,
1262         _ux_pictbridge_xml_function_root_dps,
1263     },
1264     {
1265         "input",
1266         0,
1267         _ux_pictbridge_xml_item_input,
1268         UX_NULL,
1269         _ux_pictbridge_xml_function_root_input,
1270     },
1271     {
1272         "output",
1273         0,
1274         _ux_pictbridge_xml_item_output,
1275         UX_NULL,
1276         _ux_pictbridge_xml_function_root_output,
1277     },
1278 
1279     { "\0", 0, UX_NULL, UX_NULL, UX_NULL }
1280 
1281 };
1282 
1283 
1284 /* Define Pictbridge Discovery file names.  */
1285 UCHAR _ux_pictbridge_ddiscovery_name[]                              =   "DDISCVRY.DPS";
1286 UCHAR _ux_pictbridge_hdiscovery_name[]                              =   "HDISCVRY.DPS";
1287 UCHAR _ux_pictbridge_hrequest_name[]                                =   "HREQUEST.DPS";
1288 UCHAR _ux_pictbridge_hrsponse_name[]                                =   "HRSPONSE.DPS";
1289 UCHAR _ux_pictbridge_drequest_name[]                                =   "DREQUEST.DPS";
1290 UCHAR _ux_pictbridge_drsponse_name[]                                =   "DRSPONSE.DPS";
1291 
1292 /* Define Pictbridge client volume strings.  */
1293 UCHAR _ux_pictbridge_volume_description[]                           =   "PIMA Client Storage Volume";
1294 UCHAR _ux_pictbridge_volume_label[]                                 =   "PIMA Client Storage Label";
1295 
1296 /* Define Pictbridge XML tag lines or tag names.  */
1297 UCHAR _ux_pictbridge_xml_tag_line_xmlversion[]                      =   "?xml version=\"1.0\"?" ;
1298 UCHAR _ux_pictbridge_xml_tag_line_dpsxmlns[]                        =   "dps xmlns=\"http://www.cipa.jp/dps/schema/\"";
1299 UCHAR _ux_pictbridge_xml_tag_line_dps[]                             =   "dps";
1300 UCHAR _ux_pictbridge_xml_tag_line_output[]                          =   "output";
1301 UCHAR _ux_pictbridge_xml_tag_line_input[]                           =   "input";
1302 UCHAR _ux_pictbridge_xml_tag_line_result[]                          =   "result";
1303 UCHAR _ux_pictbridge_xml_tag_line_configureprintservice[]           =   "configurePrintService";
1304 UCHAR _ux_pictbridge_xml_tag_line_printserviceavailable[]           =   "printServiceAvailable";
1305 UCHAR _ux_pictbridge_xml_tag_line_dpsversions[]                     =   "dpsVersions";
1306 UCHAR _ux_pictbridge_xml_tag_line_vendorname[]                      =   "vendorName";
1307 UCHAR _ux_pictbridge_xml_tag_line_vendorspecificversion[]           =   "vendorSpecificVersion";
1308 UCHAR _ux_pictbridge_xml_tag_line_productname[]                     =   "productName";
1309 UCHAR _ux_pictbridge_xml_tag_line_serialno[]                        =   "serialNo";
1310 UCHAR _ux_pictbridge_xml_tag_line_capability[]                      =   "capability";
1311 UCHAR _ux_pictbridge_xml_tag_line_getcapability[]                   =   "getCapability";
1312 UCHAR _ux_pictbridge_xml_tag_line_qualities[]                       =   "qualities";
1313 UCHAR _ux_pictbridge_xml_tag_line_papersizes[]                      =   "paperSizes";
1314 UCHAR _ux_pictbridge_xml_tag_line_papertypes[]                      =   "paperTypes";
1315 UCHAR _ux_pictbridge_xml_tag_line_filetypes[]                       =   "fileTypes";
1316 UCHAR _ux_pictbridge_xml_tag_line_dateprints[]                      =   "datePrints";
1317 UCHAR _ux_pictbridge_xml_tag_line_filenameprints[]                  =   "fileNamePrints";
1318 UCHAR _ux_pictbridge_xml_tag_line_imageoptimizes[]                  =   "imageOptimizes";
1319 UCHAR _ux_pictbridge_xml_tag_line_layouts[]                         =   "layouts";
1320 UCHAR _ux_pictbridge_xml_tag_line_fixedsizes[]                      =   "fixedSizes";
1321 UCHAR _ux_pictbridge_xml_tag_line_croppings[]                       =   "croppings";
1322 UCHAR _ux_pictbridge_xml_tag_line_charrepertoires[]                 =   "charRepertoires";
1323 UCHAR _ux_pictbridge_xml_tag_line_getdevicestatus[]                 =   "getDeviceStatus";
1324 UCHAR _ux_pictbridge_xml_tag_line_dpsprintservicestatus[]           =   "dpsPrintServiceStatus";
1325 UCHAR _ux_pictbridge_xml_tag_line_jobendreason[]                    =   "jobEndReason";
1326 UCHAR _ux_pictbridge_xml_tag_line_errorstatus[]                     =   "errorStatus";
1327 UCHAR _ux_pictbridge_xml_tag_line_errorreason[]                     =   "errorReason";
1328 UCHAR _ux_pictbridge_xml_tag_line_disconnectenable[]                =   "disconnectEnable";
1329 UCHAR _ux_pictbridge_xml_tag_line_capabilitychanged[]               =   "capabilityChanged";
1330 UCHAR _ux_pictbridge_xml_tag_line_newjobok[]                        =   "newJobOK";
1331 UCHAR _ux_pictbridge_xml_tag_line_notifydevicestatus[]              =   "notifyDeviceStatus";
1332 UCHAR _ux_pictbridge_xml_tag_line_notifyjobstatus[]                 =   "notifyJobStatus";
1333 UCHAR _ux_pictbridge_xml_tag_line_progress[]                        =   "progress";
1334 UCHAR _ux_pictbridge_xml_tag_line_imagesprinted[]                   =   "imagesPrinted";
1335 UCHAR _ux_pictbridge_xml_tag_line_startjob[]                        =   "startJob";
1336 UCHAR _ux_pictbridge_xml_tag_line_abortjob[]                        =   "abortJob";
1337 UCHAR _ux_pictbridge_xml_tag_line_abortstyle[]                      =   "abortStyle";
1338 UCHAR _ux_pictbridge_xml_tag_line_continuejob[]                     =   "continueJob";
1339 UCHAR _ux_pictbridge_xml_tag_line_quality[]                         =   "quality";
1340 UCHAR _ux_pictbridge_xml_tag_line_papersize[]                       =   "paperSize";
1341 UCHAR _ux_pictbridge_xml_tag_line_papertype[]                       =   "paperType";
1342 UCHAR _ux_pictbridge_xml_tag_line_filetype[]                        =   "fileType";
1343 UCHAR _ux_pictbridge_xml_tag_line_dateprint[]                       =   "datePrint";
1344 UCHAR _ux_pictbridge_xml_tag_line_filenameprint[]                   =   "fileNamePrint";
1345 UCHAR _ux_pictbridge_xml_tag_line_imageoptimize[]                   =   "imageOptimize";
1346 UCHAR _ux_pictbridge_xml_tag_line_layout[]                          =   "layout";
1347 UCHAR _ux_pictbridge_xml_tag_line_fixedsize[]                       =   "fixedSize";
1348 UCHAR _ux_pictbridge_xml_tag_line_cropping[]                        =   "cropping";
1349 UCHAR _ux_pictbridge_xml_tag_line_jobconfig[]                       =   "jobConfig";
1350 UCHAR _ux_pictbridge_xml_tag_line_printinfo[]                       =   "printInfo";
1351 UCHAR _ux_pictbridge_xml_tag_line_fileid[]                          =   "fileID";
1352 UCHAR _ux_pictbridge_xml_tag_line_filename[]                        =   "fileName";
1353 UCHAR _ux_pictbridge_xml_tag_line_date[]                            =   "date";
1354 
1355 /* Define Pictbridge XML variable names.  */
1356 UCHAR _ux_pictbridge_xml_variable_papersize[]                       =   "paperSize";
1357 UCHAR _ux_pictbridge_xml_variable_version[]                         =   "version";
1358 UCHAR _ux_pictbridge_xml_variable_xmlns[]                           =   "xmlns";
1359 
1360 /* Define Pictbridge XML string names.  */
1361 UCHAR _ux_pictbridge_xml_string_xmlns[]                             =   "http://www.cipa.jp/dps/schema/";
1362 
1363