:github_url: https://github.com/nyx-org/gaia .. _program_listing_file_platform_hal_int.hpp: Program Listing for File int.hpp ================================ |exhale_lsh| :ref:`Return to documentation for file ` (``platform/hal/int.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Gaia::Hal { struct InterruptFrame; struct InterruptEntry; using InterruptHandler = void(InterruptFrame *, void *arg); Result allocate_interrupt(Ipl ipl, InterruptHandler *handler, void *arg, InterruptEntry *entry); Result register_interrupt_handler(int vector, Hal::InterruptHandler *handler, void *arg, Hal::InterruptEntry *entry); uint64_t get_timer_count(); // Returns seconds since epoch uint64_t get_time_of_day(); void do_context_switch(); Ipl get_ipl(); void set_ipl(Ipl ipl); } // namespace Gaia::Hal