s390_ext.h 1.0 KB

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