libusb-compat: fix musl compatibility issues

Use stdint types instead of non-standard ones

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 46025
This commit is contained in:
Felix Fietkau 2015-06-18 06:39:09 +00:00
parent b3d81b2dec
commit 535f58c362
2 changed files with 187 additions and 2 deletions

View file

@ -1,5 +1,5 @@
#
# Copyright (C) 2010-2014 OpenWrt.org
# Copyright (C) 2010-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libusb-compat
PKG_VERSION:=0.1.4
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/libusb

View file

@ -0,0 +1,185 @@
--- a/libusb/usb.h
+++ b/libusb/usb.h
@@ -27,6 +27,7 @@
#include <unistd.h>
#include <stdlib.h>
+#include <stdint.h>
#include <limits.h>
#include <dirent.h>
@@ -78,40 +79,40 @@
/* All standard descriptors have these 2 fields in common */
struct usb_descriptor_header {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
};
/* String descriptor */
struct usb_string_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t wData[1];
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t wData[1];
};
/* HID descriptor */
struct usb_hid_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t bcdHID;
- u_int8_t bCountryCode;
- u_int8_t bNumDescriptors;
- /* u_int8_t bReportDescriptorType; */
- /* u_int16_t wDescriptorLength; */
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t bcdHID;
+ uint8_t bCountryCode;
+ uint8_t bNumDescriptors;
+ /* uint8_t bReportDescriptorType; */
+ /* uint16_t wDescriptorLength; */
/* ... */
};
/* Endpoint descriptor */
#define USB_MAXENDPOINTS 32
struct usb_endpoint_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int8_t bEndpointAddress;
- u_int8_t bmAttributes;
- u_int16_t wMaxPacketSize;
- u_int8_t bInterval;
- u_int8_t bRefresh;
- u_int8_t bSynchAddress;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint8_t bEndpointAddress;
+ uint8_t bmAttributes;
+ uint16_t wMaxPacketSize;
+ uint8_t bInterval;
+ uint8_t bRefresh;
+ uint8_t bSynchAddress;
unsigned char *extra; /* Extra descriptors */
int extralen;
@@ -129,15 +130,15 @@ struct usb_endpoint_descriptor {
/* Interface descriptor */
#define USB_MAXINTERFACES 32
struct usb_interface_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int8_t bInterfaceNumber;
- u_int8_t bAlternateSetting;
- u_int8_t bNumEndpoints;
- u_int8_t bInterfaceClass;
- u_int8_t bInterfaceSubClass;
- u_int8_t bInterfaceProtocol;
- u_int8_t iInterface;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint8_t bInterfaceNumber;
+ uint8_t bAlternateSetting;
+ uint8_t bNumEndpoints;
+ uint8_t bInterfaceClass;
+ uint8_t bInterfaceSubClass;
+ uint8_t bInterfaceProtocol;
+ uint8_t iInterface;
struct usb_endpoint_descriptor *endpoint;
@@ -155,14 +156,14 @@ struct usb_interface {
/* Configuration descriptor information.. */
#define USB_MAXCONFIG 8
struct usb_config_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t wTotalLength;
- u_int8_t bNumInterfaces;
- u_int8_t bConfigurationValue;
- u_int8_t iConfiguration;
- u_int8_t bmAttributes;
- u_int8_t MaxPower;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t wTotalLength;
+ uint8_t bNumInterfaces;
+ uint8_t bConfigurationValue;
+ uint8_t iConfiguration;
+ uint8_t bmAttributes;
+ uint8_t MaxPower;
struct usb_interface *interface;
@@ -172,28 +173,28 @@ struct usb_config_descriptor {
/* Device descriptor */
struct usb_device_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t bcdUSB;
- u_int8_t bDeviceClass;
- u_int8_t bDeviceSubClass;
- u_int8_t bDeviceProtocol;
- u_int8_t bMaxPacketSize0;
- u_int16_t idVendor;
- u_int16_t idProduct;
- u_int16_t bcdDevice;
- u_int8_t iManufacturer;
- u_int8_t iProduct;
- u_int8_t iSerialNumber;
- u_int8_t bNumConfigurations;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t bcdUSB;
+ uint8_t bDeviceClass;
+ uint8_t bDeviceSubClass;
+ uint8_t bDeviceProtocol;
+ uint8_t bMaxPacketSize0;
+ uint16_t idVendor;
+ uint16_t idProduct;
+ uint16_t bcdDevice;
+ uint8_t iManufacturer;
+ uint8_t iProduct;
+ uint8_t iSerialNumber;
+ uint8_t bNumConfigurations;
};
struct usb_ctrl_setup {
- u_int8_t bRequestType;
- u_int8_t bRequest;
- u_int16_t wValue;
- u_int16_t wIndex;
- u_int16_t wLength;
+ uint8_t bRequestType;
+ uint8_t bRequest;
+ uint16_t wValue;
+ uint16_t wIndex;
+ uint16_t wLength;
};
/*
@@ -254,7 +255,7 @@ struct usb_device {
void *dev; /* Darwin support */
- u_int8_t devnum;
+ uint8_t devnum;
unsigned char num_children;
struct usb_device **children;
@@ -266,7 +267,7 @@ struct usb_bus {
char dirname[PATH_MAX + 1];
struct usb_device *devices;
- u_int32_t location;
+ uint32_t location;
struct usb_device *root_dev;
};