blob: 0e4e4c090955988465e935bb0d865c97f82e9ab3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#ifndef UTILS_COMMON_CIRCLEBUFFER_H
#define UTILS_COMMON_CIRCLEBUFFER_H
#include <types.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CircleBuffer {
u8* read_ptr;
u8* write_ptr;
u8* start_ptr;
u32 size;
s32 mBytesToRead;
u32 mBytesToWrite;
u32 mCriticalSection;
} CircleBuffer;
int CircleBufferReadBytes(CircleBuffer*, u8*, u32);
int CircleBufferWriteBytes(CircleBuffer*, u8*, u32);
void CircleBufferInitialize(CircleBuffer*, u8*, s32);
u32 CBGetBytesAvailableForRead(CircleBuffer*);
#ifdef __cplusplus
}
#endif
#endif /* UTILS_COMMON_CIRCLEBUFFER_H */
|