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