1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _LINUX_FIREWIRE_CDEV_H 20 #define _LINUX_FIREWIRE_CDEV_H 21 #include <linux/ioctl.h> 22 #include <linux/types.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #include <linux/firewire-constants.h> 25 #define FW_CDEV_EVENT_BUS_RESET 0x00 26 #define FW_CDEV_EVENT_RESPONSE 0x01 27 #define FW_CDEV_EVENT_REQUEST 0x02 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define FW_CDEV_EVENT_ISO_INTERRUPT 0x03 30 #define FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED 0x04 31 #define FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED 0x05 32 #define FW_CDEV_EVENT_REQUEST2 0x06 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define FW_CDEV_EVENT_PHY_PACKET_SENT 0x07 35 #define FW_CDEV_EVENT_PHY_PACKET_RECEIVED 0x08 36 #define FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL 0x09 37 struct fw_cdev_event_common { 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 __u64 closure; 40 __u32 type; 41 }; 42 struct fw_cdev_event_bus_reset { 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 __u64 closure; 45 __u32 type; 46 __u32 node_id; 47 __u32 local_node_id; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 __u32 bm_node_id; 50 __u32 irm_node_id; 51 __u32 root_node_id; 52 __u32 generation; 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 }; 55 struct fw_cdev_event_response { 56 __u64 closure; 57 __u32 type; 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 __u32 rcode; 60 __u32 length; 61 __u32 data[0]; 62 }; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 struct fw_cdev_event_request { 65 __u64 closure; 66 __u32 type; 67 __u32 tcode; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 __u64 offset; 70 __u32 handle; 71 __u32 length; 72 __u32 data[0]; 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 }; 75 struct fw_cdev_event_request2 { 76 __u64 closure; 77 __u32 type; 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 __u32 tcode; 80 __u64 offset; 81 __u32 source_node_id; 82 __u32 destination_node_id; 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 __u32 card; 85 __u32 generation; 86 __u32 handle; 87 __u32 length; 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 __u32 data[0]; 90 }; 91 struct fw_cdev_event_iso_interrupt { 92 __u64 closure; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 __u32 type; 95 __u32 cycle; 96 __u32 header_length; 97 __u32 header[0]; 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 }; 100 struct fw_cdev_event_iso_interrupt_mc { 101 __u64 closure; 102 __u32 type; 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 __u32 completed; 105 }; 106 struct fw_cdev_event_iso_resource { 107 __u64 closure; 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 __u32 type; 110 __u32 handle; 111 __s32 channel; 112 __s32 bandwidth; 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 }; 115 struct fw_cdev_event_phy_packet { 116 __u64 closure; 117 __u32 type; 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 __u32 rcode; 120 __u32 length; 121 __u32 data[0]; 122 }; 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 union fw_cdev_event { 125 struct fw_cdev_event_common common; 126 struct fw_cdev_event_bus_reset bus_reset; 127 struct fw_cdev_event_response response; 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 struct fw_cdev_event_request request; 130 struct fw_cdev_event_request2 request2; 131 struct fw_cdev_event_iso_interrupt iso_interrupt; 132 struct fw_cdev_event_iso_interrupt_mc iso_interrupt_mc; 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 struct fw_cdev_event_iso_resource iso_resource; 135 struct fw_cdev_event_phy_packet phy_packet; 136 }; 137 #define FW_CDEV_IOC_GET_INFO _IOWR('#', 0x00, struct fw_cdev_get_info) 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 #define FW_CDEV_IOC_SEND_REQUEST _IOW('#', 0x01, struct fw_cdev_send_request) 140 #define FW_CDEV_IOC_ALLOCATE _IOWR('#', 0x02, struct fw_cdev_allocate) 141 #define FW_CDEV_IOC_DEALLOCATE _IOW('#', 0x03, struct fw_cdev_deallocate) 142 #define FW_CDEV_IOC_SEND_RESPONSE _IOW('#', 0x04, struct fw_cdev_send_response) 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 #define FW_CDEV_IOC_INITIATE_BUS_RESET _IOW('#', 0x05, struct fw_cdev_initiate_bus_reset) 145 #define FW_CDEV_IOC_ADD_DESCRIPTOR _IOWR('#', 0x06, struct fw_cdev_add_descriptor) 146 #define FW_CDEV_IOC_REMOVE_DESCRIPTOR _IOW('#', 0x07, struct fw_cdev_remove_descriptor) 147 #define FW_CDEV_IOC_CREATE_ISO_CONTEXT _IOWR('#', 0x08, struct fw_cdev_create_iso_context) 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 #define FW_CDEV_IOC_QUEUE_ISO _IOWR('#', 0x09, struct fw_cdev_queue_iso) 150 #define FW_CDEV_IOC_START_ISO _IOW('#', 0x0a, struct fw_cdev_start_iso) 151 #define FW_CDEV_IOC_STOP_ISO _IOW('#', 0x0b, struct fw_cdev_stop_iso) 152 #define FW_CDEV_IOC_GET_CYCLE_TIMER _IOR('#', 0x0c, struct fw_cdev_get_cycle_timer) 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE _IOWR('#', 0x0d, struct fw_cdev_allocate_iso_resource) 155 #define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE _IOW('#', 0x0e, struct fw_cdev_deallocate) 156 #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x0f, struct fw_cdev_allocate_iso_resource) 157 #define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x10, struct fw_cdev_allocate_iso_resource) 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 #define FW_CDEV_IOC_GET_SPEED _IO('#', 0x11) 160 #define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request) 161 #define FW_CDEV_IOC_SEND_STREAM_PACKET _IOW('#', 0x13, struct fw_cdev_send_stream_packet) 162 #define FW_CDEV_IOC_GET_CYCLE_TIMER2 _IOWR('#', 0x14, struct fw_cdev_get_cycle_timer2) 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 #define FW_CDEV_IOC_SEND_PHY_PACKET _IOWR('#', 0x15, struct fw_cdev_send_phy_packet) 165 #define FW_CDEV_IOC_RECEIVE_PHY_PACKETS _IOW('#', 0x16, struct fw_cdev_receive_phy_packets) 166 #define FW_CDEV_IOC_SET_ISO_CHANNELS _IOW('#', 0x17, struct fw_cdev_set_iso_channels) 167 #define FW_CDEV_IOC_FLUSH_ISO _IOW('#', 0x18, struct fw_cdev_flush_iso) 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 struct fw_cdev_get_info { 170 __u32 version; 171 __u32 rom_length; 172 __u64 rom; 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 __u64 bus_reset; 175 __u64 bus_reset_closure; 176 __u32 card; 177 }; 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 struct fw_cdev_send_request { 180 __u32 tcode; 181 __u32 length; 182 __u64 offset; 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 __u64 closure; 185 __u64 data; 186 __u32 generation; 187 }; 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 struct fw_cdev_send_response { 190 __u32 rcode; 191 __u32 length; 192 __u64 data; 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 __u32 handle; 195 }; 196 struct fw_cdev_allocate { 197 __u64 offset; 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 __u64 closure; 200 __u32 length; 201 __u32 handle; 202 __u64 region_end; 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 }; 205 struct fw_cdev_deallocate { 206 __u32 handle; 207 }; 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 #define FW_CDEV_LONG_RESET 0 210 #define FW_CDEV_SHORT_RESET 1 211 struct fw_cdev_initiate_bus_reset { 212 __u32 type; 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 }; 215 struct fw_cdev_add_descriptor { 216 __u32 immediate; 217 __u32 key; 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 __u64 data; 220 __u32 length; 221 __u32 handle; 222 }; 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 struct fw_cdev_remove_descriptor { 225 __u32 handle; 226 }; 227 #define FW_CDEV_ISO_CONTEXT_TRANSMIT 0 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 #define FW_CDEV_ISO_CONTEXT_RECEIVE 1 230 #define FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL 2 231 struct fw_cdev_create_iso_context { 232 __u32 type; 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 __u32 header_size; 235 __u32 channel; 236 __u32 speed; 237 __u64 closure; 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 __u32 handle; 240 }; 241 struct fw_cdev_set_iso_channels { 242 __u64 channels; 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 __u32 handle; 245 }; 246 #define FW_CDEV_ISO_PAYLOAD_LENGTH(v) (v) 247 #define FW_CDEV_ISO_INTERRUPT (1 << 16) 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 #define FW_CDEV_ISO_SKIP (1 << 17) 250 #define FW_CDEV_ISO_SYNC (1 << 17) 251 #define FW_CDEV_ISO_TAG(v) ((v) << 18) 252 #define FW_CDEV_ISO_SY(v) ((v) << 20) 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 #define FW_CDEV_ISO_HEADER_LENGTH(v) ((v) << 24) 255 struct fw_cdev_iso_packet { 256 __u32 control; 257 __u32 header[0]; 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 }; 260 struct fw_cdev_queue_iso { 261 __u64 packets; 262 __u64 data; 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 __u32 size; 265 __u32 handle; 266 }; 267 #define FW_CDEV_ISO_CONTEXT_MATCH_TAG0 1 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 #define FW_CDEV_ISO_CONTEXT_MATCH_TAG1 2 270 #define FW_CDEV_ISO_CONTEXT_MATCH_TAG2 4 271 #define FW_CDEV_ISO_CONTEXT_MATCH_TAG3 8 272 #define FW_CDEV_ISO_CONTEXT_MATCH_ALL_TAGS 15 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 struct fw_cdev_start_iso { 275 __s32 cycle; 276 __u32 sync; 277 __u32 tags; 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 __u32 handle; 280 }; 281 struct fw_cdev_stop_iso { 282 __u32 handle; 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 }; 285 struct fw_cdev_flush_iso { 286 __u32 handle; 287 }; 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 struct fw_cdev_get_cycle_timer { 290 __u64 local_time; 291 __u32 cycle_timer; 292 }; 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 struct fw_cdev_get_cycle_timer2 { 295 __s64 tv_sec; 296 __s32 tv_nsec; 297 __s32 clk_id; 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 __u32 cycle_timer; 300 }; 301 struct fw_cdev_allocate_iso_resource { 302 __u64 closure; 303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304 __u64 channels; 305 __u32 bandwidth; 306 __u32 handle; 307 }; 308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 struct fw_cdev_send_stream_packet { 310 __u32 length; 311 __u32 tag; 312 __u32 channel; 313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314 __u32 sy; 315 __u64 closure; 316 __u64 data; 317 __u32 generation; 318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 __u32 speed; 320 }; 321 struct fw_cdev_send_phy_packet { 322 __u64 closure; 323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 __u32 data[2]; 325 __u32 generation; 326 }; 327 struct fw_cdev_receive_phy_packets { 328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 __u64 closure; 330 }; 331 #define FW_CDEV_VERSION 3 332 #endif 333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334