TEMU  2
The Terma Emulator
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Buffer.h
Go to the documentation of this file.
1 //===-- temu-c/Buffer.h - Data logger functions ------------*- C++ -*-===//
2 //
3 // T-EMU: The Terma Emulator
4 // (c) Terma 2016
5 // Authors: Mattias Holm <maho (at) terma.com>
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef TEMU_SUPPORT_BUFFER_H
10 #define TEMU_SUPPORT_BUFFER_H
11 
12 #include <stdint.h>
13 #include <stdlib.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
81 #ifndef TEMU_BUFF_DEFINED
82 #define TEMU_BUFF_DEFINED
83 typedef struct {
84  uintptr_t data0;
85  uint32_t data1;
86  uint32_t data2;
87 } temu_Buff;
88 #endif // !TEMU_BUFF_DEFINED
89 
96 TEMU_API temu_Buff temu_buffCreate(uint32_t size);
97 
106 
114 
125 
134 TEMU_API const uint8_t* temu_buffReadableData(const temu_Buff *B);
135 
142 TEMU_API uint32_t temu_buffLen(const temu_Buff *B);
143 
155 TEMU_API void temu_buffRemoveHead(temu_Buff *B, uint32_t len);
156 
169 TEMU_API void temu_buffRemoveTail(temu_Buff *B, uint32_t len);
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* ! TEMU_BUFFER_H */
TEMU_API const uint8_t * temu_buffReadableData(const temu_Buff *B)
TEMU_API temu_Buff temu_buffCreate(uint32_t size)
TEMU_API void temu_buffDispose(temu_Buff *B)
TEMU_API void temu_buffRemoveHead(temu_Buff *B, uint32_t len)
TEMU_API uint32_t temu_buffLen(const temu_Buff *B)
uintptr_t data0
Definition: Buffer.h:84
TEMU_API temu_Buff temu_buffCopy(const temu_Buff *B)
TEMU_API uint8_t * temu_buffWritableData(temu_Buff *B)
uint32_t data1
Definition: Buffer.h:85
uint32_t data2
Definition: Buffer.h:86
TEMU_API void temu_buffRemoveTail(temu_Buff *B, uint32_t len)
#define TEMU_API
Definition: Attributes.h:53