forked from ACreTeam/ac-decomp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTwoHeadArena.h
39 lines (33 loc) · 1.13 KB
/
TwoHeadArena.h
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
30
31
32
33
34
35
36
37
38
39
#ifndef TWOHEADARENA_H
#define TWOHEADARENA_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
size_t size;
char *buf_p;
char *head_p;
char *tail_p;
} TwoHeadArena_t;
typedef TwoHeadArena_t TwoHeadArena;
typedef TwoHeadArena_t THA;
extern void THA_ct(TwoHeadArena* tha, char* p, size_t n);
extern void THA_dt(TwoHeadArena* tha);
extern void* THA_getHeadPtr(TwoHeadArena* tha); /* @unused */
extern void THA_setHeadPtr(TwoHeadArena* tha, void* p); /* @unused */
extern void* THA_getTailPtr(TwoHeadArena* tha); /* @unused */
extern void* THA_nextPtrN(TwoHeadArena* tha, size_t n); /* @unused */
extern void* THA_nextPtr1(TwoHeadArena* tha); /* @unused */
extern void* THA_alloc(TwoHeadArena* tha, size_t siz);
extern void* THA_alloc16(TwoHeadArena* tha, size_t siz);
extern void* THA_allocAlign(TwoHeadArena* tha, size_t siz, int mask);
extern int THA_isCrash(TwoHeadArena* tha);
extern void THA_init(TwoHeadArena* tha);
extern int THA_getFreeBytes16(TwoHeadArena* tha);
extern int THA_getFreeBytes(TwoHeadArena* tha);
extern int THA_getFreeBytesAlign(TwoHeadArena* tha, int mask);
#ifdef __cplusplus
};
#endif
#endif