📄 usb-sysdep.h
字号:
/* * usb-sysdep.h -- macros to help using the 2.4 approach to usb in 2.2 * * Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet * Copyright (C) 2001 O'Reilly & Associates * * The source code in this file can be freely used, adapted, * and redistributed in source or binary form, so long as an * acknowledgment appears in derived source files. The citation * should list that the code comes from the book "Linux Device * Drivers" by Alessandro Rubini and Jonathan Corbet, published * by O'Reilly & Associates. No warranty is attached; * we cannot take responsibility for errors or fitness for use. * * $Id: usb-sysdep.h,v 1.3 2001/07/18 22:28:18 rubini Exp $ */#ifndef _USB_SYSDEP_H_#define _USB_SYSDEP_H_/* * provide the basic version check, don't bother with 2.0 as it * will have already barfed on <linux/usb.h> */#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) /* not > 2.4, by now */# error "This kernel is too recent: not supported by this file"#endif#if (LINUX_VERSION_CODE & 0xff00) == 3 /* not 2.3 */# error "Please don't use linux-2.3, use 2.4 instead"#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)# define LINUX_22#else# define LINUX_24#endif#ifdef LINUX_22/* * Define a device_id structure, to use the better approach of 2.4. This * for of the structure is used for class/subclass/protocol matching; * if you need to match on vendor/device identifiers you need a different * compatibility structure (and associated match code). Or you could * backport the one defined in linux-2.4/include/linux/usb.h */struct usb_device_id { int class; int subclass; int protocol; unsigned long driver_info;};/* This macro is used to fill the fields (2.4 is much more powerful here) */#define USB_INTERFACE_INFO(cl,sc,pr) \ class: (cl), subclass: (sc), protocol: (pr)#endif /* 2.2 */#endif /* _USB_SYSDEP_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -