1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_JOYSTICK_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_JOYSTICK_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/input.h> 11*8d67ca89SAndroid Build Coastguard Worker #define JS_VERSION 0x020100 12*8d67ca89SAndroid Build Coastguard Worker #define JS_EVENT_BUTTON 0x01 13*8d67ca89SAndroid Build Coastguard Worker #define JS_EVENT_AXIS 0x02 14*8d67ca89SAndroid Build Coastguard Worker #define JS_EVENT_INIT 0x80 15*8d67ca89SAndroid Build Coastguard Worker struct js_event { 16*8d67ca89SAndroid Build Coastguard Worker __u32 time; 17*8d67ca89SAndroid Build Coastguard Worker __s16 value; 18*8d67ca89SAndroid Build Coastguard Worker __u8 type; 19*8d67ca89SAndroid Build Coastguard Worker __u8 number; 20*8d67ca89SAndroid Build Coastguard Worker }; 21*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGVERSION _IOR('j', 0x01, __u32) 22*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGAXES _IOR('j', 0x11, __u8) 23*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGBUTTONS _IOR('j', 0x12, __u8) 24*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGNAME(len) _IOC(_IOC_READ, 'j', 0x13, len) 25*8d67ca89SAndroid Build Coastguard Worker #define JSIOCSCORR _IOW('j', 0x21, struct js_corr) 26*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGCORR _IOR('j', 0x22, struct js_corr) 27*8d67ca89SAndroid Build Coastguard Worker #define JSIOCSAXMAP _IOW('j', 0x31, __u8[ABS_CNT]) 28*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGAXMAP _IOR('j', 0x32, __u8[ABS_CNT]) 29*8d67ca89SAndroid Build Coastguard Worker #define JSIOCSBTNMAP _IOW('j', 0x33, __u16[KEY_MAX - BTN_MISC + 1]) 30*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGBTNMAP _IOR('j', 0x34, __u16[KEY_MAX - BTN_MISC + 1]) 31*8d67ca89SAndroid Build Coastguard Worker #define JS_CORR_NONE 0x00 32*8d67ca89SAndroid Build Coastguard Worker #define JS_CORR_BROKEN 0x01 33*8d67ca89SAndroid Build Coastguard Worker struct js_corr { 34*8d67ca89SAndroid Build Coastguard Worker __s32 coef[8]; 35*8d67ca89SAndroid Build Coastguard Worker __s16 prec; 36*8d67ca89SAndroid Build Coastguard Worker __u16 type; 37*8d67ca89SAndroid Build Coastguard Worker }; 38*8d67ca89SAndroid Build Coastguard Worker #define JS_RETURN sizeof(struct JS_DATA_TYPE) 39*8d67ca89SAndroid Build Coastguard Worker #define JS_TRUE 1 40*8d67ca89SAndroid Build Coastguard Worker #define JS_FALSE 0 41*8d67ca89SAndroid Build Coastguard Worker #define JS_X_0 0x01 42*8d67ca89SAndroid Build Coastguard Worker #define JS_Y_0 0x02 43*8d67ca89SAndroid Build Coastguard Worker #define JS_X_1 0x04 44*8d67ca89SAndroid Build Coastguard Worker #define JS_Y_1 0x08 45*8d67ca89SAndroid Build Coastguard Worker #define JS_MAX 2 46*8d67ca89SAndroid Build Coastguard Worker #define JS_DEF_TIMEOUT 0x1300 47*8d67ca89SAndroid Build Coastguard Worker #define JS_DEF_CORR 0 48*8d67ca89SAndroid Build Coastguard Worker #define JS_DEF_TIMELIMIT 10L 49*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_CAL 1 50*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_CAL 2 51*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_TIMEOUT 3 52*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_TIMEOUT 4 53*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_TIMELIMIT 5 54*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_TIMELIMIT 6 55*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_ALL 7 56*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_ALL 8 57*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_TYPE { 58*8d67ca89SAndroid Build Coastguard Worker __s32 buttons; 59*8d67ca89SAndroid Build Coastguard Worker __s32 x; 60*8d67ca89SAndroid Build Coastguard Worker __s32 y; 61*8d67ca89SAndroid Build Coastguard Worker }; 62*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_SAVE_TYPE_32 { 63*8d67ca89SAndroid Build Coastguard Worker __s32 JS_TIMEOUT; 64*8d67ca89SAndroid Build Coastguard Worker __s32 BUSY; 65*8d67ca89SAndroid Build Coastguard Worker __s32 JS_EXPIRETIME; 66*8d67ca89SAndroid Build Coastguard Worker __s32 JS_TIMELIMIT; 67*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_TYPE JS_SAVE; 68*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_TYPE JS_CORR; 69*8d67ca89SAndroid Build Coastguard Worker }; 70*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_SAVE_TYPE_64 { 71*8d67ca89SAndroid Build Coastguard Worker __s32 JS_TIMEOUT; 72*8d67ca89SAndroid Build Coastguard Worker __s32 BUSY; 73*8d67ca89SAndroid Build Coastguard Worker __s64 JS_EXPIRETIME; 74*8d67ca89SAndroid Build Coastguard Worker __s64 JS_TIMELIMIT; 75*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_TYPE JS_SAVE; 76*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_TYPE JS_CORR; 77*8d67ca89SAndroid Build Coastguard Worker }; 78*8d67ca89SAndroid Build Coastguard Worker #endif 79