diff options
author | Benji Dial <benji@benjidial.net> | 2024-01-27 23:14:29 -0500 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-01-27 23:14:29 -0500 |
commit | a8a80d326de9550b2a25b1255a2093ab43219ede (patch) | |
tree | d42a800f735caf93679d1728e2d5f20004db3b65 /libraries/euler | |
parent | 7199e74aa22e592a3b77bdd81f735edca5470596 (diff) | |
download | hilbert-os-a8a80d326de9550b2a25b1255a2093ab43219ede.tar.gz |
keyboard input
Diffstat (limited to 'libraries/euler')
-rw-r--r-- | libraries/euler/include/euler/syscall.hpp | 3 | ||||
-rw-r--r-- | libraries/euler/syscall.asm | 6 |
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 |