Define callbacks for interrupts
The ARMs implement an interrupt table to store the address for each interrupt handler (or callback, basically the same thing).  Basically, all of the addresses of the interrupt handlers are stored in program memory at a predefined location.  When an interrupt occurs, the processor knows where in the table that interrupt's entry is, grabs it and branches to the address stored there.

How do you populate this table? Usually all this information is contained in a startup file.  Typically you just define a constant array of pointers, fill it with the addresses of the callbacks you want to use. Here is a website detailing how to create a startup file for a specific ARM microcontroller.  The tricky thing about this is that almost all of the particulars of making the file depend heavily on the linker, compiler and chip you're using, so you'll either have to find an example out there or muddle through making your own.