1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#define CHET_MT 0
20#define CHET_ST 1
21#define CHET_IE 2
22#define CHET_DT 3
23#define CHET_V1 4
24#define CHET_V2 5
25#define CHET_V3 6
26#define CHET_V4 7
27struct changer_params {
28  int cp_curpicker;
29  int cp_npickers;
30  int cp_nslots;
31  int cp_nportals;
32  int cp_ndrives;
33};
34struct changer_vendor_params {
35  int cvp_n1;
36  char cvp_label1[16];
37  int cvp_n2;
38  char cvp_label2[16];
39  int cvp_n3;
40  char cvp_label3[16];
41  int cvp_n4;
42  char cvp_label4[16];
43  int reserved[8];
44};
45struct changer_move {
46  int cm_fromtype;
47  int cm_fromunit;
48  int cm_totype;
49  int cm_tounit;
50  int cm_flags;
51};
52#define CM_INVERT 1
53struct changer_exchange {
54  int ce_srctype;
55  int ce_srcunit;
56  int ce_fdsttype;
57  int ce_fdstunit;
58  int ce_sdsttype;
59  int ce_sdstunit;
60  int ce_flags;
61};
62#define CE_INVERT1 1
63#define CE_INVERT2 2
64struct changer_position {
65  int cp_type;
66  int cp_unit;
67  int cp_flags;
68};
69#define CP_INVERT 1
70struct changer_element_status {
71  int ces_type;
72  unsigned char __user * ces_data;
73};
74#define CESTATUS_FULL 0x01
75#define CESTATUS_IMPEXP 0x02
76#define CESTATUS_EXCEPT 0x04
77#define CESTATUS_ACCESS 0x08
78#define CESTATUS_EXENAB 0x10
79#define CESTATUS_INENAB 0x20
80struct changer_get_element {
81  int cge_type;
82  int cge_unit;
83  int cge_status;
84  int cge_errno;
85  int cge_srctype;
86  int cge_srcunit;
87  int cge_id;
88  int cge_lun;
89  char cge_pvoltag[36];
90  char cge_avoltag[36];
91  int cge_flags;
92};
93#define CGE_ERRNO 0x01
94#define CGE_INVERT 0x02
95#define CGE_SRC 0x04
96#define CGE_IDLUN 0x08
97#define CGE_PVOLTAG 0x10
98#define CGE_AVOLTAG 0x20
99struct changer_set_voltag {
100  int csv_type;
101  int csv_unit;
102  char csv_voltag[36];
103  int csv_flags;
104};
105#define CSV_PVOLTAG 0x01
106#define CSV_AVOLTAG 0x02
107#define CSV_CLEARTAG 0x04
108#define CHIOMOVE _IOW('c', 1, struct changer_move)
109#define CHIOEXCHANGE _IOW('c', 2, struct changer_exchange)
110#define CHIOPOSITION _IOW('c', 3, struct changer_position)
111#define CHIOGPICKER _IOR('c', 4, int)
112#define CHIOSPICKER _IOW('c', 5, int)
113#define CHIOGPARAMS _IOR('c', 6, struct changer_params)
114#define CHIOGSTATUS _IOW('c', 8, struct changer_element_status)
115#define CHIOGELEM _IOW('c', 16, struct changer_get_element)
116#define CHIOINITELEM _IO('c', 17)
117#define CHIOSVOLTAG _IOW('c', 18, struct changer_set_voltag)
118#define CHIOGVPARAMS _IOR('c', 19, struct changer_vendor_params)
119