Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _S390_EXTINT_H |
2 | #define _S390_EXTINT_H | |
3 | ||
4 | /* | |
5 | * include/asm-s390/s390_ext.h | |
6 | * | |
7 | * S390 version | |
8 | * Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation | |
9 | * Author(s): Holger Smolinski (Holger.Smolinski@de.ibm.com), | |
10 | * Martin Schwidefsky (schwidefsky@de.ibm.com) | |
11 | */ | |
12 | ||
13 | typedef void (*ext_int_handler_t)(struct pt_regs *regs, __u16 code); | |
14 | ||
15 | /* | |
16 | * Warning: if you change ext_int_info_t you have to change the | |
17 | * external interrupt handler in entry.S too. | |
18 | */ | |
19 | typedef struct ext_int_info_t { | |
20 | struct ext_int_info_t *next; | |
21 | ext_int_handler_t handler; | |
22 | __u16 code; | |
23 | } __attribute__ ((packed)) ext_int_info_t; | |
24 | ||
25 | extern ext_int_info_t *ext_int_hash[]; | |
26 | ||
27 | int register_external_interrupt(__u16 code, ext_int_handler_t handler); | |
28 | int register_early_external_interrupt(__u16 code, ext_int_handler_t handler, | |
29 | ext_int_info_t *info); | |
30 | int unregister_external_interrupt(__u16 code, ext_int_handler_t handler); | |
31 | int unregister_early_external_interrupt(__u16 code, ext_int_handler_t handler, | |
32 | ext_int_info_t *info); | |
33 | ||
34 | #endif |