Jeff Dike | 63ae2a9 | 2006-03-27 01:14:30 -0800 | [diff] [blame] | 1 | /* |
Jeff Dike | ba180fd | 2007-10-16 01:27:00 -0700 | [diff] [blame] | 2 | * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | * Licensed under the GPL |
| 4 | */ |
| 5 | |
| 6 | #ifndef __IRQ_USER_H__ |
| 7 | #define __IRQ_USER_H__ |
| 8 | |
Jeff Dike | ba180fd | 2007-10-16 01:27:00 -0700 | [diff] [blame] | 9 | #include "sysdep/ptrace.h" |
Jeff Dike | 8ae43ff | 2006-07-10 04:45:09 -0700 | [diff] [blame] | 10 | |
Jeff Dike | 63ae2a9 | 2006-03-27 01:14:30 -0800 | [diff] [blame] | 11 | struct irq_fd { |
| 12 | struct irq_fd *next; |
| 13 | void *id; |
| 14 | int fd; |
| 15 | int type; |
| 16 | int irq; |
| 17 | int pid; |
| 18 | int events; |
| 19 | int current_events; |
| 20 | }; |
| 21 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | enum { IRQ_READ, IRQ_WRITE }; |
| 23 | |
Jeff Dike | 77bf440 | 2007-10-16 01:26:58 -0700 | [diff] [blame] | 24 | extern void sigio_handler(int sig, struct uml_pt_regs *regs); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | extern int activate_fd(int irq, int fd, int type, void *dev_id); |
| 26 | extern void free_irq_by_irq_and_dev(unsigned int irq, void *dev_id); |
| 27 | extern void free_irq_by_fd(int fd); |
| 28 | extern void reactivate_fd(int fd, int irqnum); |
| 29 | extern void deactivate_fd(int fd, int irqnum); |
| 30 | extern int deactivate_all_fds(void); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | extern int activate_ipi(int fd, int pid); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | |
Jeff Dike | 165dc59 | 2006-01-06 00:18:57 -0800 | [diff] [blame] | 33 | #endif |