29 lines
541 B
C
29 lines
541 B
C
#include "alloc.h"
|
|
|
|
static char ss_alloc_buff[ALLOC_SIZE];
|
|
static char *ss_alloc_p = ss_alloc_buff;
|
|
|
|
long ss_alloc_get_free_bytes() {
|
|
return ss_alloc_buff + ALLOC_SIZE - ss_alloc_p;
|
|
}
|
|
|
|
long ss_alloc_get_used_bytes() {
|
|
return ss_alloc_p - ss_alloc_buff;
|
|
}
|
|
|
|
char *ss_alloc(int in) {
|
|
if (ss_alloc_get_free_bytes() >= in) {
|
|
ss_alloc_p += in;
|
|
return ss_alloc_p - in;
|
|
} else
|
|
return 0;
|
|
}
|
|
|
|
int ss_alloc_free(char *in) {
|
|
if (ss_alloc_buff <= in && in <= ss_alloc_buff + ALLOC_SIZE) {
|
|
ss_alloc_p = in;
|
|
return 1;
|
|
} else
|
|
return 0;
|
|
}
|