os/kernelhwsrv/kerneltest/e32test/usbho/t_usbdi/inc/descriptorsRawData.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 #ifndef __DESCRIPTORS_RAW_DATA_H
     2 #define __DESCRIPTORS_RAW_DATA_H
     3 
     4 /*
     5 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
     6 * All rights reserved.
     7 * This component and the accompanying materials are made available
     8 * under the terms of the License "Eclipse Public License v1.0"
     9 * which accompanies this distribution, and is available
    10 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    11 *
    12 * Initial Contributors:
    13 * Nokia Corporation - initial contribution.
    14 *
    15 * Contributors:
    16 *
    17 * Description:
    18 * @file descriptorsRawData.h
    19 * @internalComponent
    20 * 
    21 *
    22 */
    23 
    24 
    25 
    26 namespace NUnitTesting_USBDI
    27 	{
    28 
    29 _LIT8(KDeviceDescriptorData, "\
    30 \x12\x01\x00\x02\xff\xff\xff\x40\x22\x0e\x40\x00\x05\x03\x01\x02\x03\x01"); // ok
    31 
    32 _LIT8(KConfigurationDescriptorInsufficientDataTestCase1, "\
    33 \x09\x02\x50\x00\x02\x01\x04\xe0\x00\x09\x04\x00\x00\x00\xff\xff\xff\x06\x09\
    34 \x04\x01\x00\x02\xff\xff\xff\x07\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\
    35 \x40\x00\x00\x09\x04\x01\x01\x03\xff\xff\xff\x08\x07\x05\x81\x03\x08\x00\x40\
    36 \x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\x40\x00\x00"); // wTotalLength > real size
    37 
    38 _LIT8(KConfigurationDescriptorInsufficientDataTestCase2, "\
    39 \x09\x02\x45\x00\x02\x01\x04\xe0\x00\x09\x04\x00\x00\x00\xff\xff\xff\x06\x09\
    40 \x04\x01\x00\x02\xff\xff\xff\x07\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\
    41 \x40\x00\x00\x09\x04\x01\x01\x03\xff\xff\xff\x08\x07\x05\x81\x03\x08\x00\x40\
    42 \x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\x40");// last EP descriptor incomplete
    43 
    44 _LIT8(KConfigurationDescriptorUnexpectedLengthTestCase3, "\
    45 \x09\x02\x49\x00\x02\x01\x04\xe0\x00\x09\x04\x00\x00\x00\xff\xff\xff\x06\x09\
    46 \x04\x01\x00\x02\xff\xff\xff\x07\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\
    47 \x40\x00\x00\x09\x04\x01\x01\x03\xff\xff\xff\x08\x07\x05\x81\x03\x08\x00\x40\
    48 \x07\x05\x01\x02\x40\x00\x00\x09\x05\x84\x02\x40\x00\x00\x00\x00"); // last EP defined as 9 bytes(usb Audio class...), instead of 7(USB Spec.)
    49 
    50 
    51 // nominal case
    52 // IF0-IF1-IAD0(2,2)-IF2.0-IF2.1-IF4-IF3
    53 _LIT8(KConfigurationDescriptorWithIADTestCase1, "\
    54 \x09\x02\x6A\x00\x05\x01\x04\xe0\x00\
    55 \x09\x04\x00\x00\x00\xff\xff\xff\x06\x09\x04\x01\x00\x02\xff\xff\xff\x07\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\x40\x00\x00\
    56 \x08\x0B\x02\x02\xff\xff\xff\x02\x09\x04\x02\x00\x03\xff\xff\xff\x08\x07\x05\x81\x03\x08\x00\x40\x07\x05\x01\
    57 \x02\x40\x00\x00\x07\x05\x84\x02\x40\x00\x00\
    58 \x09\x04\x02\x01\x00\xff\xff\xff\x06\
    59 \x09\x04\x04\x00\x00\xff\xff\xff\x06\
    60 \x09\x04\x03\x00\x00\xff\xff\xff\x06"); // IF0---IF1--IAD0(2,2) --IF4
    61 										//			   |
    62 										//             |__IF2.0-IF2.1-IF3   
    63 
    64  
    65 // inconsistency, bFirstInterface doesn't exist and bInterfaceCount too big
    66 // IF0-IF1-IF3-IAD0(2,2)-IAD1(6,4)-IF2.0-IF2.1-IF4-IF5-IF7-IF8
    67 _LIT8(KConfigurationDescriptorWithIADTestCase2, "\
    68 \x09\x02\x8D\x00\x08\x01\x04\xe0\x00\
    69 \x09\x04\x00\x00\x00\xff\xff\xff\x06\x09\x04\x01\x00\x02\xff\xff\xff\x07\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\x40\x00\x00\
    70 \x09\x04\x03\x00\x00\xff\xff\xff\x06\
    71 \x08\x0B\x02\x02\xff\xff\xff\x02\
    72 \x08\x0B\x06\x04\xff\xff\xff\x02\x09\x04\x02\x00\x03\xff\xff\xff\x08\x07\x05\x81\x03\x08\x00\x40\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\x40\x00\x00\
    73 \x09\x04\x02\x01\x00\xff\xff\xff\x06\
    74 \x09\x04\x04\x00\x00\xff\xff\xff\x06\
    75 \x09\x04\x05\x00\x00\xff\xff\xff\x06\
    76 \x09\x04\x07\x00\x00\xff\xff\xff\x06\
    77 \x09\x04\x08\x00\x00\xff\xff\xff\x06");// IF0--IF1--IF3--IAD0(2,2)--------------IAD1(6,4)--IF4--IF5
    78 										//			      |						 |
    79 										//                |__IF2.0-IF2.1         |__IF7--IF8
    80 										
    81 
    82 // inconsistency, overlapping , IF3 is shared by 2 differents IADs
    83 // IF0-IF1-IAD0(2,2)-IAD1(3,3)-IF2.0-IF2.1-IF4-IF3-IF5-IF6              
    84 _LIT8(KConfigurationDescriptorWithIADTestCase3, "\
    85 \x09\x02\x84\x00\x07\x01\x04\xe0\x00\
    86 \x09\x04\x00\x00\x00\xff\xff\xff\x06\x09\x04\x01\x00\x02\xff\xff\xff\x07\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\x40\x00\x00\
    87 \x08\x0B\x02\x02\xff\xff\xff\x02\
    88 \x08\x0B\x03\x03\xff\xff\xff\x02\x09\x04\x02\x00\x03\xff\xff\xff\x08\x07\x05\x81\x03\x08\x00\x40\x07\x05\x01\x02\x40\x00\x00\x07\x05\x84\x02\x40\x00\x00\
    89 \x09\x04\x02\x01\x00\xff\xff\xff\x06\
    90 \x09\x04\x04\x00\x00\xff\xff\xff\x06\
    91 \x09\x04\x03\x00\x00\xff\xff\xff\x06\
    92 \x09\x04\x05\x00\x00\xff\xff\xff\x06\
    93 \x09\x04\x06\x00\x00\xff\xff\xff\x06"); // IF0---IF1--IAD0(2,2)-------------IAD1(3,3)--IF6
    94 										//			   | 						|
    95 										//             |__IF2.0-IF2.1      		|__IF4-IF3-IF5							
    96 										
    97 	
    98 	
    99 /**
   100 Some data from a Bluetooth USB dongle.  Which previously
   101 caused a panic in the parser.
   102 */
   103 _LIT8(KBtDongleDescriptorTestCase4,
   104 	"\x09\x04\x01\x00\x02\xe0\x01\x01\x00"
   105 		"\x07\x05\x03\x01\x00\x00\x01"
   106 		"\x07\x05\x83\x01\x00\x00\x01"
   107 	"\x09\x04\x01\x01\x02\xe0\x01\x01\x00"
   108 		"\x07\x05\x03\x01\x09\x00\x01"
   109 		"\x07\x05\x83\x01\x09\x00\x01"
   110 	"\x09\x04\x01\x02\x02\xe0\x01\x01\x00"
   111 		"\x07\x05\x03\x01\x11\x00\x01"
   112 		"\x07\x05\x83\x01\x11\x00\x01"
   113 	"\x09\x04\x01\x03\x02\xe0\x01\x01\x00"
   114 		"\x07\x05\x03\x01\x19\x00\x01"
   115 		"\x07\x05\x83\x01\x19\x00\x01"
   116 	"\x09\x04\x01\x04\x02\xe0\x01\x01\x00"
   117 		"\x07\x05\x03\x01\x21\x00\x01"
   118 		"\x07\x05\x83\x01\x21\x00\x01"
   119 	"\x09\x04\x01\x05\x02\xe0\x01\x01\x00"
   120 		"\x07\x05\x03\x01\x31\x00\x01"
   121 		"\x07\x05\x83\x01\x31\x00\x01"
   122 	);
   123 
   124 /**
   125 Basic IAD test.  An IAD preceding 4 in-order interface descriptors.
   126 */
   127 _LIT8(KConfigurationDescriptorWithIADTestCase5,
   128 	"\x09\x02\x51\x00\x04\x03\x04\x05\x06"
   129 		"\x08\x0b\x00\x04\x02\x03\x04\x05"
   130 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   131 				"\x07\x05\x00\x01\x02\x03\x04"
   132 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   133 				"\x07\x05\x01\x01\x02\x03\x04"
   134 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   135 				"\x07\x05\x02\x01\x02\x03\x04"
   136 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   137 				"\x07\x05\x03\x01\x02\x03\x04"
   138 	);
   139 
   140 /**
   141 IAD test where IAD precedes all 4 descriptors but doesn't include
   142 the last one.
   143 */
   144 _LIT8(KConfigurationDescriptorWithIADTestCase6,
   145 	"\x09\x02\x51\x00\x04\x03\x04\x05\x06"
   146 		"\x08\x0b\x00\x03\x02\x03\x04\x05"
   147 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   148 				"\x07\x05\x00\x01\x02\x03\x04"
   149 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   150 				"\x07\x05\x01\x01\x02\x03\x04"
   151 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   152 				"\x07\x05\x02\x01\x02\x03\x04"
   153 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   154 				"\x07\x05\x03\x01\x02\x03\x04"
   155 	);
   156 	
   157 /**
   158 IAD test where IAD precedes all 4 descriptors but doesn't include
   159 the first one.
   160 */
   161 _LIT8(KConfigurationDescriptorWithIADTestCase7,
   162 	"\x09\x02\x51\x00\x04\x03\x04\x05\x06"
   163 		"\x08\x0b\x01\x03\x02\x03\x04\x05"
   164 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   165 				"\x07\x05\x00\x01\x02\x03\x04"
   166 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   167 				"\x07\x05\x01\x01\x02\x03\x04"
   168 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   169 				"\x07\x05\x02\x01\x02\x03\x04"
   170 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   171 				"\x07\x05\x03\x01\x02\x03\x04"
   172 	);
   173 	
   174 /**
   175 IAD test where IAD precedes all 4 descriptors but the interfaces
   176 are in reverse numerial order.
   177 */
   178 _LIT8(KConfigurationDescriptorWithIADTestCase8,
   179 	"\x09\x02\x51\x00\x04\x03\x04\x05\x06"
   180 		"\x08\x0b\x00\x04\x02\x03\x04\x05"
   181 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   182 				"\x07\x05\x00\x01\x02\x03\x04"
   183 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   184 				"\x07\x05\x01\x01\x02\x03\x04"
   185 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   186 				"\x07\x05\x02\x01\x02\x03\x04"
   187 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   188 				"\x07\x05\x03\x01\x02\x03\x04"
   189 	);
   190 	
   191 /**
   192 IAD test where IAD precedes all 4 descriptors but the interfaces
   193 are in a random order.
   194 */
   195 _LIT8(KConfigurationDescriptorWithIADTestCase9,
   196 	"\x09\x02\x51\x00\x04\x03\x04\x05\x06"
   197 		"\x08\x0b\x00\x04\x02\x03\x04\x05"
   198 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   199 				"\x07\x05\x00\x01\x02\x03\x04"
   200 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   201 				"\x07\x05\x01\x01\x02\x03\x04"
   202 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   203 				"\x07\x05\x02\x01\x02\x03\x04"
   204 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   205 				"\x07\x05\x03\x01\x02\x03\x04"
   206 	);
   207 	
   208 /**
   209 IAD test where IAD precedes all 4 descriptors only three are included
   210 and an excluded one splits the included (from a data stream pov).
   211 */
   212 _LIT8(KConfigurationDescriptorWithIADTestCase10,
   213 	"\x09\x02\x51\x00\x04\x03\x04\x05\x06"
   214 		"\x08\x0b\x01\x03\x02\x03\x04\x05"
   215 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   216 				"\x07\x05\x00\x01\x02\x03\x04"
   217 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   218 				"\x07\x05\x01\x01\x02\x03\x04"
   219 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   220 				"\x07\x05\x02\x01\x02\x03\x04"
   221 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   222 				"\x07\x05\x03\x01\x02\x03\x04"
   223 	);									// 	 IAD0(1,3)---IF0
   224 										//	   | 						
   225 										//     |__IF3--IF1--IF2
   226 	
   227 	
   228 /**
   229 IAD test where IAD is preceded by another interface
   230 */
   231 _LIT8(KConfigurationDescriptorWithIADTestCase11,
   232 	"\x09\x02\x61\x00\x04\x03\x04\x05\x06"
   233 		"\x09\x04\x04\x00\x01\x03\x04\x05\x06"
   234 			"\x07\x05\x04\x01\x02\x03\x04"
   235 		"\x08\x0b\x01\x03\x02\x03\x04\x05"
   236 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   237 				"\x07\x05\x00\x01\x02\x03\x04"
   238 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   239 				"\x07\x05\x01\x01\x02\x03\x04"
   240 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   241 				"\x07\x05\x02\x01\x02\x03\x04"
   242 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   243 				"\x07\x05\x03\x01\x02\x03\x04"
   244 	);									// 	 IF4---IAD0(1,3)---IF0
   245 										//	         | 						
   246 										//           |__IF3--IF1--IF2    
   247 	
   248 /**
   249 IAD test where there are two IADs followed by interfaces
   250 some they own, some they don't.
   251 */
   252 _LIT8(KConfigurationDescriptorWithIADTestCase12,
   253 	"\x09\x02\x61\x00\x04\x03\x04\x05\x06"
   254 		"\x09\x04\x04\x00\x01\x03\x04\x05\x06"
   255 			"\x07\x05\x04\x01\x02\x03\x04"
   256 		"\x08\x0b\x01\x03\x02\x03\x04\x05"
   257 		"\x08\x0b\x05\x02\x02\x03\x04\x05"
   258 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   259 				"\x07\x05\x00\x01\x02\x03\x04"
   260 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   261 				"\x07\x05\x01\x01\x02\x03\x04"
   262 			"\x09\x04\x05\x00\x01\x03\x04\x05\x06"
   263 				"\x07\x05\x06\x01\x02\x03\x04"
   264 			"\x09\x04\x06\x00\x01\x03\x04\x05\x06"
   265 				"\x07\x05\x05\x01\x02\x03\x04"
   266 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   267 				"\x07\x05\x02\x01\x02\x03\x04"
   268 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   269 				"\x07\x05\x03\x01\x02\x03\x04"
   270 	);									// 	 IF4---IAD0(1,3)--------------IAD0(5,2)--IF0
   271 										//	         |						| 						
   272 										//           |__IF3--IF1--IF2		|__IF5--IF6 
   273 	
   274 /**
   275 IAD test where there are two IADs followed by interfaces
   276 some they own, some they don't.  With overlapping.
   277 */
   278 _LIT8(KConfigurationDescriptorWithIADTestCase13,
   279 	"\x09\x02\x61\x00\x04\x03\x04\x05\x06"
   280 		"\x09\x04\x10\x00\x01\x03\x04\x05\x06"
   281 			"\x07\x05\x09\x01\x02\x03\x04"
   282 		"\x08\x0b\x01\x04\x02\x03\x04\x05"
   283 		"\x08\x0b\x04\x03\x02\x03\x04\x05"
   284 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   285 				"\x07\x05\x00\x01\x02\x03\x04"
   286 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   287 				"\x07\x05\x01\x01\x02\x03\x04"
   288 			"\x09\x04\x05\x00\x01\x03\x04\x05\x06"
   289 				"\x07\x05\x06\x01\x02\x03\x04"
   290 			"\x09\x04\x06\x00\x01\x03\x04\x05\x06"
   291 				"\x07\x05\x05\x01\x02\x03\x04"
   292 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   293 				"\x07\x05\x02\x01\x02\x03\x04"
   294 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   295 				"\x07\x05\x03\x01\x02\x03\x04"
   296 			"\x09\x04\x04\x00\x01\x03\x04\x05\x06"
   297 				"\x07\x05\x04\x01\x02\x03\x04"
   298 	);									// 	 IF16---IAD0(1,4)-----------------IAD0(4,3)--IF0
   299 										//	         |							| 						
   300 										//           |__IF3--IF1--IF2--IF4		|__IF5--IF6 
   301 	
   302 /** 
   303 IAD test where there are two IADs followed by interfaces
   304 some they own, some they don't.  With overlapping and an
   305 independant interface before a descriptor which can live
   306 in either IAD (because the IAD is malformed).
   307 */
   308 _LIT8(KConfigurationDescriptorWithIADTestCase14,
   309 	"\x09\x02\x61\x00\x04\x03\x04\x05\x06"
   310 		"\x08\x0b\x01\x04\x02\x03\x04\x05"
   311 		"\x08\x0b\x04\x03\x02\x03\x04\x05"
   312 			"\x09\x04\x03\x00\x01\x03\x04\x05\x06"
   313 				"\x07\x05\x00\x01\x02\x03\x04"
   314 			"\x09\x04\x01\x00\x01\x03\x04\x05\x06"
   315 				"\x07\x05\x01\x01\x02\x03\x04"
   316 			"\x09\x04\x05\x00\x01\x03\x04\x05\x06"
   317 				"\x07\x05\x06\x01\x02\x03\x04"
   318 			"\x09\x04\x06\x00\x01\x03\x04\x05\x06"
   319 				"\x07\x05\x05\x01\x02\x03\x04"
   320 			"\x09\x04\x00\x00\x01\x03\x04\x05\x06"
   321 				"\x07\x05\x02\x01\x02\x03\x04"
   322 			"\x09\x04\x02\x00\x01\x03\x04\x05\x06"
   323 				"\x07\x05\x03\x01\x02\x03\x04"
   324 		"\x09\x04\x10\x00\x01\x03\x04\x05\x06"
   325 			"\x07\x05\x09\x01\x02\x03\x04"
   326 			"\x09\x04\x04\x00\x01\x03\x04\x05\x06"
   327 				"\x07\x05\x04\x01\x02\x03\x04"
   328 	);									// 	 IAD0(1,4)-----------------IAD0(4,3)--IF0--IFA
   329 										//	    |							| 						
   330 										//      |__IF3--IF1--IF2			|__IF5--IF6--IF4
   331 	
   332 	}
   333 
   334 #endif // __DESCRIPTORS_RAW_DATA_H