<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.1" xml:lang="en-US">
  <compounddef id="interrupt_8h" kind="file" language="C++">
    <compoundname>interrupt.h</compoundname>
    <includes refid="kernel_8h" local="yes">kernel.h</includes>
    <includedby refid="kernel_8h" local="yes">kernel.h</includedby>
    <incdepgraph>
      <node id="25">
        <label>ata.h</label>
        <link refid="ata_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>stdbool.h</label>
      </node>
      <node id="38">
        <label>basic.h</label>
        <link refid="basic_8h"/>
      </node>
      <node id="28">
        <label>ramdisk.h</label>
        <link refid="ramdisk_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="41">
        <label>acpi.h</label>
        <link refid="acpi_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="45">
        <label>arp.h</label>
        <link refid="arp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="52">
        <label>dns.h</label>
        <link refid="dns_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="31">
        <label>fat32.h</label>
        <link refid="fat32_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="50">
        <label>udp.h</label>
        <link refid="udp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="29">
        <label>iso9660.h</label>
        <link refid="iso9660_8h"/>
      </node>
      <node id="9">
        <label>spinlock.h</label>
        <link refid="spinlock_8h"/>
      </node>
      <node id="48">
        <label>tcp.h</label>
        <link refid="tcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="23">
        <label>devicename.h</label>
        <link refid="devicename_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>idt.h</label>
        <link refid="idt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>stdint.h</label>
      </node>
      <node id="53">
        <label>drawing.h</label>
        <link refid="drawing_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="39">
        <label>basic_tokenizer.h</label>
        <link refid="basic__tokenizer_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="43">
        <label>rtl8139.h</label>
        <link refid="rtl8139_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="18">
        <label>ioapic.h</label>
        <link refid="ioapic_8h"/>
      </node>
      <node id="5">
        <label>stddef.h</label>
      </node>
      <node id="6">
        <label>limits.h</label>
      </node>
      <node id="34">
        <label>keyboard.h</label>
        <link refid="keyboard_8h"/>
      </node>
      <node id="15">
        <label>io.h</label>
        <link refid="io_8h"/>
      </node>
      <node id="10">
        <label>printf.h</label>
        <link refid="printf_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="44">
        <label>e1000.h</label>
        <link refid="e1000_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="37">
        <label>lapic_timer.h</label>
        <link refid="lapic__timer_8h"/>
      </node>
      <node id="7">
        <label>limine.h</label>
      </node>
      <node id="35">
        <label>input.h</label>
        <link refid="input_8h"/>
      </node>
      <node id="54">
        <label>fpu.h</label>
        <link refid="fpu_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>video.h</label>
        <link refid="video_8h"/>
      </node>
      <node id="49">
        <label>icmp.h</label>
        <link refid="icmp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="46">
        <label>ip.h</label>
        <link refid="ip_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="26">
        <label>filesystem.h</label>
        <link refid="filesystem_8h"/>
      </node>
      <node id="22">
        <label>maths.h</label>
        <link refid="maths_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="30">
        <label>devfs.h</label>
        <link refid="devfs_8h"/>
      </node>
      <node id="33">
        <label>errorhandler.h</label>
        <link refid="errorhandler_8h"/>
      </node>
      <node id="47">
        <label>ethernet.h</label>
        <link refid="ethernet_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>kernel.h</label>
        <link refid="kernel_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="1" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
        <childnode refid="31" relation="include">
        </childnode>
        <childnode refid="32" relation="include">
        </childnode>
        <childnode refid="33" relation="include">
        </childnode>
        <childnode refid="34" relation="include">
        </childnode>
        <childnode refid="35" relation="include">
        </childnode>
        <childnode refid="36" relation="include">
        </childnode>
        <childnode refid="37" relation="include">
        </childnode>
        <childnode refid="38" relation="include">
        </childnode>
        <childnode refid="39" relation="include">
        </childnode>
        <childnode refid="40" relation="include">
        </childnode>
        <childnode refid="41" relation="include">
        </childnode>
        <childnode refid="42" relation="include">
        </childnode>
        <childnode refid="43" relation="include">
        </childnode>
        <childnode refid="44" relation="include">
        </childnode>
        <childnode refid="45" relation="include">
        </childnode>
        <childnode refid="46" relation="include">
        </childnode>
        <childnode refid="47" relation="include">
        </childnode>
        <childnode refid="48" relation="include">
        </childnode>
        <childnode refid="49" relation="include">
        </childnode>
        <childnode refid="50" relation="include">
        </childnode>
        <childnode refid="51" relation="include">
        </childnode>
        <childnode refid="52" relation="include">
        </childnode>
        <childnode refid="53" relation="include">
        </childnode>
        <childnode refid="54" relation="include">
        </childnode>
      </node>
      <node id="16">
        <label>memcpy.h</label>
        <link refid="memcpy_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="27">
        <label>partition.h</label>
        <link refid="partition_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>random.h</label>
        <link refid="random_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="40">
        <label>taskswitch.h</label>
        <link refid="taskswitch_8h"/>
      </node>
      <node id="11">
        <label>hashmap.h</label>
        <link refid="hashmap_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="42">
        <label>net.h</label>
        <link refid="net_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="19">
        <label>timer.h</label>
        <link refid="timer_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="32">
        <label>debugger.h</label>
        <link refid="debugger_8h"/>
      </node>
      <node id="1">
        <label>interrupt.h</label>
        <link refid="interrupt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>kmalloc.h</label>
        <link refid="kmalloc_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="21">
        <label>pci.h</label>
        <link refid="pci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="17">
        <label>apic.h</label>
        <link refid="apic_8h"/>
      </node>
      <node id="14">
        <label>string.h</label>
        <link refid="string_8h"/>
      </node>
      <node id="24">
        <label>ahci.h</label>
        <link refid="ahci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="51">
        <label>dhcp.h</label>
        <link refid="dhcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="36">
        <label>clock.h</label>
        <link refid="clock_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="27">
        <label>ramdisk.h</label>
        <link refid="ramdisk_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>acpi.h</label>
        <link refid="acpi_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="5">
        <label>arp.h</label>
        <link refid="arp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="10">
        <label>dns.h</label>
        <link refid="dns_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="14">
        <label>fat32.h</label>
        <link refid="fat32_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="31">
        <label>udp.h</label>
        <link refid="udp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="30">
        <label>tcp.h</label>
        <link refid="tcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>devicename.h</label>
        <link refid="devicename_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="18">
        <label>idt.h</label>
        <link refid="idt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="11">
        <label>drawing.h</label>
        <link refid="drawing_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="6">
        <label>basic_tokenizer.h</label>
        <link refid="basic__tokenizer_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="29">
        <label>rtl8139.h</label>
        <link refid="rtl8139_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="26">
        <label>printf.h</label>
        <link refid="printf_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>e1000.h</label>
        <link refid="e1000_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="19">
        <label>initialisation-functions.h</label>
        <link refid="initialisation-functions_8h"/>
      </node>
      <node id="15">
        <label>fpu.h</label>
        <link refid="fpu_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="17">
        <label>icmp.h</label>
        <link refid="icmp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>ip.h</label>
        <link refid="ip_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="21">
        <label>maths.h</label>
        <link refid="maths_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>ethernet.h</label>
        <link refid="ethernet_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>kernel.h</label>
        <link refid="kernel_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="1" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
        <childnode refid="31" relation="include">
        </childnode>
      </node>
      <node id="22">
        <label>memcpy.h</label>
        <link refid="memcpy_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="24">
        <label>partition.h</label>
        <link refid="partition_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="28">
        <label>random.h</label>
        <link refid="random_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="16">
        <label>hashmap.h</label>
        <link refid="hashmap_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="23">
        <label>net.h</label>
        <link refid="net_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>interrupt.h</label>
        <link refid="interrupt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="25">
        <label>pci.h</label>
        <link refid="pci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>ahci.h</label>
        <link refid="ahci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="9">
        <label>dhcp.h</label>
        <link refid="dhcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="7">
        <label>clock.h</label>
        <link refid="clock_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
    </invincdepgraph>
    <innerclass refid="structshared__interrupt__t" prot="public">shared_interrupt_t</innerclass>
      <sectiondef kind="enum">
      <memberdef kind="enum" id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637f" prot="public" static="no" strong="no">
        <type></type>
        <name>irq_number_t</name>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637facdb333eeb7aa4b08f250af6b077e1892" prot="public">
          <name>IRQ0</name>
          <initializer>= 32</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fac5ab150ecac8b24a9825dbc97d223429" prot="public">
          <name>IRQ1</name>
          <initializer>= 33</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fac2d7e94fa1e9eeeed752b5a8aa8f2482" prot="public">
          <name>IRQ2</name>
          <initializer>= 34</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa9feb5810fd385003d1ad490de9599b66" prot="public">
          <name>IRQ3</name>
          <initializer>= 35</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fadcc90e81e1fb0bc641771e6fb35059c7" prot="public">
          <name>IRQ4</name>
          <initializer>= 36</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa189542e3df2c715842257e13a5896dd4" prot="public">
          <name>IRQ5</name>
          <initializer>= 37</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa9f2ba75b271784bfa6654bde1b602ff5" prot="public">
          <name>IRQ6</name>
          <initializer>= 38</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa196f7e427318da1a844f20bef540b96b" prot="public">
          <name>IRQ7</name>
          <initializer>= 39</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa58ec17955960845f4a64abee343bbfc0" prot="public">
          <name>IRQ8</name>
          <initializer>= 40</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa5bdfd2d1de7dd4f7cc3119ada3c1b8b2" prot="public">
          <name>IRQ9</name>
          <initializer>= 41</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa24d49daca07580d6bbe646e61a4382cb" prot="public">
          <name>IRQ10</name>
          <initializer>= 42</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa02363888b0bc9fbdffe82dce4374341b" prot="public">
          <name>IRQ11</name>
          <initializer>= 43</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa185fbc756208a61a3462000a5ee41a45" prot="public">
          <name>IRQ12</name>
          <initializer>= 44</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa294dad2c91d477ff81089467ff7b4902" prot="public">
          <name>IRQ13</name>
          <initializer>= 45</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fa4f0a2a6a52e9200cab2b6cca9a75378c" prot="public">
          <name>IRQ14</name>
          <initializer>= 46</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637fabdd1d431f5bafa9d36984e2af6ed842b" prot="public">
          <name>IRQ15</name>
          <initializer>= 47</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="interrupt_8h_1af6fa48603541cdb142bd4e154bf7637faba4f53f24e658cc7831d104622ccede2" prot="public">
          <name>IRQ16</name>
          <initializer>= 50</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/interrupt.h" line="11" column="1" bodyfile="include/interrupt.h" bodystart="11" bodyend="29"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="typedef">
      <memberdef kind="typedef" id="interrupt_8h_1a7a3af27140adcc73f278f9d9c9dcd4bc" prot="public" static="no">
        <type>void(*</type>
        <definition>typedef void(* isr_t) (uint8_t isrnumber, uint64_t errorcode, uint64_t irqnumber, void *opaque)</definition>
        <argsstring>)(uint8_t isrnumber, uint64_t errorcode, uint64_t irqnumber, void *opaque)</argsstring>
        <name>isr_t</name>
        <briefdescription>
