summaryrefslogtreecommitdiff
path: root/include/mercury/syscall.hpp
blob: f434d91d49dd4b3cb252f1ba58848a8dbc194d7a (plain) (blame)
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
#ifndef MERCURY_SYSCALL_HPP
#define MERCURY_SYSCALL_HPP

#include <cstdint>

namespace mercury::syscall {

  typedef uint32_t encoded_color;

  struct [[gnu::packed]] color {
    uint8_t r;
    uint8_t g;
    uint8_t b;
  };

  extern "C" encoded_color encode_color(color c);

  extern "C" void get_framebuffer(encoded_color *&framebuffer_out,
    uint32_t &width_out, uint32_t &height_out, uint32_t &pitch_out
  );

  extern "C" void draw_framebuffer();

}

#endif