diff options
Diffstat (limited to 'include/mercury/syscall.hpp')
-rw-r--r-- | include/mercury/syscall.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/mercury/syscall.hpp b/include/mercury/syscall.hpp new file mode 100644 index 0000000..f434d91 --- /dev/null +++ b/include/mercury/syscall.hpp @@ -0,0 +1,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 |