1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef _UAPI_LINUX_CHIO_H 8 #define _UAPI_LINUX_CHIO_H 9 #define CHET_MT 0 10 #define CHET_ST 1 11 #define CHET_IE 2 12 #define CHET_DT 3 13 #define CHET_V1 4 14 #define CHET_V2 5 15 #define CHET_V3 6 16 #define CHET_V4 7 17 struct changer_params { 18 int cp_curpicker; 19 int cp_npickers; 20 int cp_nslots; 21 int cp_nportals; 22 int cp_ndrives; 23 }; 24 struct changer_vendor_params { 25 int cvp_n1; 26 char cvp_label1[16]; 27 int cvp_n2; 28 char cvp_label2[16]; 29 int cvp_n3; 30 char cvp_label3[16]; 31 int cvp_n4; 32 char cvp_label4[16]; 33 int reserved[8]; 34 }; 35 struct changer_move { 36 int cm_fromtype; 37 int cm_fromunit; 38 int cm_totype; 39 int cm_tounit; 40 int cm_flags; 41 }; 42 #define CM_INVERT 1 43 struct changer_exchange { 44 int ce_srctype; 45 int ce_srcunit; 46 int ce_fdsttype; 47 int ce_fdstunit; 48 int ce_sdsttype; 49 int ce_sdstunit; 50 int ce_flags; 51 }; 52 #define CE_INVERT1 1 53 #define CE_INVERT2 2 54 struct changer_position { 55 int cp_type; 56 int cp_unit; 57 int cp_flags; 58 }; 59 #define CP_INVERT 1 60 struct changer_element_status { 61 int ces_type; 62 unsigned char * ces_data; 63 }; 64 #define CESTATUS_FULL 0x01 65 #define CESTATUS_IMPEXP 0x02 66 #define CESTATUS_EXCEPT 0x04 67 #define CESTATUS_ACCESS 0x08 68 #define CESTATUS_EXENAB 0x10 69 #define CESTATUS_INENAB 0x20 70 struct changer_get_element { 71 int cge_type; 72 int cge_unit; 73 int cge_status; 74 int cge_errno; 75 int cge_srctype; 76 int cge_srcunit; 77 int cge_id; 78 int cge_lun; 79 char cge_pvoltag[36]; 80 char cge_avoltag[36]; 81 int cge_flags; 82 }; 83 #define CGE_ERRNO 0x01 84 #define CGE_INVERT 0x02 85 #define CGE_SRC 0x04 86 #define CGE_IDLUN 0x08 87 #define CGE_PVOLTAG 0x10 88 #define CGE_AVOLTAG 0x20 89 struct changer_set_voltag { 90 int csv_type; 91 int csv_unit; 92 char csv_voltag[36]; 93 int csv_flags; 94 }; 95 #define CSV_PVOLTAG 0x01 96 #define CSV_AVOLTAG 0x02 97 #define CSV_CLEARTAG 0x04 98 #define CHIOMOVE _IOW('c', 1, struct changer_move) 99 #define CHIOEXCHANGE _IOW('c', 2, struct changer_exchange) 100 #define CHIOPOSITION _IOW('c', 3, struct changer_position) 101 #define CHIOGPICKER _IOR('c', 4, int) 102 #define CHIOSPICKER _IOW('c', 5, int) 103 #define CHIOGPARAMS _IOR('c', 6, struct changer_params) 104 #define CHIOGSTATUS _IOW('c', 8, struct changer_element_status) 105 #define CHIOGELEM _IOW('c', 16, struct changer_get_element) 106 #define CHIOINITELEM _IO('c', 17) 107 #define CHIOSVOLTAG _IOW('c', 18, struct changer_set_voltag) 108 #define CHIOGVPARAMS _IOR('c', 19, struct changer_vendor_params) 109 #endif 110