summaryrefslogtreecommitdiff
path: root/terminal/vt52.h
blob: 557c247ee01e89d54c61e028bd3537aaecec906d (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_screen_struct
{
    
    void (*put_char)(uint8_t c,uint8_t color, uint32_t x, uint32_t y);

}term_screen;

typedef struct vt52_tty_struct
{

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

}vt52_tty;

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

#endif