<para>A definition for an interrupt handler. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/interrupt.h" line="34" column="9" bodyfile="include/interrupt.h" bodystart="34" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="interrupt_8h_1ac87a1da59a9138c3bb0750ca7ea75c20" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void register_interrupt_handler</definition>
        <argsstring>(uint8_t n, isr_t handler, pci_dev_t device, void *opaque)</argsstring>
        <name>register_interrupt_handler</name>
        <param>
          <type>uint8_t</type>
          <declname>n</declname>
        </param>
        <param>
          <type><ref refid="interrupt_8h_1a7a3af27140adcc73f278f9d9c9dcd4bc" kindref="member">isr_t</ref></type>
          <declname>handler</declname>
        </param>
        <param>
          <type><ref refid="unionpci__dev__t" kindref="compound">pci_dev_t</ref></type>
          <declname>device</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>opaque</declname>
        </param>
        <briefdescription>
<para>Register an interrupt handler. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>n</parametername>
</parameternamelist>
<parameterdescription>
<para>Interrupt number, IRQs start at 32 as per irq_number_t </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>handler</parametername>
</parameternamelist>
<parameterdescription>
<para>IRQ handler function </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>device</parametername>
</parameternamelist>
<parameterdescription>
<para>For PCI devices, specify the device node in this parameter. This is to allow for IRQ sharing. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>opaque</parametername>
</parameternamelist>
<parameterdescription>
<para>An opaque pointer that can be passed back to your interrupt handler </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/interrupt.h" line="55" column="6" declfile="include/interrupt.h" declline="55" declcolumn="6"/>
      </memberdef>
      <memberdef kind="function" id="interrupt_8h_1a1e0b1516a8ed04e2e7d7a1b2a330e6af" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Interrupt</definition>
        <argsstring>(uint64_t isrnumber, uint64_t errorcode)</argsstring>
        <name>Interrupt</name>
        <param>
          <type>uint64_t</type>
          <declname>isrnumber</declname>
        </param>
        <param>
          <type>uint64_t</type>
          <declname>errorcode</declname>
        </param>
        <briefdescription>
