aboutsummaryrefslogtreecommitdiff
path: root/arm9/source/types/pathbuf.h
blob: a92626261fe60b69e069720ef3bec54530d32dd6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef PATHBUF_H_
    #define PATHBUF_H_

    #include "../bang.h"


    // A 255-byte path buffer.
    typedef struct {
        u8 mem[256];
        u8 p;
    } PathBuf;

    // Methods.
    u8 pathbuf_read(PathBuf *buf);
    void pathbuf_clear(PathBuf *buf);
    void pathbuf_set_pointer(PathBuf *buf, bool to_final_component);
    void pathbuf_populate(PathBuf *buf, u8 *path);
    bool pathbuf_push(PathBuf *buf, u8 byte);
    bool pathbuf_is_empty(PathBuf *buf);
    bool pathbuf_is_root(PathBuf *buf);
    bool pathbuf_is_valid(PathBuf *buf);
#endif