Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
In file included from src/kernel/interrupts/idt.c:2:
src/kernel/interrupts/idt.h:19:25: warning: 'struct InterruptRegisters' declared inside parameter list will not be visible outside of this definition or declaration
19 | void isr_handler(struct InterruptRegisters* regs);
| ^~~~~~~~~~~~~~~~~~
src/kernel/interrupts/idt.c:135:6: error: conflicting types for 'isr_handler'; have 'void(struct InterruptRegisters *)'
135 | void isr_handler(struct InterruptRegisters* regs){
| ^~~~~~~~~~~
src/kernel/interrupts/idt.h:19:6: note: previous declaration of 'isr_handler' with type 'void(struct InterruptRegisters *)'
19 | void isr_handler(struct InterruptRegisters* regs);
| ^~~~~~~~~~~
make: *** [Makefile:18: includes] Error 1
I've been implementing my IDT, and it should be working fine, but it's saying that my function definitions have conflicting types, any help is much appreciated, thanks in advance
The warning tells you what the problem is. Might I suggest getting some more experience with C in userspace before embarking on an OS journey? All of your questions so far have betrayed not just lack of knowledge in operating systems, but also lack of knowledge and experience with the language, and no willing to even just Google the error messages you are getting.
Concentrate on the warning, not the errors. It's a good example of why you should be sure that you understand the reason for every warning message that you get.
You get that warning because you haven't actually defined the struct `InterruptRegisters` before using it. To fix that you should include utils.h at the top of idt.h with