<para>Global routing function for interrupts (ISR number &lt; 32) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>isrnumber</parametername>
</parameternamelist>
<parameterdescription>
<para>ISR number </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>errorcode</parametername>
</parameternamelist>
<parameterdescription>
<para>Error code </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/interrupt.h" line="63" column="6" declfile="include/interrupt.h" declline="63" declcolumn="6"/>
      </memberdef>
      <memberdef kind="function" id="interrupt_8h_1ac12ed84cb143bb64d5b2b631d7764e1a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void IRQ</definition>
        <argsstring>(uint64_t isrnumber, uint64_t errorcode)</argsstring>
        <name>IRQ</name>
        <param>
          <type>uint64_t</type>
          <declname>isrnumber</declname>
        </param>
        <param>
          <type>uint64_t</type>
          <declname>errorcode</declname>
        </param>
        <briefdescription>
<para>Global routing function for IRQs (ISR number &gt;= 32) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>isrnumber</parametername>
</parameternamelist>
<parameterdescription>
<para>ISR number </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>errorcode</parametername>
</parameternamelist>
<parameterdescription>
<para>Error code (always zero) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/interrupt.h" line="71" column="6" declfile="include/interrupt.h" declline="71" declcolumn="6"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para><simplesect kind="author"><para>Craig Edwards (<ulink url="mailto:craigedwards@brainbox.cc">craigedwards@brainbox.cc</ulink>) </para>
</simplesect>
<simplesect kind="copyright"><para>Copyright (c) 2012-2023 </para>
</simplesect>
</para>
    </detaileddescription>
    <location file="include/interrupt.h"/>
  </compounddef>
</doxygen>
