summaryrefslogtreecommitdiff
path: root/libraries/euler
diff options
context:
space:
mode:
authorBenji Dial <benji@benjidial.net>2024-01-27 23:14:29 -0500
committerBenji Dial <benji@benjidial.net>2024-01-27 23:14:29 -0500
commita8a80d326de9550b2a25b1255a2093ab43219ede (patch)
treed42a800f735caf93679d1728e2d5f20004db3b65 /libraries/euler
parent7199e74aa22e592a3b77bdd81f735edca5470596 (diff)
downloadhilbert-os-a8a80d326de9550b2a25b1255a2093ab43219ede.tar.gz
keyboard input
Diffstat (limited to 'libraries/euler')
-rw-r--r--libraries/euler/include/euler/syscall.hpp3
-rw-r--r--libraries/euler/syscall.asm6
2 files changed, 9 insertions, 0 deletions
diff --git a/libraries/euler/include/euler/syscall.hpp b/libraries/euler/include/euler/syscall.hpp
index 781d444..2dc88b8 100644
--- a/libraries/euler/include/euler/syscall.hpp
+++ b/libraries/euler/include/euler/syscall.hpp
@@ -7,6 +7,7 @@ namespace euler::syscall {
typedef uint32_t encoded_color;
typedef int32_t exit_code;
typedef uint64_t file_handle;
+ typedef uint32_t key_packet;
enum [[nodiscard]] file_result : uint64_t {
success,
@@ -45,4 +46,6 @@ extern "C" {
void _syscall_close_file(euler::syscall::file_handle file);
+ euler::syscall::key_packet _syscall_read_key_packet();
+
}
diff --git a/libraries/euler/syscall.asm b/libraries/euler/syscall.asm
index f7fe735..c76a641 100644
--- a/libraries/euler/syscall.asm
+++ b/libraries/euler/syscall.asm
@@ -80,3 +80,9 @@ _syscall_close_file:
mov rax, 7
syscall
ret
+
+global _syscall_read_key_packet
+_syscall_read_key_packet:
+ mov rax, 8
+ syscall
+ ret