11501c2bfSNiels Sascha Reedijk /* 2*47000651SAxel Dörfler * Copyright 2009, Haiku Inc. All Rights Reserved. 3*47000651SAxel Dörfler * Distributed under the terms of the MIT License. 41501c2bfSNiels Sascha Reedijk */ 51501c2bfSNiels Sascha Reedijk #ifndef _USB_RLE_H 61501c2bfSNiels Sascha Reedijk #define _USB_RLE_H 71501c2bfSNiels Sascha Reedijk 8*47000651SAxel Dörfler 9*47000651SAxel Dörfler #include <SupportDefs.h> 10*47000651SAxel Dörfler 111501c2bfSNiels Sascha Reedijk 121501c2bfSNiels Sascha Reedijk struct _usbd_param_hdr; 131501c2bfSNiels Sascha Reedijk 141501c2bfSNiels Sascha Reedijk 15*47000651SAxel Dörfler /* Run length encoding for isochronous in transfers */ 161501c2bfSNiels Sascha Reedijk 171501c2bfSNiels Sascha Reedijk #define RLE_GOOD 1 181501c2bfSNiels Sascha Reedijk #define RLE_BAD 2 191501c2bfSNiels Sascha Reedijk #define RLE_MISSING 3 201501c2bfSNiels Sascha Reedijk #define RLE_UNKNOWN 4 211501c2bfSNiels Sascha Reedijk 22*47000651SAxel Dörfler /* data buffer state */ 231501c2bfSNiels Sascha Reedijk typedef struct rle { 241501c2bfSNiels Sascha Reedijk uint16 rle_status; 251501c2bfSNiels Sascha Reedijk uint16 sample_count; 261501c2bfSNiels Sascha Reedijk } rle; 271501c2bfSNiels Sascha Reedijk 281501c2bfSNiels Sascha Reedijk typedef struct rlea { 291501c2bfSNiels Sascha Reedijk uint16 length; 301501c2bfSNiels Sascha Reedijk uint16 num_valid; 311501c2bfSNiels Sascha Reedijk rle rles[1]; 321501c2bfSNiels Sascha Reedijk } rlea; 331501c2bfSNiels Sascha Reedijk 341501c2bfSNiels Sascha Reedijk 35*47000651SAxel Dörfler #endif /* _USB_RLE_H */ 36