source: svn/trunk/newcon3bcm2_21bu/BSEAV/api/build/proxy/bsettop_autogen_driver.c

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 115.5 KB
Line 
1/*********************************
2*
3* This file is autogenerated. Do not modify.
4*
5*********************************/
6case BSETTOP_IOCTL_bdisplay_open:
7  {{
8  ioctl_settopapi_struct_bdisplay_open st;
9
10  rc = copy_from_user(&st, (void*)arg, sizeof(st));
11  if (rc) break;
12  {
13
14  /* Make the function call */
15  st.__retval = bdisplay_open(st.display_id);
16  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bdisplay_close, "bdisplay_close");
17  rc = copy_to_user((void*)arg, &st, sizeof(st));
18  if (rc) {rc = -EFAULT; break;}
19  }
20  }}
21  break;
22
23case BSETTOP_IOCTL_bdisplay_close:
24  {{
25  ioctl_settopapi_struct_bdisplay_close st;
26
27  rc = copy_from_user(&st, (void*)arg, sizeof(st));
28  if (rc) break;
29  {
30
31  /* Make the function call */
32  bdisplay_close(st.display);
33  bhandle_mgr_remove(file->private_data, st.display, "bdisplay_close");
34  rc = 0;
35
36  }
37  }}
38  break;
39
40case BSETTOP_IOCTL_boutput_rf_set:
41  {{
42  ioctl_settopapi_struct_boutput_rf_set st;
43  boutput_rf_settings settings;
44
45  rc = copy_from_user(&st, (void*)arg, sizeof(st));
46  if (rc) break;
47  {
48  if (st.settings) {
49  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
50  if (rc) break;
51  }
52
53  /* Make the function call */
54  st.__retval = boutput_rf_set(st.rf,st.settings ? &settings:NULL);
55  rc = copy_to_user((void*)arg, &st, sizeof(st));
56  if (rc) {rc = -EFAULT; break;}
57  }
58  }}
59  break;
60
61case BSETTOP_IOCTL_boutput_rf_get:
62  {{
63  ioctl_settopapi_struct_boutput_rf_get st;
64  boutput_rf_settings settings;
65
66  rc = copy_from_user(&st, (void*)arg, sizeof(st));
67  if (rc) break;
68  {
69
70  /* Make the function call */
71  boutput_rf_get(st.rf,st.settings ? &settings:NULL);
72  rc = 0;
73
74  if (st.settings) {
75    rc = copy_to_user(st.settings, &settings, sizeof(settings));
76    if (rc) {rc = -EFAULT; break;}
77  }
78  }
79  }}
80  break;
81
82case BSETTOP_IOCTL_boutput_hdmi_set:
83  {{
84  ioctl_settopapi_struct_boutput_hdmi_set st;
85  boutput_hdmi_settings settings;
86
87  rc = copy_from_user(&st, (void*)arg, sizeof(st));
88  if (rc) break;
89  {
90  if (st.settings) {
91  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
92  if (rc) break;
93  }
94  if ( settings.hdmi_hotplug_callback ) { settings.hdmi_hotplug_callback = b_proxy_create_callback(ioctl_settopapi_boutput_dvi_settings_hdmi_hotplug_callback, st.dvi, settings.callback_context); }
95  if ( settings.hdmi_disconnect_callback ) { settings.hdmi_disconnect_callback = b_proxy_create_callback(ioctl_settopapi_boutput_dvi_settings_hdmi_disconnect_callback, st.dvi, settings.callback_context); }
96  if ( settings.hdmi_hdcp_status_callback ) { settings.hdmi_hdcp_status_callback = b_proxy_create_callback(ioctl_settopapi_boutput_dvi_settings_hdmi_hdcp_status_callback, st.dvi, settings.callback_context); }
97
98  /* Make the function call */
99  st.__retval = boutput_hdmi_set(st.dvi,st.settings ? &settings:NULL);
100  rc = copy_to_user((void*)arg, &st, sizeof(st));
101  if (rc) {rc = -EFAULT; break;}
102  }
103  }}
104  break;
105
106case BSETTOP_IOCTL_boutput_hdmi_get:
107  {{
108  ioctl_settopapi_struct_boutput_hdmi_get st;
109  boutput_hdmi_settings settings;
110
111  rc = copy_from_user(&st, (void*)arg, sizeof(st));
112  if (rc) break;
113  {
114
115  /* Make the function call */
116  boutput_hdmi_get(st.dvi,st.settings ? &settings:NULL);
117  rc = 0;
118
119  if (st.settings) {
120    rc = copy_to_user(st.settings, &settings, sizeof(settings));
121    if (rc) {rc = -EFAULT; break;}
122  }
123  }
124  }}
125  break;
126
127case BSETTOP_IOCTL_boutput_hdmi_get_capabilities:
128  {{
129  ioctl_settopapi_struct_boutput_hdmi_get_capabilities st;
130  boutput_hdmi_capabilities caps;
131
132  rc = copy_from_user(&st, (void*)arg, sizeof(st));
133  if (rc) break;
134  {
135
136  /* Make the function call */
137  st.__retval = boutput_hdmi_get_capabilities(st.dvi,st.caps ? &caps:NULL);
138  rc = copy_to_user((void*)arg, &st, sizeof(st));
139  if (rc) {rc = -EFAULT; break;}
140  if (st.caps) {
141    rc = copy_to_user(st.caps, &caps, sizeof(caps));
142    if (rc) {rc = -EFAULT; break;}
143  }
144  }
145  }}
146  break;
147
148case BSETTOP_IOCTL_boutput_hdmi_get_status:
149  {{
150  ioctl_settopapi_struct_boutput_hdmi_get_status st;
151  boutput_hdmi_status status;
152
153  rc = copy_from_user(&st, (void*)arg, sizeof(st));
154  if (rc) break;
155  {
156
157  /* Make the function call */
158  st.__retval = boutput_hdmi_get_status(st.dvi,st.status ? &status:NULL);
159  rc = copy_to_user((void*)arg, &st, sizeof(st));
160  if (rc) {rc = -EFAULT; break;}
161  if (st.status) {
162    rc = copy_to_user(st.status, &status, sizeof(status));
163    if (rc) {rc = -EFAULT; break;}
164  }
165  }
166  }}
167  break;
168
169case BSETTOP_IOCTL_boutput_hdmi_cec_get_message:
170  {{
171  ioctl_settopapi_struct_boutput_hdmi_cec_get_message st;
172  boutput_hdmi_cec_message_data cec_message_data;
173
174  rc = copy_from_user(&st, (void*)arg, sizeof(st));
175  if (rc) break;
176  {
177
178  /* Make the function call */
179  st.__retval = boutput_hdmi_cec_get_message(st.dvi,st.cec_message_data ? &cec_message_data:NULL);
180  rc = copy_to_user((void*)arg, &st, sizeof(st));
181  if (rc) {rc = -EFAULT; break;}
182  if (st.cec_message_data) {
183    rc = copy_to_user(st.cec_message_data, &cec_message_data, sizeof(cec_message_data));
184    if (rc) {rc = -EFAULT; break;}
185  }
186  }
187  }}
188  break;
189
190case BSETTOP_IOCTL_boutput_hdmi_cec_send_message:
191  {{
192  ioctl_settopapi_struct_boutput_hdmi_cec_send_message st;
193  boutput_hdmi_cec_message_data cec_message_data;
194
195  rc = copy_from_user(&st, (void*)arg, sizeof(st));
196  if (rc) break;
197  {
198  if (st.cec_message_data) {
199  rc = copy_from_user((void*)&cec_message_data, st.cec_message_data, sizeof(cec_message_data));
200  if (rc) break;
201  }
202
203  /* Make the function call */
204  st.__retval = boutput_hdmi_cec_send_message(st.dvi,st.cec_message_data ? &cec_message_data:NULL);
205  rc = copy_to_user((void*)arg, &st, sizeof(st));
206  if (rc) {rc = -EFAULT; break;}
207  }
208  }}
209  break;
210
211case BSETTOP_IOCTL_boutput_hdmi_cec_get_configuration:
212  {{
213  ioctl_settopapi_struct_boutput_hdmi_cec_get_configuration st;
214  boutput_hdmi_cec_configuration cec_configuration;
215
216  rc = copy_from_user(&st, (void*)arg, sizeof(st));
217  if (rc) break;
218  {
219
220  /* Make the function call */
221  st.__retval = boutput_hdmi_cec_get_configuration(st.dvi,st.cec_configuration ? &cec_configuration:NULL);
222  rc = copy_to_user((void*)arg, &st, sizeof(st));
223  if (rc) {rc = -EFAULT; break;}
224  if (st.cec_configuration) {
225    rc = copy_to_user(st.cec_configuration, &cec_configuration, sizeof(cec_configuration));
226    if (rc) {rc = -EFAULT; break;}
227  }
228  }
229  }}
230  break;
231
232case BSETTOP_IOCTL_boutput_hdmi_cec_is_device_ready:
233  {{
234  ioctl_settopapi_struct_boutput_hdmi_cec_is_device_ready st;
235
236  rc = copy_from_user(&st, (void*)arg, sizeof(st));
237  if (rc) break;
238  {
239
240  /* Make the function call */
241  st.__retval = boutput_hdmi_cec_is_device_ready(st.dvi);
242  rc = copy_to_user((void*)arg, &st, sizeof(st));
243  if (rc) {rc = -EFAULT; break;}
244  }
245  }}
246  break;
247
248case BSETTOP_IOCTL_boutput_hdmi_cec_enable_receive:
249  {{
250  ioctl_settopapi_struct_boutput_hdmi_cec_enable_receive st;
251
252  rc = copy_from_user(&st, (void*)arg, sizeof(st));
253  if (rc) break;
254  {
255
256  /* Make the function call */
257  st.__retval = boutput_hdmi_cec_enable_receive(st.dvi);
258  rc = copy_to_user((void*)arg, &st, sizeof(st));
259  if (rc) {rc = -EFAULT; break;}
260  }
261  }}
262  break;
263
264case BSETTOP_IOCTL_boutput_component_set:
265  {{
266  ioctl_settopapi_struct_boutput_component_set st;
267  boutput_component_settings settings;
268
269  rc = copy_from_user(&st, (void*)arg, sizeof(st));
270  if (rc) break;
271  {
272  if (st.settings) {
273  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
274  if (rc) break;
275  }
276
277  /* Make the function call */
278  st.__retval = boutput_component_set(st.component,st.settings ? &settings:NULL);
279  rc = copy_to_user((void*)arg, &st, sizeof(st));
280  if (rc) {rc = -EFAULT; break;}
281  }
282  }}
283  break;
284
285case BSETTOP_IOCTL_boutput_component_get:
286  {{
287  ioctl_settopapi_struct_boutput_component_get st;
288  boutput_component_settings settings;
289
290  rc = copy_from_user(&st, (void*)arg, sizeof(st));
291  if (rc) break;
292  {
293
294  /* Make the function call */
295  boutput_component_get(st.component,st.settings ? &settings:NULL);
296  rc = 0;
297
298  if (st.settings) {
299    rc = copy_to_user(st.settings, &settings, sizeof(settings));
300    if (rc) {rc = -EFAULT; break;}
301  }
302  }
303  }}
304  break;
305
306case BSETTOP_IOCTL_boutput_spdif_set:
307  {{
308  ioctl_settopapi_struct_boutput_spdif_set st;
309  boutput_spdif_settings settings;
310
311  rc = copy_from_user(&st, (void*)arg, sizeof(st));
312  if (rc) break;
313  {
314  if (st.settings) {
315  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
316  if (rc) break;
317  }
318
319  /* Make the function call */
320  st.__retval = boutput_spdif_set(st.spdif,st.settings ? &settings:NULL);
321  rc = copy_to_user((void*)arg, &st, sizeof(st));
322  if (rc) {rc = -EFAULT; break;}
323  }
324  }}
325  break;
326
327case BSETTOP_IOCTL_boutput_spdif_get:
328  {{
329  ioctl_settopapi_struct_boutput_spdif_get st;
330  boutput_spdif_settings settings;
331
332  rc = copy_from_user(&st, (void*)arg, sizeof(st));
333  if (rc) break;
334  {
335
336  /* Make the function call */
337  boutput_spdif_get(st.spdif,st.settings ? &settings:NULL);
338  rc = 0;
339
340  if (st.settings) {
341    rc = copy_to_user(st.settings, &settings, sizeof(settings));
342    if (rc) {rc = -EFAULT; break;}
343  }
344  }
345  }}
346  break;
347
348case BSETTOP_IOCTL_boutput_spdif_open:
349  {{
350  ioctl_settopapi_struct_boutput_spdif_open st;
351
352  rc = copy_from_user(&st, (void*)arg, sizeof(st));
353  if (rc) break;
354  {
355
356  /* Make the function call */
357  st.__retval = boutput_spdif_open(st.spdif_id);
358  rc = copy_to_user((void*)arg, &st, sizeof(st));
359  if (rc) {rc = -EFAULT; break;}
360  }
361  }}
362  break;
363
364case BSETTOP_IOCTL_boutput_rf_open:
365  {{
366  ioctl_settopapi_struct_boutput_rf_open st;
367
368  rc = copy_from_user(&st, (void*)arg, sizeof(st));
369  if (rc) break;
370  {
371
372  /* Make the function call */
373  st.__retval = boutput_rf_open(st.rfmod_id);
374  rc = copy_to_user((void*)arg, &st, sizeof(st));
375  if (rc) {rc = -EFAULT; break;}
376  }
377  }}
378  break;
379
380case BSETTOP_IOCTL_boutput_composite_open:
381  {{
382  ioctl_settopapi_struct_boutput_composite_open st;
383
384  rc = copy_from_user(&st, (void*)arg, sizeof(st));
385  if (rc) break;
386  {
387
388  /* Make the function call */
389  st.__retval = boutput_composite_open(st.composite_id);
390  rc = copy_to_user((void*)arg, &st, sizeof(st));
391  if (rc) {rc = -EFAULT; break;}
392  }
393  }}
394  break;
395
396case BSETTOP_IOCTL_boutput_svideo_open:
397  {{
398  ioctl_settopapi_struct_boutput_svideo_open st;
399
400  rc = copy_from_user(&st, (void*)arg, sizeof(st));
401  if (rc) break;
402  {
403
404  /* Make the function call */
405  st.__retval = boutput_svideo_open(st.svideo_id);
406  rc = copy_to_user((void*)arg, &st, sizeof(st));
407  if (rc) {rc = -EFAULT; break;}
408  }
409  }}
410  break;
411
412case BSETTOP_IOCTL_boutput_hdmi_open:
413  {{
414  ioctl_settopapi_struct_boutput_hdmi_open st;
415
416  rc = copy_from_user(&st, (void*)arg, sizeof(st));
417  if (rc) break;
418  {
419
420  /* Make the function call */
421  st.__retval = boutput_hdmi_open(st.dvi_id);
422  rc = copy_to_user((void*)arg, &st, sizeof(st));
423  if (rc) {rc = -EFAULT; break;}
424  }
425  }}
426  break;
427
428case BSETTOP_IOCTL_boutput_component_open:
429  {{
430  ioctl_settopapi_struct_boutput_component_open st;
431
432  rc = copy_from_user(&st, (void*)arg, sizeof(st));
433  if (rc) break;
434  {
435
436  /* Make the function call */
437  st.__retval = boutput_component_open(st.component_id);
438  rc = copy_to_user((void*)arg, &st, sizeof(st));
439  if (rc) {rc = -EFAULT; break;}
440  }
441  }}
442  break;
443
444case BSETTOP_IOCTL_bdisplay_get_video_format_settings:
445  {{
446  ioctl_settopapi_struct_bdisplay_get_video_format_settings st;
447  bdisplay_settings settings;
448  bvideo_format_settings format_settings;
449
450  rc = copy_from_user(&st, (void*)arg, sizeof(st));
451  if (rc) break;
452  {
453  if (st.settings) {
454  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
455  if (rc) break;
456  }
457
458  /* Make the function call */
459  bdisplay_get_video_format_settings(st.settings ? &settings:NULL,st.format_settings ? &format_settings:NULL);
460  rc = 0;
461
462  if (st.format_settings) {
463    rc = copy_to_user(st.format_settings, &format_settings, sizeof(format_settings));
464    if (rc) {rc = -EFAULT; break;}
465  }
466  }
467  }}
468  break;
469
470case BSETTOP_IOCTL_bvideo_get_format_settings:
471  {{
472  ioctl_settopapi_struct_bvideo_get_format_settings st;
473  bvideo_format_settings settings;
474
475  rc = copy_from_user(&st, (void*)arg, sizeof(st));
476  if (rc) break;
477  {
478
479  /* Make the function call */
480  bvideo_get_format_settings(st.format,st.settings ? &settings:NULL);
481  rc = 0;
482
483  if (st.settings) {
484    rc = copy_to_user(st.settings, &settings, sizeof(settings));
485    if (rc) {rc = -EFAULT; break;}
486  }
487  }
488  }}
489  break;
490
491case BSETTOP_IOCTL_bdisplay_set:
492  {{
493  ioctl_settopapi_struct_bdisplay_set st;
494  bdisplay_settings settings;
495  bmacrovision_tables mv_tables;
496
497  rc = copy_from_user(&st, (void*)arg, sizeof(st));
498  if (rc) break;
499  {
500  if (st.settings) {
501  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
502  if (rc) break;
503  }
504  if (st.settings && settings.macrovision_tables) {
505    rc = copy_from_user(&mv_tables, (void*)settings.macrovision_tables, sizeof(mv_tables));
506    if (rc) break;
507    settings.macrovision_tables = &mv_tables;
508  }
509
510  /* Make the function call */
511  st.__retval = bdisplay_set(st.display,st.settings ? &settings:NULL);
512  rc = copy_to_user((void*)arg, &st, sizeof(st));
513  if (rc) {rc = -EFAULT; break;}
514  }
515  }}
516  break;
517
518case BSETTOP_IOCTL_bdisplay_get:
519  {{
520  ioctl_settopapi_struct_bdisplay_get st;
521  bdisplay_settings settings;
522
523  rc = copy_from_user(&st, (void*)arg, sizeof(st));
524  if (rc) break;
525  {
526
527  /* Make the function call */
528  bdisplay_get(st.display,st.settings ? &settings:NULL);
529  rc = 0;
530
531  if (st.settings) {
532    rc = copy_to_user(st.settings, &settings, sizeof(settings));
533    if (rc) {rc = -EFAULT; break;}
534  }
535  }
536  }}
537  break;
538
539case BSETTOP_IOCTL_bdecode_window_open:
540  {{
541  ioctl_settopapi_struct_bdecode_window_open st;
542
543  rc = copy_from_user(&st, (void*)arg, sizeof(st));
544  if (rc) break;
545  {
546
547  /* Make the function call */
548  st.__retval = bdecode_window_open(st.window_id,st.display);
549  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bdecode_window_close, "bdecode_window_close");
550  rc = copy_to_user((void*)arg, &st, sizeof(st));
551  if (rc) {rc = -EFAULT; break;}
552  }
553  }}
554  break;
555
556case BSETTOP_IOCTL_bdecode_window_open_mosaic:
557  {{
558  ioctl_settopapi_struct_bdecode_window_open_mosaic st;
559
560  rc = copy_from_user(&st, (void*)arg, sizeof(st));
561  if (rc) break;
562  {
563
564  /* Make the function call */
565  st.__retval = bdecode_window_open_mosaic(st.parent_window,st.mosaic_id);
566  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bdecode_window_close, "bdecode_window_close");
567  rc = copy_to_user((void*)arg, &st, sizeof(st));
568  if (rc) {rc = -EFAULT; break;}
569  }
570  }}
571  break;
572
573case BSETTOP_IOCTL_bdecode_window_close:
574  {{
575  ioctl_settopapi_struct_bdecode_window_close st;
576
577  rc = copy_from_user(&st, (void*)arg, sizeof(st));
578  if (rc) break;
579  {
580
581  /* Make the function call */
582  bdecode_window_close(st.window);
583  bhandle_mgr_remove(file->private_data, st.window, "bdecode_window_close");
584  rc = 0;
585
586  }
587  }}
588  break;
589
590case BSETTOP_IOCTL_bdecode_window_clone:
591  {{
592  ioctl_settopapi_struct_bdecode_window_clone st;
593
594  rc = copy_from_user(&st, (void*)arg, sizeof(st));
595  if (rc) break;
596  {
597
598  /* Make the function call */
599  st.__retval = bdecode_window_clone(st.window,st.clone_window_id,st.display);
600  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bdecode_window_close, "bdecode_window_close");
601  rc = copy_to_user((void*)arg, &st, sizeof(st));
602  if (rc) {rc = -EFAULT; break;}
603  }
604  }}
605  break;
606
607case BSETTOP_IOCTL_bdisplay_set_dac_audio_volume:
608  {{
609  ioctl_settopapi_struct_bdisplay_set_dac_audio_volume st;
610  baudio_volume volume;
611
612  rc = copy_from_user(&st, (void*)arg, sizeof(st));
613  if (rc) break;
614  {
615  if (st.volume) {
616  rc = copy_from_user((void*)&volume, st.volume, sizeof(volume));
617  if (rc) break;
618  }
619
620  /* Make the function call */
621  st.__retval = bdisplay_set_dac_audio_volume(st.display,st.volume ? &volume:NULL);
622  rc = copy_to_user((void*)arg, &st, sizeof(st));
623  if (rc) {rc = -EFAULT; break;}
624  }
625  }}
626  break;
627
628case BSETTOP_IOCTL_bdisplay_get_dac_audio_volume:
629  {{
630  ioctl_settopapi_struct_bdisplay_get_dac_audio_volume st;
631  baudio_volume volume;
632
633  rc = copy_from_user(&st, (void*)arg, sizeof(st));
634  if (rc) break;
635  {
636
637  /* Make the function call */
638  st.__retval = bdisplay_get_dac_audio_volume(st.display,st.volume ? &volume:NULL);
639  rc = copy_to_user((void*)arg, &st, sizeof(st));
640  if (rc) {rc = -EFAULT; break;}
641  if (st.volume) {
642    rc = copy_to_user(st.volume, &volume, sizeof(volume));
643    if (rc) {rc = -EFAULT; break;}
644  }
645  }
646  }}
647  break;
648
649case BSETTOP_IOCTL_boutput_rf_set_audio_volume:
650  {{
651  ioctl_settopapi_struct_boutput_rf_set_audio_volume st;
652  baudio_volume volume;
653
654  rc = copy_from_user(&st, (void*)arg, sizeof(st));
655  if (rc) break;
656  {
657  if (st.volume) {
658  rc = copy_from_user((void*)&volume, st.volume, sizeof(volume));
659  if (rc) break;
660  }
661
662  /* Make the function call */
663  st.__retval = boutput_rf_set_audio_volume(st.rf,st.volume ? &volume:NULL);
664  rc = copy_to_user((void*)arg, &st, sizeof(st));
665  if (rc) {rc = -EFAULT; break;}
666  }
667  }}
668  break;
669
670case BSETTOP_IOCTL_boutput_spdif_set_audio_volume:
671  {{
672  ioctl_settopapi_struct_boutput_spdif_set_audio_volume st;
673  baudio_volume volume;
674
675  rc = copy_from_user(&st, (void*)arg, sizeof(st));
676  if (rc) break;
677  {
678  if (st.volume) {
679  rc = copy_from_user((void*)&volume, st.volume, sizeof(volume));
680  if (rc) break;
681  }
682
683  /* Make the function call */
684  st.__retval = boutput_spdif_set_audio_volume(st.spdif,st.volume ? &volume:NULL);
685  rc = copy_to_user((void*)arg, &st, sizeof(st));
686  if (rc) {rc = -EFAULT; break;}
687  }
688  }}
689  break;
690
691case BSETTOP_IOCTL_boutput_spdif_get_audio_volume:
692  {{
693  ioctl_settopapi_struct_boutput_spdif_get_audio_volume st;
694  baudio_volume volume;
695
696  rc = copy_from_user(&st, (void*)arg, sizeof(st));
697  if (rc) break;
698  {
699
700  /* Make the function call */
701  st.__retval = boutput_spdif_get_audio_volume(st.spdif,st.volume ? &volume:NULL);
702  rc = copy_to_user((void*)arg, &st, sizeof(st));
703  if (rc) {rc = -EFAULT; break;}
704  if (st.volume) {
705    rc = copy_to_user(st.volume, &volume, sizeof(volume));
706    if (rc) {rc = -EFAULT; break;}
707  }
708  }
709  }}
710  break;
711
712case BSETTOP_IOCTL_boutput_rf_get_audio_volume:
713  {{
714  ioctl_settopapi_struct_boutput_rf_get_audio_volume st;
715  baudio_volume volume;
716
717  rc = copy_from_user(&st, (void*)arg, sizeof(st));
718  if (rc) break;
719  {
720
721  /* Make the function call */
722  st.__retval = boutput_rf_get_audio_volume(st.rf,st.volume ? &volume:NULL);
723  rc = copy_to_user((void*)arg, &st, sizeof(st));
724  if (rc) {rc = -EFAULT; break;}
725  if (st.volume) {
726    rc = copy_to_user(st.volume, &volume, sizeof(volume));
727    if (rc) {rc = -EFAULT; break;}
728  }
729  }
730  }}
731  break;
732
733case BSETTOP_IOCTL_bdecode_window_get:
734  {{
735  ioctl_settopapi_struct_bdecode_window_get st;
736  bdecode_window_settings settings;
737
738  rc = copy_from_user(&st, (void*)arg, sizeof(st));
739  if (rc) break;
740  {
741
742  /* Make the function call */
743  st.__retval = bdecode_window_get(st.window,st.settings ? &settings:NULL);
744  rc = copy_to_user((void*)arg, &st, sizeof(st));
745  if (rc) {rc = -EFAULT; break;}
746  if (st.settings) {
747    rc = copy_to_user(st.settings, &settings, sizeof(settings));
748    if (rc) {rc = -EFAULT; break;}
749  }
750  }
751  }}
752  break;
753
754case BSETTOP_IOCTL_bdecode_window_set:
755  {{
756  ioctl_settopapi_struct_bdecode_window_set st;
757  bdecode_window_settings settings;
758
759  rc = copy_from_user(&st, (void*)arg, sizeof(st));
760  if (rc) break;
761  {
762  if (st.settings) {
763  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
764  if (rc) break;
765  }
766
767  /* Make the function call */
768  st.__retval = bdecode_window_set(st.window,st.settings ? &settings:NULL);
769  rc = copy_to_user((void*)arg, &st, sizeof(st));
770  if (rc) {rc = -EFAULT; break;}
771  }
772  }}
773  break;
774
775case BSETTOP_IOCTL_bmessage_open:
776  {{
777  ioctl_settopapi_struct_bmessage_open st;
778
779  rc = copy_from_user(&st, (void*)arg, sizeof(st));
780  if (rc) break;
781  {
782
783  /* Make the function call */
784  st.__retval = bmessage_open(st.format);
785  rc = copy_to_user((void*)arg, &st, sizeof(st));
786  if (rc) {rc = -EFAULT; break;}
787  }
788  }}
789  break;
790
791case BSETTOP_IOCTL_bmessage_stream_params_init:
792  {{
793  ioctl_settopapi_struct_bmessage_stream_params_init st;
794  bmessage_stream_params params;
795
796  rc = copy_from_user(&st, (void*)arg, sizeof(st));
797  if (rc) break;
798  {
799
800  /* Make the function call */
801  bmessage_stream_params_init(st.params ? &params:NULL,st.stream);
802  rc = 0;
803
804  if (st.params) {
805    rc = copy_to_user(st.params, &params, sizeof(params));
806    if (rc) {rc = -EFAULT; break;}
807  }
808  }
809  }}
810  break;
811
812case BSETTOP_IOCTL_bmessage_start:
813  {{
814  ioctl_settopapi_struct_bmessage_start st;
815  bmessage_stream_params params;
816
817  rc = copy_from_user(&st, (void*)arg, sizeof(st));
818  if (rc) break;
819  {
820  if (st.params) {
821  rc = copy_from_user((void*)&params, st.params, sizeof(params));
822  if (rc) break;
823  }
824  if ( params.data_ready_callback ) { params.data_ready_callback = b_proxy_create_callback(ioctl_settopapi_bmessage_data_ready_callback, st.message_stream, params.callback_context); }
825  if ( params.overflow ) { params.overflow = b_proxy_create_callback(ioctl_settopapi_bmessage_overflow_callback, st.message_stream, params.callback_context); }
826
827  /* Make the function call */
828  st.__retval = bmessage_start(st.message_stream,st.params ? &params:NULL);
829  rc = copy_to_user((void*)arg, &st, sizeof(st));
830  if (rc) {rc = -EFAULT; break;}
831  }
832  }}
833  break;
834
835case BSETTOP_IOCTL_bmessage_get_buffer:
836  {{
837  ioctl_settopapi_struct_bmessage_get_buffer st;
838  const void * p_bfr;
839  size_t length;
840
841  rc = copy_from_user(&st, (void*)arg, sizeof(st));
842  if (rc) break;
843  {
844
845  /* Make the function call */
846  st.__retval = bmessage_get_buffer(st.message_stream,st.p_bfr ? &p_bfr:NULL,st.length ? &length:NULL);
847  rc = copy_to_user((void*)arg, &st, sizeof(st));
848  if (rc) {rc = -EFAULT; break;}
849  if (st.p_bfr) {
850    rc = copy_to_user(st.p_bfr, &p_bfr, sizeof(p_bfr));
851    if (rc) {rc = -EFAULT; break;}
852  }
853  if (st.length) {
854    rc = copy_to_user(st.length, &length, sizeof(length));
855    if (rc) {rc = -EFAULT; break;}
856  }
857  }
858  }}
859  break;
860
861case BSETTOP_IOCTL_bmessage_read_complete:
862  {{
863  ioctl_settopapi_struct_bmessage_read_complete st;
864
865  rc = copy_from_user(&st, (void*)arg, sizeof(st));
866  if (rc) break;
867  {
868
869  /* Make the function call */
870  st.__retval = bmessage_read_complete(st.message_stream,st.amount_consumed);
871  rc = copy_to_user((void*)arg, &st, sizeof(st));
872  if (rc) {rc = -EFAULT; break;}
873  }
874  }}
875  break;
876
877case BSETTOP_IOCTL_bmessage_stop:
878  {{
879  ioctl_settopapi_struct_bmessage_stop st;
880
881  rc = copy_from_user(&st, (void*)arg, sizeof(st));
882  if (rc) break;
883  {
884
885  /* Make the function call */
886  bmessage_stop(st.message_stream);
887  rc = 0;
888
889  }
890  }}
891  break;
892
893case BSETTOP_IOCTL_bmessage_close:
894  {{
895  ioctl_settopapi_struct_bmessage_close st;
896
897  rc = copy_from_user(&st, (void*)arg, sizeof(st));
898  if (rc) break;
899  {
900
901  /* Make the function call */
902  bmessage_close(st.message_stream);
903  rc = 0;
904
905  }
906  }}
907  break;
908
909case BSETTOP_IOCTL_brecpump_get_open_params:
910  {{
911  ioctl_settopapi_struct_brecpump_get_open_params st;
912  brecpump_open_params open_params;
913
914  rc = copy_from_user(&st, (void*)arg, sizeof(st));
915  if (rc) break;
916  {
917
918  /* Make the function call */
919  brecpump_get_open_params(st.id,st.open_params ? &open_params:NULL);
920  rc = 0;
921
922  if (st.open_params) {
923    rc = copy_to_user(st.open_params, &open_params, sizeof(open_params));
924    if (rc) {rc = -EFAULT; break;}
925  }
926  }
927  }}
928  break;
929
930case BSETTOP_IOCTL_brecpump_open:
931  {{
932  ioctl_settopapi_struct_brecpump_open st;
933  brecpump_open_params open_params;
934
935  rc = copy_from_user(&st, (void*)arg, sizeof(st));
936  if (rc) break;
937  {
938  if (st.open_params) {
939  rc = copy_from_user((void*)&open_params, st.open_params, sizeof(open_params));
940  if (rc) break;
941  }
942
943  /* Make the function call */
944  st.__retval = brecpump_open(st.id,st.open_params ? &open_params:NULL);
945  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)brecpump_close, "brecpump_close");
946  rc = copy_to_user((void*)arg, &st, sizeof(st));
947  if (rc) {rc = -EFAULT; break;}
948  }
949  }}
950  break;
951
952case BSETTOP_IOCTL_brecpump_close:
953  {{
954  ioctl_settopapi_struct_brecpump_close st;
955
956  rc = copy_from_user(&st, (void*)arg, sizeof(st));
957  if (rc) break;
958  {
959
960  /* Make the function call */
961  brecpump_close(st.recpump);
962  bhandle_mgr_remove(file->private_data, st.recpump, "brecpump_close");
963  rc = 0;
964
965  }
966  }}
967  break;
968
969case BSETTOP_IOCTL_brecpump_params_init:
970  {{
971  ioctl_settopapi_struct_brecpump_params_init st;
972  brecpump_params params;
973
974  rc = copy_from_user(&st, (void*)arg, sizeof(st));
975  if (rc) break;
976  {
977
978  /* Make the function call */
979  brecpump_params_init(st.params ? &params:NULL,st.recpump);
980  rc = 0;
981
982  if (st.params) {
983    rc = copy_to_user(st.params, &params, sizeof(params));
984    if (rc) {rc = -EFAULT; break;}
985  }
986  }
987  }}
988  break;
989
990case BSETTOP_IOCTL_brecpump_start:
991  {{
992  ioctl_settopapi_struct_brecpump_start st;
993  brecpump_params params;
994
995  rc = copy_from_user(&st, (void*)arg, sizeof(st));
996  if (rc) break;
997  {
998  if (st.params) {
999  rc = copy_from_user((void*)&params, st.params, sizeof(params));
1000  if (rc) break;
1001  }
1002  if ( params.data_write_callback ) { params.data_write_callback = b_proxy_create_callback(ioctl_settopapi_brecpump_data_write_callback, st.recpump, params.callback_context); }
1003  if ( params.index_write_callback ) { params.index_write_callback = b_proxy_create_callback(ioctl_settopapi_brecpump_index_write_callback, st.recpump, params.callback_context); }
1004  if ( params.overflow ) { params.overflow = b_proxy_create_callback(ioctl_settopapi_brecpump_overflow_callback, st.recpump, params.callback_context); }
1005
1006  /* Make the function call */
1007  st.__retval = brecpump_start(st.recpump,st.stream,st.params ? &params:NULL);
1008  rc = copy_to_user((void*)arg, &st, sizeof(st));
1009  if (rc) {rc = -EFAULT; break;}
1010  }
1011  }}
1012  break;
1013
1014case BSETTOP_IOCTL_brecpump_stop:
1015  {{
1016  ioctl_settopapi_struct_brecpump_stop st;
1017
1018  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1019  if (rc) break;
1020  {
1021
1022  /* Make the function call */
1023  st.__retval = brecpump_stop(st.recpump);
1024  rc = copy_to_user((void*)arg, &st, sizeof(st));
1025  if (rc) {rc = -EFAULT; break;}
1026  }
1027  }}
1028  break;
1029
1030case BSETTOP_IOCTL_brecpump_immediate_stop:
1031  {{
1032  ioctl_settopapi_struct_brecpump_immediate_stop st;
1033
1034  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1035  if (rc) break;
1036  {
1037
1038  /* Make the function call */
1039  brecpump_immediate_stop(st.recpump);
1040  rc = 0;
1041
1042  }
1043  }}
1044  break;
1045
1046case BSETTOP_IOCTL_brecpump_data_get_buffer:
1047  {{
1048  ioctl_settopapi_struct_brecpump_data_get_buffer st;
1049  const void * buffer;
1050  size_t buffer_size;
1051
1052  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1053  if (rc) break;
1054  {
1055
1056  /* Make the function call */
1057  st.__retval = brecpump_data_get_buffer(st.recpump,st.buffer ? &buffer:NULL,st.buffer_size ? &buffer_size:NULL);
1058  rc = copy_to_user((void*)arg, &st, sizeof(st));
1059  if (rc) {rc = -EFAULT; break;}
1060  if (st.buffer) {
1061    rc = copy_to_user(st.buffer, &buffer, sizeof(buffer));
1062    if (rc) {rc = -EFAULT; break;}
1063  }
1064  if (st.buffer_size) {
1065    rc = copy_to_user(st.buffer_size, &buffer_size, sizeof(buffer_size));
1066    if (rc) {rc = -EFAULT; break;}
1067  }
1068  }
1069  }}
1070  break;
1071
1072case BSETTOP_IOCTL_brecpump_index_get_buffer:
1073  {{
1074  ioctl_settopapi_struct_brecpump_index_get_buffer st;
1075  const void * buffer;
1076  size_t buffer_size;
1077
1078  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1079  if (rc) break;
1080  {
1081
1082  /* Make the function call */
1083  st.__retval = brecpump_index_get_buffer(st.recpump,st.buffer ? &buffer:NULL,st.buffer_size ? &buffer_size:NULL);
1084  rc = copy_to_user((void*)arg, &st, sizeof(st));
1085  if (rc) {rc = -EFAULT; break;}
1086  if (st.buffer) {
1087    rc = copy_to_user(st.buffer, &buffer, sizeof(buffer));
1088    if (rc) {rc = -EFAULT; break;}
1089  }
1090  if (st.buffer_size) {
1091    rc = copy_to_user(st.buffer_size, &buffer_size, sizeof(buffer_size));
1092    if (rc) {rc = -EFAULT; break;}
1093  }
1094  }
1095  }}
1096  break;
1097
1098case BSETTOP_IOCTL_brecpump_data_write_complete:
1099  {{
1100  ioctl_settopapi_struct_brecpump_data_write_complete st;
1101
1102  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1103  if (rc) break;
1104  {
1105
1106  /* Make the function call */
1107  st.__retval = brecpump_data_write_complete(st.recpump,st.amount_written);
1108  rc = copy_to_user((void*)arg, &st, sizeof(st));
1109  if (rc) {rc = -EFAULT; break;}
1110  }
1111  }}
1112  break;
1113
1114case BSETTOP_IOCTL_brecpump_index_write_complete:
1115  {{
1116  ioctl_settopapi_struct_brecpump_index_write_complete st;
1117
1118  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1119  if (rc) break;
1120  {
1121
1122  /* Make the function call */
1123  st.__retval = brecpump_index_write_complete(st.recpump,st.amount_written);
1124  rc = copy_to_user((void*)arg, &st, sizeof(st));
1125  if (rc) {rc = -EFAULT; break;}
1126  }
1127  }}
1128  break;
1129
1130case BSETTOP_IOCTL_brecpump_get_status:
1131  {{
1132  ioctl_settopapi_struct_brecpump_get_status st;
1133  brecpump_status status;
1134
1135  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1136  if (rc) break;
1137  {
1138
1139  /* Make the function call */
1140  brecpump_get_status(st.recpump,st.status ? &status:NULL);
1141  rc = 0;
1142
1143  if (st.status) {
1144    rc = copy_to_user(st.status, &status, sizeof(status));
1145    if (rc) {rc = -EFAULT; break;}
1146  }
1147  }
1148  }}
1149  break;
1150
1151case BSETTOP_IOCTL_bcipher_open:
1152  {{
1153  ioctl_settopapi_struct_bcipher_open st;
1154
1155  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1156  if (rc) break;
1157  {
1158
1159  /* Make the function call */
1160  st.__retval = bcipher_open(st.id);
1161  rc = copy_to_user((void*)arg, &st, sizeof(st));
1162  if (rc) {rc = -EFAULT; break;}
1163  }
1164  }}
1165  break;
1166
1167case BSETTOP_IOCTL_bcipher_close:
1168  {{
1169  ioctl_settopapi_struct_bcipher_close st;
1170
1171  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1172  if (rc) break;
1173  {
1174
1175  /* Make the function call */
1176  bcipher_close(st.encrypt);
1177  rc = 0;
1178
1179  }
1180  }}
1181  break;
1182
1183case BSETTOP_IOCTL_bcipher_settings_init:
1184  {{
1185  ioctl_settopapi_struct_bcipher_settings_init st;
1186  bcipher_settings settings;
1187
1188  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1189  if (rc) break;
1190  {
1191
1192  /* Make the function call */
1193  bcipher_settings_init(st.settings ? &settings:NULL,st.cipher);
1194  rc = 0;
1195
1196  if (st.settings) {
1197    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1198    if (rc) {rc = -EFAULT; break;}
1199  }
1200  }
1201  }}
1202  break;
1203
1204case BSETTOP_IOCTL_bcipher_convert_data:
1205  {{
1206  ioctl_settopapi_struct_bcipher_convert_data st;
1207  void * dest;
1208  const void * source;
1209  bcipher_settings settings;
1210
1211  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1212  if (rc) break;
1213  {
1214  unsigned char dest_array[st.datalen];
1215  dest = dest_array;
1216  unsigned char source_array[st.datalen];
1217  source = source_array;
1218  rc = copy_from_user((void*)source, st.source, st.datalen*sizeof(unsigned char));
1219  if (rc) break;
1220  if (st.settings) {
1221  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
1222  if (rc) break;
1223  }
1224
1225  /* Make the function call */
1226  st.__retval = bcipher_convert_data(st.handle,dest,source,st.datalen,st.settings ? &settings:NULL);
1227  rc = copy_to_user((void*)arg, &st, sizeof(st));
1228  if (rc) {rc = -EFAULT; break;}
1229  if (st.dest) {
1230    rc = copy_to_user(st.dest, dest, st.datalen*sizeof(unsigned char));
1231    if (rc) {rc = -EFAULT; break;}
1232  }
1233  }
1234  }}
1235  break;
1236
1237case BSETTOP_IOCTL_bencode_open:
1238  {{
1239  ioctl_settopapi_struct_bencode_open st;
1240
1241  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1242  if (rc) break;
1243  {
1244
1245  /* Make the function call */
1246  st.__retval = bencode_open(st.id);
1247  rc = copy_to_user((void*)arg, &st, sizeof(st));
1248  if (rc) {rc = -EFAULT; break;}
1249  }
1250  }}
1251  break;
1252
1253case BSETTOP_IOCTL_bencode_close:
1254  {{
1255  ioctl_settopapi_struct_bencode_close st;
1256
1257  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1258  if (rc) break;
1259  {
1260
1261  /* Make the function call */
1262  bencode_close(st.encode);
1263  rc = 0;
1264
1265  }
1266  }}
1267  break;
1268
1269case BSETTOP_IOCTL_bencode_extended_settings_init:
1270  {{
1271  ioctl_settopapi_struct_bencode_extended_settings_init st;
1272  bencode_settings settings;
1273
1274  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1275  if (rc) break;
1276  {
1277
1278  /* Make the function call */
1279  bencode_extended_settings_init(st.settings ? &settings:NULL,st.quality,st.encode,st.vpp_mode);
1280  rc = 0;
1281
1282  if (st.settings) {
1283    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1284    if (rc) {rc = -EFAULT; break;}
1285  }
1286  }
1287  }}
1288  break;
1289
1290case BSETTOP_IOCTL_bencode_settings_init:
1291  {{
1292  ioctl_settopapi_struct_bencode_settings_init st;
1293  bencode_settings settings;
1294
1295  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1296  if (rc) break;
1297  {
1298
1299  /* Make the function call */
1300  bencode_settings_init(st.settings ? &settings:NULL,st.quality,st.encode);
1301  rc = 0;
1302
1303  if (st.settings) {
1304    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1305    if (rc) {rc = -EFAULT; break;}
1306  }
1307  }
1308  }}
1309  break;
1310
1311case BSETTOP_IOCTL_bencode_start:
1312  {{
1313  ioctl_settopapi_struct_bencode_start st;
1314  bencode_settings settings;
1315
1316  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1317  if (rc) break;
1318  {
1319  if (st.settings) {
1320  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
1321  if (rc) break;
1322  }
1323
1324  /* Make the function call */
1325  st.__retval = bencode_start(st.encode,st.stream,st.settings ? &settings:NULL);
1326  rc = copy_to_user((void*)arg, &st, sizeof(st));
1327  if (rc) {rc = -EFAULT; break;}
1328  }
1329  }}
1330  break;
1331
1332case BSETTOP_IOCTL_bencode_stop:
1333  {{
1334  ioctl_settopapi_struct_bencode_stop st;
1335
1336  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1337  if (rc) break;
1338  {
1339
1340  /* Make the function call */
1341  bencode_stop(st.encode,st.stream);
1342  rc = 0;
1343
1344  }
1345  }}
1346  break;
1347
1348case BSETTOP_IOCTL_bpcm_play_settings_init:
1349  {{
1350  ioctl_settopapi_struct_bpcm_play_settings_init st;
1351  bpcm_play_settings settings;
1352
1353  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1354  if (rc) break;
1355  {
1356
1357  /* Make the function call */
1358  bpcm_play_settings_init(st.settings ? &settings:NULL,st.pcmplay);
1359  rc = 0;
1360
1361  if (st.settings) {
1362    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1363    if (rc) {rc = -EFAULT; break;}
1364  }
1365  }
1366  }}
1367  break;
1368
1369case BSETTOP_IOCTL_bpcm_play_open:
1370  {{
1371  ioctl_settopapi_struct_bpcm_play_open st;
1372
1373  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1374  if (rc) break;
1375  {
1376
1377  /* Make the function call */
1378  st.__retval = bpcm_play_open(st.id);
1379  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bpcm_play_close, "bpcm_play_close");
1380  rc = copy_to_user((void*)arg, &st, sizeof(st));
1381  if (rc) {rc = -EFAULT; break;}
1382  }
1383  }}
1384  break;
1385
1386case BSETTOP_IOCTL_bpcm_play_close:
1387  {{
1388  ioctl_settopapi_struct_bpcm_play_close st;
1389
1390  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1391  if (rc) break;
1392  {
1393
1394  /* Make the function call */
1395  bpcm_play_close(st.pcmplay);
1396  bhandle_mgr_remove(file->private_data, st.pcmplay, "bpcm_play_close");
1397  rc = 0;
1398
1399  }
1400  }}
1401  break;
1402
1403case BSETTOP_IOCTL_bpcm_play_start:
1404  {{
1405  ioctl_settopapi_struct_bpcm_play_start st;
1406  bpcm_play_settings settings;
1407
1408  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1409  if (rc) break;
1410  {
1411  if (st.settings) {
1412  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
1413  if (rc) break;
1414  }
1415  if ( settings.callback ) { settings.callback = b_proxy_create_callback(ioctl_settopapi_bpcm_play_callback, st.pcmplay, settings.callback_context); }
1416
1417  /* Make the function call */
1418  st.__retval = bpcm_play_start(st.pcmplay,st.display,st.settings ? &settings:NULL);
1419  rc = copy_to_user((void*)arg, &st, sizeof(st));
1420  if (rc) {rc = -EFAULT; break;}
1421  }
1422  }}
1423  break;
1424
1425case BSETTOP_IOCTL_bpcm_play_get_status:
1426  {{
1427  ioctl_settopapi_struct_bpcm_play_get_status st;
1428  bpcm_play_status status;
1429
1430  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1431  if (rc) break;
1432  {
1433
1434  /* Make the function call */
1435  st.__retval = bpcm_play_get_status(st.pcmplay,st.status ? &status:NULL);
1436  rc = copy_to_user((void*)arg, &st, sizeof(st));
1437  if (rc) {rc = -EFAULT; break;}
1438  if (st.status) {
1439    rc = copy_to_user(st.status, &status, sizeof(status));
1440    if (rc) {rc = -EFAULT; break;}
1441  }
1442  }
1443  }}
1444  break;
1445
1446case BSETTOP_IOCTL_bpcm_play_get_buffer:
1447  {{
1448  ioctl_settopapi_struct_bpcm_play_get_buffer st;
1449  void * data;
1450  size_t length;
1451
1452  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1453  if (rc) break;
1454  {
1455
1456  /* Make the function call */
1457  st.__retval = bpcm_play_get_buffer(st.pcmplay,st.data ? &data:NULL,st.length ? &length:NULL);
1458  rc = copy_to_user((void*)arg, &st, sizeof(st));
1459  if (rc) {rc = -EFAULT; break;}
1460  if (st.data) {
1461    rc = copy_to_user(st.data, &data, sizeof(data));
1462    if (rc) {rc = -EFAULT; break;}
1463  }
1464  if (st.length) {
1465    rc = copy_to_user(st.length, &length, sizeof(length));
1466    if (rc) {rc = -EFAULT; break;}
1467  }
1468  }
1469  }}
1470  break;
1471
1472case BSETTOP_IOCTL_bpcm_play_write_complete:
1473  {{
1474  ioctl_settopapi_struct_bpcm_play_write_complete st;
1475
1476  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1477  if (rc) break;
1478  {
1479
1480  /* Make the function call */
1481  st.__retval = bpcm_play_write_complete(st.pcmplay,st.amount_written);
1482  rc = copy_to_user((void*)arg, &st, sizeof(st));
1483  if (rc) {rc = -EFAULT; break;}
1484  }
1485  }}
1486  break;
1487
1488case BSETTOP_IOCTL_bpcm_play_stop:
1489  {{
1490  ioctl_settopapi_struct_bpcm_play_stop st;
1491
1492  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1493  if (rc) break;
1494  {
1495
1496  /* Make the function call */
1497  st.__retval = bpcm_play_stop(st.pcmplay);
1498  rc = copy_to_user((void*)arg, &st, sizeof(st));
1499  if (rc) {rc = -EFAULT; break;}
1500  }
1501  }}
1502  break;
1503
1504case BSETTOP_IOCTL_bpcm_play_get_output_settings:
1505  {{
1506  ioctl_settopapi_struct_bpcm_play_get_output_settings st;
1507  bpcm_play_output_settings settings;
1508
1509  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1510  if (rc) break;
1511  {
1512
1513  /* Make the function call */
1514  bpcm_play_get_output_settings(st.pcmplay,st.settings ? &settings:NULL);
1515  rc = 0;
1516
1517  if (st.settings) {
1518    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1519    if (rc) {rc = -EFAULT; break;}
1520  }
1521  }
1522  }}
1523  break;
1524
1525case BSETTOP_IOCTL_bpcm_play_set_output_settings:
1526  {{
1527  ioctl_settopapi_struct_bpcm_play_set_output_settings st;
1528  bpcm_play_output_settings settings;
1529
1530  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1531  if (rc) break;
1532  {
1533  if (st.settings) {
1534  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
1535  if (rc) break;
1536  }
1537
1538  /* Make the function call */
1539  st.__retval = bpcm_play_set_output_settings(st.pcmplay,st.settings ? &settings:NULL);
1540  rc = copy_to_user((void*)arg, &st, sizeof(st));
1541  if (rc) {rc = -EFAULT; break;}
1542  }
1543  }}
1544  break;
1545
1546case BSETTOP_IOCTL_bpcm_capture_settings_init:
1547  {{
1548  ioctl_settopapi_struct_bpcm_capture_settings_init st;
1549  bpcm_capture_settings settings;
1550
1551  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1552  if (rc) break;
1553  {
1554
1555  /* Make the function call */
1556  bpcm_capture_settings_init(st.settings ? &settings:NULL,st.pcmcapture);
1557  rc = 0;
1558
1559  if (st.settings) {
1560    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1561    if (rc) {rc = -EFAULT; break;}
1562  }
1563  }
1564  }}
1565  break;
1566
1567case BSETTOP_IOCTL_bpcm_capture_open:
1568  {{
1569  ioctl_settopapi_struct_bpcm_capture_open st;
1570
1571  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1572  if (rc) break;
1573  {
1574
1575  /* Make the function call */
1576  st.__retval = bpcm_capture_open(st.id);
1577  rc = copy_to_user((void*)arg, &st, sizeof(st));
1578  if (rc) {rc = -EFAULT; break;}
1579  }
1580  }}
1581  break;
1582
1583case BSETTOP_IOCTL_bpcm_capture_close:
1584  {{
1585  ioctl_settopapi_struct_bpcm_capture_close st;
1586
1587  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1588  if (rc) break;
1589  {
1590
1591  /* Make the function call */
1592  bpcm_capture_close(st.pcmcapture);
1593  rc = 0;
1594
1595  }
1596  }}
1597  break;
1598
1599case BSETTOP_IOCTL_bpcm_capture_start:
1600  {{
1601  ioctl_settopapi_struct_bpcm_capture_start st;
1602  bpcm_capture_settings settings;
1603
1604  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1605  if (rc) break;
1606  {
1607  if (st.settings) {
1608  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
1609  if (rc) break;
1610  }
1611  if ( settings.callback ) { settings.callback = b_proxy_create_callback(ioctl_settopapi_bpcm_capture_callback, st.pcmcapture, settings.callback_context); }
1612
1613  /* Make the function call */
1614  st.__retval = bpcm_capture_start(st.pcmcapture,st.display,st.settings ? &settings:NULL);
1615  rc = copy_to_user((void*)arg, &st, sizeof(st));
1616  if (rc) {rc = -EFAULT; break;}
1617  }
1618  }}
1619  break;
1620
1621case BSETTOP_IOCTL_bpcm_capture_get_buffer:
1622  {{
1623  ioctl_settopapi_struct_bpcm_capture_get_buffer st;
1624  void * data;
1625  size_t length;
1626
1627  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1628  if (rc) break;
1629  {
1630
1631  /* Make the function call */
1632  st.__retval = bpcm_capture_get_buffer(st.pcmcapture,st.data ? &data:NULL,st.length ? &length:NULL);
1633  rc = copy_to_user((void*)arg, &st, sizeof(st));
1634  if (rc) {rc = -EFAULT; break;}
1635  if (st.data) {
1636    rc = copy_to_user(st.data, &data, sizeof(data));
1637    if (rc) {rc = -EFAULT; break;}
1638  }
1639  if (st.length) {
1640    rc = copy_to_user(st.length, &length, sizeof(length));
1641    if (rc) {rc = -EFAULT; break;}
1642  }
1643  }
1644  }}
1645  break;
1646
1647case BSETTOP_IOCTL_bpcm_capture_read_complete:
1648  {{
1649  ioctl_settopapi_struct_bpcm_capture_read_complete st;
1650
1651  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1652  if (rc) break;
1653  {
1654
1655  /* Make the function call */
1656  st.__retval = bpcm_capture_read_complete(st.pcmcapture,st.amount_read);
1657  rc = copy_to_user((void*)arg, &st, sizeof(st));
1658  if (rc) {rc = -EFAULT; break;}
1659  }
1660  }}
1661  break;
1662
1663case BSETTOP_IOCTL_bpcm_capture_stop:
1664  {{
1665  ioctl_settopapi_struct_bpcm_capture_stop st;
1666
1667  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1668  if (rc) break;
1669  {
1670
1671  /* Make the function call */
1672  st.__retval = bpcm_capture_stop(st.pcmcapture);
1673  rc = copy_to_user((void*)arg, &st, sizeof(st));
1674  if (rc) {rc = -EFAULT; break;}
1675  }
1676  }}
1677  break;
1678
1679case BSETTOP_IOCTL_bsmartcard_settings_init:
1680  {{
1681  ioctl_settopapi_struct_bsmartcard_settings_init st;
1682  bsmartcard_settings_t settings;
1683
1684  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1685  if (rc) break;
1686  {
1687
1688  /* Make the function call */
1689  bsmartcard_settings_init(st.settings ? &settings:NULL);
1690  rc = 0;
1691
1692  if (st.settings) {
1693    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1694    if (rc) {rc = -EFAULT; break;}
1695  }
1696  }
1697  }}
1698  break;
1699
1700case BSETTOP_IOCTL_bsmartcard_open:
1701  {{
1702  ioctl_settopapi_struct_bsmartcard_open st;
1703  bsmartcard_settings_t settings;
1704
1705  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1706  if (rc) break;
1707  {
1708  if (st.settings) {
1709  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
1710  if (rc) break;
1711  }
1712
1713  /* Make the function call */
1714  st.__retval = bsmartcard_open(st.smartcard_id,st.settings ? &settings:NULL);
1715  rc = copy_to_user((void*)arg, &st, sizeof(st));
1716  if (rc) {rc = -EFAULT; break;}
1717  }
1718  }}
1719  break;
1720
1721case BSETTOP_IOCTL_bsmartcard_close:
1722  {{
1723  ioctl_settopapi_struct_bsmartcard_close st;
1724
1725  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1726  if (rc) break;
1727  {
1728
1729  /* Make the function call */
1730  bsmartcard_close(st.smartcard);
1731  rc = 0;
1732
1733  }
1734  }}
1735  break;
1736
1737case BSETTOP_IOCTL_bsmartcard_get_settings:
1738  {{
1739  ioctl_settopapi_struct_bsmartcard_get_settings st;
1740  bsmartcard_settings_t settings;
1741
1742  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1743  if (rc) break;
1744  {
1745
1746  /* Make the function call */
1747  bsmartcard_get_settings(st.smartcard,st.settings ? &settings:NULL);
1748  rc = 0;
1749
1750  if (st.settings) {
1751    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1752    if (rc) {rc = -EFAULT; break;}
1753  }
1754  }
1755  }}
1756  break;
1757
1758case BSETTOP_IOCTL_bsmartcard_set_settings:
1759  {{
1760  ioctl_settopapi_struct_bsmartcard_set_settings st;
1761  bsmartcard_settings_t settings;
1762
1763  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1764  if (rc) break;
1765  {
1766  if (st.settings) {
1767  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
1768  if (rc) break;
1769  }
1770
1771  /* Make the function call */
1772  st.__retval = bsmartcard_set_settings(st.smartcard,st.settings ? &settings:NULL);
1773  rc = copy_to_user((void*)arg, &st, sizeof(st));
1774  if (rc) {rc = -EFAULT; break;}
1775  }
1776  }}
1777  break;
1778
1779case BSETTOP_IOCTL_bsmartcard_read:
1780  {{
1781  ioctl_settopapi_struct_bsmartcard_read st;
1782  void * data;
1783  size_t length_read;
1784
1785  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1786  if (rc) break;
1787  {
1788  unsigned char data_array[st.length];
1789  data = data_array;
1790
1791  /* Make the function call */
1792  st.__retval = bsmartcard_read(st.smartcard,data,st.length,st.length_read ? &length_read:NULL);
1793  rc = copy_to_user((void*)arg, &st, sizeof(st));
1794  if (rc) {rc = -EFAULT; break;}
1795  if (st.data) {
1796    rc = copy_to_user(st.data, data, st.length*sizeof(unsigned char));
1797    if (rc) {rc = -EFAULT; break;}
1798  }
1799  if (st.length_read) {
1800    rc = copy_to_user(st.length_read, &length_read, sizeof(length_read));
1801    if (rc) {rc = -EFAULT; break;}
1802  }
1803  }
1804  }}
1805  break;
1806
1807case BSETTOP_IOCTL_bsmartcard_write:
1808  {{
1809  ioctl_settopapi_struct_bsmartcard_write st;
1810  const void * data;
1811  size_t length_written;
1812
1813  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1814  if (rc) break;
1815  {
1816  unsigned char data_array[st.length];
1817  data = data_array;
1818  rc = copy_from_user((void*)data, st.data, st.length*sizeof(unsigned char));
1819  if (rc) break;
1820
1821  /* Make the function call */
1822  st.__retval = bsmartcard_write(st.smartcard,data,st.length,st.length_written ? &length_written:NULL);
1823  rc = copy_to_user((void*)arg, &st, sizeof(st));
1824  if (rc) {rc = -EFAULT; break;}
1825  if (st.length_written) {
1826    rc = copy_to_user(st.length_written, &length_written, sizeof(length_written));
1827    if (rc) {rc = -EFAULT; break;}
1828  }
1829  }
1830  }}
1831  break;
1832
1833case BSETTOP_IOCTL_bsmartcard_get_status:
1834  {{
1835  ioctl_settopapi_struct_bsmartcard_get_status st;
1836  bsmartcard_status status;
1837
1838  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1839  if (rc) break;
1840  {
1841
1842  /* Make the function call */
1843  st.__retval = bsmartcard_get_status(st.smartcard,st.status ? &status:NULL);
1844  rc = copy_to_user((void*)arg, &st, sizeof(st));
1845  if (rc) {rc = -EFAULT; break;}
1846  if (st.status) {
1847    rc = copy_to_user(st.status, &status, sizeof(status));
1848    if (rc) {rc = -EFAULT; break;}
1849  }
1850  }
1851  }}
1852  break;
1853
1854case BSETTOP_IOCTL_bsmartcard_reset_card:
1855  {{
1856  ioctl_settopapi_struct_bsmartcard_reset_card st;
1857  void * data;
1858  size_t length_read;
1859
1860  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1861  if (rc) break;
1862  {
1863  unsigned char data_array[st.length];
1864  data = data_array;
1865
1866  /* Make the function call */
1867  st.__retval = bsmartcard_reset_card(st.smartcard,data,st.length,st.length_read ? &length_read:NULL);
1868  rc = copy_to_user((void*)arg, &st, sizeof(st));
1869  if (rc) {rc = -EFAULT; break;}
1870  if (st.data) {
1871    rc = copy_to_user(st.data, data, st.length*sizeof(unsigned char));
1872    if (rc) {rc = -EFAULT; break;}
1873  }
1874  if (st.length_read) {
1875    rc = copy_to_user(st.length_read, &length_read, sizeof(length_read));
1876    if (rc) {rc = -EFAULT; break;}
1877  }
1878  }
1879  }}
1880  break;
1881
1882case BSETTOP_IOCTL_bsmartcard_reset:
1883  {{
1884  ioctl_settopapi_struct_bsmartcard_reset st;
1885
1886  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1887  if (rc) break;
1888  {
1889
1890  /* Make the function call */
1891  st.__retval = bsmartcard_reset(st.smartcard,st.warm_reset);
1892  rc = copy_to_user((void*)arg, &st, sizeof(st));
1893  if (rc) {rc = -EFAULT; break;}
1894  }
1895  }}
1896  break;
1897
1898case BSETTOP_IOCTL_bsmartcard_detect_card:
1899  {{
1900  ioctl_settopapi_struct_bsmartcard_detect_card st;
1901
1902  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1903  if (rc) break;
1904  {
1905
1906  /* Make the function call */
1907  st.__retval = bsmartcard_detect_card(st.smartcard);
1908  rc = copy_to_user((void*)arg, &st, sizeof(st));
1909  if (rc) {rc = -EFAULT; break;}
1910  }
1911  }}
1912  break;
1913
1914case BSETTOP_IOCTL_bsmartcard_init:
1915  {{
1916  ioctl_settopapi_struct_bsmartcard_init st;
1917
1918  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1919  if (rc) break;
1920  {
1921
1922  /* Make the function call */
1923  st.__retval = bsmartcard_init();
1924  rc = copy_to_user((void*)arg, &st, sizeof(st));
1925  if (rc) {rc = -EFAULT; break;}
1926  }
1927  }}
1928  break;
1929
1930case BSETTOP_IOCTL_bsmartcard_shutdown:
1931  {{
1932  {
1933
1934  /* Make the function call */
1935  bsmartcard_shutdown();
1936  rc = 0;
1937
1938  }
1939  }}
1940  break;
1941
1942case BSETTOP_IOCTL_buser_input_open:
1943  {{
1944  ioctl_settopapi_struct_buser_input_open st;
1945
1946  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1947  if (rc) break;
1948  {
1949
1950  /* Make the function call */
1951  st.__retval = buser_input_open(st.user_input_id);
1952  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)buser_input_close, "buser_input_close");
1953  rc = copy_to_user((void*)arg, &st, sizeof(st));
1954  if (rc) {rc = -EFAULT; break;}
1955  }
1956  }}
1957  break;
1958
1959case BSETTOP_IOCTL_buser_input_close:
1960  {{
1961  ioctl_settopapi_struct_buser_input_close st;
1962
1963  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1964  if (rc) break;
1965  {
1966
1967  /* Make the function call */
1968  buser_input_close(st.ui);
1969  bhandle_mgr_remove(file->private_data, st.ui, "buser_input_close");
1970  rc = 0;
1971
1972  }
1973  }}
1974  break;
1975
1976case BSETTOP_IOCTL_buser_input_get_settings:
1977  {{
1978  ioctl_settopapi_struct_buser_input_get_settings st;
1979  buser_input_settings settings;
1980
1981  rc = copy_from_user(&st, (void*)arg, sizeof(st));
1982  if (rc) break;
1983  {
1984
1985  /* Make the function call */
1986  buser_input_get_settings(st.ui,st.settings ? &settings:NULL);
1987  rc = 0;
1988
1989  if (st.settings) {
1990    rc = copy_to_user(st.settings, &settings, sizeof(settings));
1991    if (rc) {rc = -EFAULT; break;}
1992  }
1993  }
1994  }}
1995  break;
1996
1997case BSETTOP_IOCTL_buser_input_set_settings:
1998  {{
1999  ioctl_settopapi_struct_buser_input_set_settings st;
2000  buser_input_settings settings;
2001
2002  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2003  if (rc) break;
2004  {
2005  if (st.settings) {
2006  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
2007  if (rc) break;
2008  }
2009  if ( settings.data_ready_callback ) { settings.data_ready_callback = b_proxy_create_callback(ioctl_settopapi_buser_input_data_ready_callback, st.ui, settings.callback_context); }
2010
2011  /* Make the function call */
2012  buser_input_set_settings(st.ui,st.settings ? &settings:NULL);
2013  rc = 0;
2014
2015  }
2016  }}
2017  break;
2018
2019case BSETTOP_IOCTL_buser_input_get_event:
2020  {{
2021  ioctl_settopapi_struct_buser_input_get_event st;
2022  buser_input_event * event;
2023  unsigned result_nevents;
2024
2025  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2026  if (rc) break;
2027  {
2028  buser_input_event event_array[st.nevents];
2029  event = event_array;
2030
2031  /* Make the function call */
2032  st.__retval = buser_input_get_event(st.ui,event,st.nevents,st.result_nevents ? &result_nevents:NULL);
2033  rc = copy_to_user((void*)arg, &st, sizeof(st));
2034  if (rc) {rc = -EFAULT; break;}
2035  if (st.event) {
2036    rc = copy_to_user(st.event, event, st.nevents*sizeof(buser_input_event));
2037    if (rc) {rc = -EFAULT; break;}
2038  }
2039  if (st.result_nevents) {
2040    rc = copy_to_user(st.result_nevents, &result_nevents, sizeof(result_nevents));
2041    if (rc) {rc = -EFAULT; break;}
2042  }
2043  }
2044  }}
2045  break;
2046
2047case BSETTOP_IOCTL_buser_output_open:
2048  {{
2049  ioctl_settopapi_struct_buser_output_open st;
2050
2051  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2052  if (rc) break;
2053  {
2054
2055  /* Make the function call */
2056  st.__retval = buser_output_open(st.user_output_id);
2057  rc = copy_to_user((void*)arg, &st, sizeof(st));
2058  if (rc) {rc = -EFAULT; break;}
2059  }
2060  }}
2061  break;
2062
2063case BSETTOP_IOCTL_buser_output_close:
2064  {{
2065  ioctl_settopapi_struct_buser_output_close st;
2066
2067  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2068  if (rc) break;
2069  {
2070
2071  /* Make the function call */
2072  buser_output_close(st.uo);
2073  rc = 0;
2074
2075  }
2076  }}
2077  break;
2078
2079case BSETTOP_IOCTL_buser_output_set_led:
2080  {{
2081  ioctl_settopapi_struct_buser_output_set_led st;
2082
2083  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2084  if (rc) break;
2085  {
2086
2087  /* Make the function call */
2088  st.__retval = buser_output_set_led(st.ui,st.led,st.on);
2089  rc = copy_to_user((void*)arg, &st, sizeof(st));
2090  if (rc) {rc = -EFAULT; break;}
2091  }
2092  }}
2093  break;
2094
2095case BSETTOP_IOCTL_buser_output_display_message:
2096  {{
2097  ioctl_settopapi_struct_buser_output_display_message st;
2098
2099  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2100  if (rc) break;
2101  {
2102  char message[__maxstringlength];
2103  rc = copy_from_user((void*)message, st.message, __maxstringlength*sizeof(char));
2104  if (rc) break;
2105
2106  /* Make the function call */
2107  st.__retval = buser_output_display_message(st.ui,message);
2108  rc = copy_to_user((void*)arg, &st, sizeof(st));
2109  if (rc) {rc = -EFAULT; break;}
2110  }
2111  }}
2112  break;
2113
2114case BSETTOP_IOCTL_buser_input_set_xmp_settings:
2115  {{
2116  ioctl_settopapi_struct_buser_input_set_xmp_settings st;
2117  buser_input_xmp_settings settings;
2118
2119  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2120  if (rc) break;
2121  {
2122  if (st.settings) {
2123  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
2124  if (rc) break;
2125  }
2126
2127  /* Make the function call */
2128  buser_input_set_xmp_settings(st.ui,st.settings ? &settings:NULL);
2129  rc = 0;
2130
2131  }
2132  }}
2133  break;
2134
2135case BSETTOP_IOCTL_buser_input_get_xmp_settings:
2136  {{
2137  ioctl_settopapi_struct_buser_input_get_xmp_settings st;
2138  buser_input_xmp_settings settings;
2139
2140  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2141  if (rc) break;
2142  {
2143
2144  /* Make the function call */
2145  buser_input_get_xmp_settings(st.ui,st.settings ? &settings:NULL);
2146  rc = 0;
2147
2148  if (st.settings) {
2149    rc = copy_to_user(st.settings, &settings, sizeof(settings));
2150    if (rc) {rc = -EFAULT; break;}
2151  }
2152  }
2153  }}
2154  break;
2155
2156case BSETTOP_IOCTL_buser_input_send_xmp:
2157  {{
2158  ioctl_settopapi_struct_buser_input_send_xmp st;
2159  const uint8_t * input_buffer;
2160
2161  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2162  if (rc) break;
2163  {
2164  uint8_t input_buffer_array[st.length];
2165  input_buffer = input_buffer_array;
2166  rc = copy_from_user((void*)input_buffer, st.input_buffer, st.length*sizeof(uint8_t));
2167  if (rc) break;
2168
2169  /* Make the function call */
2170  st.__retval = buser_input_send_xmp(st.remote,input_buffer,st.length);
2171  rc = copy_to_user((void*)arg, &st, sizeof(st));
2172  if (rc) {rc = -EFAULT; break;}
2173  }
2174  }}
2175  break;
2176
2177case BSETTOP_IOCTL_buser_input_receive_xmp:
2178  {{
2179  ioctl_settopapi_struct_buser_input_receive_xmp st;
2180  uint8_t * output_data;
2181  unsigned output_size;
2182  uint32_t data_packet;
2183
2184  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2185  if (rc) break;
2186  {
2187  uint8_t output_data_array[st.length];
2188  output_data = output_data_array;
2189
2190  /* Make the function call */
2191  st.__retval = buser_input_receive_xmp(st.remote,output_data,st.length,st.output_size ? &output_size:NULL,st.data_packet ? &data_packet:NULL);
2192  rc = copy_to_user((void*)arg, &st, sizeof(st));
2193  if (rc) {rc = -EFAULT; break;}
2194  if (st.output_data) {
2195    rc = copy_to_user(st.output_data, output_data, st.length*sizeof(uint8_t));
2196    if (rc) {rc = -EFAULT; break;}
2197  }
2198  if (st.output_size) {
2199    rc = copy_to_user(st.output_size, &output_size, sizeof(output_size));
2200    if (rc) {rc = -EFAULT; break;}
2201  }
2202  if (st.data_packet) {
2203    rc = copy_to_user(st.data_packet, &data_packet, sizeof(data_packet));
2204    if (rc) {rc = -EFAULT; break;}
2205  }
2206  }
2207  }}
2208  break;
2209
2210case BSETTOP_IOCTL_bgraphics_open:
2211  {{
2212  ioctl_settopapi_struct_bgraphics_open st;
2213
2214  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2215  if (rc) break;
2216  {
2217
2218  /* Make the function call */
2219  st.__retval = bgraphics_open(st.id,st.display);
2220  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bgraphics_close, "bgraphics_close");
2221  rc = copy_to_user((void*)arg, &st, sizeof(st));
2222  if (rc) {rc = -EFAULT; break;}
2223  }
2224  }}
2225  break;
2226
2227case BSETTOP_IOCTL_bgraphics_close:
2228  {{
2229  ioctl_settopapi_struct_bgraphics_close st;
2230
2231  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2232  if (rc) break;
2233  {
2234
2235  /* Make the function call */
2236  bgraphics_close(st.graphics);
2237  bhandle_mgr_remove(file->private_data, st.graphics, "bgraphics_close");
2238  rc = 0;
2239
2240  }
2241  }}
2242  break;
2243
2244case BSETTOP_IOCTL_bgraphics_get:
2245  {{
2246  ioctl_settopapi_struct_bgraphics_get st;
2247  bgraphics_settings settings;
2248
2249  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2250  if (rc) break;
2251  {
2252
2253  /* Make the function call */
2254  bgraphics_get(st.graphics,st.settings ? &settings:NULL);
2255  rc = 0;
2256
2257  if (st.settings) {
2258    rc = copy_to_user(st.settings, &settings, sizeof(settings));
2259    if (rc) {rc = -EFAULT; break;}
2260  }
2261  }
2262  }}
2263  break;
2264
2265case BSETTOP_IOCTL_bgraphics_set:
2266  {{
2267  ioctl_settopapi_struct_bgraphics_set st;
2268  bgraphics_settings settings;
2269
2270  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2271  if (rc) break;
2272  {
2273  if (st.settings) {
2274  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
2275  if (rc) break;
2276  }
2277  if ( settings.operation_complete_callback ) { settings.operation_complete_callback = b_proxy_create_callback(ioctl_settopapi_bgraphics_operation_complete_callback, st.graphics, settings.callback_context); }
2278
2279  /* Make the function call */
2280  st.__retval = bgraphics_set(st.graphics,st.settings ? &settings:NULL);
2281  rc = copy_to_user((void*)arg, &st, sizeof(st));
2282  if (rc) {rc = -EFAULT; break;}
2283  }
2284  }}
2285  break;
2286
2287case BSETTOP_IOCTL_bgraphics_sync:
2288  {{
2289  ioctl_settopapi_struct_bgraphics_sync st;
2290
2291  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2292  if (rc) break;
2293  {
2294
2295  /* Make the function call */
2296  st.__retval = bgraphics_sync(st.graphics);
2297  rc = copy_to_user((void*)arg, &st, sizeof(st));
2298  if (rc) {rc = -EFAULT; break;}
2299  }
2300  }}
2301  break;
2302
2303case BSETTOP_IOCTL_bsurface_sync:
2304  {{
2305  ioctl_settopapi_struct_bsurface_sync st;
2306
2307  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2308  if (rc) break;
2309  {
2310
2311  /* Make the function call */
2312  st.__retval = bsurface_sync(st.surface);
2313  rc = copy_to_user((void*)arg, &st, sizeof(st));
2314  if (rc) {rc = -EFAULT; break;}
2315  }
2316  }}
2317  break;
2318
2319case BSETTOP_IOCTL_bgraphics_flip:
2320  {{
2321  ioctl_settopapi_struct_bgraphics_flip st;
2322
2323  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2324  if (rc) break;
2325  {
2326
2327  /* Make the function call */
2328  st.__retval = bgraphics_flip(st.graphics);
2329  rc = copy_to_user((void*)arg, &st, sizeof(st));
2330  if (rc) {rc = -EFAULT; break;}
2331  }
2332  }}
2333  break;
2334
2335case BSETTOP_IOCTL_bgraphics_flip_sync:
2336  {{
2337  ioctl_settopapi_struct_bgraphics_flip_sync st;
2338
2339  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2340  if (rc) break;
2341  {
2342
2343  /* Make the function call */
2344  st.__retval = bgraphics_flip_sync(st.graphics);
2345  rc = copy_to_user((void*)arg, &st, sizeof(st));
2346  if (rc) {rc = -EFAULT; break;}
2347  }
2348  }}
2349  break;
2350
2351case BSETTOP_IOCTL_bsurface_create_settings_init:
2352  {{
2353  ioctl_settopapi_struct_bsurface_create_settings_init st;
2354  bsurface_create_settings create_settings;
2355
2356  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2357  if (rc) break;
2358  {
2359
2360  /* Make the function call */
2361  bsurface_create_settings_init(st.create_settings ? &create_settings:NULL,st.graphics);
2362  rc = 0;
2363
2364  if (st.create_settings) {
2365    rc = copy_to_user(st.create_settings, &create_settings, sizeof(create_settings));
2366    if (rc) {rc = -EFAULT; break;}
2367  }
2368  }
2369  }}
2370  break;
2371
2372case BSETTOP_IOCTL_bgraphics_create_framebuffer:
2373  {{
2374  ioctl_settopapi_struct_bgraphics_create_framebuffer st;
2375  bsurface_create_settings create_settings;
2376
2377  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2378  if (rc) break;
2379  {
2380  if (st.create_settings) {
2381  rc = copy_from_user((void*)&create_settings, st.create_settings, sizeof(create_settings));
2382  if (rc) break;
2383  }
2384
2385  /* Make the function call */
2386  st.__retval = bgraphics_create_framebuffer(st.graphics,st.create_settings ? &create_settings:NULL,st.back_buffer_count);
2387  rc = copy_to_user((void*)arg, &st, sizeof(st));
2388  if (rc) {rc = -EFAULT; break;}
2389  }
2390  }}
2391  break;
2392
2393case BSETTOP_IOCTL_bsurface_create:
2394  {{
2395  ioctl_settopapi_struct_bsurface_create st;
2396  bsurface_create_settings create_settings;
2397
2398  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2399  if (rc) break;
2400  {
2401  if (st.create_settings) {
2402  rc = copy_from_user((void*)&create_settings, st.create_settings, sizeof(create_settings));
2403  if (rc) break;
2404  }
2405
2406  /* Make the function call */
2407  st.__retval = bsurface_create(st.graphics,st.create_settings ? &create_settings:NULL);
2408  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bsurface_destroy, "bsurface_destroy");
2409  rc = copy_to_user((void*)arg, &st, sizeof(st));
2410  if (rc) {rc = -EFAULT; break;}
2411  }
2412  }}
2413  break;
2414
2415case BSETTOP_IOCTL_bsurface_get_display:
2416  {{
2417  ioctl_settopapi_struct_bsurface_get_display st;
2418  bsurface_create_settings create_settings;
2419
2420  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2421  if (rc) break;
2422  {
2423  if (st.create_settings) {
2424  rc = copy_from_user((void*)&create_settings, st.create_settings, sizeof(create_settings));
2425  if (rc) break;
2426  }
2427
2428  /* Make the function call */
2429  st.__retval = bsurface_get_display(st.graphics,st.create_settings ? &create_settings:NULL);
2430  rc = copy_to_user((void*)arg, &st, sizeof(st));
2431  if (rc) {rc = -EFAULT; break;}
2432  }
2433  }}
2434  break;
2435
2436case BSETTOP_IOCTL_bsurface_destroy:
2437  {{
2438  ioctl_settopapi_struct_bsurface_destroy st;
2439
2440  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2441  if (rc) break;
2442  {
2443
2444  /* Make the function call */
2445  bsurface_destroy(st.surface);
2446  bhandle_mgr_remove(file->private_data, st.surface, "bsurface_destroy");
2447  rc = 0;
2448
2449  }
2450  }}
2451  break;
2452
2453case BSETTOP_IOCTL_bsurface_get_memory:
2454  {{
2455  ioctl_settopapi_struct_bsurface_get_memory st;
2456  bsurface_memory memory;
2457
2458  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2459  if (rc) break;
2460  {
2461
2462  /* Make the function call */
2463  st.__retval = bsurface_get_memory(st.s,st.memory ? &memory:NULL);
2464  rc = copy_to_user((void*)arg, &st, sizeof(st));
2465  if (rc) {rc = -EFAULT; break;}
2466  if (st.memory) {
2467    rc = copy_to_user(st.memory, &memory, sizeof(memory));
2468    if (rc) {rc = -EFAULT; break;}
2469  }
2470  }
2471  }}
2472  break;
2473
2474case BSETTOP_IOCTL_bsurface_set:
2475  {{
2476  ioctl_settopapi_struct_bsurface_set st;
2477  bsurface_settings settings;
2478
2479  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2480  if (rc) break;
2481  {
2482  if (st.settings) {
2483  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
2484  if (rc) break;
2485  }
2486
2487  /* Make the function call */
2488  st.__retval = bsurface_set(st.s,st.settings ? &settings:NULL);
2489  rc = copy_to_user((void*)arg, &st, sizeof(st));
2490  if (rc) {rc = -EFAULT; break;}
2491  }
2492  }}
2493  break;
2494
2495case BSETTOP_IOCTL_bsurface_get:
2496  {{
2497  ioctl_settopapi_struct_bsurface_get st;
2498  bsurface_settings settings;
2499
2500  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2501  if (rc) break;
2502  {
2503
2504  /* Make the function call */
2505  bsurface_get(st.s,st.settings ? &settings:NULL);
2506  rc = 0;
2507
2508  if (st.settings) {
2509    rc = copy_to_user(st.settings, &settings, sizeof(settings));
2510    if (rc) {rc = -EFAULT; break;}
2511  }
2512  }
2513  }}
2514  break;
2515
2516case BSETTOP_IOCTL_bsurface_fill:
2517  {{
2518  ioctl_settopapi_struct_bsurface_fill st;
2519  bsettop_rect rect;
2520
2521  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2522  if (rc) break;
2523  {
2524  if (st.rect) {
2525  rc = copy_from_user((void*)&rect, st.rect, sizeof(rect));
2526  if (rc) break;
2527  }
2528
2529  /* Make the function call */
2530  st.__retval = bsurface_fill(st.surface,st.rect ? &rect:NULL,st.pixel);
2531  rc = copy_to_user((void*)arg, &st, sizeof(st));
2532  if (rc) {rc = -EFAULT; break;}
2533  }
2534  }}
2535  break;
2536
2537case BSETTOP_IOCTL_bsurface_copy:
2538  {{
2539  ioctl_settopapi_struct_bsurface_copy st;
2540  bsettop_rect destrect;
2541  bsettop_rect srcrect;
2542
2543  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2544  if (rc) break;
2545  {
2546  if (st.destrect) {
2547  rc = copy_from_user((void*)&destrect, st.destrect, sizeof(destrect));
2548  if (rc) break;
2549  }
2550  if (st.srcrect) {
2551  rc = copy_from_user((void*)&srcrect, st.srcrect, sizeof(srcrect));
2552  if (rc) break;
2553  }
2554
2555  /* Make the function call */
2556  st.__retval = bsurface_copy(st.destsurface,st.destrect ? &destrect:NULL,st.srcsurface,st.srcrect ? &srcrect:NULL);
2557  rc = copy_to_user((void*)arg, &st, sizeof(st));
2558  if (rc) {rc = -EFAULT; break;}
2559  }
2560  }}
2561  break;
2562
2563case BSETTOP_IOCTL_bsurface_blit:
2564  {{
2565  ioctl_settopapi_struct_bsurface_blit st;
2566  bsettop_rect destrect;
2567  bsettop_rect src1_rect;
2568  bsettop_rect src2_rect;
2569
2570  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2571  if (rc) break;
2572  {
2573  if (st.destrect) {
2574  rc = copy_from_user((void*)&destrect, st.destrect, sizeof(destrect));
2575  if (rc) break;
2576  }
2577  if (st.src1_rect) {
2578  rc = copy_from_user((void*)&src1_rect, st.src1_rect, sizeof(src1_rect));
2579  if (rc) break;
2580  }
2581  if (st.src2_rect) {
2582  rc = copy_from_user((void*)&src2_rect, st.src2_rect, sizeof(src2_rect));
2583  if (rc) break;
2584  }
2585
2586  /* Make the function call */
2587  st.__retval = bsurface_blit(st.destsurface,st.destrect ? &destrect:NULL,st.operation,st.src1,st.src1_rect ? &src1_rect:NULL,st.src2,st.src2_rect ? &src2_rect:NULL,st.pixel1,st.pixel2);
2588  rc = copy_to_user((void*)arg, &st, sizeof(st));
2589  if (rc) {rc = -EFAULT; break;}
2590  }
2591  }}
2592  break;
2593
2594case BSETTOP_IOCTL_bsurface_blit_params_init:
2595  {{
2596  ioctl_settopapi_struct_bsurface_blit_params_init st;
2597  bsurface_blit_params params;
2598
2599  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2600  if (rc) break;
2601  {
2602
2603  /* Make the function call */
2604  bsurface_blit_params_init(st.params ? &params:NULL);
2605  rc = 0;
2606
2607  if (st.params) {
2608    rc = copy_to_user(st.params, &params, sizeof(params));
2609    if (rc) {rc = -EFAULT; break;}
2610  }
2611  }
2612  }}
2613  break;
2614
2615case BSETTOP_IOCTL_bsurface_extended_blit:
2616  {{
2617  ioctl_settopapi_struct_bsurface_extended_blit st;
2618  bsettop_rect destrect;
2619  bsurface_blit_params params;
2620
2621  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2622  if (rc) break;
2623  {
2624  if (st.destrect) {
2625  rc = copy_from_user((void*)&destrect, st.destrect, sizeof(destrect));
2626  if (rc) break;
2627  }
2628  if (st.params) {
2629  rc = copy_from_user((void*)&params, st.params, sizeof(params));
2630  if (rc) break;
2631  }
2632
2633  /* Make the function call */
2634  st.__retval = bsurface_extended_blit(st.destsurface,st.destrect ? &destrect:NULL,st.params ? &params:NULL);
2635  rc = copy_to_user((void*)arg, &st, sizeof(st));
2636  if (rc) {rc = -EFAULT; break;}
2637  }
2638  }}
2639  break;
2640
2641case BSETTOP_IOCTL_bsurface_blended_fill:
2642  {{
2643  ioctl_settopapi_struct_bsurface_blended_fill st;
2644  bsettop_rect rect;
2645
2646  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2647  if (rc) break;
2648  {
2649  if (st.rect) {
2650  rc = copy_from_user((void*)&rect, st.rect, sizeof(rect));
2651  if (rc) break;
2652  }
2653
2654  /* Make the function call */
2655  st.__retval = bsurface_blended_fill(st.surface,st.rect ? &rect:NULL,st.pixel,st.operation);
2656  rc = copy_to_user((void*)arg, &st, sizeof(st));
2657  if (rc) {rc = -EFAULT; break;}
2658  }
2659  }}
2660  break;
2661
2662case BSETTOP_IOCTL_bsurface_load_clut:
2663  {{
2664  ioctl_settopapi_struct_bsurface_load_clut st;
2665
2666  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2667  if (rc) break;
2668  {
2669
2670  /* Make the function call */
2671  st.__retval = bsurface_load_clut(st.s,st.palette);
2672  rc = copy_to_user((void*)arg, &st, sizeof(st));
2673  if (rc) {rc = -EFAULT; break;}
2674  }
2675  }}
2676  break;
2677
2678case BSETTOP_IOCTL_bplaypump_get_open_params:
2679  {{
2680  ioctl_settopapi_struct_bplaypump_get_open_params st;
2681  bplaypump_open_params open_params;
2682
2683  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2684  if (rc) break;
2685  {
2686
2687  /* Make the function call */
2688  bplaypump_get_open_params(st.id,st.open_params ? &open_params:NULL);
2689  rc = 0;
2690
2691  if (st.open_params) {
2692    rc = copy_to_user(st.open_params, &open_params, sizeof(open_params));
2693    if (rc) {rc = -EFAULT; break;}
2694  }
2695  }
2696  }}
2697  break;
2698
2699case BSETTOP_IOCTL_bplaypump_open:
2700  {{
2701  ioctl_settopapi_struct_bplaypump_open st;
2702  bplaypump_open_params open_params;
2703
2704  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2705  if (rc) break;
2706  {
2707  if (st.open_params) {
2708  rc = copy_from_user((void*)&open_params, st.open_params, sizeof(open_params));
2709  if (rc) break;
2710  }
2711
2712  /* Make the function call */
2713  st.__retval = bplaypump_open(st.id,st.open_params ? &open_params:NULL);
2714  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bplaypump_close, "bplaypump_close");
2715  rc = copy_to_user((void*)arg, &st, sizeof(st));
2716  if (rc) {rc = -EFAULT; break;}
2717  }
2718  }}
2719  break;
2720
2721case BSETTOP_IOCTL_bplaypump_close:
2722  {{
2723  ioctl_settopapi_struct_bplaypump_close st;
2724
2725  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2726  if (rc) break;
2727  {
2728
2729  /* Make the function call */
2730  bplaypump_close(st.playpump);
2731  bhandle_mgr_remove(file->private_data, st.playpump, "bplaypump_close");
2732  rc = 0;
2733
2734  }
2735  }}
2736  break;
2737
2738case BSETTOP_IOCTL_bplaypump_params_init:
2739  {{
2740  ioctl_settopapi_struct_bplaypump_params_init st;
2741  bplaypump_params params;
2742
2743  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2744  if (rc) break;
2745  {
2746
2747  /* Make the function call */
2748  bplaypump_params_init(st.params ? &params:NULL,st.playpump);
2749  rc = 0;
2750
2751  if (st.params) {
2752    rc = copy_to_user(st.params, &params, sizeof(params));
2753    if (rc) {rc = -EFAULT; break;}
2754  }
2755  }
2756  }}
2757  break;
2758
2759case BSETTOP_IOCTL_bplaypump_start:
2760  {{
2761  ioctl_settopapi_struct_bplaypump_start st;
2762  bstream_mpeg mpeg;
2763  bplaypump_params params;
2764
2765  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2766  if (rc) break;
2767  {
2768  if (st.mpeg) {
2769  rc = copy_from_user((void*)&mpeg, st.mpeg, sizeof(mpeg));
2770  if (rc) break;
2771  }
2772  if (st.params) {
2773  rc = copy_from_user((void*)&params, st.params, sizeof(params));
2774  if (rc) break;
2775  }
2776  if ( params.read_callback ) { params.read_callback = b_proxy_create_callback(ioctl_settopapi_bplaypump_read_callback, st.playpump, params.callback_context); }
2777
2778  /* Make the function call */
2779  st.__retval = bplaypump_start(st.playpump,st.mpeg ? &mpeg:NULL,st.params ? &params:NULL);
2780  rc = copy_to_user((void*)arg, &st, sizeof(st));
2781  if (rc) {rc = -EFAULT; break;}
2782  }
2783  }}
2784  break;
2785
2786case BSETTOP_IOCTL_bplaypump_stop:
2787  {{
2788  ioctl_settopapi_struct_bplaypump_stop st;
2789
2790  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2791  if (rc) break;
2792  {
2793
2794  /* Make the function call */
2795  st.__retval = bplaypump_stop(st.playpump);
2796  rc = copy_to_user((void*)arg, &st, sizeof(st));
2797  if (rc) {rc = -EFAULT; break;}
2798  }
2799  }}
2800  break;
2801
2802case BSETTOP_IOCTL_bplaypump_get_buffer:
2803  {{
2804  ioctl_settopapi_struct_bplaypump_get_buffer st;
2805  void * buffer;
2806  size_t size;
2807
2808  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2809  if (rc) break;
2810  {
2811
2812  /* Make the function call */
2813  st.__retval = bplaypump_get_buffer(st.playpump,st.buffer ? &buffer:NULL,st.size ? &size:NULL);
2814  rc = copy_to_user((void*)arg, &st, sizeof(st));
2815  if (rc) {rc = -EFAULT; break;}
2816  if (st.buffer) {
2817    rc = copy_to_user(st.buffer, &buffer, sizeof(buffer));
2818    if (rc) {rc = -EFAULT; break;}
2819  }
2820  if (st.size) {
2821    rc = copy_to_user(st.size, &size, sizeof(size));
2822    if (rc) {rc = -EFAULT; break;}
2823  }
2824  }
2825  }}
2826  break;
2827
2828case BSETTOP_IOCTL_bplaypump_read_complete:
2829  {{
2830  ioctl_settopapi_struct_bplaypump_read_complete st;
2831
2832  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2833  if (rc) break;
2834  {
2835
2836  /* Make the function call */
2837  st.__retval = bplaypump_read_complete(st.playpump,st.skip,st.amount);
2838  rc = copy_to_user((void*)arg, &st, sizeof(st));
2839  if (rc) {rc = -EFAULT; break;}
2840  }
2841  }}
2842  break;
2843
2844case BSETTOP_IOCTL_bplaypump_set:
2845  {{
2846  ioctl_settopapi_struct_bplaypump_set st;
2847  bplaypump_settings settings;
2848
2849  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2850  if (rc) break;
2851  {
2852  if (st.settings) {
2853  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
2854  if (rc) break;
2855  }
2856
2857  /* Make the function call */
2858  st.__retval = bplaypump_set(st.playpump,st.settings ? &settings:NULL);
2859  rc = copy_to_user((void*)arg, &st, sizeof(st));
2860  if (rc) {rc = -EFAULT; break;}
2861  }
2862  }}
2863  break;
2864
2865case BSETTOP_IOCTL_bplaypump_get:
2866  {{
2867  ioctl_settopapi_struct_bplaypump_get st;
2868  bplaypump_settings settings;
2869
2870  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2871  if (rc) break;
2872  {
2873
2874  /* Make the function call */
2875  bplaypump_get(st.playpump,st.settings ? &settings:NULL);
2876  rc = 0;
2877
2878  if (st.settings) {
2879    rc = copy_to_user(st.settings, &settings, sizeof(settings));
2880    if (rc) {rc = -EFAULT; break;}
2881  }
2882  }
2883  }}
2884  break;
2885
2886case BSETTOP_IOCTL_bplaypump_set_state:
2887  {{
2888  ioctl_settopapi_struct_bplaypump_set_state st;
2889
2890  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2891  if (rc) break;
2892  {
2893
2894  /* Make the function call */
2895  st.__retval = bplaypump_set_state(st.playpump,st.state,st.forward);
2896  rc = copy_to_user((void*)arg, &st, sizeof(st));
2897  if (rc) {rc = -EFAULT; break;}
2898  }
2899  }}
2900  break;
2901
2902case BSETTOP_IOCTL_bplaypump_set_decoder_rate:
2903  {{
2904  ioctl_settopapi_struct_bplaypump_set_decoder_rate st;
2905
2906  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2907  if (rc) break;
2908  {
2909
2910  /* Make the function call */
2911  st.__retval = bplaypump_set_decoder_rate(st.playpump,st.rate);
2912  rc = copy_to_user((void*)arg, &st, sizeof(st));
2913  if (rc) {rc = -EFAULT; break;}
2914  }
2915  }}
2916  break;
2917
2918case BSETTOP_IOCTL_bplaypump_frame_advance:
2919  {{
2920  ioctl_settopapi_struct_bplaypump_frame_advance st;
2921
2922  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2923  if (rc) break;
2924  {
2925
2926  /* Make the function call */
2927  st.__retval = bplaypump_frame_advance(st.playpump);
2928  rc = copy_to_user((void*)arg, &st, sizeof(st));
2929  if (rc) {rc = -EFAULT; break;}
2930  }
2931  }}
2932  break;
2933
2934case BSETTOP_IOCTL_bplaypump_flush:
2935  {{
2936  ioctl_settopapi_struct_bplaypump_flush st;
2937
2938  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2939  if (rc) break;
2940  {
2941
2942  /* Make the function call */
2943  st.__retval = bplaypump_flush(st.playpump);
2944  rc = copy_to_user((void*)arg, &st, sizeof(st));
2945  if (rc) {rc = -EFAULT; break;}
2946  }
2947  }}
2948  break;
2949
2950case BSETTOP_IOCTL_bplaypump_get_status:
2951  {{
2952  ioctl_settopapi_struct_bplaypump_get_status st;
2953  bplaypump_status status;
2954
2955  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2956  if (rc) break;
2957  {
2958
2959  /* Make the function call */
2960  st.__retval = bplaypump_get_status(st.p,st.status ? &status:NULL);
2961  rc = copy_to_user((void*)arg, &st, sizeof(st));
2962  if (rc) {rc = -EFAULT; break;}
2963  if (st.status) {
2964    rc = copy_to_user(st.status, &status, sizeof(status));
2965    if (rc) {rc = -EFAULT; break;}
2966  }
2967  }
2968  }}
2969  break;
2970
2971case BSETTOP_IOCTL_bplaypump_p_set_pwm_value:
2972  {{
2973  ioctl_settopapi_struct_bplaypump_p_set_pwm_value st;
2974
2975  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2976  if (rc) break;
2977  {
2978
2979  /* Make the function call */
2980  st.__retval = bplaypump_p_set_pwm_value(st.p,st.pwm_value);
2981  rc = copy_to_user((void*)arg, &st, sizeof(st));
2982  if (rc) {rc = -EFAULT; break;}
2983  }
2984  }}
2985  break;
2986
2987case BSETTOP_IOCTL_bplaypump_get_source:
2988  {{
2989  ioctl_settopapi_struct_bplaypump_get_source st;
2990  bplaypump_source source;
2991
2992  rc = copy_from_user(&st, (void*)arg, sizeof(st));
2993  if (rc) break;
2994  {
2995
2996  /* Make the function call */
2997  bplaypump_get_source(st.playpump,st.source ? &source:NULL);
2998  rc = 0;
2999
3000  if (st.source) {
3001    rc = copy_to_user(st.source, &source, sizeof(source));
3002    if (rc) {rc = -EFAULT; break;}
3003  }
3004  }
3005  }}
3006  break;
3007
3008case BSETTOP_IOCTL_bplaypump_set_source:
3009  {{
3010  ioctl_settopapi_struct_bplaypump_set_source st;
3011  bplaypump_source source;
3012
3013  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3014  if (rc) break;
3015  {
3016  if (st.source) {
3017  rc = copy_from_user((void*)&source, st.source, sizeof(source));
3018  if (rc) break;
3019  }
3020
3021  /* Make the function call */
3022  st.__retval = bplaypump_set_source(st.playpump,st.source ? &source:NULL);
3023  rc = copy_to_user((void*)arg, &st, sizeof(st));
3024  if (rc) {rc = -EFAULT; break;}
3025  }
3026  }}
3027  break;
3028
3029case BSETTOP_IOCTL_bplaypump_get_rtp_hdr_data:
3030  {{
3031  ioctl_settopapi_struct_bplaypump_get_rtp_hdr_data st;
3032  bplaypump_rtp_hdr_data_t rtp_header_data;
3033  unsigned entry_cnt;
3034
3035  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3036  if (rc) break;
3037  {
3038  if (st.rtp_header_data) {
3039  rc = copy_from_user((void*)&rtp_header_data, st.rtp_header_data, sizeof(rtp_header_data));
3040  if (rc) break;
3041  }
3042
3043  /* Make the function call */
3044  st.__retval = bplaypump_get_rtp_hdr_data(st.p,st.rtp_header_data ? &rtp_header_data:NULL,st.entry_cnt ? &entry_cnt:NULL);
3045  rc = copy_to_user((void*)arg, &st, sizeof(st));
3046  if (rc) {rc = -EFAULT; break;}
3047  if (st.entry_cnt) {
3048    rc = copy_to_user(st.entry_cnt, &entry_cnt, sizeof(entry_cnt));
3049    if (rc) {rc = -EFAULT; break;}
3050  }
3051  }
3052  }}
3053  break;
3054
3055case BSETTOP_IOCTL_bencryption_params_init:
3056  {{
3057  ioctl_settopapi_struct_bencryption_params_init st;
3058  bencryption_params encryption;
3059
3060  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3061  if (rc) break;
3062  {
3063
3064  /* Make the function call */
3065  bencryption_params_init(st.encryption ? &encryption:NULL);
3066  rc = 0;
3067
3068  if (st.encryption) {
3069    rc = copy_to_user(st.encryption, &encryption, sizeof(encryption));
3070    if (rc) {rc = -EFAULT; break;}
3071  }
3072  }
3073  }}
3074  break;
3075
3076case BSETTOP_IOCTL_bstream_mpeg_init:
3077  {{
3078  ioctl_settopapi_struct_bstream_mpeg_init st;
3079  bstream_mpeg mpeg;
3080
3081  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3082  if (rc) break;
3083  {
3084
3085  /* Make the function call */
3086  bstream_mpeg_init(st.mpeg ? &mpeg:NULL);
3087  rc = 0;
3088
3089  if (st.mpeg) {
3090    rc = copy_to_user(st.mpeg, &mpeg, sizeof(mpeg));
3091    if (rc) {rc = -EFAULT; break;}
3092  }
3093  }
3094  }}
3095  break;
3096
3097case BSETTOP_IOCTL_bstreamer_attach:
3098  {{
3099  ioctl_settopapi_struct_bstreamer_attach st;
3100
3101  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3102  if (rc) break;
3103  {
3104
3105  /* Make the function call */
3106  st.__retval = bstreamer_attach(st.id,st.mpeg_type);
3107  rc = copy_to_user((void*)arg, &st, sizeof(st));
3108  if (rc) {rc = -EFAULT; break;}
3109  }
3110  }}
3111  break;
3112
3113case BSETTOP_IOCTL_bstream_open:
3114  {{
3115  ioctl_settopapi_struct_bstream_open st;
3116  bstream_mpeg mpegparams;
3117
3118  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3119  if (rc) break;
3120  {
3121  if (st.mpegparams) {
3122  rc = copy_from_user((void*)&mpegparams, st.mpegparams, sizeof(mpegparams));
3123  if (rc) break;
3124  }
3125
3126  /* Make the function call */
3127  st.__retval = bstream_open(st.band,st.mpegparams ? &mpegparams:NULL);
3128  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bstream_close, "bstream_close");
3129  rc = copy_to_user((void*)arg, &st, sizeof(st));
3130  if (rc) {rc = -EFAULT; break;}
3131  }
3132  }}
3133  break;
3134
3135case BSETTOP_IOCTL_bstream_set_encryption:
3136  {{
3137  ioctl_settopapi_struct_bstream_set_encryption st;
3138  bencryption_params encryption;
3139
3140  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3141  if (rc) break;
3142  {
3143  if (st.encryption) {
3144  rc = copy_from_user((void*)&encryption, st.encryption, sizeof(encryption));
3145  if (rc) break;
3146  }
3147
3148  /* Make the function call */
3149  st.__retval = bstream_set_encryption(st.stream,st.encryption ? &encryption:NULL);
3150  rc = copy_to_user((void*)arg, &st, sizeof(st));
3151  if (rc) {rc = -EFAULT; break;}
3152  }
3153  }}
3154  break;
3155
3156case BSETTOP_IOCTL_bstream_join:
3157  {{
3158  ioctl_settopapi_struct_bstream_join st;
3159
3160  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3161  if (rc) break;
3162  {
3163
3164  /* Make the function call */
3165  bstream_join(st.video_source,st.audio_source);
3166  rc = 0;
3167
3168  }
3169  }}
3170  break;
3171
3172case BSETTOP_IOCTL_bstream_open_child:
3173  {{
3174  ioctl_settopapi_struct_bstream_open_child st;
3175  bstream_mpeg mpegparams;
3176
3177  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3178  if (rc) break;
3179  {
3180  if (st.mpegparams) {
3181  rc = copy_from_user((void*)&mpegparams, st.mpegparams, sizeof(mpegparams));
3182  if (rc) break;
3183  }
3184
3185  /* Make the function call */
3186  st.__retval = bstream_open_child(st.parent,st.mpegparams ? &mpegparams:NULL);
3187  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bstream_close, "bstream_close");
3188  rc = copy_to_user((void*)arg, &st, sizeof(st));
3189  if (rc) {rc = -EFAULT; break;}
3190  }
3191  }}
3192  break;
3193
3194case BSETTOP_IOCTL_bstream_close:
3195  {{
3196  ioctl_settopapi_struct_bstream_close st;
3197
3198  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3199  if (rc) break;
3200  {
3201
3202  /* Make the function call */
3203  bstream_close(st.stream);
3204  bhandle_mgr_remove(file->private_data, st.stream, "bstream_close");
3205  rc = 0;
3206
3207  }
3208  }}
3209  break;
3210
3211case BSETTOP_IOCTL_bstream_get_mpeg_parameters:
3212  {{
3213  ioctl_settopapi_struct_bstream_get_mpeg_parameters st;
3214  bstream_status status;
3215
3216  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3217  if (rc) break;
3218  {
3219
3220  /* Make the function call */
3221  st.__retval = bstream_get_mpeg_parameters(st.stream,st.status ? &status:NULL);
3222  rc = copy_to_user((void*)arg, &st, sizeof(st));
3223  if (rc) {rc = -EFAULT; break;}
3224  if (st.status) {
3225    rc = copy_to_user(st.status, &status, sizeof(status));
3226    if (rc) {rc = -EFAULT; break;}
3227  }
3228  }
3229  }}
3230  break;
3231
3232case BSETTOP_IOCTL_bstream_set_mpeg_parameters:
3233  {{
3234  ioctl_settopapi_struct_bstream_set_mpeg_parameters st;
3235  bstream_mpeg mpeg;
3236
3237  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3238  if (rc) break;
3239  {
3240  if (st.mpeg) {
3241  rc = copy_from_user((void*)&mpeg, st.mpeg, sizeof(mpeg));
3242  if (rc) break;
3243  }
3244
3245  /* Make the function call */
3246  st.__retval = bstream_set_mpeg_parameters(st.stream,st.mpeg ? &mpeg:NULL);
3247  rc = copy_to_user((void*)arg, &st, sizeof(st));
3248  if (rc) {rc = -EFAULT; break;}
3249  }
3250  }}
3251  break;
3252
3253case BSETTOP_IOCTL_bband_get:
3254  {{
3255  ioctl_settopapi_struct_bband_get st;
3256  bband_settings settings;
3257
3258  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3259  if (rc) break;
3260  {
3261
3262  /* Make the function call */
3263  bband_get(st.band,st.settings ? &settings:NULL);
3264  rc = 0;
3265
3266  if (st.settings) {
3267    rc = copy_to_user(st.settings, &settings, sizeof(settings));
3268    if (rc) {rc = -EFAULT; break;}
3269  }
3270  }
3271  }}
3272  break;
3273
3274case BSETTOP_IOCTL_bstream_start_pcr_monitor:
3275  {{
3276  ioctl_settopapi_struct_bstream_start_pcr_monitor st;
3277
3278  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3279  if (rc) break;
3280  {
3281
3282  /* Make the function call */
3283  st.__retval = bstream_start_pcr_monitor(st.stream);
3284  rc = copy_to_user((void*)arg, &st, sizeof(st));
3285  if (rc) {rc = -EFAULT; break;}
3286  }
3287  }}
3288  break;
3289
3290case BSETTOP_IOCTL_bstream_stop_pcr_monitor:
3291  {{
3292  ioctl_settopapi_struct_bstream_stop_pcr_monitor st;
3293
3294  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3295  if (rc) break;
3296  {
3297
3298  /* Make the function call */
3299  bstream_stop_pcr_monitor(st.stream);
3300  rc = 0;
3301
3302  }
3303  }}
3304  break;
3305
3306case BSETTOP_IOCTL_bstream_get_pcr_status:
3307  {{
3308  ioctl_settopapi_struct_bstream_get_pcr_status st;
3309  bstream_pcr_status status;
3310
3311  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3312  if (rc) break;
3313  {
3314
3315  /* Make the function call */
3316  st.__retval = bstream_get_pcr_status(st.stream,st.status ? &status:NULL);
3317  rc = copy_to_user((void*)arg, &st, sizeof(st));
3318  if (rc) {rc = -EFAULT; break;}
3319  if (st.status) {
3320    rc = copy_to_user(st.status, &status, sizeof(status));
3321    if (rc) {rc = -EFAULT; break;}
3322  }
3323  }
3324  }}
3325  break;
3326
3327case BSETTOP_IOCTL_bstream_vbi_get_settings:
3328  {{
3329  ioctl_settopapi_struct_bstream_vbi_get_settings st;
3330  bstream_vbi_settings settings;
3331
3332  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3333  if (rc) break;
3334  {
3335
3336  /* Make the function call */
3337  bstream_vbi_get_settings(st.stream,st.settings ? &settings:NULL);
3338  rc = 0;
3339
3340  if (st.settings) {
3341    rc = copy_to_user(st.settings, &settings, sizeof(settings));
3342    if (rc) {rc = -EFAULT; break;}
3343  }
3344  }
3345  }}
3346  break;
3347
3348case BSETTOP_IOCTL_bstream_vbi_set_settings:
3349  {{
3350  ioctl_settopapi_struct_bstream_vbi_set_settings st;
3351  bstream_vbi_settings settings;
3352
3353  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3354  if (rc) break;
3355  {
3356  if (st.settings) {
3357  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
3358  if (rc) break;
3359  }
3360  if ( settings.cc_data_ready_callback ) { settings.cc_data_ready_callback = b_proxy_create_callback(ioctl_settopapi_bvbi_cc_data_ready_callback, st.stream, settings.callback_context); }
3361
3362  /* Make the function call */
3363  st.__retval = bstream_vbi_set_settings(st.stream,st.settings ? &settings:NULL);
3364  rc = copy_to_user((void*)arg, &st, sizeof(st));
3365  if (rc) {rc = -EFAULT; break;}
3366  }
3367  }}
3368  break;
3369
3370case BSETTOP_IOCTL_bstream_vbi_cc_read:
3371  {{
3372  ioctl_settopapi_struct_bstream_vbi_cc_read st;
3373  bstream_vbi_cc * data;
3374  size_t length_read;
3375
3376  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3377  if (rc) break;
3378  {
3379  bstream_vbi_cc data_array[st.length];
3380  data = data_array;
3381
3382  /* Make the function call */
3383  st.__retval = bstream_vbi_cc_read(st.stream,data,st.length,st.length_read ? &length_read:NULL);
3384  rc = copy_to_user((void*)arg, &st, sizeof(st));
3385  if (rc) {rc = -EFAULT; break;}
3386  if (st.data) {
3387    rc = copy_to_user(st.data, data, st.length*sizeof(bstream_vbi_cc));
3388    if (rc) {rc = -EFAULT; break;}
3389  }
3390  if (st.length_read) {
3391    rc = copy_to_user(st.length_read, &length_read, sizeof(length_read));
3392    if (rc) {rc = -EFAULT; break;}
3393  }
3394  }
3395  }}
3396  break;
3397
3398case BSETTOP_IOCTL_bstream_vbi_cc708_read:
3399  {{
3400  ioctl_settopapi_struct_bstream_vbi_cc708_read st;
3401  bstream_cc_708 * data;
3402  size_t length_read;
3403
3404  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3405  if (rc) break;
3406  {
3407  bstream_cc_708 data_array[st.length];
3408  data = data_array;
3409
3410  /* Make the function call */
3411  st.__retval = bstream_vbi_cc708_read(st.stream,data,st.length,st.length_read ? &length_read:NULL);
3412  rc = copy_to_user((void*)arg, &st, sizeof(st));
3413  if (rc) {rc = -EFAULT; break;}
3414  if (st.data) {
3415    rc = copy_to_user(st.data, data, st.length*sizeof(bstream_cc_708));
3416    if (rc) {rc = -EFAULT; break;}
3417  }
3418  if (st.length_read) {
3419    rc = copy_to_user(st.length_read, &length_read, sizeof(length_read));
3420    if (rc) {rc = -EFAULT; break;}
3421  }
3422  }
3423  }}
3424  break;
3425
3426case BSETTOP_IOCTL_bdisplay_vbi_cc_write:
3427  {{
3428  ioctl_settopapi_struct_bdisplay_vbi_cc_write st;
3429  const bstream_vbi_cc * data;
3430  size_t length_written;
3431
3432  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3433  if (rc) break;
3434  {
3435  bstream_vbi_cc data_array[st.length];
3436  data = data_array;
3437  rc = copy_from_user((void*)data, st.data, st.length*sizeof(bstream_vbi_cc));
3438  if (rc) break;
3439
3440  /* Make the function call */
3441  st.__retval = bdisplay_vbi_cc_write(st.display,data,st.length,st.length_written ? &length_written:NULL);
3442  rc = copy_to_user((void*)arg, &st, sizeof(st));
3443  if (rc) {rc = -EFAULT; break;}
3444  if (st.length_written) {
3445    rc = copy_to_user(st.length_written, &length_written, sizeof(length_written));
3446    if (rc) {rc = -EFAULT; break;}
3447  }
3448  }
3449  }}
3450  break;
3451
3452case BSETTOP_IOCTL_bstream_vbi_tt_read:
3453  {{
3454  ioctl_settopapi_struct_bstream_vbi_tt_read st;
3455  bstream_vbi_tt * data;
3456  size_t length_read;
3457
3458  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3459  if (rc) break;
3460  {
3461  bstream_vbi_tt data_array[st.length];
3462  data = data_array;
3463
3464  /* Make the function call */
3465  st.__retval = bstream_vbi_tt_read(st.stream,data,st.length,st.length_read ? &length_read:NULL);
3466  rc = copy_to_user((void*)arg, &st, sizeof(st));
3467  if (rc) {rc = -EFAULT; break;}
3468  if (st.data) {
3469    rc = copy_to_user(st.data, data, st.length*sizeof(bstream_vbi_tt));
3470    if (rc) {rc = -EFAULT; break;}
3471  }
3472  if (st.length_read) {
3473    rc = copy_to_user(st.length_read, &length_read, sizeof(length_read));
3474    if (rc) {rc = -EFAULT; break;}
3475  }
3476  }
3477  }}
3478  break;
3479
3480case BSETTOP_IOCTL_bdisplay_vbi_tt_write:
3481  {{
3482  ioctl_settopapi_struct_bdisplay_vbi_tt_write st;
3483  const bstream_vbi_tt * data;
3484
3485  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3486  if (rc) break;
3487  {
3488  bstream_vbi_tt data_array[st.length];
3489  data = data_array;
3490  rc = copy_from_user((void*)data, st.data, st.length*sizeof(bstream_vbi_tt));
3491  if (rc) break;
3492
3493  /* Make the function call */
3494  st.__retval = bdisplay_vbi_tt_write(st.display,data,st.length,st.polarity);
3495  rc = copy_to_user((void*)arg, &st, sizeof(st));
3496  if (rc) {rc = -EFAULT; break;}
3497  }
3498  }}
3499  break;
3500
3501case BSETTOP_IOCTL_bdisplay_vbi_set_cgms:
3502  {{
3503  ioctl_settopapi_struct_bdisplay_vbi_set_cgms st;
3504
3505  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3506  if (rc) break;
3507  {
3508
3509  /* Make the function call */
3510  st.__retval = bdisplay_vbi_set_cgms(st.display,st.cgms_value);
3511  rc = copy_to_user((void*)arg, &st, sizeof(st));
3512  if (rc) {rc = -EFAULT; break;}
3513  }
3514  }}
3515  break;
3516
3517case BSETTOP_IOCTL_bdisplay_vbi_set_wss:
3518  {{
3519  ioctl_settopapi_struct_bdisplay_vbi_set_wss st;
3520
3521  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3522  if (rc) break;
3523  {
3524
3525  /* Make the function call */
3526  st.__retval = bdisplay_vbi_set_wss(st.display,st.wss_value);
3527  rc = copy_to_user((void*)arg, &st, sizeof(st));
3528  if (rc) {rc = -EFAULT; break;}
3529  }
3530  }}
3531  break;
3532
3533case BSETTOP_IOCTL_bdisplay_vbi_get_cgms:
3534  {{
3535  ioctl_settopapi_struct_bdisplay_vbi_get_cgms st;
3536  bool enabled;
3537
3538  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3539  if (rc) break;
3540  {
3541
3542  /* Make the function call */
3543  st.__retval = bdisplay_vbi_get_cgms(st.display,st.enabled ? &enabled:NULL);
3544  rc = copy_to_user((void*)arg, &st, sizeof(st));
3545  if (rc) {rc = -EFAULT; break;}
3546  if (st.enabled) {
3547    rc = copy_to_user(st.enabled, &enabled, sizeof(enabled));
3548    if (rc) {rc = -EFAULT; break;}
3549  }
3550  }
3551  }}
3552  break;
3553
3554case BSETTOP_IOCTL_bdisplay_vbi_get_wss:
3555  {{
3556  ioctl_settopapi_struct_bdisplay_vbi_get_wss st;
3557  bool enabled;
3558
3559  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3560  if (rc) break;
3561  {
3562
3563  /* Make the function call */
3564  st.__retval = bdisplay_vbi_get_wss(st.display,st.enabled ? &enabled:NULL);
3565  rc = copy_to_user((void*)arg, &st, sizeof(st));
3566  if (rc) {rc = -EFAULT; break;}
3567  if (st.enabled) {
3568    rc = copy_to_user(st.enabled, &enabled, sizeof(enabled));
3569    if (rc) {rc = -EFAULT; break;}
3570  }
3571  }
3572  }}
3573  break;
3574
3575case BSETTOP_IOCTL_bdecode_open:
3576  {{
3577  ioctl_settopapi_struct_bdecode_open st;
3578
3579  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3580  if (rc) break;
3581  {
3582
3583  /* Make the function call */
3584  st.__retval = bdecode_open(st.decode_id);
3585  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bdecode_close, "bdecode_close");
3586  rc = copy_to_user((void*)arg, &st, sizeof(st));
3587  if (rc) {rc = -EFAULT; break;}
3588  }
3589  }}
3590  break;
3591
3592case BSETTOP_IOCTL_bdecode_mosaic_settings_init:
3593  {{
3594  ioctl_settopapi_struct_bdecode_mosaic_settings_init st;
3595  bdecode_mosaic_settings settings;
3596
3597  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3598  if (rc) break;
3599  {
3600
3601  /* Make the function call */
3602  bdecode_mosaic_settings_init(st.parent,st.settings ? &settings:NULL);
3603  rc = 0;
3604
3605  if (st.settings) {
3606    rc = copy_to_user(st.settings, &settings, sizeof(settings));
3607    if (rc) {rc = -EFAULT; break;}
3608  }
3609  }
3610  }}
3611  break;
3612
3613case BSETTOP_IOCTL_bdecode_open_mosaic:
3614  {{
3615  ioctl_settopapi_struct_bdecode_open_mosaic st;
3616  bdecode_mosaic_settings settings;
3617
3618  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3619  if (rc) break;
3620  {
3621  if (st.settings) {
3622  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
3623  if (rc) break;
3624  }
3625
3626  /* Make the function call */
3627  st.__retval = bdecode_open_mosaic(st.parent,st.decode_id,st.settings ? &settings:NULL);
3628  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bdecode_close, "bdecode_close");
3629  rc = copy_to_user((void*)arg, &st, sizeof(st));
3630  if (rc) {rc = -EFAULT; break;}
3631  }
3632  }}
3633  break;
3634
3635case BSETTOP_IOCTL_bdecode_close:
3636  {{
3637  ioctl_settopapi_struct_bdecode_close st;
3638
3639  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3640  if (rc) break;
3641  {
3642
3643  /* Make the function call */
3644  bdecode_close(st.decode);
3645  bhandle_mgr_remove(file->private_data, st.decode, "bdecode_close");
3646  rc = 0;
3647
3648  }
3649  }}
3650  break;
3651
3652case BSETTOP_IOCTL_bdecode_get:
3653  {{
3654  ioctl_settopapi_struct_bdecode_get st;
3655  bdecode_settings settings;
3656
3657  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3658  if (rc) break;
3659  {
3660
3661  /* Make the function call */
3662  bdecode_get(st.decode,st.settings ? &settings:NULL);
3663  rc = 0;
3664
3665  if (st.settings) {
3666    rc = copy_to_user(st.settings, &settings, sizeof(settings));
3667    if (rc) {rc = -EFAULT; break;}
3668  }
3669  }
3670  }}
3671  break;
3672
3673case BSETTOP_IOCTL_bdecode_set:
3674  {{
3675  ioctl_settopapi_struct_bdecode_set st;
3676  bdecode_settings settings;
3677
3678  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3679  if (rc) break;
3680  {
3681  if (st.settings) {
3682  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
3683  if (rc) break;
3684  }
3685  if ( settings.still_picture_done ) { settings.still_picture_done = b_proxy_create_callback(ioctl_settopapi_bdecode_settings_still_picture_done, st.decode, settings.callback_context); }
3686  if ( settings.video.source_changed ) { settings.video.source_changed = b_proxy_create_callback(ioctl_settopapi_bdecode_settings_video_source_changed, st.decode, settings.callback_context); }
3687  if ( settings.audio.source_changed ) { settings.audio.source_changed = b_proxy_create_callback(ioctl_settopapi_bdecode_settings_audio_source_changed, st.decode, settings.callback_context); }
3688
3689  /* Make the function call */
3690  st.__retval = bdecode_set(st.decode,st.settings ? &settings:NULL);
3691  rc = copy_to_user((void*)arg, &st, sizeof(st));
3692  if (rc) {rc = -EFAULT; break;}
3693  }
3694  }}
3695  break;
3696
3697case BSETTOP_IOCTL_bdecode_display_surface:
3698  {{
3699  ioctl_settopapi_struct_bdecode_display_surface st;
3700
3701  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3702  if (rc) break;
3703  {
3704
3705  /* Make the function call */
3706  st.__retval = bdecode_display_surface(st.decode,st.surface,st.window);
3707  rc = copy_to_user((void*)arg, &st, sizeof(st));
3708  if (rc) {rc = -EFAULT; break;}
3709  }
3710  }}
3711  break;
3712
3713case BSETTOP_IOCTL_bdecode_start:
3714  {{
3715  ioctl_settopapi_struct_bdecode_start st;
3716
3717  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3718  if (rc) break;
3719  {
3720
3721  /* Make the function call */
3722  st.__retval = bdecode_start(st.decode,st.source,st.window);
3723  rc = copy_to_user((void*)arg, &st, sizeof(st));
3724  if (rc) {rc = -EFAULT; break;}
3725  }
3726  }}
3727  break;
3728
3729case BSETTOP_IOCTL_bdecode_stop:
3730  {{
3731  ioctl_settopapi_struct_bdecode_stop st;
3732
3733  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3734  if (rc) break;
3735  {
3736
3737  /* Make the function call */
3738  bdecode_stop(st.decode);
3739  rc = 0;
3740
3741  }
3742  }}
3743  break;
3744
3745case BSETTOP_IOCTL_bdecode_detach_audio:
3746  {{
3747  ioctl_settopapi_struct_bdecode_detach_audio st;
3748
3749  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3750  if (rc) break;
3751  {
3752
3753  /* Make the function call */
3754  st.__retval = bdecode_detach_audio(st.decode);
3755  rc = copy_to_user((void*)arg, &st, sizeof(st));
3756  if (rc) {rc = -EFAULT; break;}
3757  }
3758  }}
3759  break;
3760
3761case BSETTOP_IOCTL_bdecode_attach_audio:
3762  {{
3763  ioctl_settopapi_struct_bdecode_attach_audio st;
3764
3765  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3766  if (rc) break;
3767  {
3768
3769  /* Make the function call */
3770  st.__retval = bdecode_attach_audio(st.decode,st.audio);
3771  rc = copy_to_user((void*)arg, &st, sizeof(st));
3772  if (rc) {rc = -EFAULT; break;}
3773  }
3774  }}
3775  break;
3776
3777case BSETTOP_IOCTL_bdecode_set_audio_program:
3778  {{
3779  ioctl_settopapi_struct_bdecode_set_audio_program st;
3780
3781  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3782  if (rc) break;
3783  {
3784
3785  /* Make the function call */
3786  st.__retval = bdecode_set_audio_program(st.decode,st.index);
3787  rc = copy_to_user((void*)arg, &st, sizeof(st));
3788  if (rc) {rc = -EFAULT; break;}
3789  }
3790  }}
3791  break;
3792
3793case BSETTOP_IOCTL_bdecode_get_audio:
3794  {{
3795  ioctl_settopapi_struct_bdecode_get_audio st;
3796
3797  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3798  if (rc) break;
3799  {
3800
3801  /* Make the function call */
3802  st.__retval = bdecode_get_audio(st.decode,st.audio_id);
3803  rc = copy_to_user((void*)arg, &st, sizeof(st));
3804  if (rc) {rc = -EFAULT; break;}
3805  }
3806  }}
3807  break;
3808
3809case BSETTOP_IOCTL_bdecode_detach_video:
3810  {{
3811  ioctl_settopapi_struct_bdecode_detach_video st;
3812
3813  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3814  if (rc) break;
3815  {
3816
3817  /* Make the function call */
3818  st.__retval = bdecode_detach_video(st.decode);
3819  rc = copy_to_user((void*)arg, &st, sizeof(st));
3820  if (rc) {rc = -EFAULT; break;}
3821  }
3822  }}
3823  break;
3824
3825case BSETTOP_IOCTL_bdecode_attach_video:
3826  {{
3827  ioctl_settopapi_struct_bdecode_attach_video st;
3828
3829  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3830  if (rc) break;
3831  {
3832
3833  /* Make the function call */
3834  st.__retval = bdecode_attach_video(st.decode,st.video);
3835  rc = copy_to_user((void*)arg, &st, sizeof(st));
3836  if (rc) {rc = -EFAULT; break;}
3837  }
3838  }}
3839  break;
3840
3841case BSETTOP_IOCTL_bdecode_set_video_program:
3842  {{
3843  ioctl_settopapi_struct_bdecode_set_video_program st;
3844
3845  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3846  if (rc) break;
3847  {
3848
3849  /* Make the function call */
3850  st.__retval = bdecode_set_video_program(st.decode,st.index);
3851  rc = copy_to_user((void*)arg, &st, sizeof(st));
3852  if (rc) {rc = -EFAULT; break;}
3853  }
3854  }}
3855  break;
3856
3857case BSETTOP_IOCTL_bdecode_get_video:
3858  {{
3859  ioctl_settopapi_struct_bdecode_get_video st;
3860
3861  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3862  if (rc) break;
3863  {
3864
3865  /* Make the function call */
3866  st.__retval = bdecode_get_video(st.decode,st.video_id);
3867  rc = copy_to_user((void*)arg, &st, sizeof(st));
3868  if (rc) {rc = -EFAULT; break;}
3869  }
3870  }}
3871  break;
3872
3873case BSETTOP_IOCTL_baudio_decode_get_status:
3874  {{
3875  ioctl_settopapi_struct_baudio_decode_get_status st;
3876  baudio_decode_status status;
3877
3878  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3879  if (rc) break;
3880  {
3881
3882  /* Make the function call */
3883  baudio_decode_get_status(st.audio,st.status ? &status:NULL);
3884  rc = 0;
3885
3886  if (st.status) {
3887    rc = copy_to_user(st.status, &status, sizeof(status));
3888    if (rc) {rc = -EFAULT; break;}
3889  }
3890  }
3891  }}
3892  break;
3893
3894case BSETTOP_IOCTL_bvideo_decode_get_status:
3895  {{
3896  ioctl_settopapi_struct_bvideo_decode_get_status st;
3897  bvideo_decode_status status;
3898
3899  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3900  if (rc) break;
3901  {
3902
3903  /* Make the function call */
3904  bvideo_decode_get_status(st.video,st.status ? &status:NULL);
3905  rc = 0;
3906
3907  if (st.status) {
3908    rc = copy_to_user(st.status, &status, sizeof(status));
3909    if (rc) {rc = -EFAULT; break;}
3910  }
3911  }
3912  }}
3913  break;
3914
3915case BSETTOP_IOCTL_bdecode_get_status:
3916  {{
3917  ioctl_settopapi_struct_bdecode_get_status st;
3918  bdecode_status status;
3919
3920  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3921  if (rc) break;
3922  {
3923
3924  /* Make the function call */
3925  st.__retval = bdecode_get_status(st.decode,st.status ? &status:NULL);
3926  rc = copy_to_user((void*)arg, &st, sizeof(st));
3927  if (rc) {rc = -EFAULT; break;}
3928  if (st.status) {
3929    rc = copy_to_user(st.status, &status, sizeof(status));
3930    if (rc) {rc = -EFAULT; break;}
3931  }
3932  }
3933  }}
3934  break;
3935
3936case BSETTOP_IOCTL_bdecode_set_audio_volume:
3937  {{
3938  ioctl_settopapi_struct_bdecode_set_audio_volume st;
3939  baudio_volume volume;
3940
3941  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3942  if (rc) break;
3943  {
3944  if (st.volume) {
3945  rc = copy_from_user((void*)&volume, st.volume, sizeof(volume));
3946  if (rc) break;
3947  }
3948
3949  /* Make the function call */
3950  st.__retval = bdecode_set_audio_volume(st.decode,st.volume ? &volume:NULL);
3951  rc = copy_to_user((void*)arg, &st, sizeof(st));
3952  if (rc) {rc = -EFAULT; break;}
3953  }
3954  }}
3955  break;
3956
3957case BSETTOP_IOCTL_bdecode_get_audio_volume:
3958  {{
3959  ioctl_settopapi_struct_bdecode_get_audio_volume st;
3960  baudio_volume volume;
3961
3962  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3963  if (rc) break;
3964  {
3965
3966  /* Make the function call */
3967  st.__retval = bdecode_get_audio_volume(st.decode,st.volume ? &volume:NULL);
3968  rc = copy_to_user((void*)arg, &st, sizeof(st));
3969  if (rc) {rc = -EFAULT; break;}
3970  if (st.volume) {
3971    rc = copy_to_user(st.volume, &volume, sizeof(volume));
3972    if (rc) {rc = -EFAULT; break;}
3973  }
3974  }
3975  }}
3976  break;
3977
3978case BSETTOP_IOCTL_bdecode_get_stc:
3979  {{
3980  ioctl_settopapi_struct_bdecode_get_stc st;
3981  uint32_t stc;
3982
3983  rc = copy_from_user(&st, (void*)arg, sizeof(st));
3984  if (rc) break;
3985  {
3986
3987  /* Make the function call */
3988  st.__retval = bdecode_get_stc(st.decode,st.stc ? &stc:NULL);
3989  rc = copy_to_user((void*)arg, &st, sizeof(st));
3990  if (rc) {rc = -EFAULT; break;}
3991  if (st.stc) {
3992    rc = copy_to_user(st.stc, &stc, sizeof(stc));
3993    if (rc) {rc = -EFAULT; break;}
3994  }
3995  }
3996  }}
3997  break;
3998
3999case BSETTOP_IOCTL_bdecode_set_stc:
4000  {{
4001  ioctl_settopapi_struct_bdecode_set_stc st;
4002
4003  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4004  if (rc) break;
4005  {
4006
4007  /* Make the function call */
4008  st.__retval = bdecode_set_stc(st.decode,st.stc);
4009  rc = copy_to_user((void*)arg, &st, sizeof(st));
4010  if (rc) {rc = -EFAULT; break;}
4011  }
4012  }}
4013  break;
4014
4015case BSETTOP_IOCTL_bdecode_slow_clock:
4016  {{
4017  ioctl_settopapi_struct_bdecode_slow_clock st;
4018
4019  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4020  if (rc) break;
4021  {
4022
4023  /* Make the function call */
4024  bdecode_slow_clock(st.decode,st.slow);
4025  rc = 0;
4026
4027  }
4028  }}
4029  break;
4030
4031case BSETTOP_IOCTL_bdecode_read_metadata:
4032  {{
4033  ioctl_settopapi_struct_bdecode_read_metadata st;
4034  void * buffer;
4035  unsigned amount_read;
4036
4037  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4038  if (rc) break;
4039  {
4040  unsigned char buffer_array[st.size];
4041  buffer = buffer_array;
4042
4043  /* Make the function call */
4044  st.__retval = bdecode_read_metadata(st.decode,buffer,st.size,st.amount_read ? &amount_read:NULL);
4045  rc = copy_to_user((void*)arg, &st, sizeof(st));
4046  if (rc) {rc = -EFAULT; break;}
4047  if (st.buffer) {
4048    rc = copy_to_user(st.buffer, buffer, st.size*sizeof(unsigned char));
4049    if (rc) {rc = -EFAULT; break;}
4050  }
4051  if (st.amount_read) {
4052    rc = copy_to_user(st.amount_read, &amount_read, sizeof(amount_read));
4053    if (rc) {rc = -EFAULT; break;}
4054  }
4055  }
4056  }}
4057  break;
4058
4059case BSETTOP_IOCTL_bdecode_allocate_capture_buffers:
4060  {{
4061  ioctl_settopapi_struct_bdecode_allocate_capture_buffers st;
4062
4063  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4064  if (rc) break;
4065  {
4066
4067  /* Make the function call */
4068  st.__retval = bdecode_allocate_capture_buffers(st.decode,st.count);
4069  rc = copy_to_user((void*)arg, &st, sizeof(st));
4070  if (rc) {rc = -EFAULT; break;}
4071  }
4072  }}
4073  break;
4074
4075case BSETTOP_IOCTL_bdecode_acquire_capture_buffer:
4076  {{
4077  ioctl_settopapi_struct_bdecode_acquire_capture_buffer st;
4078  bool top_field;
4079
4080  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4081  if (rc) break;
4082  {
4083
4084  /* Make the function call */
4085  st.__retval = bdecode_acquire_capture_buffer(st.decode,st.graphics,st.top_field ? &top_field:NULL);
4086  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bsurface_destroy, "bsurface_destroy");
4087  rc = copy_to_user((void*)arg, &st, sizeof(st));
4088  if (rc) {rc = -EFAULT; break;}
4089  if (st.top_field) {
4090    rc = copy_to_user(st.top_field, &top_field, sizeof(top_field));
4091    if (rc) {rc = -EFAULT; break;}
4092  }
4093  }
4094  }}
4095  break;
4096
4097case BSETTOP_IOCTL_bdecode_release_capture_buffer:
4098  {{
4099  ioctl_settopapi_struct_bdecode_release_capture_buffer st;
4100
4101  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4102  if (rc) break;
4103  {
4104
4105  /* Make the function call */
4106  st.__retval = bdecode_release_capture_buffer(st.decode,st.surface);
4107  rc = copy_to_user((void*)arg, &st, sizeof(st));
4108  if (rc) {rc = -EFAULT; break;}
4109  }
4110  }}
4111  break;
4112
4113case BSETTOP_IOCTL_bsettop_get_power_state:
4114  {{
4115  ioctl_settopapi_struct_bsettop_get_power_state st;
4116  bsettop_power_state state;
4117
4118  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4119  if (rc) break;
4120  {
4121
4122  /* Make the function call */
4123  bsettop_get_power_state(st.state ? &state:NULL);
4124  rc = 0;
4125
4126  if (st.state) {
4127    rc = copy_to_user(st.state, &state, sizeof(state));
4128    if (rc) {rc = -EFAULT; break;}
4129  }
4130  }
4131  }}
4132  break;
4133
4134case BSETTOP_IOCTL_bsettop_set_power_state:
4135  {{
4136  ioctl_settopapi_struct_bsettop_set_power_state st;
4137  bsettop_power_state state;
4138
4139  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4140  if (rc) break;
4141  {
4142  if (st.state) {
4143  rc = copy_from_user((void*)&state, st.state, sizeof(state));
4144  if (rc) break;
4145  }
4146
4147  /* Make the function call */
4148  st.__retval = bsettop_set_power_state(st.state ? &state:NULL);
4149  rc = copy_to_user((void*)arg, &st, sizeof(st));
4150  if (rc) {rc = -EFAULT; break;}
4151  }
4152  }}
4153  break;
4154
4155case BSETTOP_IOCTL_bsettop_init_frontend:
4156  {{
4157  ioctl_settopapi_struct_bsettop_init_frontend st;
4158
4159  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4160  if (rc) break;
4161  {
4162
4163  /* Make the function call */
4164  st.__retval = bsettop_init_frontend();
4165  rc = copy_to_user((void*)arg, &st, sizeof(st));
4166  if (rc) {rc = -EFAULT; break;}
4167  }
4168  }}
4169  break;
4170
4171case BSETTOP_IOCTL_btuner_open:
4172  {{
4173  ioctl_settopapi_struct_btuner_open st;
4174
4175  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4176  if (rc) break;
4177  {
4178
4179  /* Make the function call */
4180  st.__retval = btuner_open(st.tuner_id);
4181  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)btuner_close, "btuner_close");
4182  rc = copy_to_user((void*)arg, &st, sizeof(st));
4183  if (rc) {rc = -EFAULT; break;}
4184  }
4185  }}
4186  break;
4187
4188case BSETTOP_IOCTL_btuner_close:
4189  {{
4190  ioctl_settopapi_struct_btuner_close st;
4191
4192  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4193  if (rc) break;
4194  {
4195
4196  /* Make the function call */
4197  btuner_close(st.tuner);
4198  bhandle_mgr_remove(file->private_data, st.tuner, "btuner_close");
4199  rc = 0;
4200
4201  }
4202  }}
4203  break;
4204
4205case BSETTOP_IOCTL_btuner_qam_params_init:
4206  {{
4207  ioctl_settopapi_struct_btuner_qam_params_init st;
4208  btuner_qam_params qam;
4209
4210  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4211  if (rc) break;
4212  {
4213
4214  /* Make the function call */
4215  btuner_qam_params_init(st.qam ? &qam:NULL,st.tuner);
4216  rc = 0;
4217
4218  if (st.qam) {
4219    rc = copy_to_user(st.qam, &qam, sizeof(qam));
4220    if (rc) {rc = -EFAULT; break;}
4221  }
4222  }
4223  }}
4224  break;
4225
4226case BSETTOP_IOCTL_btuner_ofdm_params_init:
4227  {{
4228  ioctl_settopapi_struct_btuner_ofdm_params_init st;
4229  btuner_ofdm_params ofdm;
4230
4231  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4232  if (rc) break;
4233  {
4234
4235  /* Make the function call */
4236  btuner_ofdm_params_init(st.ofdm ? &ofdm:NULL,st.tuner);
4237  rc = 0;
4238
4239  if (st.ofdm) {
4240    rc = copy_to_user(st.ofdm, &ofdm, sizeof(ofdm));
4241    if (rc) {rc = -EFAULT; break;}
4242  }
4243  }
4244  }}
4245  break;
4246
4247case BSETTOP_IOCTL_btuner_analog_params_init:
4248  {{
4249  ioctl_settopapi_struct_btuner_analog_params_init st;
4250  btuner_analog_params analog;
4251
4252  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4253  if (rc) break;
4254  {
4255
4256  /* Make the function call */
4257  btuner_analog_params_init(st.analog ? &analog:NULL,st.tuner);
4258  rc = 0;
4259
4260  if (st.analog) {
4261    rc = copy_to_user(st.analog, &analog, sizeof(analog));
4262    if (rc) {rc = -EFAULT; break;}
4263  }
4264  }
4265  }}
4266  break;
4267
4268case BSETTOP_IOCTL_btuner_qam_us_params_init:
4269  {{
4270  ioctl_settopapi_struct_btuner_qam_us_params_init st;
4271  btuner_qam_us_params us_param;
4272
4273  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4274  if (rc) break;
4275  {
4276
4277  /* Make the function call */
4278  btuner_qam_us_params_init(st.us_param ? &us_param:NULL,st.tuner);
4279  rc = 0;
4280
4281  if (st.us_param) {
4282    rc = copy_to_user(st.us_param, &us_param, sizeof(us_param));
4283    if (rc) {rc = -EFAULT; break;}
4284  }
4285  }
4286  }}
4287  break;
4288
4289case BSETTOP_IOCTL_btuner_sds_params_init:
4290  {{
4291  ioctl_settopapi_struct_btuner_sds_params_init st;
4292  btuner_sds_params sds;
4293
4294  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4295  if (rc) break;
4296  {
4297
4298  /* Make the function call */
4299  btuner_sds_params_init(st.sds ? &sds:NULL,st.tuner);
4300  rc = 0;
4301
4302  if (st.sds) {
4303    rc = copy_to_user(st.sds, &sds, sizeof(sds));
4304    if (rc) {rc = -EFAULT; break;}
4305  }
4306  }
4307  }}
4308  break;
4309
4310case BSETTOP_IOCTL_btuner_vsb_params_init:
4311  {{
4312  ioctl_settopapi_struct_btuner_vsb_params_init st;
4313  btuner_vsb_params vsb;
4314
4315  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4316  if (rc) break;
4317  {
4318
4319  /* Make the function call */
4320  btuner_vsb_params_init(st.vsb ? &vsb:NULL,st.tuner);
4321  rc = 0;
4322
4323  if (st.vsb) {
4324    rc = copy_to_user(st.vsb, &vsb, sizeof(vsb));
4325    if (rc) {rc = -EFAULT; break;}
4326  }
4327  }
4328  }}
4329  break;
4330
4331case BSETTOP_IOCTL_btuner_linein_open:
4332  {{
4333  ioctl_settopapi_struct_btuner_linein_open st;
4334
4335  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4336  if (rc) break;
4337  {
4338
4339  /* Make the function call */
4340  st.__retval = btuner_linein_open(st.linein_id);
4341  rc = copy_to_user((void*)arg, &st, sizeof(st));
4342  if (rc) {rc = -EFAULT; break;}
4343  }
4344  }}
4345  break;
4346
4347case BSETTOP_IOCTL_btuner_tune_qam:
4348  {{
4349  ioctl_settopapi_struct_btuner_tune_qam st;
4350  btuner_qam_params params;
4351
4352  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4353  if (rc) break;
4354  {
4355  if (st.params) {
4356  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4357  if (rc) break;
4358  }
4359  if ( params.lock_callback ) { params.lock_callback = b_proxy_create_callback(ioctl_settopapi_btuner_qam_params_lock_callback, st.tuner, params.callback_context); }
4360
4361  /* Make the function call */
4362  st.__retval = btuner_tune_qam(st.tuner,st.freq,st.params ? &params:NULL);
4363  rc = copy_to_user((void*)arg, &st, sizeof(st));
4364  if (rc) {rc = -EFAULT; break;}
4365  }
4366  }}
4367  break;
4368
4369case BSETTOP_IOCTL_btuner_tune_oob:
4370  {{
4371  ioctl_settopapi_struct_btuner_tune_oob st;
4372  btuner_qam_params params;
4373
4374  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4375  if (rc) break;
4376  {
4377  if (st.params) {
4378  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4379  if (rc) break;
4380  }
4381  if ( params.lock_callback ) { params.lock_callback = b_proxy_create_callback(ioctl_settopapi_btuner_oob_params_lock_callback, st.tuner, params.callback_context); }
4382
4383  /* Make the function call */
4384  st.__retval = btuner_tune_oob(st.tuner,st.freq,st.params ? &params:NULL);
4385  rc = copy_to_user((void*)arg, &st, sizeof(st));
4386  if (rc) {rc = -EFAULT; break;}
4387  }
4388  }}
4389  break;
4390
4391case BSETTOP_IOCTL_btuner_tune_qam_us:
4392  {{
4393  ioctl_settopapi_struct_btuner_tune_qam_us st;
4394  btuner_qam_us_params params;
4395
4396  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4397  if (rc) break;
4398  {
4399  if (st.params) {
4400  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4401  if (rc) break;
4402  }
4403
4404  /* Make the function call */
4405  st.__retval = btuner_tune_qam_us(st.tuner,st.freq,st.params ? &params:NULL);
4406  rc = copy_to_user((void*)arg, &st, sizeof(st));
4407  if (rc) {rc = -EFAULT; break;}
4408  }
4409  }}
4410  break;
4411
4412case BSETTOP_IOCTL_btuner_tune_sds:
4413  {{
4414  ioctl_settopapi_struct_btuner_tune_sds st;
4415  btuner_sds_params params;
4416
4417  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4418  if (rc) break;
4419  {
4420  if (st.params) {
4421  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4422  if (rc) break;
4423  }
4424  if ( params.lock_callback ) { params.lock_callback = b_proxy_create_callback(ioctl_settopapi_btuner_sds_params_lock_callback, st.tuner, params.callback_context); }
4425
4426  /* Make the function call */
4427  st.__retval = btuner_tune_sds(st.tuner,st.freq,st.params ? &params:NULL);
4428  rc = copy_to_user((void*)arg, &st, sizeof(st));
4429  if (rc) {rc = -EFAULT; break;}
4430  }
4431  }}
4432  break;
4433
4434case BSETTOP_IOCTL_btuner_tune_vsb:
4435  {{
4436  ioctl_settopapi_struct_btuner_tune_vsb st;
4437  btuner_vsb_params params;
4438
4439  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4440  if (rc) break;
4441  {
4442  if (st.params) {
4443  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4444  if (rc) break;
4445  }
4446  if ( params.lock_callback ) { params.lock_callback = b_proxy_create_callback(ioctl_settopapi_btuner_vsb_params_lock_callback, st.tuner, params.callback_context); }
4447
4448  /* Make the function call */
4449  st.__retval = btuner_tune_vsb(st.tuner,st.freq,st.params ? &params:NULL);
4450  rc = copy_to_user((void*)arg, &st, sizeof(st));
4451  if (rc) {rc = -EFAULT; break;}
4452  }
4453  }}
4454  break;
4455
4456case BSETTOP_IOCTL_btuner_tune_ofdm:
4457  {{
4458  ioctl_settopapi_struct_btuner_tune_ofdm st;
4459  btuner_ofdm_params params;
4460
4461  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4462  if (rc) break;
4463  {
4464  if (st.params) {
4465  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4466  if (rc) break;
4467  }
4468
4469  /* Make the function call */
4470  st.__retval = btuner_tune_ofdm(st.tuner,st.freq,st.params ? &params:NULL);
4471  rc = copy_to_user((void*)arg, &st, sizeof(st));
4472  if (rc) {rc = -EFAULT; break;}
4473  }
4474  }}
4475  break;
4476
4477case BSETTOP_IOCTL_btuner_tune_rf:
4478  {{
4479  ioctl_settopapi_struct_btuner_tune_rf st;
4480  btuner_analog_params params;
4481
4482  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4483  if (rc) break;
4484  {
4485  if (st.params) {
4486  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4487  if (rc) break;
4488  }
4489
4490  /* Make the function call */
4491  st.__retval = btuner_tune_rf(st.tuner,st.carrierfreq,st.params ? &params:NULL);
4492  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bstream_close, "bstream_close");
4493  rc = copy_to_user((void*)arg, &st, sizeof(st));
4494  if (rc) {rc = -EFAULT; break;}
4495  }
4496  }}
4497  break;
4498
4499case BSETTOP_IOCTL_btuner_tune_linein:
4500  {{
4501  ioctl_settopapi_struct_btuner_tune_linein st;
4502  btuner_analog_params params;
4503
4504  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4505  if (rc) break;
4506  {
4507  if (st.params) {
4508  rc = copy_from_user((void*)&params, st.params, sizeof(params));
4509  if (rc) break;
4510  }
4511
4512  /* Make the function call */
4513  st.__retval = btuner_tune_linein(st.tuner,st.linein,st.params ? &params:NULL);
4514  bhandle_mgr_add(file->private_data, st.__retval, (settopapi_close_func)bstream_close, "bstream_close");
4515  rc = copy_to_user((void*)arg, &st, sizeof(st));
4516  if (rc) {rc = -EFAULT; break;}
4517  }
4518  }}
4519  break;
4520
4521case BSETTOP_IOCTL_btuner_get_analog_status:
4522  {{
4523  ioctl_settopapi_struct_btuner_get_analog_status st;
4524  btuner_analog_status status;
4525
4526  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4527  if (rc) break;
4528  {
4529
4530  /* Make the function call */
4531  st.__retval = btuner_get_analog_status(st.tuner,st.status ? &status:NULL);
4532  rc = copy_to_user((void*)arg, &st, sizeof(st));
4533  if (rc) {rc = -EFAULT; break;}
4534  if (st.status) {
4535    rc = copy_to_user(st.status, &status, sizeof(status));
4536    if (rc) {rc = -EFAULT; break;}
4537  }
4538  }
4539  }}
4540  break;
4541
4542case BSETTOP_IOCTL_btuner_get_qam_status:
4543  {{
4544  ioctl_settopapi_struct_btuner_get_qam_status st;
4545  btuner_qam_status status;
4546
4547  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4548  if (rc) break;
4549  {
4550
4551  /* Make the function call */
4552  st.__retval = btuner_get_qam_status(st.tuner,st.status ? &status:NULL);
4553  rc = copy_to_user((void*)arg, &st, sizeof(st));
4554  if (rc) {rc = -EFAULT; break;}
4555  if (st.status) {
4556    rc = copy_to_user(st.status, &status, sizeof(status));
4557    if (rc) {rc = -EFAULT; break;}
4558  }
4559  }
4560  }}
4561  break;
4562
4563case BSETTOP_IOCTL_btuner_get_qam_us_status:
4564  {{
4565  ioctl_settopapi_struct_btuner_get_qam_us_status st;
4566  btuner_qam_us_status status;
4567
4568  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4569  if (rc) break;
4570  {
4571
4572  /* Make the function call */
4573  st.__retval = btuner_get_qam_us_status(st.tuner,st.status ? &status:NULL);
4574  rc = copy_to_user((void*)arg, &st, sizeof(st));
4575  if (rc) {rc = -EFAULT; break;}
4576  if (st.status) {
4577    rc = copy_to_user(st.status, &status, sizeof(status));
4578    if (rc) {rc = -EFAULT; break;}
4579  }
4580  }
4581  }}
4582  break;
4583
4584case BSETTOP_IOCTL_btuner_get_sds_status:
4585  {{
4586  ioctl_settopapi_struct_btuner_get_sds_status st;
4587  btuner_sds_status status;
4588
4589  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4590  if (rc) break;
4591  {
4592
4593  /* Make the function call */
4594  st.__retval = btuner_get_sds_status(st.tuner,st.status ? &status:NULL);
4595  rc = copy_to_user((void*)arg, &st, sizeof(st));
4596  if (rc) {rc = -EFAULT; break;}
4597  if (st.status) {
4598    rc = copy_to_user(st.status, &status, sizeof(status));
4599    if (rc) {rc = -EFAULT; break;}
4600  }
4601  }
4602  }}
4603  break;
4604
4605case BSETTOP_IOCTL_btuner_get_vsb_status:
4606  {{
4607  ioctl_settopapi_struct_btuner_get_vsb_status st;
4608  btuner_vsb_status status;
4609
4610  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4611  if (rc) break;
4612  {
4613
4614  /* Make the function call */
4615  st.__retval = btuner_get_vsb_status(st.tuner,st.status ? &status:NULL);
4616  rc = copy_to_user((void*)arg, &st, sizeof(st));
4617  if (rc) {rc = -EFAULT; break;}
4618  if (st.status) {
4619    rc = copy_to_user(st.status, &status, sizeof(status));
4620    if (rc) {rc = -EFAULT; break;}
4621  }
4622  }
4623  }}
4624  break;
4625
4626case BSETTOP_IOCTL_btuner_get_ofdm_status:
4627  {{
4628  ioctl_settopapi_struct_btuner_get_ofdm_status st;
4629  btuner_ofdm_status status;
4630
4631  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4632  if (rc) break;
4633  {
4634
4635  /* Make the function call */
4636  st.__retval = btuner_get_ofdm_status(st.tuner,st.status ? &status:NULL);
4637  rc = copy_to_user((void*)arg, &st, sizeof(st));
4638  if (rc) {rc = -EFAULT; break;}
4639  if (st.status) {
4640    rc = copy_to_user(st.status, &status, sizeof(status));
4641    if (rc) {rc = -EFAULT; break;}
4642  }
4643  }
4644  }}
4645  break;
4646
4647case BSETTOP_IOCTL_btuner_get_soft_decisions:
4648  {{
4649  ioctl_settopapi_struct_btuner_get_soft_decisions st;
4650  btuner_soft_decision * data;
4651
4652  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4653  if (rc) break;
4654  {
4655  btuner_soft_decision data_array[st.length];
4656  data = data_array;
4657
4658  /* Make the function call */
4659  st.__retval = btuner_get_soft_decisions(st.tuner,data,st.length);
4660  rc = copy_to_user((void*)arg, &st, sizeof(st));
4661  if (rc) {rc = -EFAULT; break;}
4662  if (st.data) {
4663    rc = copy_to_user(st.data, data, st.length*sizeof(btuner_soft_decision));
4664    if (rc) {rc = -EFAULT; break;}
4665  }
4666  }
4667  }}
4668  break;
4669
4670case BSETTOP_IOCTL_bmem_alloc:
4671  {{
4672  ioctl_settopapi_struct_bmem_alloc st;
4673
4674  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4675  if (rc) break;
4676  {
4677
4678  /* Make the function call */
4679  st.__retval = bmem_alloc(st.buffer_length);
4680  rc = copy_to_user((void*)arg, &st, sizeof(st));
4681  if (rc) {rc = -EFAULT; break;}
4682  }
4683  }}
4684  break;
4685
4686case BSETTOP_IOCTL_bmem_free:
4687  {{
4688  ioctl_settopapi_struct_bmem_free st;
4689  unsigned char buffer;
4690
4691  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4692  if (rc) break;
4693  {
4694
4695  /* Make the function call */
4696  bmem_free(st.buffer ? &buffer:NULL);
4697  rc = 0;
4698
4699  if (st.buffer) {
4700    rc = copy_to_user(st.buffer, &buffer, sizeof(buffer));
4701    if (rc) {rc = -EFAULT; break;}
4702  }
4703  }
4704  }}
4705  break;
4706
4707case BSETTOP_IOCTL_bcablecard_open:
4708  {{
4709  ioctl_settopapi_struct_bcablecard_open st;
4710
4711  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4712  if (rc) break;
4713  {
4714
4715  /* Make the function call */
4716  st.__retval = bcablecard_open(st.cablecard_id);
4717  rc = copy_to_user((void*)arg, &st, sizeof(st));
4718  if (rc) {rc = -EFAULT; break;}
4719  }
4720  }}
4721  break;
4722
4723case BSETTOP_IOCTL_bcablecard_close:
4724  {{
4725  ioctl_settopapi_struct_bcablecard_close st;
4726
4727  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4728  if (rc) break;
4729  {
4730
4731  /* Make the function call */
4732  bcablecard_close(st.cablecard);
4733  rc = 0;
4734
4735  }
4736  }}
4737  break;
4738
4739case BSETTOP_IOCTL_bcablecard_get:
4740  {{
4741  ioctl_settopapi_struct_bcablecard_get st;
4742  bcablecard_settings settings;
4743
4744  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4745  if (rc) break;
4746  {
4747
4748  /* Make the function call */
4749  bcablecard_get(st.cablecard,st.settings ? &settings:NULL);
4750  rc = 0;
4751
4752  if (st.settings) {
4753    rc = copy_to_user(st.settings, &settings, sizeof(settings));
4754    if (rc) {rc = -EFAULT; break;}
4755  }
4756  }
4757  }}
4758  break;
4759
4760case BSETTOP_IOCTL_bcablecard_set:
4761  {{
4762  ioctl_settopapi_struct_bcablecard_set st;
4763  bcablecard_settings settings;
4764
4765  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4766  if (rc) break;
4767  {
4768  if (st.settings) {
4769  rc = copy_from_user((void*)&settings, st.settings, sizeof(settings));
4770  if (rc) break;
4771  }
4772
4773  /* Make the function call */
4774  st.__retval = bcablecard_set(st.cablecard,st.settings ? &settings:NULL);
4775  rc = copy_to_user((void*)arg, &st, sizeof(st));
4776  if (rc) {rc = -EFAULT; break;}
4777  }
4778  }}
4779  break;
4780
4781case BSETTOP_IOCTL_bcablecard_route_add_tuner:
4782  {{
4783  ioctl_settopapi_struct_bcablecard_route_add_tuner st;
4784
4785  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4786  if (rc) break;
4787  {
4788
4789  /* Make the function call */
4790  st.__retval = bcablecard_route_add_tuner(st.cablecard,st.tuner);
4791  rc = copy_to_user((void*)arg, &st, sizeof(st));
4792  if (rc) {rc = -EFAULT; break;}
4793  }
4794  }}
4795  break;
4796
4797case BSETTOP_IOCTL_bcablecard_route_remove_tuner:
4798  {{
4799  ioctl_settopapi_struct_bcablecard_route_remove_tuner st;
4800
4801  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4802  if (rc) break;
4803  {
4804
4805  /* Make the function call */
4806  st.__retval = bcablecard_route_remove_tuner(st.cablecard,st.tuner);
4807  rc = copy_to_user((void*)arg, &st, sizeof(st));
4808  if (rc) {rc = -EFAULT; break;}
4809  }
4810  }}
4811  break;
4812
4813case BSETTOP_IOCTL_bcablecard_route_get:
4814  {{
4815  ioctl_settopapi_struct_bcablecard_route_get st;
4816  bcablecard_route_settings settings;
4817
4818  rc = copy_from_user(&st, (void*)arg, sizeof(st));
4819  if (rc) break;
4820  {
4821
4822  /* Make the function call */
4823  st.__retval = bcablecard_route_get(st.cablecard,st.tuner,st.settings ? &settings:NULL);
4824  rc = copy_to_user((void*)arg, &st, sizeof(st));
4825  if (rc) {rc = -EFAULT; break;}
4826  if (st.settings) {
4827    rc = copy_to_user(st.settings, &settings, sizeof(settings));
4828    if (rc) {rc = -EFAULT; break;}
4829  }
4830  }
4831  }}
4832  break;
4833
Note: See TracBrowser for help on using the repository browser.