type
    Node_t = unknown 14,
    List_t = unknown 14,

    Interrupt_t = struct {
	Node_t is_Node;
	*byte is_data;
	proc()void is_Code;
    },

    IntVector_t = struct {
	*byte iv_Data;
	proc()void iv_Code;
	*Node_t iv_Node;
    },

    SoftIntList_t = struct {
	List_t sh_List;
	uint sh_Pad;
    };

uint
    SIH_PRIMASK = 0xf0,

    INTB_NMI	= 15,
    INTF_NMI	= 1 << 15;

extern
    AddIntServer(ulong intNum; *Interrupt_t i)void,
    Cause(ulong interrupt)void,
    RemIntServer(ulong intNum; *Interrupt_t i)void,
    SetIntVector(ulong intNum; *Interrupt_t i)*Interrupt_t;
