????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.147.43.250 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/modules/3.13.0-35-generic/build/include/linux/usb/ |
Upload File : |
/* * Wireless USB - Cable Based Association * * Copyright (C) 2006 Intel Corporation * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 as published by the Free Software Foundation. * */ #ifndef __LINUX_USB_ASSOCIATION_H #define __LINUX_USB_ASSOCIATION_H /* * Association attributes * * Association Models Supplement to WUSB 1.0 T[3-1] * * Each field in the structures has it's ID, it's length and then the * value. This is the actual definition of the field's ID and its * length. */ struct wusb_am_attr { __u8 id; __u8 len; }; /* Different fields defined by the spec */ #define WUSB_AR_AssociationTypeId { .id = cpu_to_le16(0x0000), .len = cpu_to_le16(2) } #define WUSB_AR_AssociationSubTypeId { .id = cpu_to_le16(0x0001), .len = cpu_to_le16(2) } #define WUSB_AR_Length { .id = cpu_to_le16(0x0002), .len = cpu_to_le16(4) } #define WUSB_AR_AssociationStatus { .id = cpu_to_le16(0x0004), .len = cpu_to_le16(4) } #define WUSB_AR_LangID { .id = cpu_to_le16(0x0008), .len = cpu_to_le16(2) } #define WUSB_AR_DeviceFriendlyName { .id = cpu_to_le16(0x000b), .len = cpu_to_le16(64) } /* max */ #define WUSB_AR_HostFriendlyName { .id = cpu_to_le16(0x000c), .len = cpu_to_le16(64) } /* max */ #define WUSB_AR_CHID { .id = cpu_to_le16(0x1000), .len = cpu_to_le16(16) } #define WUSB_AR_CDID { .id = cpu_to_le16(0x1001), .len = cpu_to_le16(16) } #define WUSB_AR_ConnectionContext { .id = cpu_to_le16(0x1002), .len = cpu_to_le16(48) } #define WUSB_AR_BandGroups { .id = cpu_to_le16(0x1004), .len = cpu_to_le16(2) } /* CBAF Control Requests (AMS1.0[T4-1] */ enum { CBAF_REQ_GET_ASSOCIATION_INFORMATION = 0x01, CBAF_REQ_GET_ASSOCIATION_REQUEST, CBAF_REQ_SET_ASSOCIATION_RESPONSE }; /* * CBAF USB-interface defitions * * No altsettings, one optional interrupt endpoint. */ enum { CBAF_IFACECLASS = 0xef, CBAF_IFACESUBCLASS = 0x03, CBAF_IFACEPROTOCOL = 0x01, }; /* Association Information (AMS1.0[T4-3]) */ struct wusb_cbaf_assoc_info { __le16 Length; __u8 NumAssociationRequests; __le16 Flags; __u8 AssociationRequestsArray[]; } __attribute__((packed)); /* Association Request (AMS1.0[T4-4]) */ struct wusb_cbaf_assoc_request { __u8 AssociationDataIndex; __u8 Reserved; __le16 AssociationTypeId; __le16 AssociationSubTypeId; __le32 AssociationTypeInfoSize; } __attribute__((packed)); enum { AR_TYPE_WUSB = 0x0001, AR_TYPE_WUSB_RETRIEVE_HOST_INFO = 0x0000, AR_TYPE_WUSB_ASSOCIATE = 0x0001, }; /* Association Attribute header (AMS1.0[3.8]) */ struct wusb_cbaf_attr_hdr { __le16 id; __le16 len; } __attribute__((packed)); /* Host Info (AMS1.0[T4-7]) (yeah, more headers and fields...) */ struct wusb_cbaf_host_info { struct wusb_cbaf_attr_hdr AssociationTypeId_hdr; __le16 AssociationTypeId; struct wusb_cbaf_attr_hdr AssociationSubTypeId_hdr; __le16 AssociationSubTypeId; struct wusb_cbaf_attr_hdr CHID_hdr; struct wusb_ckhdid CHID; struct wusb_cbaf_attr_hdr LangID_hdr; __le16 LangID; struct wusb_cbaf_attr_hdr HostFriendlyName_hdr; __u8 HostFriendlyName[]; } __attribute__((packed)); /* Device Info (AMS1.0[T4-8]) * * I still don't get this tag'n'header stuff for each goddamn * field... */ struct wusb_cbaf_device_info { struct wusb_cbaf_attr_hdr Length_hdr; __le32 Length; struct wusb_cbaf_attr_hdr CDID_hdr; struct wusb_ckhdid CDID; struct wusb_cbaf_attr_hdr BandGroups_hdr; __le16 BandGroups; struct wusb_cbaf_attr_hdr LangID_hdr; __le16 LangID; struct wusb_cbaf_attr_hdr DeviceFriendlyName_hdr; __u8 DeviceFriendlyName[]; } __attribute__((packed)); /* Connection Context; CC_DATA - Success case (AMS1.0[T4-9]) */ struct wusb_cbaf_cc_data { struct wusb_cbaf_attr_hdr AssociationTypeId_hdr; __le16 AssociationTypeId; struct wusb_cbaf_attr_hdr AssociationSubTypeId_hdr; __le16 AssociationSubTypeId; struct wusb_cbaf_attr_hdr Length_hdr; __le32 Length; struct wusb_cbaf_attr_hdr ConnectionContext_hdr; struct wusb_ckhdid CHID; struct wusb_ckhdid CDID; struct wusb_ckhdid CK; struct wusb_cbaf_attr_hdr BandGroups_hdr; __le16 BandGroups; } __attribute__((packed)); /* CC_DATA - Failure case (AMS1.0[T4-10]) */ struct wusb_cbaf_cc_data_fail { struct wusb_cbaf_attr_hdr AssociationTypeId_hdr; __le16 AssociationTypeId; struct wusb_cbaf_attr_hdr AssociationSubTypeId_hdr; __le16 AssociationSubTypeId; struct wusb_cbaf_attr_hdr Length_hdr; __le16 Length; struct wusb_cbaf_attr_hdr AssociationStatus_hdr; __u32 AssociationStatus; } __attribute__((packed)); #endif /* __LINUX_USB_ASSOCIATION_H */