+}
+
+int interrupt_set(u8 src_number,u8 mode,u8 priority,void *callback) {
+
+ /* check whether this ir source is allready assigned */
+ if(VICSoftInt&(1<<src_number))
+ return INTERRUPT_EINUSE;
+
+ /* force interrupt */
+ VICSoftInt|=(1<<src_number);
+ VICIntEnable|=(1<<src_number);
+
+ switch(mode) {
+ case INTERRUPT_FIQ:
+ VICIntSelect|=(1<<src_number);
+ break;
+ case INTERRUPT_VIRQ:
+ case INTERRUPT_IRQ:
+ case default:
+ }
+
+ return INTERRUPT_SET;
+}