summaryrefslogtreecommitdiff
path: root/terminal/vt52.h
blob: cdc62bd45c22c2455730837e7cf7185eae7e1b1f (plain)
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
#ifndef VT52_H
#define VT52_H

#include <stdint.h>


// REQUIREMENTS
// * kballoc // block wise in-kernel allocation

typedef struct term_out_struct
{

    void (*put_char)(uint8_t c,uint8_t color, uint32_t x, uint32_t y);
    void (*update_cursor)(uint32_t col,uint32_t row);

}term_out;

typedef struct vt52_tty_struct
{

    uint32_t width;
    uint32_t height;
    uint32_t x;
    uint32_t y;
    uint32_t *data; // screen data
    term_out *screen;

}vt52_tty;

vt52_tty vt52_init(term_out *screen);
void vt52_put(vt52_tty *tty, uint8_t c);

#endif