summaryrefslogtreecommitdiff
path: root/arm9/source/types/circbuf.c
blob: 532a5a03de61dedef77f1b1ab9219c8358c25d6a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "circbuf.h"

u8 cb_read_byte(CircBuf *buf) {
    if (buf->front != buf->back) {
        return buf->mem[buf->front++];
    } else {
        return 0;
    }
}

void cb_write_byte(CircBuf *buf, u8 byte) {
    if (((buf->back+1)&0xff) != buf->front) {
        buf->mem[buf->back++] = byte;
    }
}

void cb_clear(CircBuf *buf) {
    buf->front = 0;
    buf->back = 0;
}