]> git.sur5r.net Git - freertos/blob - FreeRTOS-Labs/Demo/FreeRTOS_IoT_Libraries/jobs/jobs_notify_next/WinPCap/pcap/usb.h
Add the Labs projects provided in the V10.2.1_191129 zip file.
[freertos] / FreeRTOS-Labs / Demo / FreeRTOS_IoT_Libraries / jobs / jobs_notify_next / WinPCap / pcap / usb.h
1 /*\r
2  * Copyright (c) 2006 Paolo Abeni (Italy)\r
3  * All rights reserved.\r
4  *\r
5  * Redistribution and use in source and binary forms, with or without\r
6  * modification, are permitted provided that the following conditions\r
7  * are met:\r
8  *\r
9  * 1. Redistributions of source code must retain the above copyright\r
10  * notice, this list of conditions and the following disclaimer.\r
11  * 2. Redistributions in binary form must reproduce the above copyright\r
12  * notice, this list of conditions and the following disclaimer in the\r
13  * documentation and/or other materials provided with the distribution.\r
14  * 3. The name of the author may not be used to endorse or promote \r
15  * products derived from this software without specific prior written \r
16  * permission.\r
17  *\r
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
19  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
21  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
22  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
29  *\r
30  * Basic USB data struct\r
31  * By Paolo Abeni <paolo.abeni@email.it>\r
32  *\r
33  * @(#) $Header: /tcpdump/master/libpcap/pcap/usb.h,v 1.6 2007/09/22 02:06:08 guy Exp $\r
34  */\r
35  \r
36 #ifndef _PCAP_USB_STRUCTS_H__\r
37 #define _PCAP_USB_STRUCTS_H__\r
38 \r
39 /* \r
40  * possible transfer mode\r
41  */\r
42 #define URB_TRANSFER_IN   0x80\r
43 #define URB_ISOCHRONOUS   0x0\r
44 #define URB_INTERRUPT     0x1\r
45 #define URB_CONTROL       0x2\r
46 #define URB_BULK          0x3\r
47 \r
48 /*\r
49  * possible event type\r
50  */\r
51 #define URB_SUBMIT        'S'\r
52 #define URB_COMPLETE      'C'\r
53 #define URB_ERROR         'E'\r
54 \r
55 /*\r
56  * USB setup header as defined in USB specification.\r
57  * Appears at the front of each packet in DLT_USB captures.\r
58  */\r
59 typedef struct _usb_setup {\r
60         u_int8_t bmRequestType;\r
61         u_int8_t bRequest;\r
62         u_int16_t wValue;\r
63         u_int16_t wIndex;\r
64         u_int16_t wLength;\r
65 } pcap_usb_setup;\r
66 \r
67 \r
68 /*\r
69  * Header prepended by linux kernel to each event.\r
70  * Appears at the front of each packet in DLT_USB_LINUX captures.\r
71  */\r
72 typedef struct _usb_header {\r
73         u_int64_t id;\r
74         u_int8_t event_type;\r
75         u_int8_t transfer_type;\r
76         u_int8_t endpoint_number;\r
77         u_int8_t device_address;\r
78         u_int16_t bus_id;\r
79         char setup_flag;/*if !=0 the urb setup header is not present*/\r
80         char data_flag; /*if !=0 no urb data is present*/\r
81         int64_t ts_sec;\r
82         int32_t ts_usec;\r
83         int32_t status;\r
84         u_int32_t urb_len;\r
85         u_int32_t data_len; /* amount of urb data really present in this event*/\r
86         pcap_usb_setup setup;\r
87 } pcap_usb_header;\r
88 \r
89 \r
90 #endif\r