Interrupts can be internal as well as external. Each interrupt has its own unique routine to follow. You can define one's ISR (Interrupt Service Routine) in you own code in the following manner:
For example, if you are using INT0 external interrupt then it's ISR will be defined like:
here you can define what work this ISR is supposed to do
For further detailed understanding, you can read AtMega 16's datasheet.