You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
![]()
6 years ago
|
/*
|
||
|
* Copyright (c) 2016, Devan Lai
|
||
|
*
|
||
|
* Permission to use, copy, modify, and/or distribute this software
|
||
|
* for any purpose with or without fee is hereby granted, provided
|
||
|
* that the above copyright notice and this permission notice
|
||
|
* appear in all copies.
|
||
|
*
|
||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
|
||
|
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
|
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
*/
|
||
|
|
||
|
#ifndef WEBUSB_DEFS_H_INCLUDED
|
||
|
#define WEBUSB_DEFS_H_INCLUDED
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
![]()
6 years ago
|
#define WEBUSB_REQ_GET_URL 0x02
|
||
![]()
6 years ago
|
|
||
|
#define WEBUSB_DT_DESCRIPTOR_SET_HEADER 0
|
||
|
#define WEBUSB_DT_CONFIGURATION_SUBSET_HEADER 1
|
||
|
#define WEBUSB_DT_FUNCTION_SUBSET_HEADER 2
|
||
|
#define WEBUSB_DT_URL 3
|
||
|
|
||
|
#define WEBUSB_URL_SCHEME_HTTP 0
|
||
|
#define WEBUSB_URL_SCHEME_HTTPS 1
|
||
|
|
||
|
struct webusb_platform_descriptor {
|
||
![]()
6 years ago
|
uint8_t bLength;
|
||
|
uint8_t bDescriptorType;
|
||
|
uint8_t bDevCapabilityType;
|
||
|
uint8_t bReserved;
|
||
|
uint8_t platformCapabilityUUID[16];
|
||
|
uint16_t bcdVersion;
|
||
|
uint8_t bVendorCode;
|
||
|
uint8_t iLandingPage;
|
||
![]()
6 years ago
|
} __attribute__((packed));
|
||
|
|
||
![]()
6 years ago
|
#define WEBUSB_PLATFORM_DESCRIPTOR_SIZE \
|
||
|
sizeof(struct webusb_platform_descriptor)
|
||
![]()
6 years ago
|
|
||
|
// from https://wicg.github.io/webusb/#webusb-platform-capability-descriptor
|
||
|
// see also this (for endianness explanation)
|
||
|
// https://github.com/WICG/webusb/issues/115#issuecomment-352206549
|
||
![]()
6 years ago
|
#define WEBUSB_UUID \
|
||
|
{ \
|
||
|
0x38, 0xB6, 0x08, 0x34, 0xA9, 0x09, 0xA0, 0x47, 0x8B, 0xFD, 0xA0, 0x76, \
|
||
|
0x88, 0x15, 0xB6, 0x65 \
|
||
|
}
|
||
![]()
6 years ago
|
|
||
|
struct webusb_url_descriptor {
|
||
![]()
6 years ago
|
uint8_t bLength;
|
||
|
uint8_t bDescriptorType;
|
||
|
uint8_t bScheme;
|
||
|
char URL[];
|
||
![]()
6 years ago
|
} __attribute__((packed));
|
||
|
|
||
|
#define WEBUSB_DT_URL_DESCRIPTOR_SIZE 3
|
||
|
|
||
|
#endif
|