130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Sony Programmable I/O Control Device driver for VAIO 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2001-2005 Stelian Pop <stelian@popies.net> 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2005 Narayanan R S <nars@kadamba.org> 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2001-2002 Alcôve <www.alcove.com> 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au> 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp> 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp> 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2000 Andrew Tridgell <tridge@valinux.com> 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Earlier work by Werner Almesberger, Paul `Rusty' Russell and Paul Mackerras. 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This program is free software; you can redistribute it and/or modify 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * it under the terms of the GNU General Public License as published by 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * the Free Software Foundation; either version 2 of the License, or 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * (at your option) any later version. 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This program is distributed in the hope that it will be useful, 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * but WITHOUT ANY WARRANTY; without even the implied warranty of 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * GNU General Public License for more details. 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * You should have received a copy of the GNU General Public License 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * along with this program; if not, write to the Free Software 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI_SONYPI_H_ 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI_SONYPI_H_ 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h> 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* events the user application reading /dev/sonypi can use */ 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_IGNORE 0 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_DOWN 1 4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_UP 2 4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_DOWN_PRESSED 3 4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_UP_PRESSED 4 4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_PRESSED 5 4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_RELEASED 6 /* obsolete */ 5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_CAPTURE_PRESSED 7 5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_CAPTURE_RELEASED 8 /* obsolete */ 5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_CAPTURE_PARTIALPRESSED 9 5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_CAPTURE_PARTIALRELEASED 10 5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_ESC 11 5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F1 12 5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F2 13 5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F3 14 5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F4 15 5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F5 16 6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F6 17 6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F7 18 6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F8 19 6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F9 20 6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F10 21 6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F11 22 6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F12 23 6730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_1 24 6830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_2 25 6930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_D 26 7030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_E 27 7130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_F 28 7230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_S 29 7330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_B 30 7430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_BLUETOOTH_PRESSED 31 7530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_PKEY_P1 32 7630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_PKEY_P2 33 7730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_PKEY_P3 34 7830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_BACK_PRESSED 35 7930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_LID_CLOSED 36 8030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_LID_OPENED 37 8130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_BLUETOOTH_ON 38 8230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_BLUETOOTH_OFF 39 8330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_HELP_PRESSED 40 8430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_ONLY 41 8530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_FAST_DOWN 42 8630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_FAST_UP 43 8730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_FAST_DOWN_PRESSED 44 8830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_FAST_UP_PRESSED 45 8930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN 46 9030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_VFAST_UP 47 9130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN_PRESSED 48 9230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_JOGDIAL_VFAST_UP_PRESSED 49 9330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_ZOOM_PRESSED 50 9430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_THUMBPHRASE_PRESSED 51 9530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_MEYE_FACE 52 9630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_MEYE_OPPOSITE 53 9730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_MEMORYSTICK_INSERT 54 9830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_MEMORYSTICK_EJECT 55 9930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_ANYBUTTON_RELEASED 56 10030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_BATTERY_INSERT 57 10130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_BATTERY_REMOVE 58 10230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_FNKEY_RELEASED 59 10330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_WIRELESS_ON 60 10430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_WIRELESS_OFF 61 10530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_ZOOM_IN_PRESSED 62 10630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_ZOOM_OUT_PRESSED 63 10730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_CD_EJECT_PRESSED 64 10830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_MODEKEY_PRESSED 65 10930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_PKEY_P4 66 11030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_PKEY_P5 67 11130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_SETTINGKEY_PRESSED 68 11230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_VOLUME_INC_PRESSED 69 11330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_VOLUME_DEC_PRESSED 70 11430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_BRIGHTNESS_PRESSED 71 11530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_MEDIA_PRESSED 72 11630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_EVENT_VENDOR_PRESSED 73 11730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 11830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get/set brightness */ 11930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGBRT _IOR('v', 0, __u8) 12030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCSBRT _IOW('v', 0, __u8) 12130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 12230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get battery full capacity/remaining capacity */ 12330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGBAT1CAP _IOR('v', 2, __u16) 12430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGBAT1REM _IOR('v', 3, __u16) 12530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGBAT2CAP _IOR('v', 4, __u16) 12630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGBAT2REM _IOR('v', 5, __u16) 12730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 12830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get battery flags: battery1/battery2/ac adapter present */ 12930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_BFLAGS_B1 0x01 13030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_BFLAGS_B2 0x02 13130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_BFLAGS_AC 0x04 13230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGBATFLAGS _IOR('v', 7, __u8) 13330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 13430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get/set bluetooth subsystem state on/off */ 13530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGBLUE _IOR('v', 8, __u8) 13630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCSBLUE _IOW('v', 9, __u8) 13730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 13830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get/set fan state on/off */ 13930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGFAN _IOR('v', 10, __u8) 14030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCSFAN _IOW('v', 11, __u8) 14130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 14230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get temperature (C) */ 14330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SONYPI_IOCGTEMP _IOR('v', 12, __u8) 14430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 14530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 14630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI_SONYPI_H_ */ 147