2009-09-02 16:04:00 +04:00
|
|
|
/*
|
|
|
|
* Copyright 2009, Haiku Inc. All Rights Reserved.
|
|
|
|
* Distributed under the terms of the MIT License.
|
|
|
|
*/
|
2003-08-13 00:36:24 +04:00
|
|
|
#ifndef _USB_RLE_H
|
|
|
|
#define _USB_RLE_H
|
|
|
|
|
|
|
|
|
2009-09-02 16:04:00 +04:00
|
|
|
#include <SupportDefs.h>
|
2003-08-13 00:36:24 +04:00
|
|
|
|
|
|
|
|
2009-09-02 16:04:00 +04:00
|
|
|
struct _usbd_param_hdr;
|
2003-08-13 00:36:24 +04:00
|
|
|
|
|
|
|
|
2009-09-02 16:04:00 +04:00
|
|
|
/* Run length encoding for isochronous in transfers */
|
2003-08-13 00:36:24 +04:00
|
|
|
|
|
|
|
#define RLE_GOOD 1
|
|
|
|
#define RLE_BAD 2
|
|
|
|
#define RLE_MISSING 3
|
|
|
|
#define RLE_UNKNOWN 4
|
|
|
|
|
2009-09-02 16:04:00 +04:00
|
|
|
/* data buffer state */
|
2003-08-13 00:36:24 +04:00
|
|
|
typedef struct rle {
|
|
|
|
uint16 rle_status;
|
|
|
|
uint16 sample_count;
|
|
|
|
} rle;
|
|
|
|
|
|
|
|
typedef struct rlea {
|
|
|
|
uint16 length;
|
|
|
|
uint16 num_valid;
|
|
|
|
rle rles[1];
|
|
|
|
} rlea;
|
|
|
|
|
|
|
|
|
2009-09-02 16:04:00 +04:00
|
|
|
#endif /* _USB_RLE_H */
|