/* * irq_install — установить user-handler кадрового прерывания. * Захватывает общую IM2-таблицу (_irq_table_ref) и включает кадровый * путь трамплина. Детали и результаты отладки: docs/im2_isr_design.md. */ #include #include "_irq.h" int irq_install(isr_t handler) { if (!handler) { errno = EINVAL; return -1; } if (_irq_user) { errno = EBUSY; return -1; } if (_irq_table_ref() != 0) return -1; _irq_user = handler; return 0; }