The Pedigree Project 0.1
IrqsCommand.h
1/*
2 * Copyright (c) 2026, Pedigree Developers
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted.
6 */
7
8#ifndef IRQSCOMMAND_H
9#define IRQSCOMMAND_H
10
11#include "pedigree/kernel/debugger/DebuggerCommand.h"
12#include "pedigree/kernel/machine/IrqManager.h"
13
16 public:
19
20 void autocomplete(const HugeStaticString& input, HugeStaticString& output);
21
22 bool execute(const HugeStaticString& input, HugeStaticString& output, InterruptState& state,
23 DebuggerIO* screen);
24
26 return NormalStaticString("irqs");
27 }
28
29 private:
30 static constexpr size_t SnapshotCapacity = 256;
31 static_assert(SnapshotCapacity == (static_cast<size_t>(1) << (sizeof(uint8_t) * 8)),
32 "the IRQ debugger buffer must cover every uint8_t line number");
33
34 IrqLineDiagnosticSnapshot m_Snapshots[SnapshotCapacity];
35};
36
37#endif
void autocomplete(const HugeStaticString &input, HugeStaticString &output)
bool execute(const HugeStaticString &input, HugeStaticString &output, InterruptState &state, DebuggerIO *screen)
const NormalStaticString getString()
Definition IrqsCommand.h:25