1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef KERNEL_IRDA_H 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define KERNEL_IRDA_H 21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h> 22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/socket.h> 23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_PNP 0x01 24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_PDA 0x02 25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_COMPUTER 0x04 26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_PRINTER 0x08 27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_MODEM 0x10 28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_FAX 0x20 29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_LAN 0x40 30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_EXTENSION 0x80 31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_TELEPHONY 0x01 32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_FILE_SERVER 0x02 33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_COMM 0x04 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_MESSAGE 0x08 35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_HTTP 0x10 36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define HINT_OBEX 0x20 37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ASCII 0x00 38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_1 0x01 39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_2 0x02 40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_3 0x03 41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_4 0x04 42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_5 0x05 43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_6 0x06 44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_7 0x07 45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_8 0x08 46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_ISO_8859_9 0x09 47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CS_UNICODE 0xff 48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef enum { 49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_TEKRAM_DONGLE = 0, 50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_ESI_DONGLE = 1, 51d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_ACTISYS_DONGLE = 2, 52d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_ACTISYS_PLUS_DONGLE = 3, 53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_GIRBIL_DONGLE = 4, 54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_LITELINK_DONGLE = 5, 55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_AIRPORT_DONGLE = 6, 56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_OLD_BELKIN_DONGLE = 7, 57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_EP7211_IR = 8, 58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_MCP2120_DONGLE = 9, 59d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_ACT200L_DONGLE = 10, 60d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_MA600_DONGLE = 11, 61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_TOIM3232_DONGLE = 12, 62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_EP7211_DONGLE = 13, 63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} IRDA_DONGLE; 64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum { 65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDAPROTO_UNITDATA = 0, 66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDAPROTO_ULTRA = 1, 67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDAPROTO_MAX 68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOL_IRLMP 266 70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOL_IRTTP 266 71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_ENUMDEVICES 1 72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_IAS_SET 2 73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_IAS_QUERY 3 74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_HINTS_SET 4 75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_QOS_SET 5 76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_QOS_GET 6 77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_MAX_SDU_SIZE 7 78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_IAS_GET 8 79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_IAS_DEL 9 80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_HINT_MASK_SET 10 81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRLMP_WAITDEVICE 11 82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRTTP_MAX_SDU_SIZE IRLMP_MAX_SDU_SIZE 83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_MAX_STRING 256 84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_MAX_OCTET_STRING 1024 85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_MAX_CLASSNAME 60 86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_MAX_ATTRIBNAME 60 87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_MAX_ATTRIBNUMBER 256 88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_EXPORT_CLASSNAME 64 89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_EXPORT_ATTRIBNAME 256 90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_MISSING 0 91655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_INTEGER 1 92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_OCT_SEQ 2 93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IAS_STRING 3 94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define LSAP_ANY 0xff 95655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct sockaddr_irda { 96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __kernel_sa_family_t sir_family; 97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 sir_lsap_sel; 98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 sir_addr; 99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char sir_name[25]; 100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct irda_device_info { 102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 saddr; 103d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 daddr; 104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char info[22]; 105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 charset; 106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 hints[2]; 107655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct irda_device_list { 109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 len; 110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct irda_device_info dev[1]; 111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 112655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct irda_ias_set { 113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char irda_class_name[IAS_EXPORT_CLASSNAME]; 114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char irda_attrib_name[IAS_EXPORT_ATTRIBNAME]; 115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int irda_attrib_type; 116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union { 117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int irda_attrib_int; 118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct { 119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned short len; 120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 octet_seq[IAS_MAX_OCTET_STRING]; 121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } irda_attrib_octet_seq; 122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct { 123d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 len; 124d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 charset; 125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 string[IAS_MAX_STRING]; 126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } irda_attrib_string; 127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } attribute; 128d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 daddr; 129655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 130655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCSDONGLE (SIOCDEVPRIVATE + 0) 131655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCGDONGLE (SIOCDEVPRIVATE + 1) 132655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCSBANDWIDTH (SIOCDEVPRIVATE + 2) 133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCSMEDIABUSY (SIOCDEVPRIVATE + 3) 134655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCGMEDIABUSY (SIOCDEVPRIVATE + 4) 135655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCGRECEIVING (SIOCDEVPRIVATE + 5) 136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCSMODE (SIOCDEVPRIVATE + 6) 137655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCGMODE (SIOCDEVPRIVATE + 7) 138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCSDTRRTS (SIOCDEVPRIVATE + 8) 139655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCGQOS (SIOCDEVPRIVATE + 9) 140655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRNAMSIZ 16 141655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct if_irda_qos { 142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned long baudrate; 143d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned short data_size; 144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned short window_size; 145d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned short min_turn_time; 146d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned short max_turn_time; 147d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char add_bofs; 148d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char link_disc; 149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 150655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct if_irda_line { 151d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 dtr; 152d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 rts; 153655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 154655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct if_irda_req { 155d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union { 156d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char ifrn_name[IRNAMSIZ]; 157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } ifr_ifrn; 158d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union { 159d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct if_irda_line ifru_line; 160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct if_irda_qos ifru_qos; 161d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned short ifru_flags; 162d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int ifru_receiving; 163d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int ifru_mode; 164d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int ifru_dongle; 165d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } ifr_ifru; 166655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 167655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ifr_baudrate ifr_ifru.ifru_qos.baudrate 168655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ifr_receiving ifr_ifru.ifru_receiving 169655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ifr_dongle ifr_ifru.ifru_dongle 170655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ifr_mode ifr_ifru.ifru_mode 171655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ifr_dtr ifr_ifru.ifru_line.dtr 172655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ifr_rts ifr_ifru.ifru_line.rts 173655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRDA_NL_NAME "irda" 174655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRDA_NL_VERSION 1 175655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum irda_nl_commands { 176d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_NL_CMD_UNSPEC, 177d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_NL_CMD_SET_MODE, 178d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_NL_CMD_GET_MODE, 179d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __IRDA_NL_CMD_AFTER_LAST 180655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 181655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRDA_NL_CMD_MAX (__IRDA_NL_CMD_AFTER_LAST - 1) 182655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum nl80211_attrs { 183d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_NL_ATTR_UNSPEC, 184d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_NL_ATTR_IFNAME, 185d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IRDA_NL_ATTR_MODE, 186d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __IRDA_NL_ATTR_AFTER_LAST 187655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 188655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRDA_NL_ATTR_MAX (__IRDA_NL_ATTR_AFTER_LAST - 1) 189655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRDA_MODE_PRIMARY 0x1 190655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRDA_MODE_SECONDARY 0x2 191655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IRDA_MODE_MONITOR 0x4 192655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 193